|Home » Resources » Rants
The Long Run
Week of July 19, 2004
Oh I did some damage
I know it's true
Did you do it for love?
Did you do it for money?
We'll find out in the long run
- Don Henley/Glenn Frey
Summing up the contributions of Microsoft to computer science is not an easy task. Instructively it all begins in a Harvard dormitory where the future founders of Microsoft wiled away the days with poker, Playboy, and beer. When news of the MITS Altair hit the stands, they dropped out to get as close as possible to the epicentre of what was to come.
If anything fits into the nutshell, this does: to keep close to the epicentre, to control it, to own it.
Bill Gates and Paul Allen stole an estimated $40,000 in computer time from Harvard to write their BASIC interpreter for MITS. They traveled to Albuquerque to show it off. Remarkably, it worked. (They showed only what they knew could work.)
Steve Jobs and Steve Wozniak hit the world with the Apple. Gates understood they had something, played the sycophant, and wooed them as he had MITS. Promising a spreadsheet program called Multiplan for the coming Mac, Gates got a number of Mac prototypes in return. He and his company then devoted as much effort into copying the MacOS as they did making the spreadsheet.
When IBM decided to enter the arena, they contacted Gates. Gates, Ballmer and Allen were convinced their niche was in creating programming language compilers, so when IBM asked for an operating system, they mentioned Gary Kildall. Kildall was neither accessible nor amenable, so IBM returned. Gates said he would look around.
Gates found Quick and Dirty Operating System in Seattle. He told the owner he had a contract with a lesser-known hardware vendor and was willing to pay $50,000 for the rights. Done deal. The owners later found out Gates was dealing with IBM and sued. Gates settled out of court for $400,000.
PC-DOS and MS-DOS were intentionally CP/M-derivative. The whole idea was to get as much software as possible running in no time flat. IBM traveled the continent with PC prototypes, showing CP/M software vendors how easy it was to migrate code to the new platform. When the PC was finally introduced, it had third party software.
In the meantime Gates bought a source code licence to Unix and the number one C compiler for the PC. He gave the Unix source to Santa Cruz Operations and had his own engineers pour over the source to bring his new compiler into line.
Whilst SCO worked on XENIX, Microsoft and IBM prepared the world for the next versions of PC-DOS and MS-DOS. This system would use drive letters as in the past but it would also have a hierarchical file system. Equipped with the source to Unix, nothing stood in the way of Microsoft. And yet look at the results.
- The slash is changed to the backslash and for no apparent reason. As any software engineer will reveal, this leads to inordinate problems in constructing code.
- The drive letters remain. The file system may have been begging for a single hierarchy, but it didn't get it.
- Unix pipes were implemented, but with the use of temporary files on disk rather than standard 4 KB RAM buffers. The experience of using pipes when logged onto a floppy disk is unforgettable.
- Brilliant Unix applications such as cmp and diff were left in a sorry state (and with no counterpart to diff). COMP recorded ten differences between files, beeped loudly, then asked if you wanted to compare files again.
- cat remained type, where wild cards could not be used.
- Shell functionality was for all practical purposes non-existent. It was impossible to build non-trivial scripts that actually did anything non-trivial.
- Shell variables were conspicuous in their absence. The only way DOS could handle command line arguments was by shifting out (and it took until this version to recognise argument 0, the path to the executable itself).
The list is endless. And the crying shame is that Gates had already paid for the Unix source: this could all have been ported so easily it's not funny - and in fact several other vendors eventually did.
Gates could have introduced proprietary login at this time as well - after all, Unix had it, and he was interested (albeit mildly) in trying XENIX on for size. The whole nightmare of personal computing could have been eliminated forever right then and there.
But no. When Gates first saw Quick And Dirty Operating System, he got a lecture from its creator Tim Paterson about all the Wonderful Things to come such as multitasking, multithreading, and so forth. Gates wasn't interested. He wanted to sell junk. Quality was not a factor; knowing the right people and making the big deals was.
OEMs complained for years about the deplorable state of DOS, but in vain. Gates wasn't interested. Only when these same OEMs banded together and contracted a third party to write the DOS Gates should have written did he raise an eyebrow - and then issued the infamous memo 'Is there something we can do about this?' which resulted in the even more infamous AARD code.
Microsoft were naturally in denial all along, but a couple of very ambitious programmers were able to isolate, decrypt, and disassemble the AARD code and show its evil intent. The result of considerable research at Microsoft, the AARD code found one and only one difference between the new OEM DOS and Microsoft's own in a control block field that was otherwise not used.
Seeing this field and understanding the new OEM DOS was running instead, the AARD code issued a full-screen scare page designed to frighten the user out of using the new OEM DOS ever again. And when it came time to ship Windows 95, Gates made sure DOS could not be unbundled.
Windows itself was an accident more than a grandiose plan. It is one of the few products Microsoft can truly call their own (Ballmer's 'de novo innovation') and it shows. Born in the months immediately preceding the introduction of the Macintosh, it shows perhaps better than anything just how crappy Microsoft engineers are.
The original version of Windows could not move windows around on screen. Bit block transfers, or bit-blitting for short, was an invention of Xerox PARC and is the cornerstone of such technology. Apple managed it, but not Microsoft. Windows in Windows version 1 came on screen and stayed where they were.
Windows ran not in a graphics mode but in a character mode, greeting the user with a monstrosity known as the 'MS-DOS Executive'. An uglier Halloween sight has never fallen on human eyes.
The entire contraption was so poorly designed and written that most users laughed at it. When Microsoft later began their collaboration with IBM on OS/2, things loosened up a bit, but Windows was still the laughing stock of the industry.
There have been people who have made a valiant effort in Redmond - the authors of File Manager for example - but in broad strokes Microsoft bastardised computing and wreaked it on the world.
There are those who say Gates and company are mongrels: they don't stand for anything, they have no corporate mission save to destroy competition, and their goals are all found in the marketplace and not in the software laboratory. But the world has never before seen a corporation which so totally despised quality and which so unreservedly went after market dominance with such a big bag of dirty tricks.
Corporate leaders cannot play ball with Gates; they can only regard him. Perhaps the worst possible fate is to be noticed. When Gates wants to make a deal, that is the time to begin selling off one's stock. Gates never deals honestly. Countless are the stories of how he has wooed technology companies only long enough to steal their technology, then dumped all the email archives and broken off contact.
There is only one goal in the perverse mind of Bill Gates: dominate. To do that, you have to lock people into your technology. This is not about computer science; this is about politics. It is the politics of domination.
Gates never figured he himself would be an epicentre; he always ran after those who had the real ideas. He ran after MITS; he ran after Apple; he didn't like dancing with IBM but did it anyway; he tried Unix on for size but was too intellectually lazy to pursue it; he bought the world's best C compiler for the PC, changed the banner from 'Lattice' to 'Microsoft', and then sold it, otherwise unaltered, for $50 more than Lattice did. Such is Bill Gates. Not exactly your most altruistic human ever, despite his attempts to whitewash his name with his crippling grants.
Many have heard about the Gates II Foundation: it's run by Gates's father. It has all the money of the Microsoft empire. It gives computers and software away all over the place.
What people don't realise is that this is all a new lock-in: the computers used in the configurations Microsoft insists on must run Microsoft software and only Microsoft software and every installed product must be approved by Microsoft. Otherwise the deal's off and the computers and grant money are gone.
And all this is of course done in the grandiose spirit of free competition.
Now that the world is connected, times have changed. What worked with NetWare won't work on the World Wide Web. The great columnists like Walter Mossberg won't fully understand this and will only address the issues in the broadest of terms.
But true software engineers like Bill Joy understand completely. 'They took a standalone system and put it on the net', said Bill, the implications being obvious.
Gates never cared about quality; Gates has had a remarkable stroke of luck in finding the right horse to ride on at the right moment; but his colossus is currently up to its neck in alligators and no one really cares if he survives another week, another month, or another year. There is no way serious corporations can go on using Microsoft products anymore, and there is no way Bill Gates can get himself out of the mess he's created.
The master of the lock-in, Gates has unwittingly perpetrated the cruellest, most irrevocable lock-in upon himself. His technology is antiquated and unsuitable for net use, and if he tries to unravel one mistake, all the rest will come unraveled along with it.
There is no way to backtrack to a point earlier in time and development where things hadn't yet begun to go wrong: it's all wrong, and has been so from the beginning.
There is no way to patch and protect a system for which the very idea of security does not exist. There is no way to layer sounder ideas on top of an intrinsically unsound fundament. There is only folly in trying to build a more stable second storey to a one-storey building which already is crash-prone. There is nothing under the bonnet in any Microsoft technology to build on. It's all crap. All of it.
But that's all Gates ever wanted. He didn't care about quality. Only about being at the epicentre. Get to MITS before anyone else. Be part of that revolution. Get to Jobs before anyone else. Finagle a few Mac prototypes, be part of that revolution too.
Bill Gates is his own epicentre today but he doesn't want to be there and no one else does either. Bill Gates is today the epicentre of all malware attacks and all the derision the computing science industry can heave upon him.
If he'd ever had an honest thought in his life, this might not have happened. If he'd ever had enough balls to stand up for something, any idea, make a substantial corporate mission statement, he might have survived.
But Bill's only wanted to make more money and dominate, to be able to say, like the spoiled twit he is, 'this is mine, mine, all mine', and while this works sometimes in the short run, nature has a way of working its way out of things like this in the long run.