June 2004 — Monthly Archive
That’s often been the lie around Apple, that they invent and Microsoft steals. I like to tell the story of how Mac scripting software came to be. I was in the audience at a Bill Gates speech in the early 80s in Palo Alto where he described a system-level scripting language for a personal computer, connecting various apps, a spreadsheet, word processor, plotting app. I made a note. That’s a good idea. A few years later I started work on such a program. Showed it to Apple. Next thing you know, Apple has this great idea. A system-level scripting language for a personal computer, connecting various apps, a spreadsheet…
One of my friends was cribbing about how the quality of Google’s search results seemed to have gone down the toilet lately. Some questions later it was obvious this was not the usual griping about Pagerank. He sent me a screenshot which he said “has junk inserted at the top” (I’ve obscured personal details in this image).
Look at the third result in the screenshot. Unless Pagerank has really been flushed down into the sewer, there’s no way qksrv.net would feature as #3 for a search. Some googling later I found this post dated July 14 –
there appears to be a form of adware that is able to hijack google results and insert ads to make them appear as if they were real results.
The poster goes on to provide this screenshot, in which another well known ad server (click.atdmt.com) features at #1.
I’d love to know what particularly ugly piece of spyware is behind this. So would Google’s lawyers, I’m sure.
Update June 28: CNET’s now got the story. If you think your PC has been troubling you, get a good Spyware remover like Spybot Search and Destroy and see if there are any of these pests on your system. And oh, switching to Mozilla Firefox as your primary browser is strongly recommended.
Woohoo! SpaceShipOne flew - and landed! They are now preparing for another flight that, if successful, would mean they win the X Prize. Great news for all of us who believe that there’s more to our future than quarrelling over dwindling resources on one increasingly overcrowded planet.
The (afaik) undocumented Amigos page on Slashdot lists recent journal entries from all your Friends. Great, now all I need is an RSS feed for this.
Right or wrong, Joel scored a slam dunk with his ditty on the API Wars. I disagree with a couple of the points there (and the article does take care to note that it is overgeneralizing) but one of his points rings true: Microsoft lost a whole generation of developers. However, it is not clear that soldiering on with the Raymond Chen approach1, with its 80s era design, would have solved anything. MS web devs were already fleeing to Java and PHP because cranky old ASP (even ASP 3) wasn’t cutting it any more. Worse, beginner web devs were moving to PHP and Java in droves because of (a) free dev tools (Weblogic+JBuilder is a free download for individual users, and you now have Eclipse) and (b) much better community support at php.net and the then-Java-only serverside.com. C# and VB.net were huge reductions in barrier to entry for MS development. If anything, the only quibble I’d have is: why isn’t VS.Net 2003 a free download for home use yet? The Framework SDK is not good enough when you’re competing with a Weblogic Workshop (based IIRC on Borland JBuilder) download from BEA2.
Joel spends a lot of time talking about backward compatibility across Win32 and .Net. I’m not sure why, because the gulf between them is huge, and, to my mind, necessary. Win16 was a huge shift from processor-centric DOS programming to C-based Windows programming. Win16 morphed (reasonably) gracefully into Win32, but it’s important to realize that managed code (whether Java or .NET) is yet another paradigm shift. Thinking about managed code as “just another set of libraries” is to miss the point.
From a traditional Comp.Sc. viewpoint, what Microsoft calls “managed code” consists of a set of orthogonal features, mainly
- bytecode for a stack-based virtual machine
- automatic memory management
- a “sandbox” execution environment and a standard security model
- importantly, a large, standard set of libraries to program against
It is possible to have each without the other. The language D, for instance, includes garbage collection but not bytecode generation or a sandbox. Pascal has offered bytecode for ages but not automatic memory management and so on. Smalltalk had almost all of it except a standard security model. Java put all these together for the first time, and was incredibly popular with developers. .NET added some new twists, and when the dust settled, the .NET environment was more than a set of Win32-callable DLLs.
.NET 1.1 is not completely backwards compatible with .NET 1.0 == true
Is it or is it not? It is not.
The correct answer is, it does not matter. If you believe it does, then you do not understand .NET SxS. Of course, Microsoft has made massive screwups with SxS, but that does not take the feature away. Of course, given that Joel depends on a download model to run his business, I can sympathize with his fury over adding 20MB to his runtimes. But look at it this way — how many FogBugz customers are on dialup? CityDesk is a slightly bigger problem, though. Note to Microsoft: where are the AOL-style disks with the .NET Framework (plus Windows+IE patches)? Longhorn is years away, you guys gotta keep us happy until then!
Finally, there were those who rejected Joel’s central Web-uber-alles thesis, notably Olivier Travers:
And is the final frontier of HCI to have keyboard shortcuts that work, or can we expect a little more from those ever more powerful computers? What a startling lack of ambition […]
I would probably point to Joel’s older Five Worlds article and point out that Joel was mainly talking about forms-oriented apps. Nobody’s quite ready to cede Photoshop to the web yet . Although after watching Joel’s follow-up posts, I have this to say: the day Design-By-Committee makes a platform with a better user interface, pigs will fly. Opera and Mozilla can’t even iron out their ECMAScript and CSSx differences yet — and I’m supposed to trust these guys with my forms, too, now?
1Full Disclosure: I actively read and enjoy Raymond Chen’s weblog, and can actually remember a time when we needed hPrevInst arguments. I also happen to think a lot of today’s kids are spoilt on PHP and C# and Java (Do I sound like a curmudgeon before I’m even 30?), but that’s a topic for another rant.
2MSDNAA has been plastering campuses with free VS.Net CDs, at least in India, but I wonder how many converts from the LUGs they’ve got.
Folk bothered by Firefox’s slow (1-line) up/down-arrow scrolling can install Cosmic Cat’s SuperScroll extension and set directional scrolling to an IE-like 4 lines.
Yahoo Messenger 6 is now bloatware, piggyback-ware (it installs several Yahoo tie-ins, like Yahoo Internet Mail and Yahoo Autocomplete even when these are unchecked in Messenger Installer Options) and vampire-ware (refuses to die: removing Yahoo Internet Mail was an ordeal because it did not respond to UnRegisterServer during uninstallation — I had to waste 5 minutes driving regedit stakes through its heart). You’ve been warned, stay away. Until Yahoo cleans up its installer act, version 5.6 should work quite well.