NS Internet column
Written 23 April 1999 for the New Statesman
There are well-informed grown-ups who think that Microsoft is doomed by the marketplace even if the department of Justice doesn't get their first. According to this theory, free software, and especially Linux, is so much better as well as cheaper than Microsoft's competition, that eventually everyone will migrate there. Sometimes I believe it myself. Then I try to do something using free software and all of a sudden discover what much better value for money expensive commercial software can provide.
This morning's task was simple. I wanted to make the "page up" key on my keyboard actually move me up a screen when editing files directly on my web site. Pair.com, the company that hosts my site, runs on free software: the BSD version of Unix, rather than the more famous Linux. It is an absolutely free operating system, written over about fifteen years largely at the university of California in Berkeley; and if want you want to do is to run a web hosting business, it seems to be perfect for the job. Being very old makes it thoroughly tested and very reliable; alas, it also means that the natural way to interact with the system is through a command line, like old-fashioned MS-DOS. Instead of pushing a mouse around and selecting things, I type in terse commands and after a few seconds of breathless suspense get a completely unexpected result because I can't actually type without making mistakes.
This wouldn't matter if I could backspace, but I can't. for some reason I still haven't fathomed out, the pair.com machine doesn't understand what happens when I press the backspace key over here. It merely types "^?"and often this is so shocking that I try to backspace over the failed backspace, or "^?^?^?^? ^D you!"
"Command not found"
This may be BSD Unix's fault, or it may be the fault of Teraterm, the free program I use at this end to communicate with them (there is no Microsoft alternative). That was written in Japan, and the help file urges you not to contact the author when the keyboard does something unexpected. I'm not going to ring him up, in any case. So instead I read his manual, written in a language closely related to English. It doesn't make things clearer
In the mean time, I have replaced the worst and most horrible Unix program "vi", with "zed", a little editor written in Italy, also free. I download, or crossload, it, from Italy to Pittsburgh, compile, and install it, with many a ^?^?^?^? along the way. This, too, requires close study of the documentation. I don't mind, because that means only reading the manual once whereas when I used "vi" for real, I needed to keep the manual open beside me just to remember how to move the cursor round.
Instead of a printed manual, zed comes with a file full of instructions. So I started to read this in zed itself. Then I discover that the "home" "end" "insert" and "delete" keys have all been swapped around in ways I don't understand, partly because pressing the "home" key to find out what it does deleted the bit of the manual which explained what the key ought to do.
Eventually, I drag all the documentation down onto my windows machine and read it here. It turns out that somewhere over the Atlantic, all the keycodes are scrambled up; but by working patiently for an hour I am able to configure both the programs involved so that they talk to each other and perform a task which seems completely self-evident to anyone unused to computers: ensuring that when I press a key on my keyboard, the corresponding symbol appears on my screen. Of course, this self-evidence is deeply misleading: when I am editing a file on the pair.com site every key press travels across the Atlantic and back before it appears on my screen, and it has been processed by five or more programs on the way. The fact that sometimes it's not measurably slower than if I were working directly at home is the real wonder of the Internet.
Where Microsoft has really earned its money is in concealing all that complexity. Within the company's universe almost everything works together in the same way. Press "page up" and you get scrolled up a page. You do not get the screen replying [1B[7A~~?. That boring reliability is worth paying a lot of money for. It may be a triumph of marketing over engineering: my Windows system crashes almost every day while Unix systems run for months on end. But sometimes rebooting is a lot less trouble than typing ^?^?^? ^D!!