Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

In the Beginning was the Command Line

By: a guest on Nov 30th, 2011  |  syntax: None  |  size: 212.88 KB  |  views: 114  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. In the Beginning was the Command Line
  2.  
  3.                              by Neal Stephenson
  4.  
  5. About twenty years ago Jobs and Wozniak, the founders of Apple, came up
  6. with the very strange idea of selling information processing machines for
  7. use in the home. The business took off, and its founders made a lot of
  8. money and received the credit they deserved for being daring visionaries.
  9. But around the same time, Bill Gates and Paul Allen came up with an idea
  10. even stranger and more fantastical: selling computer operating systems.
  11. This was much weirder than the idea of Jobs and Wozniak. A computer at
  12. least had some sort of physical reality to it. It came in a box, you could
  13. open it up and plug it in and watch lights blink. An operating system had
  14. no tangible incarnation at all. It arrived on a disk, of course, but the
  15. disk was, in effect, nothing more than the box that the OS came in. The
  16. product itself was a very long string of ones and zeroes that, when
  17. properly installed and coddled, gave you the ability to manipulate other
  18. very long strings of ones and zeroes. Even those few who actually
  19. understood what a computer operating system was were apt to think of it as
  20. a fantastically arcane engineering prodigy, like a breeder reactor or a U-2
  21. spy plane, and not something that could ever be (in the parlance of
  22. high-tech) "productized."
  23.  
  24. Yet now the company that Gates and Allen founded is selling operating
  25. systems like Gillette sells razor blades. New releases of operating systems
  26. are launched as if they were Hollywood blockbusters, with celebrity
  27. endorsements, talk show appearances, and world tours. The market for them
  28. is vast enough that people worry about whether it has been monopolized by
  29. one company. Even the least technically-minded people in our society now
  30. have at least a hazy idea of what operating systems do; what is more, they
  31. have strong opinions about their relative merits. It is commonly
  32. understood, even by technically unsophisticated computer users, that if you
  33. have a piece of software that works on your Macintosh, and you move it over
  34. onto a Windows machine, it will not run. That this would, in fact, be a
  35. laughable and idiotic mistake, like nailing horseshoes to the tires of a
  36. Buick.
  37.  
  38. A person who went into a coma before Microsoft was founded, and woke up
  39. now, could pick up this morning's New York Times and understand everything
  40. in it--almost:
  41.  
  42.  
  43.    * Item: the richest man in the world made his fortune from-what?
  44.      Railways? Shipping? Oil? No, operating systems.
  45.    * Item: the Department of Justice is tackling Microsoft's supposed OS
  46.      monopoly with legal tools that were invented to restrain the power of
  47.      Nineteenth-Century robber barons.
  48.    * Item: a woman friend of mine recently told me that she'd broken off a
  49.      (hitherto) stimulating exchange of e-mail with a young man. At first
  50.      he had seemed like such an intelligent and interesting guy, she said,
  51.      but then "he started going all PC-versus-Mac on me."
  52.  
  53. What the hell is going on here? And does the operating system business have
  54. a future, or only a past? Here is my view, which is entirely subjective;
  55. but since I have spent a fair amount of time not only using, but
  56. programming, Macintoshes, Windows machines, Linux boxes and the BeOS,
  57. perhaps it is not so ill-informed as to be completely worthless. This is a
  58. subjective essay, more review than research paper, and so it might seem
  59. unfair or biased compared to the technical reviews you can find in PC
  60. magazines. But ever since the Mac came out, our operating systems have been
  61. based on metaphors, and anything with metaphors in it is fair game as far
  62. as I'm concerned.
  63.  
  64.  
  65. MGBs, TANKS, AND BATMOBILES
  66.  
  67. Around the time that Jobs, Wozniak, Gates, and Allen were dreaming up these
  68. unlikely schemes, I was a teenager living in Ames, Iowa. One of my friends'
  69. dads had an old MGB sports car rusting away in his garage. Sometimes he
  70. would actually manage to get it running and then he would take us for a
  71. spin around the block, with a memorable look of wild youthful exhiliration
  72. on his face; to his worried passengers, he was a madman, stalling and
  73. backfiring around Ames, Iowa and eating the dust of rusty Gremlins and
  74. Pintos, but in his own mind he was Dustin Hoffman tooling across the Bay
  75. Bridge with the wind in his hair.
  76.  
  77. In retrospect, this was telling me two things about people's relationship
  78. to technology. One was that romance and image go a long way towards shaping
  79. their opinions. If you doubt it (and if you have a lot of spare time on
  80. your hands) just ask anyone who owns a Macintosh and who, on those grounds,
  81. imagines him- or herself to be a member of an oppressed minority group.
  82.  
  83. The other, somewhat subtler point, was that interface is very important.
  84. Sure, the MGB was a lousy car in almost every way that counted: balky,
  85. unreliable, underpowered. But it was fun to drive. It was responsive. Every
  86. pebble on the road was felt in the bones, every nuance in the pavement
  87. transmitted instantly to the driver's hands. He could listen to the engine
  88. and tell what was wrong with it. The steering responded immediately to
  89. commands from his hands. To us passengers it was a pointless exercise in
  90. going nowhere--about as interesting as peering over someone's shoulder
  91. while he punches numbers into a spreadsheet. But to the driver it was an
  92. experience. For a short time he was extending his body and his senses into
  93. a larger realm, and doing things that he couldn't do unassisted.
  94.  
  95. The analogy between cars and operating systems is not half bad, and so let
  96. me run with it for a moment, as a way of giving an executive summary of our
  97. situation today.
  98.  
  99. Imagine a crossroads where four competing auto dealerships are situated.
  100. One of them (Microsoft) is much, much bigger than the others. It started
  101. out years ago selling three-speed bicycles (MS-DOS); these were not
  102. perfect, but they worked, and when they broke you could easily fix them.
  103.  
  104. There was a competing bicycle dealership next door (Apple) that one day
  105. began selling motorized vehicles--expensive but attractively styled cars
  106. with their innards hermetically sealed, so that how they worked was
  107. something of a mystery.
  108.  
  109. The big dealership responded by rushing a moped upgrade kit (the original
  110. Windows) onto the market. This was a Rube Goldberg contraption that, when
  111. bolted onto a three-speed bicycle, enabled it to keep up, just barely, with
  112. Apple-cars. The users had to wear goggles and were always picking bugs out
  113. of their teeth while Apple owners sped along in hermetically sealed
  114. comfort, sneering out the windows. But the Micro-mopeds were cheap, and
  115. easy to fix compared with the Apple-cars, and their market share waxed.
  116.  
  117. Eventually the big dealership came out with a full-fledged car: a colossal
  118. station wagon (Windows 95). It had all the aesthetic appeal of a Soviet
  119. worker housing block, it leaked oil and blew gaskets, and it was an
  120. enormous success. A little later, they also came out with a hulking
  121. off-road vehicle intended for industrial users (Windows NT) which was no
  122. more beautiful than the station wagon, and only a little more reliable.
  123.  
  124. Since then there has been a lot of noise and shouting, but little has
  125. changed. The smaller dealership continues to sell sleek Euro-styled sedans
  126. and to spend a lot of money on advertising campaigns. They have had GOING
  127. OUT OF BUSINESS! signs taped up in their windows for so long that they have
  128. gotten all yellow and curly. The big one keeps making bigger and bigger
  129. station wagons and ORVs.
  130.  
  131. On the other side of the road are two competitors that have come along more
  132. recently.
  133.  
  134. One of them (Be, Inc.) is selling fully operational Batmobiles (the BeOS).
  135. They are more beautiful and stylish even than the Euro-sedans, better
  136. designed, more technologically advanced, and at least as reliable as
  137. anything else on the market--and yet cheaper than the others.
  138.  
  139. With one exception, that is: Linux, which is right next door, and which is
  140. not a business at all. It's a bunch of RVs, yurts, tepees, and geodesic
  141. domes set up in a field and organized by consensus. The people who live
  142. there are making tanks. These are not old-fashioned, cast-iron Soviet
  143. tanks; these are more like the M1 tanks of the U.S. Army, made of space-age
  144. materials and jammed with sophisticated technology from one end to the
  145. other. But they are better than Army tanks. They've been modified in such a
  146. way that they never, ever break down, are light and maneuverable enough to
  147. use on ordinary streets, and use no more fuel than a subcompact car. These
  148. tanks are being cranked out, on the spot, at a terrific pace, and a vast
  149. number of them are lined up along the edge of the road with keys in the
  150. ignition. Anyone who wants can simply climb into one and drive it away for
  151. free.
  152.  
  153. Customers come to this crossroads in throngs, day and night. Ninety percent
  154. of them go straight to the biggest dealership and buy station wagons or
  155. off-road vehicles. They do not even look at the other dealerships.
  156.  
  157. Of the remaining ten percent, most go and buy a sleek Euro-sedan, pausing
  158. only to turn up their noses at the philistines going to buy the station
  159. wagons and ORVs. If they even notice the people on the opposite side of the
  160. road, selling the cheaper, technically superior vehicles, these customers
  161. deride them cranks and half-wits.
  162.  
  163. The Batmobile outlet sells a few vehicles to the occasional car nut who
  164. wants a second vehicle to go with his station wagon, but seems to accept,
  165. at least for now, that it's a fringe player.
  166.  
  167. The group giving away the free tanks only stays alive because it is staffed
  168. by volunteers, who are lined up at the edge of the street with bullhorns,
  169. trying to draw customers' attention to this incredible situation. A typical
  170. conversation goes something like this:
  171.  
  172. Hacker with bullhorn: "Save your money! Accept one of our free tanks! It is
  173. invulnerable, and can drive across rocks and swamps at ninety miles an hour
  174. while getting a hundred miles to the gallon!"
  175.  
  176. Prospective station wagon buyer: "I know what you say is
  177. true...but...er...I don't know how to maintain a tank!"
  178.  
  179. Bullhorn: "You don't know how to maintain a station wagon either!"
  180.  
  181. Buyer: "But this dealership has mechanics on staff. If something goes wrong
  182. with my station wagon, I can take a day off work, bring it here, and pay
  183. them to work on it while I sit in the waiting room for hours, listening to
  184. elevator music."
  185.  
  186. Bullhorn: "But if you accept one of our free tanks we will send volunteers
  187. to your house to fix it for free while you sleep!"
  188.  
  189. Buyer: "Stay away from my house, you freak!"
  190.  
  191. Bullhorn: "But..."
  192.  
  193. Buyer: "Can't you see that everyone is buying station wagons?"
  194.  
  195.  
  196. BIT-FLINGER
  197.  
  198. The connection between cars, and ways of interacting with computers,
  199. wouldn't have occurred to me at the time I was being taken for rides in
  200. that MGB. I had signed up to take a computer programming class at Ames High
  201. School. After a few introductory lectures, we students were granted
  202. admission into a tiny room containing a teletype, a telephone, and an
  203. old-fashioned modem consisting of a metal box with a pair of rubber cups on
  204. the top (note: many readers, making their way through that last sentence,
  205. probably felt an initial pang of dread that this essay was about to turn
  206. into a tedious, codgerly reminiscence about how tough we had it back in the
  207. old days; rest assured that I am actually positioning my pieces on the
  208. chessboard, as it were, in preparation to make a point about truly hip and
  209. up-to-the minute topics like Open Source Software). The teletype was
  210. exactly the same sort of machine that had been used, for decades, to send
  211. and receive telegrams. It was basically a loud typewriter that could only
  212. produce UPPERCASE LETTERS. Mounted to one side of it was a smaller machine
  213. with a long reel of paper tape on it, and a clear plastic hopper
  214. underneath.
  215.  
  216. In order to connect this device (which was not a computer at all) to the
  217. Iowa State University mainframe across town, you would pick up the phone,
  218. dial the computer's number, listen for strange noises, and then slam the
  219. handset down into the rubber cups. If your aim was true, one would wrap its
  220. neoprene lips around the earpiece and the other around the mouthpiece,
  221. consummating a kind of informational soixante-neuf.  The teletype would
  222. shudder as it was possessed by the spirit of the distant mainframe, and
  223. begin to hammer out cryptic messages.
  224.  
  225. Since computer time was a scarce resource, we used a sort of batch
  226. processing technique. Before dialing the phone, we would turn on the tape
  227. puncher (a subsidiary machine bolted to the side of the teletype) and type
  228. in our programs. Each time we depressed a key, the teletype would bash out
  229. a letter on the paper in front of us, so we could read what we'd typed; but
  230. at the same time it would convert the letter into a set of eight binary
  231. digits, or bits, and punch a corresponding pattern of holes across the
  232. width of a paper tape. The tiny disks of paper knocked out of the tape
  233. would flutter down into the clear plastic hopper, which would slowly fill
  234. up what can only be described as actual bits. On the last day of the school
  235. year, the smartest kid in the class (not me) jumped out from behind his
  236. desk and flung several quarts of these bits over the head of our teacher,
  237. like confetti, as a sort of semi-affectionate practical joke. The image of
  238. this man sitting there, gripped in the opening stages of an atavistic
  239. fight-or-flight reaction, with millions of bits (megabytes) sifting down
  240. out of his hair and into his nostrils and mouth, his face gradually turning
  241. purple as he built up to an explosion, is the single most memorable scene
  242. from my formal education.
  243.  
  244. Anyway, it will have been obvious that my interaction with the computer was
  245. of an extremely formal nature, being sharply divided up into different
  246. phases, viz.: (1) sitting at home with paper and pencil, miles and miles
  247. from any computer, I would think very, very hard about what I wanted the
  248. computer to do, and translate my intentions into a computer language--a
  249. series of alphanumeric symbols on a page. (2) I would carry this across a
  250. sort of informational cordon sanitaire (three miles of snowdrifts) to
  251. school and type those letters into a machine--not a computer--which would
  252. convert the symbols into binary numbers and record them visibly on a tape.
  253. (3) Then, through the rubber-cup modem, I would cause those numbers to be
  254. sent to the university mainframe, which would (4) do arithmetic on them and
  255. send different numbers back to the teletype. (5) The teletype would convert
  256. these numbers back into letters and hammer them out on a page and (6) I,
  257. watching, would construe the letters as meaningful symbols.
  258.  
  259. The division of responsibilities implied by all of this is admirably clean:
  260. computers do arithmetic on bits of information. Humans construe the bits as
  261. meaningful symbols. But this distinction is now being blurred, or at least
  262. complicated, by the advent of modern operating systems that use, and
  263. frequently abuse, the power of metaphor to make computers accessible to a
  264. larger audience. Along the way--possibly because of those metaphors, which
  265. make an operating system a sort of work of art--people start to get
  266. emotional, and grow attached to pieces of software in the way that my
  267. friend's dad did to his MGB.
  268.  
  269. People who have only interacted with computers through graphical user
  270. interfaces like the MacOS or Windows--which is to say, almost everyone who
  271. has ever used a computer--may have been startled, or at least bemused, to
  272. hear about the telegraph machine that I used to communicate with a computer
  273. in 1973. But there was, and is, a good reason for using this particular
  274. kind of technology. Human beings have various ways of communicating to each
  275. other, such as music, art, dance, and facial expressions, but some of these
  276. are more amenable than others to being expressed as strings of symbols.
  277. Written language is the easiest of all, because, of course, it consists of
  278. strings of symbols to begin with. If the symbols happen to belong to a
  279. phonetic alphabet (as opposed to, say, ideograms), converting them into
  280. bits is a trivial procedure, and one that was nailed, technologically, in
  281. the early nineteenth century, with the introduction of Morse code and other
  282. forms of telegraphy.
  283.  
  284. We had a human/computer interface a hundred years before we had computers.
  285. When computers came into being around the time of the Second World War,
  286. humans, quite naturally, communicated with them by simply grafting them on
  287. to the already-existing technologies for translating letters into bits and
  288. vice versa: teletypes and punch card machines.
  289.  
  290. These embodied two fundamentally different approaches to computing. When
  291. you were using cards, you'd punch a whole stack of them and run them
  292. through the reader all at once, which was called batch processing. You
  293. could also do batch processing with a teletype, as I have already
  294. described, by using the paper tape reader, and we were certainly encouraged
  295. to use this approach when I was in high school. But--though efforts were
  296. made to keep us unaware of this--the teletype could do something that the
  297. card reader could not. On the teletype, once the modem link was
  298. established, you could just type in a line and hit the return key. The
  299. teletype would send that line to the computer, which might or might not
  300. respond with some lines of its own, which the teletype would hammer
  301. out--producing, over time, a transcript of your exchange with the machine.
  302. This way of doing it did not even have a name at the time, but when, much
  303. later, an alternative became available, it was retroactively dubbed the
  304. Command Line Interface.
  305.  
  306. When I moved on to college, I did my computing in large, stifling rooms
  307. where scores of students would sit in front of slightly updated versions of
  308. the same machines and write computer programs: these used dot-matrix
  309. printing mechanisms, but were (from the computer's point of view) identical
  310. to the old teletypes. By that point, computers were better at
  311. time-sharing--that is, mainframes were still mainframes, but they were
  312. better at communicating with a large number of terminals at once.
  313. Consequently, it was no longer necessary to use batch processing. Card
  314. readers were shoved out into hallways and boiler rooms, and batch
  315. processing became a nerds-only kind of thing, and consequently took on a
  316. certain eldritch flavor among those of us who even knew it existed. We were
  317. all off the Batch, and on the Command Line, interface now--my very first
  318. shift in operating system paradigms, if only I'd known it.
  319.  
  320. A huge stack of accordion-fold paper sat on the floor underneath each one
  321. of these glorified teletypes, and miles of paper shuddered through their
  322. platens. Almost all of this paper was thrown away or recycled without ever
  323. having been touched by ink--an ecological atrocity so glaring that those
  324. machines soon replaced by video terminals--so-called "glass
  325. teletypes"--which were quieter and didn't waste paper. Again, though, from
  326. the computer's point of view these were indistinguishable from World War
  327. II-era teletype machines. In effect we still used Victorian technology to
  328. communicate with computers until about 1984, when the Macintosh was
  329. introduced with its Graphical User Interface. Even after that, the Command
  330. Line continued to exist as an underlying stratum--a sort of brainstem
  331. reflex--of many modern computer systems all through the heyday of Graphical
  332. User Interfaces, or GUIs as I will call them from now on.
  333.  
  334.  
  335. GUIs
  336.  
  337. Now the first job that any coder needs to do when writing a new piece of
  338. software is to figure out how to take the information that is being worked
  339. with (in a graphics program, an image; in a spreadsheet, a grid of numbers)
  340. and turn it into a linear string of bytes. These strings of bytes are
  341. commonly called files or (somewhat more hiply) streams. They are to
  342. telegrams what modern humans are to Cro-Magnon man, which is to say the
  343. same thing under a different name. All that you see on your computer
  344. screen--your Tomb Raider, your digitized voice mail messages, faxes, and
  345. word processing documents written in thirty-seven different typefaces--is
  346. still, from the computer's point of view, just like telegrams, except much
  347. longer, and demanding of more arithmetic.
  348.  
  349. The quickest way to get a taste of this is to fire up your web browser,
  350. visit a site, and then select the View/Document Source menu item. You will
  351. get a bunch of computer code that looks something like this:
  352.  
  353. <HTML>
  354.  
  355. <HEAD>
  356.  
  357. <TITLE>Welcome to the Avon Books Homepage</TITLE>
  358. </HEAD>
  359.  
  360. <MAP NAME="left0199">
  361.      <AREA SHAPE="rect" COORDS="16,56,111,67" HREF="/bard/">
  362.      <AREA SHAPE="rect" COORDS="14,77,111,89" HREF="/eos/">
  363.      <AREA SHAPE="rect" COORDS="17,98,112,110" HREF="/twilight/">
  364.      <AREA SHAPE="rect" COORDS="18,119,112,131"
  365. HREF="/avon_user/category.html?category_id=271">
  366.      <AREA SHAPE="rect" COORDS="19,140,112,152"
  367. HREF="http://www.goners.com/">
  368.      <AREA SHAPE="rect" COORDS="18,161,111,173"
  369. HREF="http://www.spikebooks.com/">
  370.      <AREA SHAPE="rect" COORDS="2,181,112,195"
  371. HREF="/avon_user/category.html?category_id=277">
  372.      <AREA SHAPE="rect" COORDS="9,203,112,216" HREF="/chathamisland/">
  373.      <AREA SHAPE="rect" COORDS="7,223,112,236"
  374. HREF="/avon_user/search.html">
  375. </MAP>
  376.  
  377. <BODY TEXT="#478CFF" LINK="#FFFFFF" VLINK="#000000" ALINK="#478CFF"
  378. BGCOLOR="#003399">
  379. <TABLE BORDER="0" WIDTH="600" CELLPADDING="0" CELLSPACING="0">
  380.  
  381. <TR VALIGN=TOP>
  382.  
  383.      <TD ROWSPAN="3">
  384.      <A HREF="/cgi-bin/imagemap/maps/left.gif.map"><IMG
  385. SRC="/avon/images/home/nav/left0199.gif" WIDTH="113" HEIGHT="280"
  386. BORDER="0" USEMAP="#left0199"></A></TD><TD ROWSPAN="3"><IMG
  387. SRC="/avon/images/home/homepagejan98/2ndleft.gif" WIDTH="144" HEIGHT="280"
  388. BORDER="0"></TD><TD><A HREF="/avon/about.html"><IMG
  389. SRC="/avon/images/home/homepagejan98/aboutavon.gif" ALT="About Avon Books"
  390. WIDTH="199" HEIGHT="44" BORDER="0"></A></TD><TD ROWSPAN="3"><A
  391. HREF="/avon/fiction/guides.html"><IMG
  392. SRC="/avon/images/home/feb98/right1.gif" ALT="Reading Groups" WIDTH="165"
  393. HEIGHT="121" BORDER="0"></A><BR><A
  394. HREF="/avon/feature/feb99/crook.html"><IMG
  395. SRC="/avon/images/home/feb99/crook_text.gif" ALT="The Crook Factory"
  396. WIDTH="165" HEIGHT="96" BORDER="0"></A><BR><A
  397. HREF="http://apps.hearstnewmedia.com/cgi-bin/gx.cgi/AppLogic+APPSSURVEYS
  398. Questionnaire?domain_id=182&survey_id=541"><IMG
  399. SRC="/avon/images/home/feb99/env_text.gif" ALT="The Envelope Please"
  400. WIDTH="165" HEIGHT="63" BORDER="0"></A></TD>
  401. </TR>
  402.  
  403. <TR VALIGN=TOP><TD><IMG SRC="/avon/images/home/feb98/main.gif" WIDTH="199"
  404. HEIGHT="182" BORDER="0"></TD></TR><TR VALIGN=TOP><TD><A
  405. HREF="/avon/feature/jan99/sitchin.html"><IMG
  406. SRC="/avon/images/home/jan99/sitchin_text.gif" WIDTH="199" HEIGHT="54"
  407. BORDER="0"></A></TD></TR><TR VALIGN=TOP><TD COLSPAN="4"><IMG
  408. SRC="/avon/images/home/jan99/avon_bottom_beau.gif" WIDTH="622" HEIGHT="179"
  409. BORDER="0" USEMAP="#bottom"></TD></TR><TR><TD ALIGN=CENTER VALIGN=TOP
  410. COLSPAN="4"><FONT SIZE="2" FACE="ARIAL,COURIER"><PRE>
  411.  
  412. </PRE><A HREF="/avon/ordering.html">How to order</A> | <A
  413. HREF="/avon/faq.html#manu">How to submit a Manuscript</A> | <A
  414. HREF="mailto:avonweb@hearst.com">Contact us</A> | <A
  415. HREF="/avon/policy.html">Privacy Policy</A></FONT>
  416.  
  417. <P>
  418. </FONT></TD>
  419.  
  420. </TR>
  421.  
  422. </TABLE>
  423.  
  424. </BODY>
  425.  
  426. </HTML>
  427.  
  428.  
  429. This crud is called HTML (HyperText Markup Language) and it is basically a
  430. very simple programming language instructing your web browser how to draw a
  431. page on a screen. Anyone can learn HTML and many people do. The important
  432. thing is that no matter what splendid multimedia web pages they might
  433. represent, HTML files are just telegrams.
  434.  
  435. When Ronald Reagan was a radio announcer, he used to call baseball games by
  436. reading the terse descriptions that trickled in over the telegraph wire and
  437. were printed out on a paper tape. He would sit there, all by himself in a
  438. padded room with a microphone, and the paper tape would eke out of the
  439. machine and crawl over the palm of his hand printed with cryptic
  440. abbreviations. If the count went to three and two, Reagan would describe
  441. the scene as he saw it in his mind's eye: "The brawny left-hander steps out
  442. of the batter's box to wipe the sweat from his brow. The umpire steps
  443. forward to sweep the dirt from home plate." and so on. When the cryptogram
  444. on the paper tape announced a base hit, he would whack the edge of the
  445. table with a pencil, creating a little sound effect, and describe the arc
  446. of the ball as if he could actually see it. His listeners, many of whom
  447. presumably thought that Reagan was actually at the ballpark watching the
  448. game, would reconstruct the scene in their minds according to his
  449. descriptions.
  450.  
  451. This is exactly how the World Wide Web works: the HTML files are the pithy
  452. description on the paper tape, and your Web browser is Ronald Reagan. The
  453. same is true of Graphical User Interfaces in general.
  454.  
  455. So an OS is a stack of metaphors and abstractions that stands between you
  456. and the telegrams, and embodying various tricks the programmer used to
  457. convert the information you're working with--be it images, e-mail messages,
  458. movies, or word processing documents--into the necklaces of bytes that are
  459. the only things computers know how to work with. When we used actual
  460. telegraph equipment (teletypes) or their higher-tech substitutes ("glass
  461. teletypes," or the MS-DOS command line) to work with our computers, we were
  462. very close to the bottom of that stack. When we use most modern operating
  463. systems, though, our interaction with the machine is heavily mediated.
  464. Everything we do is interpreted and translated time and again as it works
  465. its way down through all of the metaphors and abstractions.
  466.  
  467. The Macintosh OS was a revolution in both the good and bad senses of that
  468. word. Obviously it was true that command line interfaces were not for
  469. everyone, and that it would be a good thing to make computers more
  470. accessible to a less technical audience--if not for altruistic reasons,
  471. then because those sorts of people constituted an incomparably vaster
  472. market. It was clear the the Mac's engineers saw a whole new country
  473. stretching out before them; you could almost hear them muttering, "Wow! We
  474. don't have to be bound by files as linear streams of bytes anymore, vive la
  475. revolution, let's see how far we can take this!" No command line interface
  476. was available on the Macintosh; you talked to it with the mouse, or not at
  477. all. This was a statement of sorts, a credential of revolutionary purity.
  478. It seemed that the designers of the Mac intended to sweep Command Line
  479. Interfaces into the dustbin of history.
  480.  
  481. My own personal love affair with the Macintosh began in the spring of 1984
  482. in a computer store in Cedar Rapids, Iowa, when a friend of
  483. mine--coincidentally, the son of the MGB owner--showed me a Macintosh
  484. running MacPaint, the revolutionary drawing program. It ended in July of
  485. 1995 when I tried to save a big important file on my Macintosh Powerbook
  486. and instead instead of doing so, it annihilated the data so thoroughly that
  487. two different disk crash utility programs were unable to find any trace
  488. that it had ever existed. During the intervening ten years, I had a passion
  489. for the MacOS that seemed righteous and reasonable at the time but in
  490. retrospect strikes me as being exactly the same sort of goofy infatuation
  491. that my friend's dad had with his car.
  492.  
  493. The introduction of the Mac triggered a sort of holy war in the computer
  494. world. Were GUIs a brilliant design innovation that made computers more
  495. human-centered and therefore accessible to the masses, leading us toward an
  496. unprecedented revolution in human society, or an insulting bit of
  497. audiovisual gimcrackery dreamed up by flaky Bay Area hacker types that
  498. stripped computers of their power and flexibility and turned the noble and
  499. serious work of computing into a childish video game?
  500.  
  501. This debate actually seems more interesting to me today than it did in the
  502. mid-1980s. But people more or less stopped debating it when Microsoft
  503. endorsed the idea of GUIs by coming out with the first Windows. At this
  504. point, command-line partisans were relegated to the status of silly old
  505. grouches, and a new conflict was touched off, between users of MacOS and
  506. users of Windows.
  507.  
  508. There was plenty to argue about. The first Macintoshes looked different
  509. from other PCs even when they were turned off: they consisted of one box
  510. containing both CPU (the part of the computer that does arithmetic on bits)
  511. and monitor screen. This was billed, at the time, as a philosophical
  512. statement of sorts: Apple wanted to make the personal computer into an
  513. appliance, like a toaster. But it also reflected the purely technical
  514. demands of running a graphical user interface. In a GUI machine, the chips
  515. that draw things on the screen have to be integrated with the computer's
  516. central processing unit, or CPU, to a far greater extent than is the case
  517. with command-line interfaces, which until recently didn't even know that
  518. they weren't just talking to teletypes.
  519.  
  520. This distinction was of a technical and abstract nature, but it became
  521. clearer when the machine crashed (it is commonly the case with technologies
  522. that you can get the best insight about how they work by watching them
  523. fail). When everything went to hell and the CPU began spewing out random
  524. bits, the result, on a CLI machine, was lines and lines of perfectly formed
  525. but random characters on the screen--known to cognoscenti as "going
  526. Cyrillic." But to the MacOS, the screen was not a teletype, but a place to
  527. put graphics; the image on the screen was a bitmap, a literal rendering of
  528. the contents of a particular portion of the computer's memory. When the
  529. computer crashed and wrote gibberish into the bitmap, the result was
  530. something that looked vaguely like static on a broken television set--a
  531. "snow crash."
  532.  
  533. And even after the introduction of Windows, the underlying differences
  534. endured; when a Windows machine got into trouble, the old command-line
  535. interface would fall down over the GUI like an asbestos fire curtain
  536. sealing off the proscenium of a burning opera. When a Macintosh got into
  537. trouble it presented you with a cartoon of a bomb, which was funny the
  538. first time you saw it.
  539.  
  540. And these were by no means superficial differences. The reversion of
  541. Windows to a CLI when it was in distress proved to Mac partisans that
  542. Windows was nothing more than a cheap facade, like a garish afghan flung
  543. over a rotted-out sofa. They were disturbed and annoyed by the sense that
  544. lurking underneath Windows' ostensibly user-friendly interface
  545. was--literally--a subtext.
  546.  
  547. For their part, Windows fans might have made the sour observation that all
  548. computers, even Macintoshes, were built on that same subtext, and that the
  549. refusal of Mac owners to admit that fact to themselves seemed to signal a
  550. willingness, almost an eagerness, to be duped.
  551.  
  552. Anyway, a Macintosh had to switch individual bits in the memory chips on
  553. the video card, and it had to do it very fast, and in arbitrarily
  554. complicated patterns. Nowadays this is cheap and easy, but in the
  555. technological regime that prevailed in the early 1980s, the only realistic
  556. way to do it was to build the motherboard (which contained the CPU) and the
  557. video system (which contained the memory that was mapped onto the screen)
  558. as a tightly integrated whole--hence the single, hermetically sealed case
  559. that made the Macintosh so distinctive.
  560.  
  561. When Windows came out, it was conspicuous for its ugliness, and its current
  562. successors, Windows 95 and Windows NT, are not things that people would pay
  563. money to look at either. Microsoft's complete disregard for aesthetics gave
  564. all of us Mac-lovers plenty of opportunities to look down our noses at
  565. them. That Windows looked an awful lot like a direct ripoff of MacOS gave
  566. us a burning sense of moral outrage to go with it. Among people who really
  567. knew and appreciated computers (hackers, in Steven Levy's non-pejorative
  568. sense of that word) and in a few other niches such as professional
  569. musicians, graphic artists and schoolteachers, the Macintosh, for a while,
  570. was simply the computer. It was seen as not only a superb piece of
  571. engineering, but an embodiment of certain ideals about the use of
  572. technology to benefit mankind, while Windows was seen as a pathetically
  573. clumsy imitation and a sinister world domination plot rolled into one. So
  574. very early, a pattern had been established that endures to this day: people
  575. dislike Microsoft, which is okay; but they dislike it for reasons that are
  576. poorly considered, and in the end, self-defeating.
  577.  
  578.  
  579. CLASS STRUGGLE ON THE DESKTOP
  580.  
  581. Now that the Third Rail has been firmly grasped, it is worth reviewing some
  582. basic facts here: like any other publicly traded, for-profit corporation,
  583. Microsoft has, in effect, borrowed a bunch of money from some people (its
  584. stockholders) in order to be in the bit business. As an officer of that
  585. corporation, Bill Gates has one responsibility only, which is to maximize
  586. return on investment. He has done this incredibly well. Any actions taken
  587. in the world by Microsoft-any software released by them, for example--are
  588. basically epiphenomena, which can't be interpreted or understood except
  589. insofar as they reflect Bill Gates's execution of his one and only
  590. responsibility.
  591.  
  592. It follows that if Microsoft sells goods that are aesthetically
  593. unappealing, or that don't work very well, it does not mean that they are
  594. (respectively) philistines or half-wits. It is because Microsoft's
  595. excellent management has figured out that they can make more money for
  596. their stockholders by releasing stuff with obvious, known imperfections
  597. than they can by making it beautiful or bug-free. This is annoying, but (in
  598. the end) not half so annoying as watching Apple inscrutably and
  599. relentlessly destroy itself.
  600.  
  601. Hostility towards Microsoft is not difficult to find on the Net, and it
  602. blends two strains: resentful people who feel Microsoft is too powerful,
  603. and disdainful people who think it's tacky. This is all strongly
  604. reminiscent of the heyday of Communism and Socialism, when the bourgeoisie
  605. were hated from both ends: by the proles, because they had all the money,
  606. and by the intelligentsia, because of their tendency to spend it on lawn
  607. ornaments. Microsoft is the very embodiment of modern high-tech
  608. prosperity--it is, in a word, bourgeois--and so it attracts all of the same
  609. gripes.
  610.  
  611. The opening "splash screen" for Microsoft Word 6.0 summed it up pretty
  612. neatly: when you started up the program you were treated to a picture of an
  613. expensive enamel pen lying across a couple of sheets of fancy-looking
  614. handmade writing paper. It was obviously a bid to make the software look
  615. classy, and it might have worked for some, but it failed for me, because
  616. the pen was a ballpoint, and I'm a fountain pen man. If Apple had done it,
  617. they would've used a Mont Blanc fountain pen, or maybe a Chinese
  618. calligraphy brush. And I doubt that this was an accident. Recently I spent
  619. a while re-installing Windows NT on one of my home computers, and many
  620. times had to double-click on the "Control Panel" icon. For reasons that are
  621. difficult to fathom, this icon consists of a picture of a clawhammer and a
  622. chisel or screwdriver resting on top of a file folder.
  623.  
  624. These aesthetic gaffes give one an almost uncontrollable urge to make fun
  625. of Microsoft, but again, it is all beside the point--if Microsoft had done
  626. focus group testing of possible alternative graphics, they probably would
  627. have found that the average mid-level office worker associated fountain
  628. pens with effete upper management toffs and was more comfortable with
  629. ballpoints. Likewise, the regular guys, the balding dads of the world who
  630. probably bear the brunt of setting up and maintaining home computers, can
  631. probably relate better to a picture of a clawhammer--while perhaps
  632. harboring fantasies of taking a real one to their balky computers.
  633.  
  634. This is the only way I can explain certain peculiar facts about the current
  635. market for operating systems, such as that ninety percent of all customers
  636. continue to buy station wagons off the Microsoft lot while free tanks are
  637. there for the taking, right across the street.
  638.  
  639. A string of ones and zeroes was not a difficult thing for Bill Gates to
  640. distribute, one he'd thought of the idea. The hard part was selling
  641. it--reassuring customers that they were actually getting something in
  642. return for their money.
  643.  
  644. Anyone who has ever bought a piece of software in a store has had the
  645. curiously deflating experience of taking the bright shrink-wrapped box
  646. home, tearing it open, finding that it's 95 percent air, throwing away all
  647. the little cards, party favors, and bits of trash, and loading the disk
  648. into the computer. The end result (after you've lost the disk) is nothing
  649. except some images on a computer screen, and some capabilities that weren't
  650. there before. Sometimes you don't even have that--you have a string of
  651. error messages instead. But your money is definitely gone. Now we are
  652. almost accustomed to this, but twenty years ago it was a very dicey
  653. business proposition. Bill Gates made it work anyway. He didn't make it
  654. work by selling the best software or offering the cheapest price. Instead
  655. he somehow got people to believe that they were receiving something in
  656. exchange for their money.
  657.  
  658. The streets of every city in the world are filled with those hulking,
  659. rattling station wagons. Anyone who doesn't own one feels a little weird,
  660. and wonders, in spite of himself, whether it might not be time to cease
  661. resistance and buy one; anyone who does, feels confident that he has
  662. acquired some meaningful possession, even on those days when the vehicle is
  663. up on a lift in an auto repair shop.
  664.  
  665. All of this is perfectly congruent with membership in the bourgeoisie,
  666. which is as much a mental, as a material state. And it explains why
  667. Microsoft is regularly attacked, on the Net, from both sides. People who
  668. are inclined to feel poor and oppressed construe everything Microsoft does
  669. as some sinister Orwellian plot. People who like to think of themselves as
  670. intelligent and informed technology users are driven crazy by the
  671. clunkiness of Windows.
  672.  
  673. Nothing is more annoying to sophisticated people to see someone who is rich
  674. enough to know better being tacky--unless it is to realize, a moment later,
  675. that they probably know they are tacky and they simply don't care and they
  676. are going to go on being tacky, and rich, and happy, forever. Microsoft
  677. therefore bears the same relationship to the Silicon Valley elite as the
  678. Beverly Hillbillies did to their fussy banker, Mr. Drysdale--who is
  679. irritated not so much by the fact that the Clampetts moved to his
  680. neighborhood as by the knowledge that, when Jethro is seventy years old,
  681. he's still going to be talking like a hillbilly and wearing bib overalls,
  682. and he's still going to be a lot richer than Mr. Drysdale.
  683.  
  684. Even the hardware that Windows ran on, when compared to the machines put
  685. out by Apple, looked like white-trash stuff, and still mostly does. The
  686. reason was that Apple was and is a hardware company, while Microsoft was
  687. and is a software company. Apple therefore had a monopoly on hardware that
  688. could run MacOS, whereas Windows-compatible hardware came out of a free
  689. market. The free market seems to have decided that people will not pay for
  690. cool-looking computers; PC hardware makers who hire designers to make their
  691. stuff look distinctive get their clocks cleaned by Taiwanese clone makers
  692. punching out boxes that look as if they belong on cinderblocks in front of
  693. someone's trailer. But Apple could make their hardware as pretty as they
  694. wanted to and simply pass the higher prices on to their besotted consumers,
  695. like me. Only last week (I am writing this sentence in early Jan. 1999) the
  696. technology sections of all the newspapers were filled with adulatory press
  697. coverage of how Apple had released the iMac in several happenin' new colors
  698. like Blueberry and Tangerine.
  699.  
  700. Apple has always insisted on having a hardware monopoly, except for a brief
  701. period in the mid-1990s when they allowed clone-makers to compete with
  702. them, before subsequently putting them out of business. Macintosh hardware
  703. was, consequently, expensive. You didn't open it up and fool around with it
  704. because doing so would void the warranty. In fact the first Mac was
  705. specifically designed to be difficult to open--you needed a kit of exotic
  706. tools, which you could buy through little ads that began to appear in the
  707. back pages of magazines a few months after the Mac came out on the market.
  708. These ads always had a certain disreputable air about them, like pitches
  709. for lock-picking tools in the backs of lurid detective magazines.
  710.  
  711. This monopolistic policy can be explained in at least three different ways.
  712.  
  713. THE CHARITABLE EXPLANATION is that the hardware monopoly policy reflected a
  714. drive on Apple's part to provide a seamless, unified blending of hardware,
  715. operating system, and software. There is something to this. It is hard
  716. enough to make an OS that works well on one specific piece of hardware,
  717. designed and tested by engineers who work down the hallway from you, in the
  718. same company. Making an OS to work on arbitrary pieces of hardware, cranked
  719. out by rabidly entrepeneurial clonemakers on the other side of the
  720. International Date Line, is very difficult, and accounts for much of the
  721. troubles people have using Windows.
  722.  
  723. THE FINANCIAL EXPLANATION is that Apple, unlike Microsoft, is and always
  724. has been a hardware company. It simply depends on revenue from selling
  725. hardware, and cannot exist without it.
  726.  
  727. THE NOT-SO-CHARITABLE EXPLANATION has to do with Apple's corporate culture,
  728. which is rooted in Bay Area Baby Boomdom.
  729.  
  730. Now, since I'm going to talk for a moment about culture, full disclosure is
  731. probably in order, to protect myself against allegations of conflict of
  732. interest and ethical turpitude: (1) Geographically I am a Seattleite, of a
  733. Saturnine temperament, and inclined to take a sour view of the Dionysian
  734. Bay Area, just as they tend to be annoyed and appalled by us. (2)
  735. Chronologically I am a post-Baby Boomer. I feel that way, at least, because
  736. I never experienced the fun and exciting parts of the whole Boomer
  737. scene--just spent a lot of time dutifully chuckling at Boomers' maddeningly
  738. pointless anecdotes about just how stoned they got on various occasions,
  739. and politely fielding their assertions about how great their music was. But
  740. even from this remove it was possible to glean certain patterns, and one
  741. that recurred as regularly as an urban legend was the one about how someone
  742. would move into a commune populated by sandal-wearing, peace-sign flashing
  743. flower children, and eventually discover that, underneath this facade, the
  744. guys who ran it were actually control freaks; and that, as living in a
  745. commune, where much lip service was paid to ideals of peace, love and
  746. harmony, had deprived them of normal, socially approved outlets for their
  747. control-freakdom, it tended to come out in other, invariably more sinister,
  748. ways.
  749.  
  750. Applying this to the case of Apple Computer will be left as an exercise for
  751. the reader, and not a very difficult exercise.
  752.  
  753. It is a bit unsettling, at first, to think of Apple as a control freak,
  754. because it is completely at odds with their corporate image. Weren't these
  755. the guys who aired the famous Super Bowl ads showing suited, blindfolded
  756. executives marching like lemmings off a cliff? Isn't this the company that
  757. even now runs ads picturing the Dalai Lama (except in Hong Kong) and
  758. Einstein and other offbeat rebels?
  759.  
  760. It is indeed the same company, and the fact that they have been able to
  761. plant this image of themselves as creative and rebellious free-thinkers in
  762. the minds of so many intelligent and media-hardened skeptics really gives
  763. one pause. It is testimony to the insidious power of expensive slick ad
  764. campaigns and, perhaps, to a certain amount of wishful thinking in the
  765. minds of people who fall for them. It also raises the question of why
  766. Microsoft is so bad at PR, when the history of Apple demonstrates that, by
  767. writing large checks to good ad agencies, you can plant a corporate image
  768. in the minds of intelligent people that is completely at odds with reality.
  769. (The answer, for people who don't like Damoclean questions, is that since
  770. Microsoft has won the hearts and minds of the silent majority--the
  771. bourgeoisie--they don't give a damn about having a slick image, any more
  772. then Dick Nixon did. "I want to believe,"--the mantra that Fox Mulder has
  773. pinned to his office wall in The X-Files--applies in different ways to
  774. these two companies; Mac partisans want to believe in the image of Apple
  775. purveyed in those ads, and in the notion that Macs are somehow
  776. fundamentally different from other computers, while Windows people want to
  777. believe that they are getting something for their money, engaging in a
  778. respectable business transaction).
  779.  
  780. In any event, as of 1987, both MacOS and Windows were out on the market,
  781. running on hardware platforms that were radically different from each
  782. other--not only in the sense that MacOS used Motorola CPU chips while
  783. Windows used Intel, but in the sense--then overlooked, but in the long run,
  784. vastly more significant--that the Apple hardware business was a rigid
  785. monopoly and the Windows side was a churning free-for-all.
  786.  
  787. But the full ramifications of this did not become clear until very
  788. recently--in fact, they are still unfolding, in remarkably strange ways, as
  789. I'll explain when we get to Linux. The upshot is that millions of people
  790. got accustomed to using GUIs in one form or another. By doing so, they made
  791. Apple/Microsoft a lot of money. The fortunes of many people have become
  792. bound up with the ability of these companies to continue selling products
  793. whose salability is very much open to question.
  794.  
  795.  
  796. HONEY-POT, TAR-PIT, WHATEVER
  797.  
  798. When Gates and Allen invented the idea of selling software, they ran into
  799. criticism from both hackers and sober-sided businesspeople. Hackers
  800. understood that software was just information, and objected to the idea of
  801. selling it. These objections were partly moral. The hackers were coming out
  802. of the scientific and academic world where it is imperative to make the
  803. results of one's work freely available to the public. They were also partly
  804. practical; how can you sell something that can be easily copied?
  805. Businesspeople, who are polar opposites of hackers in so many ways, had
  806. objections of their own. Accustomed to selling toasters and insurance
  807. policies, they naturally had a difficult time understanding how a long
  808. collection of ones and zeroes could constitute a salable product.
  809.  
  810. Obviously Microsoft prevailed over these objections, and so did Apple. But
  811. the objections still exist. The most hackerish of all the hackers, the
  812. Ur-hacker as it were, was and is Richard Stallman, who became so annoyed
  813. with the evil practice of selling software that, in 1984 (the same year
  814. that the Macintosh went on sale) he went off and founded something called
  815. the Free Software Foundation, which commenced work on something called GNU.
  816. Gnu is an acronym for Gnu's Not Unix, but this is a joke in more ways than
  817. one, because GNU most certainly IS Unix,. Because of trademark concerns
  818. ("Unix" is trademarked by AT&T) they simply could not claim that it was
  819. Unix, and so, just to be extra safe, they claimed that it wasn't.
  820. Notwithstanding the incomparable talent and drive possessed by Mr. Stallman
  821. and other GNU adherents, their project to build a free Unix to compete
  822. against Microsoft and Apple's OSes was a little bit like trying to dig a
  823. subway system with a teaspoon. Until, that is, the advent of Linux, which I
  824. will get to later.
  825.  
  826. But the basic idea of re-creating an operating system from scratch was
  827. perfectly sound and completely doable. It has been done many times. It is
  828. inherent in the very nature of operating systems.
  829.  
  830. Operating systems are not strictly necessary. There is no reason why a
  831. sufficiently dedicated coder could not start from nothing with every
  832. project and write fresh code to handle such basic, low-level operations as
  833. controlling the read/write heads on the disk drives and lighting up pixels
  834. on the screen. The very first computers had to be programmed in this way.
  835. But since nearly every program needs to carry out those same basic
  836. operations, this approach would lead to vast duplication of effort.
  837.  
  838. Nothing is more disagreeable to the hacker than duplication of effort. The
  839. first and most important mental habit that people develop when they learn
  840. how to write computer programs is to generalize, generalize, generalize. To
  841. make their code as modular and flexible as possible, breaking large
  842. problems down into small subroutines that can be used over and over again
  843. in different contexts. Consequently, the development of operating systems,
  844. despite being technically unnecessary, was inevitable. Because at its
  845. heart, an operating system is nothing more than a library containing the
  846. most commonly used code, written once (and hopefully written well) and then
  847. made available to every coder who needs it.
  848.  
  849. So a proprietary, closed, secret operating system is a contradiction in
  850. terms. It goes against the whole point of having an operating system. And
  851. it is impossible to keep them secret anyway. The source code--the original
  852. lines of text written by the programmers--can be kept secret. But an OS as
  853. a whole is a collection of small subroutines that do very specific, very
  854. clearly defined jobs. Exactly what those subroutines do has to be made
  855. public, quite explicitly and exactly, or else the OS is completely useless
  856. to programmers; they can't make use of those subroutines if they don't have
  857. a complete and perfect understanding of what the subroutines do.
  858.  
  859. The only thing that isn't made public is exactly how the subroutines do
  860. what they do. But once you know what a subroutine does, it's generally
  861. quite easy (if you are a hacker) to write one of your own that does exactly
  862. the same thing. It might take a while, and it is tedious and unrewarding,
  863. but in most cases it's not really hard.
  864.  
  865. What's hard, in hacking as in fiction, is not writing; it's deciding what
  866. to write. And the vendors of commercial OSes have already decided, and
  867. published their decisions.
  868.  
  869. This has been generally understood for a long time. MS-DOS was duplicated,
  870. functionally, by a rival product, written from scratch, called ProDOS, that
  871. did all of the same things in pretty much the same way. In other words,
  872. another company was able to write code that did all of the same things as
  873. MS-DOS and sell it at a profit. If you are using the Linux OS, you can get
  874. a free program called WINE which is a windows emulator; that is, you can
  875. open up a window on your desktop that runs windows programs. It means that
  876. a completely functional Windows OS has been recreated inside of Unix, like
  877. a ship in a bottle. And Unix itself, which is vastly more sophisticated
  878. than MS-DOS, has been built up from scratch many times over. Versions of it
  879. are sold by Sun, Hewlett-Packard, AT&T, Silicon Graphics, IBM, and others.
  880.  
  881. People have, in other words, been re-writing basic OS code for so long that
  882. all of the technology that constituted an "operating system" in the
  883. traditional (pre-GUI) sense of that phrase is now so cheap and common that
  884. it's literally free. Not only could Gates and Allen not sell MS-DOS today,
  885. they could not even give it away, because much more powerful OSes are
  886. already being given away. Even the original Windows (which was the only
  887. windows until 1995) has become worthless, in that there is no point in
  888. owning something that can be emulated inside of Linux--which is, itself,
  889. free.
  890.  
  891. In this way the OS business is very different from, say, the car business.
  892. Even an old rundown car has some value. You can use it for making runs to
  893. the dump, or strip it for parts. It is the fate of manufactured goods to
  894. slowly and gently depreciate as they get old and have to compete against
  895. more modern products.
  896.  
  897. But it is the fate of operating systems to become free.
  898.  
  899. Microsoft is a great software applications company. Applications--such as
  900. Microsoft Word--are an area where innovation brings real, direct, tangible
  901. benefits to users. The innovations might be new technology straight from
  902. the research department, or they might be in the category of bells and
  903. whistles, but in any event they are frequently useful and they seem to make
  904. users happy. And Microsoft is in the process of becoming a great research
  905. company. But Microsoft is not such a great operating systems company. And
  906. this is not necessarily because their operating systems are all that bad
  907. from a purely technological standpoint. Microsoft's OSes do have their
  908. problems, sure, but they are vastly better than they used to be, and they
  909. are adequate for most people.
  910.  
  911. Why, then, do I say that Microsoft is not such a great operating systems
  912. company? Because the very nature of operating systems is such that it is
  913. senseless for them to be developed and owned by a specific company. It's a
  914. thankless job to begin with. Applications create possibilities for millions
  915. of credulous users, whereas OSes impose limitations on thousands of grumpy
  916. coders, and so OS-makers will forever be on the shit-list of anyone who
  917. counts for anything in the high-tech world. Applications get used by people
  918. whose big problem is understanding all of their features, whereas OSes get
  919. hacked by coders who are annoyed by their limitations. The OS business has
  920. been good to Microsoft only insofar as it has given them the money they
  921. needed to launch a really good applications software business and to hire a
  922. lot of smart researchers. Now it really ought to be jettisoned, like a
  923. spent booster stage from a rocket. The big question is whether Microsoft is
  924. capable of doing this. Or is it addicted to OS sales in the same way as
  925. Apple is to selling hardware?
  926.  
  927. Keep in mind that Apple's ability to monopolize its own hardware supply was
  928. once cited, by learned observers, as a great advantage over Microsoft. At
  929. the time, it seemed to place them in a much stronger position. In the end,
  930. it nearly killed them, and may kill them yet. The problem, for Apple, was
  931. that most of the world's computer users ended up owning cheaper hardware.
  932. But cheap hardware couldn't run MacOS, and so these people switched to
  933. Windows.
  934.  
  935. Replace "hardware" with "operating systems," and "Apple" with "Microsoft"
  936. and you can see the same thing about to happen all over again. Microsoft
  937. dominates the OS market, which makes them money and seems like a great idea
  938. for now. But cheaper and better OSes are available, and they are growingly
  939. popular in parts of the world that are not so saturated with computers as
  940. the US. Ten years from now, most of the world's computer users may end up
  941. owning these cheaper OSes. But these OSes do not, for the time being, run
  942. any Microsoft applications, and so these people will use something else.
  943.  
  944. To put it more directly: every time someone decides to use a non-Microsoft
  945. OS, Microsoft's OS division, obviously, loses a customer. But, as things
  946. stand now, Microsoft's applications division loses a customer too. This is
  947. not such a big deal as long as almost everyone uses Microsoft OSes. But as
  948. soon as Windows' market share begins to slip, the math starts to look
  949. pretty dismal for the people in Redmond.
  950.  
  951. This argument could be countered by saying that Microsoft could simply
  952. re-compile its applications to run under other OSes. But this strategy goes
  953. against most normal corporate instincts. Again the case of Apple is
  954. instructive. When things started to go south for Apple, they should have
  955. ported their OS to cheap PC hardware. But they didn't. Instead, they tried
  956. to make the most of their brilliant hardware, adding new features and
  957. expanding the product line. But this only had the effect of making their OS
  958. more dependent on these special hardware features, which made it worse for
  959. them in the end.
  960.  
  961. Likewise, when Microsoft's position in the OS world is threatened, their
  962. corporate instincts will tell them to pile more new features into their
  963. operating systems, and then re-jigger their software applications to
  964. exploit those special features. But this will only have the effect of
  965. making their applications dependent on an OS with declining market share,
  966. and make it worse for them in the end.
  967.  
  968. The operating system market is a death-trap, a tar-pit, a slough of
  969. despond. There are only two reasons to invest in Apple and Microsoft. (1)
  970. each of these companies is in what we would call a co-dependency
  971. relationship with their customers. The customers Want To Believe, and Apple
  972. and Microsoft know how to give them what they want. (2) each company works
  973. very hard to add new features to their OSes, which works to secure customer
  974. loyalty, at least for a little while.
  975.  
  976. Accordingly, most of the remainder of this essay will be about those two
  977. topics.
  978.  
  979. THE TECHNOSPHERE
  980.  
  981. Unix is the only OS remaining whose GUI (a vast suite of code called the X
  982. Windows System) is separate from the OS in the old sense of the phrase.
  983. This is to say that you can run Unix in pure command-line mode if you want
  984. to, with no windows, icons, mouses, etc. whatsoever, and it will still be
  985. Unix and capable of doing everything Unix is supposed to do. But the other
  986. OSes: MacOS, the Windows family, and BeOS, have their GUIs tangled up with
  987. the old-fashioned OS functions to the extent that they have to run in GUI
  988. mode, or else they are not really running. So it's no longer really
  989. possible to think of GUIs as being distinct from the OS; they're now an
  990. inextricable part of the OSes that they belong to--and they are by far the
  991. largest part, and by far the most expensive and difficult part to create.
  992.  
  993. There are only two ways to sell a product: price and features. When OSes
  994. are free, OS companies cannot compete on price, and so they compete on
  995. features. This means that they are always trying to outdo each other
  996. writing code that, until recently, was not considered to be part of an OS
  997. at all: stuff like GUIs. This explains a lot about how these companies
  998. behave.
  999.  
  1000. It explains why Microsoft added a browser to their OS, for example. It is
  1001. easy to get free browsers, just as to get free OSes. If browsers are free,
  1002. and OSes are free, it would seem that there is no way to make money from
  1003. browsers or OSes. But if you can integrate a browser into the OS and
  1004. thereby imbue both of them with new features, you have a salable product.
  1005.  
  1006. Setting aside, for the moment, the fact that this makes government
  1007. anti-trust lawyers really mad, this strategy makes sense. At least, it
  1008. makes sense if you assume (as Microsoft's management appears to) that the
  1009. OS has to be protected at all costs. The real question is whether every new
  1010. technological trend that comes down the pike ought to be used as a crutch
  1011. to maintain the OS's dominant position. Confronted with the Web phenomenon,
  1012. Microsoft had to develop a really good web browser, and they did. But then
  1013. they had a choice: they could have made that browser work on many different
  1014. OSes, which would give Microsoft a strong position in the Internet world no
  1015. matter what happened to their OS market share. Or they could make the
  1016. browser one with the OS, gambling that this would make the OS look so
  1017. modern and sexy that it would help to preserve their dominance in that
  1018. market. The problem is that when Microsoft's OS position begins to erode
  1019. (and since it is currently at something like ninety percent, it can't go
  1020. anywhere but down) it will drag everything else down with it.
  1021.  
  1022. In your high school geology class you probably were taught that all life on
  1023. earth exists in a paper-thin shell called the biosphere, which is trapped
  1024. between thousands of miles of dead rock underfoot, and cold dead
  1025. radioactive empty space above. Companies that sell OSes exist in a sort of
  1026. technosphere. Underneath is technology that has already become free. Above
  1027. is technology that has yet to be developed, or that is too crazy and
  1028. speculative to be productized just yet. Like the Earth's biosphere, the
  1029. technosphere is very thin compared to what is above and what is below.
  1030.  
  1031. But it moves a lot faster. In various parts of our world, it is possible to
  1032. go and visit rich fossil beds where skeleton lies piled upon skeleton,
  1033. recent ones on top and more ancient ones below. In theory they go all the
  1034. way back to the first single-celled organisms. And if you use your
  1035. imagination a bit, you can understand that, if you hang around long enough,
  1036. you'll become fossilized there too, and in time some more advanced organism
  1037. will become fossilized on top of you.
  1038.  
  1039. The fossil record--the La Brea Tar Pit--of software technology is the
  1040. Internet. Anything that shows up there is free for the taking (possibly
  1041. illegal, but free). Executives at companies like Microsoft must get used to
  1042. the experience--unthinkable in other industries--of throwing millions of
  1043. dollars into the development of new technologies, such as Web browsers, and
  1044. then seeing the same or equivalent software show up on the Internet two
  1045. years, or a year, or even just a few months, later.
  1046.  
  1047. By continuing to develop new technologies and add features onto their
  1048. products they can keep one step ahead of the fossilization process, but on
  1049. certain days they must feel like mammoths caught at La Brea, using all
  1050. their energies to pull their feet, over and over again, out of the sucking
  1051. hot tar that wants to cover and envelop them.
  1052.  
  1053. Survival in this biosphere demands sharp tusks and heavy, stomping feet at
  1054. one end of the organization, and Microsoft famously has those. But
  1055. trampling the other mammoths into the tar can only keep you alive for so
  1056. long. The danger is that in their obsession with staying out of the fossil
  1057. beds, these companies will forget about what lies above the biosphere: the
  1058. realm of new technology. In other words, they must hang onto their
  1059. primitive weapons and crude competitive instincts, but also evolve powerful
  1060. brains. This appears to be what Microsoft is doing with its research
  1061. division, which has been hiring smart people right and left (Here I should
  1062. mention that although I know, and socialize with, several people in that
  1063. company's research division, we never talk about business issues and I have
  1064. little to no idea what the hell they are up to. I have learned much more
  1065. about Microsoft by using the Linux operating system than I ever would have
  1066. done by using Windows).
  1067.  
  1068. Never mind how Microsoft used to make money; today, it is making its money
  1069. on a kind of temporal arbitrage. "Arbitrage," in the usual sense, means to
  1070. make money by taking advantage of differences in the price of something
  1071. between different markets. It is spatial, in other words, and hinges on the
  1072. arbitrageur knowing what is going on simultaneously in different places.
  1073. Microsoft is making money by taking advantage of differences in the price
  1074. of technology in different times. Temporal arbitrage, if I may coin a
  1075. phrase, hinges on the arbitrageur knowing what technologies people will pay
  1076. money for next year, and how soon afterwards those same technologies will
  1077. become free. What spatial and temporal arbitrage have in common is that
  1078. both hinge on the arbitrageur's being extremely well-informed; one about
  1079. price gradients across space at a given time, and the other about price
  1080. gradients over time in a given place.
  1081.  
  1082. So Apple/Microsoft shower new features upon their users almost daily, in
  1083. the hopes that a steady stream of genuine technical innovations, combined
  1084. with the "I want to believe" phenomenon, will prevent their customers from
  1085. looking across the road towards the cheaper and better OSes that are
  1086. available to them. The question is whether this makes sense in the long
  1087. run. If Microsoft is addicted to OSes as Apple is to hardware, then they
  1088. will bet the whole farm on their OSes, and tie all of their new
  1089. applications and technologies to them. Their continued survival will then
  1090. depend on these two things: adding more features to their OSes so that
  1091. customers will not switch to the cheaper alternatives, and maintaining the
  1092. image that, in some mysterious way, gives those customers the feeling that
  1093. they are getting something for their money.
  1094.  
  1095. The latter is a truly strange and interesting cultural phenomenon.
  1096.  
  1097. THE INTERFACE CULTURE
  1098.  
  1099. A few years ago I walked into a grocery store somewhere and was presented
  1100. with the following tableau vivant: near the entrance a young couple were
  1101. standing in front of a large cosmetics display. The man was stolidly
  1102. holding a shopping basket between his hands while his mate raked
  1103. blister-packs of makeup off the display and piled them in. Since then I've
  1104. always thought of that man as the personification of an interesting human
  1105. tendency: not only are we not offended to be dazzled by manufactured
  1106. images, but we like it. We practically insist on it. We are eager to be
  1107. complicit in our own dazzlement: to pay money for a theme park ride, vote
  1108. for a guy who's obviously lying to us, or stand there holding the basket as
  1109. it's filled up with cosmetics.
  1110.  
  1111. I was in Disney World recently, specifically the part of it called the
  1112. Magic Kingdom, walking up Main Street USA. This is a perfect gingerbready
  1113. Victorian small town that culminates in a Disney castle. It was very
  1114. crowded; we shuffled rather than walked. Directly in front of me was a man
  1115. with a camcorder. It was one of the new breed of camcorders where instead
  1116. of peering through a viewfinder you gaze at a flat-panel color screen about
  1117. the size of a playing card, which televises live coverage of whatever the
  1118. camcorder is seeing. He was holding the appliance close to his face, so
  1119. that it obstructed his view. Rather than go see a real small town for free,
  1120. he had paid money to see a pretend one, and rather than see it with the
  1121. naked eye he was watching it on television.
  1122.  
  1123. And rather than stay home and read a book, I was watching him.
  1124.  
  1125. Americans' preference for mediated experiences is obvious enough, and I'm
  1126. not going to keep pounding it into the ground. I'm not even going to make
  1127. snotty comments about it--after all, I was at Disney World as a paying
  1128. customer. But it clearly relates to the colossal success of GUIs and so I
  1129. have to talk about it some. Disney does mediated experiences better than
  1130. anyone. If they understood what OSes are, and why people use them, they
  1131. could crush Microsoft in a year or two.
  1132.  
  1133. In the part of Disney World called the Animal Kingdom there is a new
  1134. attraction, slated to open in March 1999, called the Maharajah Jungle Trek.
  1135. It was open for sneak previews when I was there. This is a complete
  1136. stone-by-stone reproduction of a hypothetical ruin in the jungles of India.
  1137. According to its backstory, it was built by a local rajah in the 16th
  1138. Century as a game reserve. He would go there with his princely guests to
  1139. hunt Bengal tigers. As time went on it fell into disrepair and the tigers
  1140. and monkeys took it over; eventually, around the time of India's
  1141. independence, it became a government wildlife reserve, now open to
  1142. visitors.
  1143.  
  1144. The place looks more like what I have just described than any actual
  1145. building you might find in India. All the stones in the broken walls are
  1146. weathered as if monsoon rains had been trickling down them for centuries,
  1147. the paint on the gorgeous murals is flaked and faded just so, and Bengal
  1148. tigers loll amid stumps of broken columns. Where modern repairs have been
  1149. made to the ancient structure, they've been done, not as Disney's engineers
  1150. would do them, but as thrifty Indian janitors would--with hunks of bamboo
  1151. and rust-spotted hunks of rebar. The rust is painted on, or course, and
  1152. protected from real rust by a plastic clear-coat, but you can't tell unless
  1153. you get down on your knees.
  1154.  
  1155. In one place you walk along a stone wall with a series of old pitted
  1156. friezes carved into it. One end of the wall has broken off and settled into
  1157. the earth, perhaps because of some long-forgotten earthquake, and so a
  1158. broad jagged crack runs across a panel or two, but the story is still
  1159. readable: first, primordial chaos leads to a flourishing of many animal
  1160. species. Next, we see the Tree of Life surrounded by diverse animals. This
  1161. is an obvious allusion (or, in showbiz lingo, a tie-in) to the gigantic
  1162. Tree of Life that dominates the center of Disney's Animal Kingdom just as
  1163. the Castle dominates the Magic Kingdom or the Sphere does Epcot. But it's
  1164. rendered in historically correct style and could probably fool anyone who
  1165. didn't have a Ph.D. in Indian art history.
  1166.  
  1167. The next panel shows a mustachioed H. sapiens chopping down the Tree of
  1168. Life with a scimitar, and the animals fleeing every which way. The one
  1169. after that shows the misguided human getting walloped by a tidal wave, part
  1170. of a latter-day Deluge presumably brought on by his stupidity.
  1171.  
  1172. The final panel, then, portrays the Sapling of Life beginning to grow back,
  1173. but now Man has ditched the edged weapon and joined the other animals in
  1174. standing around to adore and praise it.
  1175.  
  1176. It is, in other words, a prophecy of the Bottleneck: the scenario, commonly
  1177. espoused among modern-day environmentalists, that the world faces an
  1178. upcoming period of grave ecological tribulations that will last for a few
  1179. decades or centuries and end when we find a new harmonious modus vivendi
  1180. with Nature.
  1181.  
  1182. Taken as a whole the frieze is a pretty brilliant piece of work. Obviously
  1183. it's not an ancient Indian ruin, and some person or people now living
  1184. deserve credit for it. But there are no signatures on the Maharajah's game
  1185. reserve at Disney World. There are no signatures on anything, because it
  1186. would ruin the whole effect to have long strings of production credits
  1187. dangling from every custom-worn brick, as they do from Hollywood movies.
  1188.  
  1189. Among Hollywood writers, Disney has the reputation of being a real wicked
  1190. stepmother. It's not hard to see why. Disney is in the business of putting
  1191. out a product of seamless illusion--a magic mirror that reflects the world
  1192. back better than it really is. But a writer is literally talking to his or
  1193. her readers, not just creating an ambience or presenting them with
  1194. something to look at; and just as the command-line interface opens a much
  1195. more direct and explicit channel from user to machine than the GUI, so it
  1196. is with words, writer, and reader.
  1197.  
  1198. The word, in the end, is the only system of encoding thoughts--the only
  1199. medium--that is not fungible, that refuses to dissolve in the devouring
  1200. torrent of electronic media (the richer tourists at Disney World wear
  1201. t-shirts printed with the names of famous designers, because designs
  1202. themselves can be bootlegged easily and with impunity. The only way to make
  1203. clothing that cannot be legally bootlegged is to print copyrighted and
  1204. trademarked words on it; once you have taken that step, the clothing itself
  1205. doesn't really matter, and so a t-shirt is as good as anything else.
  1206. T-shirts with expensive words on them are now the insignia of the upper
  1207. class. T-shirts with cheap words, or no words at all, are for the
  1208. commoners).
  1209.  
  1210. But this special quality of words and of written communication would have
  1211. the same effect on Disney's product as spray-painted graffiti on a magic
  1212. mirror. So Disney does most of its communication without resorting to
  1213. words, and for the most part, the words aren't missed. Some of Disney's
  1214. older properties, such as Peter Pan, Winnie the Pooh, and Alice in
  1215. Wonderland, came out of books. But the authors' names are rarely if ever
  1216. mentioned, and you can't buy the original books at the Disney store. If you
  1217. could, they would all seem old and queer, like very bad knockoffs of the
  1218. purer, more authentic Disney versions. Compared to more recent productions
  1219. like Beauty and the Beast and Mulan, the Disney movies based on these books
  1220. (particularly Alice in Wonderland and Peter Pan) seem deeply bizarre, and
  1221. not wholly appropriate for children. That stands to reason, because Lewis
  1222. Carroll and J.M. Barrie were very strange men, and such is the nature of
  1223. the written word that their personal strangeness shines straight through
  1224. all the layers of Disneyfication like x-rays through a wall. Probably for
  1225. this very reason, Disney seems to have stopped buying books altogether, and
  1226. now finds its themes and characters in folk tales, which have the lapidary,
  1227. time-worn quality of the ancient bricks in the Maharajah's ruins.
  1228.  
  1229. If I can risk a broad generalization, most of the people who go to Disney
  1230. World have zero interest in absorbing new ideas from books. Which sounds
  1231. snide, but listen: they have no qualms about being presented with ideas in
  1232. other forms. Disney World is stuffed with environmental messages now, and
  1233. the guides at Animal Kingdom can talk your ear off about biology.
  1234.  
  1235. If you followed those tourists home, you might find art, but it would be
  1236. the sort of unsigned folk art that's for sale in Disney World's African-
  1237. and Asian-themed stores. In general they only seem comfortable with media
  1238. that have been ratified by great age, massive popular acceptance, or both.
  1239.  
  1240. In this world, artists are like the anonymous, illiterate stone carvers who
  1241. built the great cathedrals of Europe and then faded away into unmarked
  1242. graves in the churchyard. The cathedral as a whole is awesome and stirring
  1243. in spite, and possibly because, of the fact that we have no idea who built
  1244. it. When we walk through it we are communing not with individual stone
  1245. carvers but with an entire culture.
  1246.  
  1247. Disney World works the same way. If you are an intellectual type, a reader
  1248. or writer of books, the nicest thing you can say about this is that the
  1249. execution is superb. But it's easy to find the whole environment a little
  1250. creepy, because something is missing: the translation of all its content
  1251. into clear explicit written words, the attribution of the ideas to specific
  1252. people. You can't argue with it. It seems as if a hell of a lot might be
  1253. being glossed over, as if Disney World might be putting one over on us, and
  1254. possibly getting away with all kinds of buried assumptions and muddled
  1255. thinking.
  1256.  
  1257. But this is precisely the same as what is lost in the transition from the
  1258. command-line interface to the GUI.
  1259.  
  1260. Disney and Apple/Microsoft are in the same business: short-circuiting
  1261. laborious, explicit verbal communication with expensively designed
  1262. interfaces. Disney is a sort of user interface unto itself--and more than
  1263. just graphical. Let's call it a Sensorial Interface. It can be applied to
  1264. anything in the world, real or imagined, albeit at staggering expense.
  1265.  
  1266. Why are we rejecting explicit word-based interfaces, and embracing
  1267. graphical or sensorial ones--a trend that accounts for the success of both
  1268. Microsoft and Disney?
  1269.  
  1270. Part of it is simply that the world is very complicated now--much more
  1271. complicated than the hunter-gatherer world that our brains evolved to cope
  1272. with--and we simply can't handle all of the details. We have to delegate.
  1273. We have no choice but to trust some nameless artist at Disney or programmer
  1274. at Apple or Microsoft to make a few choices for us, close off some options,
  1275. and give us a conveniently packaged executive summary.
  1276.  
  1277. But more importantly, it comes out of the fact that, during this century,
  1278. intellectualism failed, and everyone knows it. In places like Russia and
  1279. Germany, the common people agreed to loosen their grip on traditional
  1280. folkways, mores, and religion, and let the intellectuals run with the ball,
  1281. and they screwed everything up and turned the century into an abbatoir.
  1282. Those wordy intellectuals used to be merely tedious; now they seem kind of
  1283. dangerous as well.
  1284.  
  1285. We Americans are the only ones who didn't get creamed at some point during
  1286. all of this. We are free and prosperous because we have inherited political
  1287. and values systems fabricated by a particular set of eighteenth-century
  1288. intellectuals who happened to get it right. But we have lost touch with
  1289. those intellectuals, and with anything like intellectualism, even to the
  1290. point of not reading books any more, though we are literate. We seem much
  1291. more comfortable with propagating those values to future generations
  1292. nonverbally, through a process of being steeped in media. Apparently this
  1293. actually works to some degree, for police in many lands are now complaining
  1294. that local arrestees are insisting on having their Miranda rights read to
  1295. them, just like perps in American TV cop shows. When it's explained to them
  1296. that they are in a different country, where those rights do not exist, they
  1297. become outraged. Starsky and Hutch reruns, dubbed into diverse languages,
  1298. may turn out, in the long run, to be a greater force for human rights than
  1299. the Declaration of Independence.
  1300.  
  1301. A huge, rich, nuclear-tipped culture that propagates its core values
  1302. through media steepage seems like a bad idea. There is an obvious risk of
  1303. running astray here. Words are the only immutable medium we have, which is
  1304. why they are the vehicle of choice for extremely important concepts like
  1305. the Ten Commandments, the Koran, and the Bill of Rights. Unless the
  1306. messages conveyed by our media are somehow pegged to a fixed, written set
  1307. of precepts, they can wander all over the place and possibly dump loads of
  1308. crap into people's minds.
  1309.  
  1310. Orlando used to have a military installation called McCoy Air Force Base,
  1311. with long runways from which B-52s could take off and reach Cuba, or just
  1312. about anywhere else, with loads of nukes. But now McCoy has been scrapped
  1313. and repurposed. It has been absorbed into Orlando's civilian airport. The
  1314. long runways are being used to land 747-loads of tourists from Brazil,
  1315. Italy, Russia and Japan, so that they can come to Disney World and steep in
  1316. our media for a while.
  1317.  
  1318. To traditional cultures, especially word-based ones such as Islam, this is
  1319. infinitely more threatening than the B-52s ever were. It is obvious, to
  1320. everyone outside of the United States, that our arch-buzzwords,
  1321. multiculturalism and diversity, are false fronts that are being used (in
  1322. many cases unwittingly) to conceal a global trend to eradicate cultural
  1323. differences. The basic tenet of multiculturalism (or "honoring diversity"
  1324. or whatever you want to call it) is that people need to stop judging each
  1325. other-to stop asserting (and, eventually, to stop believing) that this is
  1326. right and that is wrong, this true and that false, one thing ugly and
  1327. another thing beautiful, that God exists and has this or that set of
  1328. qualities.
  1329.  
  1330. The lesson most people are taking home from the Twentieth Century is that,
  1331. in order for a large number of different cultures to coexist peacefully on
  1332. the globe (or even in a neighborhood) it is necessary for people to suspend
  1333. judgment in this way. Hence (I would argue) our suspicion of, and hostility
  1334. towards, all authority figures in modern culture. As David Foster Wallace
  1335. has explained in his essay "E Unibus Pluram," this is the fundamental
  1336. message of television; it is the message that people take home, anyway,
  1337. after they have steeped in our media long enough. It's not expressed in
  1338. these highfalutin terms, of course. It comes through as the presumption
  1339. that all authority figures--teachers, generals, cops, ministers,
  1340. politicians--are hypocritical buffoons, and that hip jaded coolness is the
  1341. only way to be.
  1342.  
  1343. The problem is that once you have done away with the ability to make
  1344. judgments as to right and wrong, true and false, etc., there's no real
  1345. culture left. All that remains is clog dancing and macrame. The ability to
  1346. make judgments, to believe things, is the entire it point of having a
  1347. culture. I think this is why guys with machine guns sometimes pop up in
  1348. places like Luxor, and begin pumping bullets into Westerners. They
  1349. perfectly understand the lesson of McCoy Air Force Base. When their sons
  1350. come home wearing Chicago Bulls caps with the bills turned sideways, the
  1351. dads go out of their minds.
  1352.  
  1353. The global anti-culture that has been conveyed into every cranny of the
  1354. world by television is a culture unto itself, and by the standards of great
  1355. and ancient cultures like Islam and France, it seems grossly inferior, at
  1356. least at first. The only good thing you can say about it is that it makes
  1357. world wars and Holocausts less likely--and that is actually a pretty good
  1358. thing!
  1359.  
  1360. The only real problem is that anyone who has no culture, other than this
  1361. global monoculture, is completely screwed. Anyone who grows up watching TV,
  1362. never sees any religion or philosophy, is raised in an atmosphere of moral
  1363. relativism, learns about civics from watching bimbo eruptions on network TV
  1364. news, and attends a university where postmodernists vie to outdo each other
  1365. in demolishing traditional notions of truth and quality, is going to come
  1366. out into the world as one pretty feckless human being. And--again--perhaps
  1367. the goal of all this is to make us feckless so we won't nuke each other.
  1368.  
  1369. On the other hand, if you are raised within some specific culture, you end
  1370. up with a basic set of tools that you can use to think about and understand
  1371. the world. You might use those tools to reject the culture you were raised
  1372. in, but at least you've got some tools.
  1373.  
  1374. In this country, the people who run things--who populate major law firms
  1375. and corporate boards--understand all of this at some level. They pay lip
  1376. service to multiculturalism and diversity and non-judgmentalness, but they
  1377. don't raise their own children that way. I have highly educated,
  1378. technically sophisticated friends who have moved to small towns in Iowa to
  1379. live and raise their children, and there are Hasidic Jewish enclaves in New
  1380. York where large numbers of kids are being brought up according to
  1381. traditional beliefs. Any suburban community might be thought of as a place
  1382. where people who hold certain (mostly implicit) beliefs go to live among
  1383. others who think the same way.
  1384.  
  1385. And not only do these people feel some responsibility to their own
  1386. children, but to the country as a whole. Some of the upper class are vile
  1387. and cynical, of course, but many spend at least part of their time fretting
  1388. about what direction the country is going in, and what responsibilities
  1389. they have. And so issues that are important to book-reading intellectuals,
  1390. such as global environmental collapse, eventually percolate through the
  1391. porous buffer of mass culture and show up as ancient Hindu ruins in
  1392. Orlando.
  1393.  
  1394. You may be asking: what the hell does all this have to do with operating
  1395. systems? As I've explained, there is no way to explain the domination of
  1396. the OS market by Apple/Microsoft without looking to cultural explanations,
  1397. and so I can't get anywhere, in this essay, without first letting you know
  1398. where I'm coming from vis-a-vis contemporary culture.
  1399.  
  1400. Contemporary culture is a two-tiered system, like the Morlocks and the Eloi
  1401. in H.G. Wells's The Time Machine, except that it's been turned upside down.
  1402. In The Time Machine the Eloi were an effete upper class, supported by lots
  1403. of subterranean Morlocks who kept the technological wheels turning. But in
  1404. our world it's the other way round. The Morlocks are in the minority, and
  1405. they are running the show, because they understand how everything works.
  1406. The much more numerous Eloi learn everything they know from being steeped
  1407. from birth in electronic media directed and controlled by book-reading
  1408. Morlocks. So many ignorant people could be dangerous if they got pointed in
  1409. the wrong direction, and so we've evolved a popular culture that is (a)
  1410. almost unbelievably infectious and (b) neuters every person who gets
  1411. infected by it, by rendering them unwilling to make judgments and incapable
  1412. of taking stands.
  1413.  
  1414. Morlocks, who have the energy and intelligence to comprehend details, go
  1415. out and master complex subjects and produce Disney-like Sensorial
  1416. Interfaces so that Eloi can get the gist without having to strain their
  1417. minds or endure boredom. Those Morlocks will go to India and tediously
  1418. explore a hundred ruins, then come home and built sanitary bug-free
  1419. versions: highlight films, as it were. This costs a lot, because Morlocks
  1420. insist on good coffee and first-class airline tickets, but that's no
  1421. problem because Eloi like to be dazzled and will gladly pay for it all.
  1422.  
  1423. Now I realize that most of this probably sounds snide and bitter to the
  1424. point of absurdity: your basic snotty intellectual throwing a tantrum about
  1425. those unlettered philistines. As if I were a self-styled Moses, coming down
  1426. from the mountain all alone, carrying the stone tablets bearing the Ten
  1427. Commandments carved in immutable stone--the original command-line
  1428. interface--and blowing his stack at the weak, unenlightened Hebrews
  1429. worshipping images. Not only that, but it sounds like I'm pumping some sort
  1430. of conspiracy theory.
  1431.  
  1432. But that is not where I'm going with this. The situation I describe, here,
  1433. could be bad, but doesn't have to be bad and isn't necessarily bad now:
  1434.  
  1435.  
  1436.    * It simply is the case that we are way too busy, nowadays, to
  1437.      comprehend everything in detail. And it's better to comprehend it
  1438.      dimly, through an interface, than not at all. Better for ten million
  1439.      Eloi to go on the Kilimanjaro Safari at Disney World than for a
  1440.      thousand cardiovascular surgeons and mutual fund managers to go on
  1441.      "real" ones in Kenya.
  1442.    * The boundary between these two classes is more porous than I've made
  1443.      it sound. I'm always running into regular dudes--construction workers,
  1444.      auto mechanics, taxi drivers, galoots in general--who were largely
  1445.      aliterate until something made it necessary for them to become readers
  1446.      and start actually thinking about things. Perhaps they had to come to
  1447.      grips with alcoholism, perhaps they got sent to jail, or came down
  1448.      with a disease, or suffered a crisis in religious faith, or simply got
  1449.      bored. Such people can get up to speed on particular subjects quite
  1450.      rapidly. Sometimes their lack of a broad education makes them over-apt
  1451.      to go off on intellectual wild goose chases, but, hey, at least a wild
  1452.      goose chase gives you some exercise.
  1453.    * The spectre of a polity controlled by the fads and whims of voters who
  1454.      actually believe that there are significant differences between Bud
  1455.      Lite and Miller Lite, and who think that professional wrestling is for
  1456.      real, is naturally alarming to people who don't. But then countries
  1457.      controlled via the command-line interface, as it were, by double-domed
  1458.      intellectuals, be they religious or secular, are generally miserable
  1459.      places to live.
  1460.    * Sophisticated people deride Disneyesque entertainments as pat and
  1461.      saccharine, but, hey, if the result of that is to instill basically
  1462.      warm and sympathetic reflexes, at a preverbal level, into hundreds of
  1463.      millions of unlettered media-steepers, then how bad can it be? We
  1464.      killed a lobster in our kitchen last night and my daughter cried for
  1465.      an hour. The Japanese, who used to be just about the fiercest people
  1466.      on earth, have become infatuated with cuddly adorable cartoon
  1467.      characters.
  1468.    * My own family--the people I know best--is divided about evenly between
  1469.      people who will probably read this essay and people who almost
  1470.      certainly won't, and I can't say for sure that one group is
  1471.      necessarily warmer, happier, or better-adjusted than the other.
  1472.  
  1473. MORLOCKS AND ELOI AT THE KEYBOARD
  1474.  
  1475. Back in the days of the command-line interface, users were all Morlocks who
  1476. had to convert their thoughts into alphanumeric symbols and type them in, a
  1477. grindingly tedious process that stripped away all ambiguity, laid bare all
  1478. hidden assumptions, and cruelly punished laziness and imprecision. Then the
  1479. interface-makers went to work on their GUIs, and introduced a new semiotic
  1480. layer between people and machines. People who use such systems have
  1481. abdicated the responsibility, and surrendered the power, of sending bits
  1482. directly to the chip that's doing the arithmetic, and handed that
  1483. responsibility and power over to the OS. This is tempting because giving
  1484. clear instructions, to anyone or anything, is difficult. We cannot do it
  1485. without thinking, and depending on the complexity of the situation, we may
  1486. have to think hard about abstract things, and consider any number of
  1487. ramifications, in order to do a good job of it. For most of us, this is
  1488. hard work. We want things to be easier. How badly we want it can be
  1489. measured by the size of Bill Gates's fortune.
  1490.  
  1491. The OS has (therefore) become a sort of intellectual labor-saving device
  1492. that tries to translate humans' vaguely expressed intentions into bits. In
  1493. effect we are asking our computers to shoulder responsibilities that have
  1494. always been considered the province of human beings--we want them to
  1495. understand our desires, to anticipate our needs, to foresee consequences,
  1496. to make connections, to handle routine chores without being asked, to
  1497. remind us of what we ought to be reminded of while filtering out noise.
  1498.  
  1499. At the upper (which is to say, closer to the user) levels, this is done
  1500. through a set of conventions--menus, buttons, and so on. These work in the
  1501. sense that analogies work: they help Eloi understand abstract or unfamiliar
  1502. concepts by likening them to something known. But the loftier word
  1503. "metaphor" is used.
  1504.  
  1505. The overarching concept of the MacOS was the "desktop metaphor" and it
  1506. subsumed any number of lesser (and frequently conflicting, or at least
  1507. mixed) metaphors. Under a GUI, a file (frequently called "document") is
  1508. metaphrased as a window on the screen (which is called a "desktop"). The
  1509. window is almost always too small to contain the document and so you "move
  1510. around," or, more pretentiously, "navigate" in the document by "clicking
  1511. and dragging" the "thumb" on the "scroll bar." When you "type" (using a
  1512. keyboard) or "draw" (using a "mouse") into the "window" or use pull-down
  1513. "menus" and "dialog boxes" to manipulate its contents, the results of your
  1514. labors get stored (at least in theory) in a "file," and later you can pull
  1515. the same information back up into another "window." When you don't want it
  1516. anymore, you "drag" it into the "trash."
  1517.  
  1518. There is massively promiscuous metaphor-mixing going on here, and I could
  1519. deconstruct it 'til the cows come home, but I won't. Consider only one
  1520. word: "document." When we document something in the real world, we make
  1521. fixed, permanent, immutable records of it. But computer documents are
  1522. volatile, ephemeral constellations of data. Sometimes (as when you've just
  1523. opened or saved them) the document as portrayed in the window is identical
  1524. to what is stored, under the same name, in a file on the disk, but other
  1525. times (as when you have made changes without saving them) it is completely
  1526. different. In any case, every time you hit "Save" you annihilate the
  1527. previous version of the "document" and replace it with whatever happens to
  1528. be in the window at the moment. So even the word "save" is being used in a
  1529. sense that is grotesquely misleading---"destroy one version, save another"
  1530. would be more accurate.
  1531.  
  1532. Anyone who uses a word processor for very long inevitably has the
  1533. experience of putting hours of work into a long document and then losing it
  1534. because the computer crashes or the power goes out. Until the moment that
  1535. it disappears from the screen, the document seems every bit as solid and
  1536. real as if it had been typed out in ink on paper. But in the next moment,
  1537. without warning, it is completely and irretrievably gone, as if it had
  1538. never existed. The user is left with a feeling of disorientation (to say
  1539. nothing of annoyance) stemming from a kind of metaphor shear--you realize
  1540. that you've been living and thinking inside of a metaphor that is
  1541. essentially bogus.
  1542.  
  1543. So GUIs use metaphors to make computing easier, but they are bad metaphors.
  1544. Learning to use them is essentially a word game, a process of learning new
  1545. definitions of words like "window" and "document" and "save" that are
  1546. different from, and in many cases almost diametrically opposed to, the old.
  1547. Somewhat improbably, this has worked very well, at least from a commercial
  1548. standpoint, which is to say that Apple/Microsoft have made a lot of money
  1549. off of it. All of the other modern operating systems have learned that in
  1550. order to be accepted by users they must conceal their underlying gutwork
  1551. beneath the same sort of spackle. This has some advantages: if you know how
  1552. to use one GUI operating system, you can probably work out how to use any
  1553. other in a few minutes. Everything works a little differently, like
  1554. European plumbing--but with some fiddling around, you can type a memo or
  1555. surf the web.
  1556.  
  1557. Most people who shop for OSes (if they bother to shop at all) are comparing
  1558. not the underlying functions but the superficial look and feel. The average
  1559. buyer of an OS is not really paying for, and is not especially interested
  1560. in, the low-level code that allocates memory or writes bytes onto the disk.
  1561. What we're really buying is a system of metaphors. And--much more
  1562. important--what we're buying into is the underlying assumption that
  1563. metaphors are a good way to deal with the world.
  1564.  
  1565. Recently a lot of new hardware has become available that gives computers
  1566. numerous interesting ways of affecting the real world: making paper spew
  1567. out of printers, causing words to appear on screens thousands of miles
  1568. away, shooting beams of radiation through cancer patients, creating
  1569. realistic moving pictures of the Titanic. Windows is now used as an OS for
  1570. cash registers and bank tellers' terminals. My satellite TV system uses a
  1571. sort of GUI to change channels and show program guides. Modern cellular
  1572. telephones have a crude GUI built into a tiny LCD screen. Even Legos now
  1573. have a GUI: you can buy a Lego set called Mindstorms that enables you to
  1574. build little Lego robots and program them through a GUI on your computer.
  1575.  
  1576. So we are now asking the GUI to do a lot more than serve as a glorified
  1577. typewriter. Now we want to become a generalized tool for dealing with
  1578. reality. This has become a bonanza for companies that make a living out of
  1579. bringing new technology to the mass market.
  1580.  
  1581. Obviously you cannot sell a complicated technological system to people
  1582. without some sort of interface that enables them to use it. The internal
  1583. combustion engine was a technological marvel in its day, but useless as a
  1584. consumer good until a clutch, transmission, steering wheel and throttle
  1585. were connected to it. That odd collection of gizmos, which survives to this
  1586. day in every car on the road, made up what we would today call a user
  1587. interface. But if cars had been invented after Macintoshes, carmakers would
  1588. not have bothered to gin up all of these arcane devices. We would have a
  1589. computer screen instead of a dashboard, and a mouse (or at best a joystick)
  1590. instead of a steering wheel, and we'd shift gears by pulling down a menu:
  1591.  
  1592.      PARK
  1593.      ---
  1594.      REVERSE
  1595.      ---
  1596.      NEUTRAL
  1597.      ----
  1598.      3
  1599.      2
  1600.      1
  1601.      ---
  1602.      Help...
  1603.  
  1604. A few lines of computer code can thus be made to substitute for any
  1605. imaginable mechanical interface. The problem is that in many cases the
  1606. substitute is a poor one. Driving a car through a GUI would be a miserable
  1607. experience. Even if the GUI were perfectly bug-free, it would be incredibly
  1608. dangerous, because menus and buttons simply can't be as responsive as
  1609. direct mechanical controls. My friend's dad, the gentleman who was
  1610. restoring the MGB, never would have bothered with it if it had been
  1611. equipped with a GUI. It wouldn't have been any fun.
  1612.  
  1613. The steering wheel and gearshift lever were invented during an era when the
  1614. most complicated technology in most homes was a butter churn. Those early
  1615. carmakers were simply lucky, in that they could dream up whatever interface
  1616. was best suited to the task of driving an automobile, and people would
  1617. learn it. Likewise with the dial telephone and the AM radio. By the time of
  1618. the Second World War, most people knew several interfaces: they could not
  1619. only churn butter but also drive a car, dial a telephone, turn on a radio,
  1620. summon flame from a cigarette lighter, and change a light bulb.
  1621.  
  1622. But now every little thing--wristwatches, VCRs, stoves--is jammed with
  1623. features, and every feature is useless without an interface. If you are
  1624. like me, and like most other consumers, you have never used ninety percent
  1625. of the available features on your microwave oven, VCR, or cellphone. You
  1626. don't even know that these features exist. The small benefit they might
  1627. bring you is outweighed by the sheer hassle of having to learn about them.
  1628. This has got to be a big problem for makers of consumer goods, because they
  1629. can't compete without offering features.
  1630.  
  1631. It's no longer acceptable for engineers to invent a wholly novel user
  1632. interface for every new product, as they did in the case of the automobile,
  1633. partly because it's too expensive and partly because ordinary people can
  1634. only learn so much. If the VCR had been invented a hundred years ago, it
  1635. would have come with a thumbwheel to adjust the tracking and a gearshift to
  1636. change between forward and reverse and a big cast-iron handle to load or to
  1637. eject the cassettes. It would have had a big analog clock on the front of
  1638. it, and you would have set the time by moving the hands around on the dial.
  1639. But because the VCR was invented when it was--during a sort of awkward
  1640. transitional period between the era of mechanical interfaces and GUIs--it
  1641. just had a bunch of pushbuttons on the front, and in order to set the time
  1642. you had to push the buttons in just the right way. This must have seemed
  1643. reasonable enough to the engineers responsible for it, but to many users it
  1644. was simply impossible. Thus the famous blinking 12:00 that appears on so
  1645. many VCRs. Computer people call this "the blinking twelve problem". When
  1646. they talk about it, though, they usually aren't talking about VCRs.
  1647.  
  1648. Modern VCRs usually have some kind of on-screen programming, which means
  1649. that you can set the time and control other features through a sort of
  1650. primitive GUI. GUIs have virtual pushbuttons too, of course, but they also
  1651. have other types of virtual controls, like radio buttons, checkboxes, text
  1652. entry boxes, dials, and scrollbars. Interfaces made out of these components
  1653. seem to be a lot easier, for many people, than pushing those little buttons
  1654. on the front of the machine, and so the blinking 12:00 itself is slowly
  1655. disappearing from America's living rooms. The blinking twelve problem has
  1656. moved on to plague other technologies.
  1657.  
  1658. So the GUI has gone beyond being an interface to personal computers, and
  1659. become a sort of meta-interface that is pressed into service for every new
  1660. piece of consumer technology. It is rarely an ideal fit, but having an
  1661. ideal, or even a good interface is no longer the priority; the important
  1662. thing now is having some kind of interface that customers will actually
  1663. use, so that manufacturers can claim, with a straight face, that they are
  1664. offering new features.
  1665.  
  1666. We want GUIs largely because they are convenient and because they are
  1667. easy-- or at least the GUI makes it seem that way Of course, nothing is
  1668. really easy and simple, and putting a nice interface on top of it does not
  1669. change that fact. A car controlled through a GUI would be easier to drive
  1670. than one controlled through pedals and steering wheel, but it would be
  1671. incredibly dangerous.
  1672.  
  1673. By using GUIs all the time we have insensibly bought into a premise that
  1674. few people would have accepted if it were presented to them bluntly:
  1675. namely, that hard things can be made easy, and complicated things simple,
  1676. by putting the right interface on them. In order to understand how bizarre
  1677. this is, imagine that book reviews were written according to the same
  1678. values system that we apply to user interfaces: "The writing in this book
  1679. is marvelously simple-minded and glib; the author glosses over complicated
  1680. subjects and employs facile generalizations in almost every sentence.
  1681. Readers rarely have to think, and are spared all of the difficulty and
  1682. tedium typically involved in reading old-fashioned books." As long as we
  1683. stick to simple operations like setting the clocks on our VCRs, this is not
  1684. so bad. But as we try to do more ambitious things with our technologies, we
  1685. inevitably run into the problem of:
  1686.  
  1687.  
  1688. METAPHOR SHEAR
  1689.  
  1690. I began using Microsoft Word as soon as the first version was released
  1691. around 1985. After some initial hassles I found it to be a better tool than
  1692. MacWrite, which was its only competition at the time. I wrote a lot of
  1693. stuff in early versions of Word, storing it all on floppies, and
  1694. transferred the contents of all my floppies to my first hard drive, which I
  1695. acquired around 1987. As new versions of Word came out I faithfully
  1696. upgraded, reasoning that as a writer it made sense for me to spend a
  1697. certain amount of money on tools.
  1698.  
  1699. Sometime in the mid-1980's I attempted to open one of my old, circa-1985
  1700. Word documents using the version of Word then current: 6.0 It didn't work.
  1701. Word 6.0 did not recognize a document created by an earlier version of
  1702. itself. By opening it as a text file, I was able to recover the sequences
  1703. of letters that made up the text of the document. My words were still
  1704. there. But the formatting had been run through a log chipper--the words I'd
  1705. written were interrupted by spates of empty rectangular boxes and
  1706. gibberish.
  1707.  
  1708. Now, in the context of a business (the chief market for Word) this sort of
  1709. thing is only an annoyance--one of the routine hassles that go along with
  1710. using computers. It's easy to buy little file converter programs that will
  1711. take care of this problem. But if you are a writer whose career is words,
  1712. whose professional identity is a corpus of written documents, this kind of
  1713. thing is extremely disquieting. There are very few fixed assumptions in my
  1714. line of work, but one of them is that once you have written a word, it is
  1715. written, and cannot be unwritten. The ink stains the paper, the chisel cuts
  1716. the stone, the stylus marks the clay, and something has irrevocably
  1717. happened (my brother-in-law is a theologian who reads 3250-year-old
  1718. cuneiform tablets--he can recognize the handwriting of particular scribes,
  1719. and identify them by name). But word-processing software--particularly the
  1720. sort that employs special, complex file formats--has the eldritch power to
  1721. unwrite things. A small change in file formats, or a few twiddled bits, and
  1722. months' or years' literary output can cease to exist.
  1723.  
  1724. Now this was technically a fault in the application (Word 6.0 for the
  1725. Macintosh) not the operating system (MacOS 7 point something) and so the
  1726. initial target of my annoyance was the people who were responsible for
  1727. Word. But. On the other hand, I could have chosen the "save as text" option
  1728. in Word and saved all of my documents as simple telegrams, and this problem
  1729. would not have arisen. Instead I had allowed myself to be seduced by all of
  1730. those flashy formatting options that hadn't even existed until GUIs had
  1731. come along to make them practicable. I had gotten into the habit of using
  1732. them to make my documents look pretty (perhaps prettier than they deserved
  1733. to look; all of the old documents on those floppies turned out to be more
  1734. or less crap). Now I was paying the price for that self-indulgence.
  1735. Technology had moved on and found ways to make my documents look even
  1736. prettier, and the consequence of it was that all old ugly documents had
  1737. ceased to exist.
  1738.  
  1739. It was--if you'll pardon me for a moment's strange little fantasy--as if
  1740. I'd gone to stay at some resort, some exquisitely designed and art-directed
  1741. hotel, placing myself in the hands of past masters of the Sensorial
  1742. Interface, and had sat down in my room and written a story in ballpoint pen
  1743. on a yellow legal pad, and when I returned from dinner, discovered that the
  1744. maid had taken my work away and left behind in its place a quill pen and a
  1745. stack of fine parchment--explaining that the room looked ever so much finer
  1746. this way, and it was all part of a routine upgrade. But written on these
  1747. sheets of paper, in flawless penmanship, were long sequences of words
  1748. chosen at random from the dictionary. Appalling, sure, but I couldn't
  1749. really lodge a complaint with the management, because by staying at this
  1750. resort I had given my consent to it. I had surrendered my Morlock
  1751. credentials and become an Eloi.
  1752.  
  1753.  
  1754. LINUX
  1755.  
  1756. During the late 1980's and early 1990's I spent a lot of time programming
  1757. Macintoshes, and eventually decided for fork over several hundred dollars
  1758. for an Apple product called the Macintosh Programmer's Workshop, or MPW.
  1759. MPW had competitors, but it was unquestionably the premier software
  1760. development system for the Mac. It was what Apple's own engineers used to
  1761. write Macintosh code. Given that MacOS was far more technologically
  1762. advanced, at the time, than its competition, and that Linux did not even
  1763. exist yet, and given that this was the actual program used by Apple's
  1764. world-class team of creative engineers, I had high expectations. It arrived
  1765. on a stack of floppy disks about a foot high, and so there was plenty of
  1766. time for my excitement to build during the endless installation process.
  1767. The first time I launched MPW, I was probably expecting some kind of
  1768. touch-feely multimedia showcase. Instead it was austere, almost to the
  1769. point of being intimidating. It was a scrolling window into which you could
  1770. type simple, unformatted text. The system would then interpret these lines
  1771. of text as commands, and try to execute them.
  1772.  
  1773. It was, in other words, a glass teletype running a command line interface.
  1774. It came with all sorts of cryptic but powerful commands, which could be
  1775. invoked by typing their names, and which I learned to use only gradually.
  1776. It was not until a few years later, when I began messing around with Unix,
  1777. that I understood that the command line interface embodied in MPW was a
  1778. re-creation of Unix.
  1779.  
  1780. In other words, the first thing that Apple's hackers had done when they'd
  1781. got the MacOS up and running--probably even before they'd gotten it up and
  1782. running--was to re-create the Unix interface, so that they would be able to
  1783. get some useful work done. At the time, I simply couldn't get my mind
  1784. around this, but: as far as Apple's hackers were concerned, the Mac's
  1785. vaunted Graphical User Interface was an impediment, something to be
  1786. circumvented before the little toaster even came out onto the market.
  1787.  
  1788. Even before my Powerbook crashed and obliterated my big file in July 1995,
  1789. there had been danger signs. An old college buddy of mine, who starts and
  1790. runs high-tech companies in Boston, had developed a commercial product
  1791. using Macintoshes as the front end. Basically the Macs were
  1792. high-performance graphics terminals, chosen for their sweet user interface,
  1793. giving users access to a large database of graphical information stored on
  1794. a network of much more powerful, but less user-friendly, computers. This
  1795. fellow was the second person who turned me on to Macintoshes, by the way,
  1796. and through the mid-1980's we had shared the thrill of being high-tech
  1797. cognoscenti, using superior Apple technology in a world of DOS-using
  1798. knuckleheads. Early versions of my friend's system had worked well, he told
  1799. me, but when several machines joined the network, mysterious crashes began
  1800. to occur; sometimes the whole network would just freeze. It was one of
  1801. those bugs that could not be reproduced easily. Finally they figured out
  1802. that these network crashes were triggered whenever a user, scanning the
  1803. menus for a particular item, held down the mouse button for more than a
  1804. couple of seconds.
  1805.  
  1806. Fundamentally, the MacOS could only do one thing at a time. Drawing a menu
  1807. on the screen is one thing. So when a menu was pulled down, the Macintosh
  1808. was not capable of doing anything else until that indecisive user released
  1809. the button.
  1810.  
  1811. This is not such a bad thing in a single-user, single-process machine
  1812. (although it's a fairly bad thing), but it's no good in a machine that is
  1813. on a network, because being on a network implies some kind of continual
  1814. low-level interaction with other machines. By failing to respond to the
  1815. network, the Mac caused a network-wide crash.
  1816.  
  1817. In order to work with other computers, and with networks, and with various
  1818. different types of hardware, an OS must be incomparably more complicated
  1819. and powerful than either MS-DOS or the original MacOS. The only way of
  1820. connecting to the Internet that's worth taking seriously is PPP, the
  1821. Point-to-Point Protocol, which (never mind the details) makes your
  1822. computer--temporarily--a full-fledged member of the Global Internet, with
  1823. its own unique address, and various privileges, powers, and
  1824. responsibilities appertaining thereunto. Technically it means your machine
  1825. is running the TCP/IP protocol, which, to make a long story short, revolves
  1826. around sending packets of data back and forth, in no particular order, and
  1827. at unpredictable times, according to a clever and elegant set of rules. But
  1828. sending a packet of data is one thing, and so an OS that can only do one
  1829. thing at a time cannot simultaneously be part of the Internet and do
  1830. anything else. When TCP/IP was invented, running it was an honor reserved
  1831. for Serious Computers--mainframes and high-powered minicomputers used in
  1832. technical and commercial settings--and so the protocol is engineered around
  1833. the assumption that every computer using it is a serious machine, capable
  1834. of doing many things at once. Not to put too fine a point on it, a Unix
  1835. machine. Neither MacOS nor MS-DOS was originally built with that in mind,
  1836. and so when the Internet got hot, radical changes had to be made.
  1837.  
  1838. When my Powerbook broke my heart, and when Word stopped recognizing my old
  1839. files, I jumped to Unix. The obvious alternative to MacOS would have been
  1840. Windows. I didn't really have anything against Microsoft, or Windows. But
  1841. it was pretty obvious, now, that old PC operating systems were
  1842. overreaching, and showing the strain, and, perhaps, were best avoided until
  1843. they had learned to walk and chew gum at the same time.
  1844.  
  1845. The changeover took place on a particular day in the summer of 1995. I had
  1846. been San Francisco for a couple of weeks, using my PowerBook to work on a
  1847. document. The document was too big to fit onto a single floppy, and so I
  1848. hadn't made a backup since leaving home. The PowerBook crashed and wiped
  1849. out the entire file.
  1850.  
  1851. It happened just as I was on my way out the door to visit a company called
  1852. Electric Communities, which in those days was in Los Altos. I took my
  1853. PowerBook with me. My friends at Electric Communities were Mac users who
  1854. had all sorts of utility software for unerasing files and recovering from
  1855. disk crashes, and I was certain I could get most of the file back.
  1856.  
  1857. As it turned out, two different Mac crash recovery utilities were unable to
  1858. find any trace that my file had ever existed. It was completely and
  1859. systematically wiped out. We went through that hard disk block by block and
  1860. found disjointed fragments of countless old, discarded, forgotten files,
  1861. but none of what I wanted. The metaphor shear was especially brutal that
  1862. day. It was sort of like watching the girl you've been in love with for ten
  1863. years get killed in a car wreck, and then attending her autopsy, and
  1864. learning that underneath the clothes and makeup she was just flesh and
  1865. blood.
  1866.  
  1867. I must have been reeling around the offices of Electric Communities in some
  1868. kind of primal Jungian fugue, because at this moment three weirdly
  1869. synchronistic things happened.
  1870.  
  1871. (1) Randy Farmer, a co-founder of the company, came in for a quick visit
  1872. along with his family--he was recovering from back surgery at the time. He
  1873. had some hot gossip: "Windows 95 mastered today." What this meant was that
  1874. Microsoft's new operating system had, on this day, been placed on a special
  1875. compact disk known as a golden master, which would be used to stamp out a
  1876. jintillion copies in preparation for its thunderous release a few weeks
  1877. later. This news was received peevishly by the staff of Electric
  1878. Communities, including one whose office door was plastered with the usual
  1879. assortment of cartoons and novelties, e.g.
  1880.  
  1881. (2) a copy of a Dilbert cartoon in which Dilbert, the long-suffering
  1882. corporate software engineer, encounters a portly, bearded, hairy man of a
  1883. certain age--a bit like Santa Claus, but darker, with a certain edge about
  1884. him. Dilbert recognizes this man, based upon his appearance and affect, as
  1885. a Unix hacker, and reacts with a certain mixture of nervousness, awe, and
  1886. hostility. Dilbert jabs weakly at the disturbing interloper for a couple of
  1887. frames; the Unix hacker listens with a kind of infuriating, beatific calm,
  1888. then, in the last frame, reaches into his pocket. "Here's a nickel, kid,"
  1889. he says, "go buy yourself a real computer."
  1890.  
  1891. (3) the owner of the door, and the cartoon, was one Doug Barnes. Barnes was
  1892. known to harbor certain heretical opinions on the subject of operating
  1893. systems. Unlike most Bay Area techies who revered the Macintosh,
  1894. considering it to be a true hacker's machine, Barnes was fond of pointing
  1895. out that the Mac, with its hermetically sealed architecture, was actually
  1896. hostile to hackers, who are prone to tinkering and dogmatic about openness.
  1897. By contrast, the IBM-compatible line of machines, which can easily be taken
  1898. apart and plugged back together, was much more hackable.
  1899.  
  1900. So when I got home I began messing around with Linux, which is one of many,
  1901. many different concrete implementations of the abstract, Platonic ideal
  1902. called Unix. I was not looking forward to changing over to a new OS,
  1903. because my credit cards were still smoking from all the money I'd spent on
  1904. Mac hardware over the years. But Linux's great virtue was, and is, that it
  1905. would run on exactly the same sort of hardware as the Microsoft OSes--which
  1906. is to say, the cheapest hardware in existence. As if to demonstrate why
  1907. this was a great idea, I was, within a week or two of returning home, able
  1908. to get my hand on a then-decent computer (a 33-MHz 486 box) for free,
  1909. because I knew a guy who worked in an office where they were simply being
  1910. thrown away. Once I got it home, I yanked the hood off, stuck my hands in,
  1911. and began switching cards around. If something didn't work, I went to a
  1912. used-computer outlet and pawed through a bin full of components and bought
  1913. a new card for a few bucks.
  1914.  
  1915. The availability of all this cheap but effective hardware was an unintended
  1916. consequence of decisions that had been made more than a decade earlier by
  1917. IBM and Microsoft. When Windows came out, and brought the GUI to a much
  1918. larger market, the hardware regime changed: the cost of color video cards
  1919. and high-resolution monitors began to drop, and is dropping still. This
  1920. free-for-all approach to hardware meant that Windows was unavoidably clunky
  1921. compared to MacOS. But the GUI brought computing to such a vast audience
  1922. that volume went way up and prices collapsed. Meanwhile Apple, which so
  1923. badly wanted a clean, integrated OS with video neatly integrated into
  1924. processing hardware, had fallen far behind in market share, at least partly
  1925. because their beautiful hardware cost so much.
  1926.  
  1927. But the price that we Mac owners had to pay for superior aesthetics and
  1928. engineering was not merely a financial one. There was a cultural price too,
  1929. stemming from the fact that we couldn't open up the hood and mess around
  1930. with it. Doug Barnes was right. Apple, in spite of its reputation as the
  1931. machine of choice of scruffy, creative hacker types, had actually created a
  1932. machine that discouraged hacking, while Microsoft, viewed as a
  1933. technological laggard and copycat, had created a vast, disorderly parts
  1934. bazaar--a primordial soup that eventually self-assembled into Linux.
  1935.  
  1936.  
  1937. THE HOLE HAWG OF OPERATING SYSTEMS
  1938.  
  1939. Unix has always lurked provocatively in the background of the operating
  1940. system wars, like the Russian Army. Most people know it only by reputation,
  1941. and its reputation, as the Dilbert cartoon suggests, is mixed. But everyone
  1942. seems to agree that if it could only get its act together and stop
  1943. surrendering vast tracts of rich agricultural land and hundreds of
  1944. thousands of prisoners of war to the onrushing invaders, it could stomp
  1945. them (and all other opposition) flat.
  1946.  
  1947. It is difficult to explain how Unix has earned this respect without going
  1948. into mind-smashing technical detail. Perhaps the gist of it can be
  1949. explained by telling a story about drills.
  1950.  
  1951. The Hole Hawg is a drill made by the Milwaukee Tool Company. If you look in
  1952. a typical hardware store you may find smaller Milwaukee drills but not the
  1953. Hole Hawg, which is too powerful and too expensive for homeowners. The Hole
  1954. Hawg does not have the pistol-like design of a cheap homeowner's drill. It
  1955. is a cube of solid metal with a handle sticking out of one face and a chuck
  1956. mounted in another. The cube contains a disconcertingly potent electric
  1957. motor. You can hold the handle and operate the trigger with your index
  1958. finger, but unless you are exceptionally strong you cannot control the
  1959. weight of the Hole Hawg with one hand; it is a two-hander all the way. In
  1960. order to fight off the counter-torque of the Hole Hawg you use a separate
  1961. handle (provided), which you screw into one side of the iron cube or the
  1962. other depending on whether you are using your left or right hand to operate
  1963. the trigger. This handle is not a sleek, ergonomically designed item as it
  1964. would be in a homeowner's drill. It is simply a foot-long chunk of regular
  1965. galvanized pipe, threaded on one end, with a black rubber handle on the
  1966. other. If you lose it, you just go to the local plumbing supply store and
  1967. buy another chunk of pipe.
  1968.  
  1969. During the Eighties I did some construction work. One day, another worker
  1970. leaned a ladder against the outside of the building that we were putting
  1971. up, climbed up to the second-story level, and used the Hole Hawg to drill a
  1972. hole through the exterior wall. At some point, the drill bit caught in the
  1973. wall. The Hole Hawg, following its one and only imperative, kept going. It
  1974. spun the worker's body around like a rag doll, causing him to knock his own
  1975. ladder down. Fortunately he kept his grip on the Hole Hawg, which remained
  1976. lodged in the wall, and he simply dangled from it and shouted for help
  1977. until someone came along and reinstated the ladder.
  1978.  
  1979. I myself used a Hole Hawg to drill many holes through studs, which it did
  1980. as a blender chops cabbage. I also used it to cut a few six-inch-diameter
  1981. holes through an old lath-and-plaster ceiling. I chucked in a new hole saw,
  1982. went up to the second story, reached down between the newly installed floor
  1983. joists, and began to cut through the first-floor ceiling below. Where my
  1984. homeowner's drill had labored and whined to spin the huge bit around, and
  1985. had stalled at the slightest obstruction, the Hole Hawg rotated with the
  1986. stupid consistency of a spinning planet. When the hole saw seized up, the
  1987. Hole Hawg spun itself and me around, and crushed one of my hands between
  1988. the steel pipe handle and a joist, producing a few lacerations, each
  1989. surrounded by a wide corona of deeply bruised flesh. It also bent the hole
  1990. saw itself, though not so badly that I couldn't use it. After a few such
  1991. run-ins, when I got ready to use the Hole Hawg my heart actually began to
  1992. pound with atavistic terror.
  1993.  
  1994. But I never blamed the Hole Hawg; I blamed myself. The Hole Hawg is
  1995. dangerous because it does exactly what you tell it to. It is not bound by
  1996. the physical limitations that are inherent in a cheap drill, and neither is
  1997. it limited by safety interlocks that might be built into a homeowner's
  1998. product by a liability-conscious manufacturer. The danger lies not in the
  1999. machine itself but in the user's failure to envision the full consequences
  2000. of the instructions he gives to it.
  2001.  
  2002. A smaller tool is dangerous too, but for a completely different reason: it
  2003. tries to do what you tell it to, and fails in some way that is
  2004. unpredictable and almost always undesirable. But the Hole Hawg is like the
  2005. genie of the ancient fairy tales, who carries out his master's instructions
  2006. literally and precisely and with unlimited power, often with disastrous,
  2007. unforeseen consequences.
  2008.  
  2009. Pre-Hole Hawg, I used to examine the drill selection in hardware stores
  2010. with what I thought was a judicious eye, scorning the smaller low-end
  2011. models and hefting the big expensive ones appreciatively, wishing I could
  2012. afford one of them babies. Now I view them all with such contempt that I do
  2013. not even consider them to be real drills--merely scaled-up toys designed to
  2014. exploit the self-delusional tendencies of soft-handed homeowners who want
  2015. to believe that they have purchased an actual tool. Their plastic casings,
  2016. carefully designed and focus-group-tested to convey a feeling of solidity
  2017. and power, seem disgustingly flimsy and cheap to me, and I am ashamed that
  2018. I was ever bamboozled into buying such knicknacks.
  2019.  
  2020. It is not hard to imagine what the world would look like to someone who had
  2021. been raised by contractors and who had never used any drill other than a
  2022. Hole Hawg. Such a person, presented with the best and most expensive
  2023. hardware-store drill, would not even recognize it as such. He might instead
  2024. misidentify it as a child's toy, or some kind of motorized screwdriver. If
  2025. a salesperson or a deluded homeowner referred to it as a drill, he would
  2026. laugh and tell them that they were mistaken--they simply had their
  2027. terminology wrong. His interlocutor would go away irritated, and probably
  2028. feeling rather defensive about his basement full of cheap, dangerous,
  2029. flashy, colorful tools.
  2030.  
  2031. Unix is the Hole Hawg of operating systems, and Unix hackers, like Doug
  2032. Barnes and the guy in the Dilbert cartoon and many of the other people who
  2033. populate Silicon Valley, are like contractor's sons who grew up using only
  2034. Hole Hawgs. They might use Apple/Microsoft OSes to write letters, play
  2035. video games, or balance their checkbooks, but they cannot really bring
  2036. themselves to take these operating systems seriously.
  2037.  
  2038.  
  2039. THE ORAL TRADITION
  2040.  
  2041. Unix is hard to learn. The process of learning it is one of multiple small
  2042. epiphanies. Typically you are just on the verge of inventing some necessary
  2043. tool or utility when you realize that someone else has already invented it,
  2044. and built it in, and this explains some odd file or directory or command
  2045. that you have noticed but never really understood before.
  2046.  
  2047. For example there is a command (a small program, part of the OS) called
  2048. whoami, which enables you to ask the computer who it thinks you are. On a
  2049. Unix machine, you are always logged in under some name--possibly even your
  2050. own! What files you may work with, and what software you may use, depends
  2051. on your identity. When I started out using Linux, I was on a non-networked
  2052. machine in my basement, with only one user account, and so when I became
  2053. aware of the whoami command it struck me as ludicrous. But once you are
  2054. logged in as one person, you can temporarily switch over to a pseudonym in
  2055. order to access different files. If your machine is on the Internet, you
  2056. can log onto other computers, provided you have a user name and a password.
  2057. At that point the distant machine becomes no different in practice from the
  2058. one right in front of you. These changes in identity and location can
  2059. easily become nested inside each other, many layers deep, even if you
  2060. aren't doing anything nefarious. Once you have forgotten who and where you
  2061. are, the whoami command is indispensible. I use it all the time.
  2062.  
  2063. The file systems of Unix machines all have the same general structure. On
  2064. your flimsy operating systems, you can create directories (folders) and
  2065. give them names like Frodo or My Stuff and put them pretty much anywhere
  2066. you like. But under Unix the highest level--the root--of the filesystem is
  2067. always designated with the single character "/" and it always contains the
  2068. same set of top-level directories:
  2069.  
  2070. /usr
  2071. /etc
  2072. /var
  2073. /bin
  2074. /proc
  2075. /boot
  2076. /home
  2077. /root
  2078. /sbin
  2079. /dev
  2080. /lib
  2081. /tmp
  2082.  
  2083.  
  2084. and each of these directories typically has its own distinct structure of
  2085. subdirectories. Note the obsessive use of abbreviations and avoidance of
  2086. capital letters; this is a system invented by people to whom repetitive
  2087. stress disorder is what black lung is to miners. Long names get worn down
  2088. to three-letter nubbins, like stones smoothed by a river.
  2089.  
  2090. This is not the place to try to explain why each of the above directories
  2091. exists, and what is contained in it. At first it all seems obscure; worse,
  2092. it seems deliberately obscure. When I started using Linux I was accustomed
  2093. to being able to create directories wherever I wanted and to give them
  2094. whatever names struck my fancy. Under Unix you are free to do that, of
  2095. course (you are free to do anything) but as you gain experience with the
  2096. system you come to understand that the directories listed above were
  2097. created for the best of reasons and that your life will be much easier if
  2098. you follow along (within /home, by the way, you have pretty much unlimited
  2099. freedom).
  2100.  
  2101. After this kind of thing has happened several hundred or thousand times,
  2102. the hacker understands why Unix is the way it is, and agrees that it
  2103. wouldn't be the same any other way. It is this sort of acculturation that
  2104. gives Unix hackers their confidence in the system, and the attitude of
  2105. calm, unshakable, annoying superiority captured in the Dilbert cartoon.
  2106. Windows 95 and MacOS are products, contrived by engineers in the service of
  2107. specific companies. Unix, by contrast, is not so much a product as it is a
  2108. painstakingly compiled oral history of the hacker subculture. It is our
  2109. Gilgamesh epic.
  2110.  
  2111. What made old epics like Gilgamesh so powerful and so long-lived was that
  2112. they were living bodies of narrative that many people knew by heart, and
  2113. told over and over again--making their own personal embellishments whenever
  2114. it struck their fancy. The bad embellishments were shouted down, the good
  2115. ones picked up by others, polished, improved, and, over time, incorporated
  2116. into the story. Likewise, Unix is known, loved, and understood by so many
  2117. hackers that it can be re-created from scratch whenever someone needs it.
  2118. This is very difficult to understand for people who are accustomed to
  2119. thinking of OSes as things that absolutely have to be bought.
  2120.  
  2121. Many hackers have launched more or less successful re-implementations of
  2122. the Unix ideal. Each one brings in new embellishments. Some of them die out
  2123. quickly, some are merged with similar, parallel innovations created by
  2124. different hackers attacking the same problem, others still are embraced,
  2125. and adopted into the epic. Thus Unix has slowly accreted around a simple
  2126. kernel and acquired a kind of complexity and asymmetry about it that is
  2127. organic, like the roots of a tree, or the branchings of a coronary artery.
  2128. Understanding it is more like anatomy than physics.
  2129.  
  2130. For at least a year, prior to my adoption of Linux, I had been hearing
  2131. about it. Credible, well-informed people kept telling me that a bunch of
  2132. hackers had got together an implentation of Unix that could be downloaded,
  2133. free of charge, from the Internet. For a long time I could not bring myself
  2134. to take the notion seriously. It was like hearing rumors that a group of
  2135. model rocket enthusiasts had created a completely functional Saturn V by
  2136. exchanging blueprints on the Net and mailing valves and flanges to each
  2137. other.
  2138.  
  2139. But it's true. Credit for Linux generally goes to its human namesake, one
  2140. Linus Torvalds, a Finn who got the whole thing rolling in 1991 when he used
  2141. some of the GNU tools to write the beginnings of a Unix kernel that could
  2142. run on PC-compatible hardware. And indeed Torvalds deserves all the credit
  2143. he has ever gotten, and a whole lot more. But he could not have made it
  2144. happen by himself, any more than Richard Stallman could have. To write code
  2145. at all, Torvalds had to have cheap but powerful development tools, and
  2146. these he got from Stallman's GNU project.
  2147.  
  2148. And he had to have cheap hardware on which to write that code. Cheap
  2149. hardware is a much harder thing to arrange than cheap software; a single
  2150. person (Stallman) can write software and put it up on the Net for free, but
  2151. in order to make hardware it's necessary to have a whole industrial
  2152. infrastructure, which is not cheap by any stretch of the imagination.
  2153. Really the only way to make hardware cheap is to punch out an incredible
  2154. number of copies of it, so that the unit cost eventually drops. For reasons
  2155. already explained, Apple had no desire to see the cost of hardware drop.
  2156. The only reason Torvalds had cheap hardware was Microsoft.
  2157.  
  2158. Microsoft refused to go into the hardware business, insisted on making its
  2159. software run on hardware that anyone could build, and thereby created the
  2160. market conditions that allowed hardware prices to plummet. In trying to
  2161. understand the Linux phenomenon, then, we have to look not to a single
  2162. innovator but to a sort of bizarre Trinity: Linus Torvalds, Richard
  2163. Stallman, and Bill Gates. Take away any of these three and Linux would not
  2164. exist.
  2165.  
  2166.  
  2167. OS SHOCK
  2168.  
  2169. Young Americans who leave their great big homogeneous country and visit
  2170. some other part of the world typically go through several stages of culture
  2171. shock: first, dumb wide-eyed astonishment. Then a tentative engagement with
  2172. the new country's manners, cuisine, public transit systems and toilets,
  2173. leading to a brief period of fatuous confidence that they are instant
  2174. experts on the new country. As the visit wears on, homesickness begins to
  2175. set in, and the traveler begins to appreciate, for the first time, how much
  2176. he or she took for granted at home. At the same time it begins to seem
  2177. obvious that many of one's own cultures and traditions are essentially
  2178. arbitrary, and could have been different; driving on the right side of the
  2179. road, for example. When the traveler returns home and takes stock of the
  2180. experience, he or she may have learned a good deal more about America than
  2181. about the country they went to visit.
  2182.  
  2183. For the same reasons, Linux is worth trying. It is a strange country
  2184. indeed, but you don't have to live there; a brief sojourn suffices to give
  2185. some flavor of the place and--more importantly--to lay bare everything that
  2186. is taken for granted, and all that could have been done differently, under
  2187. Windows or MacOS.
  2188.  
  2189. You can't try it unless you install it. With any other OS, installing it
  2190. would be a straightforward transaction: in exchange for money, some company
  2191. would give you a CD-ROM, and you would be on your way. But a lot is
  2192. subsumed in that kind of transaction, and has to be gone through and picked
  2193. apart.
  2194.  
  2195. We like plain dealings and straightforward transactions in America. If you
  2196. go to Egypt and, say, take a taxi somewhere, you become a part of the taxi
  2197. driver's life; he refuses to take your money because it would demean your
  2198. friendship, he follows you around town, and weeps hot tears when you get in
  2199. some other guy's taxi. You end up meeting his kids at some point, and have
  2200. to devote all sort of ingenuity to finding some way to compensate him
  2201. without insulting his honor. It is exhausting. Sometimes you just want a
  2202. simple Manhattan-style taxi ride.
  2203.  
  2204. But in order to have an American-style setup, where you can just go out and
  2205. hail a taxi and be on your way, there must exist a whole hidden apparatus
  2206. of medallions, inspectors, commissions, and so forth--which is fine as long
  2207. as taxis are cheap and you can always get one. When the system fails to
  2208. work in some way, it is mysterious and infuriating and turns otherwise
  2209. reasonable people into conspiracy theorists. But when the Egyptian system
  2210. breaks down, it breaks down transparently. You can't get a taxi, but your
  2211. driver's nephew will show up, on foot, to explain the problem and
  2212. apologize.
  2213.  
  2214. Microsoft and Apple do things the Manhattan way, with vast complexity
  2215. hidden behind a wall of interface. Linux does things the Egypt way, with
  2216. vast complexity strewn about all over the landscape. If you've just flown
  2217. in from Manhattan, your first impulse will be to throw up your hands and
  2218. say "For crying out loud! Will you people get a grip on yourselves!?" But
  2219. this does not make friends in Linux-land any better than it would in Egypt.
  2220.  
  2221. You can suck Linux right out of the air, as it were, by downloading the
  2222. right files and putting them in the right places, but there probably are
  2223. not more than a few hundred people in the world who could create a
  2224. functioning Linux system in that way. What you really need is a
  2225. distribution of Linux, which means a prepackaged set of files. But
  2226. distributions are a separate thing from Linux per se.
  2227.  
  2228. Linux per se is not a specific set of ones and zeroes, but a
  2229. self-organizing Net subculture. The end result of its collective
  2230. lucubrations is a vast body of source code, almost all written in C (the
  2231. dominant computer programming language). "Source code" just means a
  2232. computer program as typed in and edited by some hacker. If it's in C, the
  2233. file name will probably have .c or .cpp on the end of it, depending on
  2234. which dialect was used; if it's in some other language it will have some
  2235. other suffix. Frequently these sorts of files can be found in a directory
  2236. with the name /src which is the hacker's Hebraic abbreviation of "source."
  2237.  
  2238. Source files are useless to your computer, and of little interest to most
  2239. users, but they are of gigantic cultural and political significance,
  2240. because Microsoft and Apple keep them secret while Linux makes them public.
  2241. They are the family jewels. They are the sort of thing that in Hollywood
  2242. thrillers is used as a McGuffin: the plutonium bomb core, the top-secret
  2243. blueprints, the suitcase of bearer bonds, the reel of microfilm. If the
  2244. source files for Windows or MacOS were made public on the Net, then those
  2245. OSes would become free, like Linux--only not as good, because no one would
  2246. be around to fix bugs and answer questions. Linux is "open source" software
  2247. meaning, simply, that anyone can get copies of its source code files.
  2248.  
  2249. Your computer doesn't want source code any more than you do; it wants
  2250. object code. Object code files typically have the suffix .o and are
  2251. unreadable all but a few, highly strange humans, because they consist of
  2252. ones and zeroes. Accordingly, this sort of file commonly shows up in a
  2253. directory with the name /bin, for "binary."
  2254.  
  2255. Source files are simply ASCII text files. ASCII denotes a particular way of
  2256. encoding letters into bit patterns. In an ASCII file, each character has
  2257. eight bits all to itself. This creates a potential "alphabet" of 256
  2258. distinct characters, in that eight binary digits can form that many unique
  2259. patterns. In practice, of course, we tend to limit ourselves to the
  2260. familiar letters and digits. The bit-patterns used to represent those
  2261. letters and digits are the same ones that were physically punched into the
  2262. paper tape by my high school teletype, which in turn were the same one used
  2263. by the telegraph industry for decades previously. ASCII text files, in
  2264. other words, are telegrams, and as such they have no typographical frills.
  2265. But for the same reason they are eternal, because the code never changes,
  2266. and universal, because every text editing and word processing software ever
  2267. written knows about this code.
  2268.  
  2269. Therefore just about any software can be used to create, edit, and read
  2270. source code files. Object code files, then, are created from these source
  2271. files by a piece of software called a compiler, and forged into a working
  2272. application by another piece of software called a linker.
  2273.  
  2274. The triad of editor, compiler, and linker, taken together, form the core of
  2275. a software development system. Now, it is possible to spend a lot of money
  2276. on shrink-wrapped development systems with lovely graphical user interfaces
  2277. and various ergonomic enhancements. In some cases it might even be a good
  2278. and reasonable way to spend money. But on this side of the road, as it
  2279. were, the very best software is usually the free stuff. Editor, compiler
  2280. and linker are to hackers what ponies, stirrups, and archery sets were to
  2281. the Mongols. Hackers live in the saddle, and hack on their own tools even
  2282. while they are using them to create new applications. It is quite
  2283. inconceivable that superior hacking tools could have been created from a
  2284. blank sheet of paper by product engineers. Even if they are the brightest
  2285. engineers in the world they are simply outnumbered.
  2286.  
  2287. In the GNU/Linux world there are two major text editing programs: the
  2288. minimalist vi (known in some implementations as elvis) and the maximalist
  2289. emacs. I use emacs, which might be thought of as a thermonuclear word
  2290. processor. It was created by Richard Stallman; enough said. It is written
  2291. in Lisp, which is the only computer language that is beautiful. It is
  2292. colossal, and yet it only edits straight ASCII text files, which is to say,
  2293. no fonts, no boldface, no underlining. In other words, the engineer-hours
  2294. that, in the case of Microsoft Word, were devoted to features like mail
  2295. merge, and the ability to embed feature-length motion pictures in corporate
  2296. memoranda, were, in the case of emacs, focused with maniacal intensity on
  2297. the deceptively simple-seeming problem of editing text. If you are a
  2298. professional writer--i.e., if someone else is getting paid to worry about
  2299. how your words are formatted and printed--emacs outshines all other editing
  2300. software in approximately the same way that the noonday sun does the stars.
  2301. It is not just bigger and brighter; it simply makes everything else vanish.
  2302. For page layout and printing you can use TeX: a vast corpus of typesetting
  2303. lore written in C and also available on the Net for free.
  2304.  
  2305. I could say a lot about emacs and TeX, but right now I am trying to tell a
  2306. story about how to actually install Linux on your machine. The hard-core
  2307. survivalist approach would be to download an editor like emacs, and the GNU
  2308. Tools--the compiler and linker--which are polished and excellent to the
  2309. same degree as emacs. Equipped with these, one would be able to start
  2310. downloading ASCII source code files (/src) and compiling them into binary
  2311. object code files (/bin) that would run on the machine. But in order to
  2312. even arrive at this point--to get emacs running, for example--you have to
  2313. have Linux actually up and running on your machine. And even a minimal
  2314. Linux operating system requires thousands of binary files all acting in
  2315. concert, and arranged and linked together just so.
  2316.  
  2317. Several entities have therefore taken it upon themselves to create
  2318. "distributions" of Linux. If I may extend the Egypt analogy slightly, these
  2319. entities are a bit like tour guides who meet you at the airport, who speak
  2320. your language, and who help guide you through the initial culture shock. If
  2321. you are an Egyptian, of course, you see it the other way; tour guides exist
  2322. to keep brutish outlanders from traipsing through your mosques and asking
  2323. you the same questions over and over and over again.
  2324.  
  2325. Some of these tour guides are commercial organizations, such as Red Hat
  2326. Software, which makes a Linux distribution called Red Hat that has a
  2327. relatively commercial sheen to it. In most cases you put a Red Hat CD-ROM
  2328. into your PC and reboot and it handles the rest. Just as a tour guide in
  2329. Egypt will expect some sort of compensation for his services, commercial
  2330. distributions need to be paid for. In most cases they cost almost nothing
  2331. and are well worth it.
  2332.  
  2333. I use a distribution called Debian (the word is a contraction of "Deborah"
  2334. and "Ian") which is non-commercial. It is organized (or perhaps I should
  2335. say "it has organized itself") along the same lines as Linux in general,
  2336. which is to say that it consists of volunteers who collaborate over the
  2337. Net, each responsible for looking after a different chunk of the system.
  2338. These people have broken Linux down into a number of packages, which are
  2339. compressed files that can be downloaded to an already functioning Debian
  2340. Linux system, then opened up and unpacked using a free installer
  2341. application. Of course, as such, Debian has no commercial arm--no
  2342. distribution mechanism. You can download all Debian packages over the Net,
  2343. but most people will want to have them on a CD-ROM. Several different
  2344. companies have taken it upon themselves to decoct all of the current Debian
  2345. packages onto CD-ROMs and then sell them. I buy mine from Linux Systems
  2346. Labs. The cost for a three-disc set, containing Debian in its entirety, is
  2347. less than three dollars. But (and this is an important distinction) not a
  2348. single penny of that three dollars is going to any of the coders who
  2349. created Linux, nor to the Debian packagers. It goes to Linux Systems Labs
  2350. and it pays, not for the software, or the packages, but for the cost of
  2351. stamping out the CD-ROMs.
  2352.  
  2353. Every Linux distribution embodies some more or less clever hack for
  2354. circumventing the normal boot process and causing your computer, when it is
  2355. turned on, to organize itself, not as a PC running Windows, but as a "host"
  2356. running Unix. This is slightly alarming the first time you see it, but
  2357. completely harmless. When a PC boots up, it goes through a little self-test
  2358. routine, taking an inventory of available disks and memory, and then begins
  2359. looking around for a disk to boot up from. In any normal Windows computer
  2360. that disk will be a hard drive. But if you have your system configured
  2361. right, it will look first for a floppy or CD-ROM disk, and boot from that
  2362. if one is available.
  2363.  
  2364. Linux exploits this chink in the defenses. Your computer notices a bootable
  2365. disk in the floppy or CD-ROM drive, loads in some object code from that
  2366. disk, and blindly begins to execute it. But this is not Microsoft or Apple
  2367. code, this is Linux code, and so at this point your computer begins to
  2368. behave very differently from what you are accustomed to. Cryptic messages
  2369. began to scroll up the screen. If you had booted a commercial OS, you
  2370. would, at this point, be seeing a "Welcome to MacOS" cartoon, or a screen
  2371. filled with clouds in a blue sky, and a Windows logo. But under Linux you
  2372. get a long telegram printed in stark white letters on a black screen. There
  2373. is no "welcome!" message. Most of the telegram has the semi-inscrutable
  2374. menace of graffiti tags.
  2375.  
  2376. Dec 14 15:04:15 theRev syslogd 1.3-3#17: restart. Dec 14 15:04:15 theRev
  2377. kernel: klogd 1.3-3, log source = /proc/kmsg started. Dec 14 15:04:15
  2378. theRev kernel: Loaded 3535 symbols from /System.map. Dec 14 15:04:15 theRev
  2379. kernel: Symbols match kernel version 2.0.30. Dec 14 15:04:15 theRev kernel:
  2380. No module symbols loaded. Dec 14 15:04:15 theRev kernel: Intel
  2381. MultiProcessor Specification v1.4 Dec 14 15:04:15 theRev kernel: Virtual
  2382. Wire compatibility mode. Dec 14 15:04:15 theRev kernel: OEM ID: INTEL
  2383. Product ID: 440FX APIC at: 0xFEE00000 Dec 14 15:04:15 theRev kernel:
  2384. Processor #0 Pentium(tm) Pro APIC version 17 Dec 14 15:04:15 theRev kernel:
  2385. Processor #1 Pentium(tm) Pro APIC version 17 Dec 14 15:04:15 theRev kernel:
  2386. I/O APIC #2 Version 17 at 0xFEC00000. Dec 14 15:04:15 theRev kernel:
  2387. Processors: 2 Dec 14 15:04:15 theRev kernel: Console: 16 point font, 400
  2388. scans Dec 14 15:04:15 theRev kernel: Console: colour VGA+ 80x25, 1 virtual
  2389. console (max 63) Dec 14 15:04:15 theRev kernel: pcibios_init : BIOS32
  2390. Service Directory structure at 0x000fdb70 Dec 14 15:04:15 theRev kernel:
  2391. pcibios_init : BIOS32 Service Directory entry at 0xfdb80 Dec 14 15:04:15
  2392. theRev kernel: pcibios_init : PCI BIOS revision 2.10 entry at 0xfdba1 Dec
  2393. 14 15:04:15 theRev kernel: Probing PCI hardware. Dec 14 15:04:15 theRev
  2394. kernel: Warning : Unknown PCI device (10b7:9001). Please read
  2395. include/linux/pci.h Dec 14 15:04:15 theRev kernel: Calibrating delay loop..
  2396. ok - 179.40 BogoMIPS Dec 14 15:04:15 theRev kernel: Memory: 64268k/66556k
  2397. available (700k kernel code, 384k reserved, 1204k data) Dec 14 15:04:15
  2398. theRev kernel: Swansea University Computer Society NET3.035 for Linux 2.0
  2399. Dec 14 15:04:15 theRev kernel: NET3: Unix domain sockets 0.13 for Linux
  2400. NET3.035. Dec 14 15:04:15 theRev kernel: Swansea University Computer
  2401. Society TCP/IP for NET3.034 Dec 14 15:04:15 theRev kernel: IP Protocols:
  2402. ICMP, UDP, TCP Dec 14 15:04:15 theRev kernel: Checking 386/387 coupling...
  2403. Ok, fpu using exception 16 error reporting. Dec 14 15:04:15 theRev kernel:
  2404. Checking 'hlt' instruction... Ok. Dec 14 15:04:15 theRev kernel: Linux
  2405. version 2.0.30 (root@theRev) (gcc version 2.7.2.1) #15 Fri Mar 27 16:37:24
  2406. PST 1998 Dec 14 15:04:15 theRev kernel: Booting processor 1 stack 00002000:
  2407. Calibrating delay loop.. ok - 179.40 BogoMIPS Dec 14 15:04:15 theRev
  2408. kernel: Total of 2 processors activated (358.81 BogoMIPS). Dec 14 15:04:15
  2409. theRev kernel: Serial driver version 4.13 with no serial options enabled
  2410. Dec 14 15:04:15 theRev kernel: tty00 at 0x03f8 (irq = 4) is a 16550A Dec 14
  2411. 15:04:15 theRev kernel: tty01 at 0x02f8 (irq = 3) is a 16550A Dec 14
  2412. 15:04:15 theRev kernel: lp1 at 0x0378, (polling) Dec 14 15:04:15 theRev
  2413. kernel: PS/2 auxiliary pointing device detected -- driver installed. Dec 14
  2414. 15:04:15 theRev kernel: Real Time Clock Driver v1.07 Dec 14 15:04:15 theRev
  2415. kernel: loop: registered device at major 7 Dec 14 15:04:15 theRev kernel:
  2416. ide: i82371 PIIX (Triton) on PCI bus 0 function 57 Dec 14 15:04:15 theRev
  2417. kernel: ide0: BM-DMA at 0xffa0-0xffa7 Dec 14 15:04:15 theRev kernel: ide1:
  2418. BM-DMA at 0xffa8-0xffaf Dec 14 15:04:15 theRev kernel: hda: Conner
  2419. Peripherals 1275MB - CFS1275A, 1219MB w/64kB Cache, LBA, CHS=619/64/63 Dec
  2420. 14 15:04:15 theRev kernel: hdb: Maxtor 84320A5, 4119MB w/256kB Cache, LBA,
  2421. CHS=8928/15/63, DMA Dec 14 15:04:15 theRev kernel: hdc: , ATAPI CDROM drive
  2422. Dec 15 11:58:06 theRev kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Dec 15
  2423. 11:58:06 theRev kernel: ide1 at 0x170-0x177,0x376 on irq 15 Dec 15 11:58:06
  2424. theRev kernel: Floppy drive(s): fd0 is 1.44M Dec 15 11:58:06 theRev kernel:
  2425. Started kswapd v 1.4.2.2 Dec 15 11:58:06 theRev kernel: FDC 0 is a National
  2426. Semiconductor PC87306 Dec 15 11:58:06 theRev kernel: md driver 0.35
  2427. MAX_MD_DEV=4, MAX_REAL=8 Dec 15 11:58:06 theRev kernel: PPP: version 2.2.0
  2428. (dynamic channel allocation) Dec 15 11:58:06 theRev kernel: TCP compression
  2429. code copyright 1989 Regents of the University of California Dec 15 11:58:06
  2430. theRev kernel: PPP Dynamic channel allocation code copyright 1995 Caldera,
  2431. Inc. Dec 15 11:58:06 theRev kernel: PPP line discipline registered. Dec 15
  2432. 11:58:06 theRev kernel: SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic
  2433. channels, max=256). Dec 15 11:58:06 theRev kernel: eth0: 3Com 3c900
  2434. Boomerang 10Mbps/Combo at 0xef00, 00:60:08:a4:3c:db, IRQ 10 Dec 15 11:58:06
  2435. theRev kernel: 8K word-wide RAM 3:5 Rx:Tx split, 10base2 interface. Dec 15
  2436. 11:58:06 theRev kernel: Enabling bus-master transmits and whole-frame
  2437. receives. Dec 15 11:58:06 theRev kernel: 3c59x.c:v0.49 1/2/98 Donald Becker
  2438. http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html Dec 15 11:58:06
  2439. theRev kernel: Partition check: Dec 15 11:58:06 theRev kernel: hda: hda1
  2440. hda2 hda3 Dec 15 11:58:06 theRev kernel: hdb: hdb1 hdb2 Dec 15 11:58:06
  2441. theRev kernel: VFS: Mounted root (ext2 filesystem) readonly. Dec 15
  2442. 11:58:06 theRev kernel: Adding Swap: 16124k swap-space (priority -1) Dec 15
  2443. 11:58:06 theRev kernel: EXT2-fs warning: maximal mount count reached,
  2444. running e2fsck is recommended Dec 15 11:58:06 theRev kernel: hdc: media
  2445. changed Dec 15 11:58:06 theRev kernel: ISO9660 Extensions: RRIP_1991A Dec
  2446. 15 11:58:07 theRev syslogd 1.3-3#17: restart. Dec 15 11:58:09 theRev
  2447. diald[87]: Unable to open options file /etc/diald/diald.options: No such
  2448. file or directory Dec 15 11:58:09 theRev diald[87]: No device specified.
  2449. You must have at least one device! Dec 15 11:58:09 theRev diald[87]: You
  2450. must define a connector script (option 'connect'). Dec 15 11:58:09 theRev
  2451. diald[87]: You must define the remote ip address. Dec 15 11:58:09 theRev
  2452. diald[87]: You must define the local ip address. Dec 15 11:58:09 theRev
  2453. diald[87]: Terminating due to damaged reconfigure.
  2454.  
  2455. The only parts of this that are readable, for normal people, are the error
  2456. messages and warnings. And yet it's noteworthy that Linux doesn't stop, or
  2457. crash, when it encounters an error; it spits out a pithy complaint, gives
  2458. up on whatever processes were damaged, and keeps on rolling. This was
  2459. decidedly not true of the early versions of Apple and Microsoft OSes, for
  2460. the simple reason that an OS that is not capable of walking and chewing gum
  2461. at the same time cannot possibly recover from errors. Looking for, and
  2462. dealing with, errors requires a separate process running in parallel with
  2463. the one that has erred. A kind of superego, if you will, that keeps an eye
  2464. on all of the others, and jumps in when one goes astray. Now that MacOS and
  2465. Windows can do more than one thing at a time they are much better at
  2466. dealing with errors than they used to be, but they are not even close to
  2467. Linux or other Unices in this respect; and their greater complexity has
  2468. made them vulnerable to new types of errors.
  2469.  
  2470. FALLIBILITY, ATONEMENT, REDEMPTION, TRUST, AND OTHER ARCANE TECHNICAL
  2471. CONCEPTS
  2472.  
  2473. Linux is not capable of having any centrally organized policies dictating
  2474. how to write error messages and documentation, and so each programmer
  2475. writes his own. Usually they are in English even though tons of Linux
  2476. programmers are Europeans. Frequently they are funny. Always they are
  2477. honest. If something bad has happened because the software simply isn't
  2478. finished yet, or because the user screwed something up, this will be stated
  2479. forthrightly. The command line interface makes it easy for programs to
  2480. dribble out little comments, warnings, and messages here and there. Even if
  2481. the application is imploding like a damaged submarine, it can still usually
  2482. eke out a little S.O.S. message. Sometimes when you finish working with a
  2483. program and shut it down, you find that it has left behind a series of mild
  2484. warnings and low-grade error messages in the command-line interface window
  2485. from which you launched it. As if the software were chatting to you about
  2486. how it was doing the whole time you were working with it.
  2487.  
  2488. Documentation, under Linux, comes in the form of man (short for manual)
  2489. pages. You can access these either through a GUI (xman) or from the command
  2490. line (man). Here is a sample from the man page for a program called rsh:
  2491.  
  2492. "Stop signals stop the local rsh process only; this is arguably wrong, but
  2493. currently hard to fix for reasons too complicated to explain here."
  2494.  
  2495. The man pages contain a lot of such material, which reads like the terse
  2496. mutterings of pilots wrestling with the controls of damaged airplanes. The
  2497. general feel is of a thousand monumental but obscure struggles seen in the
  2498. stop-action light of a strobe. Each programmer is dealing with his own
  2499. obstacles and bugs; he is too busy fixing them, and improving the software,
  2500. to explain things at great length or to maintain elaborate pretensions.
  2501.  
  2502. In practice you hardly ever encounter a serious bug while running Linux.
  2503. When you do, it is almost always with commercial software (several vendors
  2504. sell software that runs under Linux). The operating system and its
  2505. fundamental utility programs are too important to contain serious bugs. I
  2506. have been running Linux every day since late 1995 and have seen many
  2507. application programs go down in flames, but I have never seen the operating
  2508. system crash. Never. Not once. There are quite a few Linux systems that
  2509. have been running continuously and working hard for months or years without
  2510. needing to be rebooted.
  2511.  
  2512. Commercial OSes have to adopt the same official stance towards errors as
  2513. Communist countries had towards poverty. For doctrinal reasons it was not
  2514. possible to admit that poverty was a serious problem in Communist
  2515. countries, because the whole point of Communism was to eradicate poverty.
  2516. Likewise, commercial OS companies like Apple and Microsoft can't go around
  2517. admitting that their software has bugs and that it crashes all the time,
  2518. any more than Disney can issue press releases stating that Mickey Mouse is
  2519. an actor in a suit.
  2520.  
  2521. This is a problem, because errors do exist and bugs do happen. Every few
  2522. months Bill Gates tries to demo a new Microsoft product in front of a large
  2523. audience only to have it blow up in his face. Commercial OS vendors, as a
  2524. direct consequence of being commercial, are forced to adopt the grossly
  2525. disingenuous position that bugs are rare aberrations, usually someone
  2526. else's fault, and therefore not really worth talking about in any detail.
  2527. This posture, which everyone knows to be absurd, is not limited to press
  2528. releases and ad campaigns. It informs the whole way these companies do
  2529. business and relate to their customers. If the documentation were properly
  2530. written, it would mention bugs, errors, and crashes on every single page.
  2531. If the on-line help systems that come with these OSes reflected the
  2532. experiences and concerns of their users, they would largely be devoted to
  2533. instructions on how to cope with crashes and errors.
  2534.  
  2535. But this does not happen. Joint stock corporations are wonderful inventions
  2536. that have given us many excellent goods and services. They are good at many
  2537. things. Admitting failure is not one of them. Hell, they can't even admit
  2538. minor shortcomings.
  2539.  
  2540. Of course, this behavior is not as pathological in a corporation as it
  2541. would be in a human being. Most people, nowadays, understand that corporate
  2542. press releases are issued for the benefit of the corporation's shareholders
  2543. and not for the enlightenment of the public. Sometimes the results of this
  2544. institutional dishonesty can be dreadful, as with tobacco and asbestos. In
  2545. the case of commercial OS vendors it is nothing of the kind, of course; it
  2546. is merely annoying.
  2547.  
  2548. Some might argue that consumer annoyance, over time, builds up into a kind
  2549. of hardened plaque that can conceal serious decay, and that honesty might
  2550. therefore be the best policy in the long run; the jury is still out on this
  2551. in the operating system market. The business is expanding fast enough that
  2552. it's still much better to have billions of chronically annoyed customers
  2553. than millions of happy ones.
  2554.  
  2555. Most system administrators I know who work with Windows NT all the time
  2556. agree that when it hits a snag, it has to be re-booted, and when it gets
  2557. seriously messed up, the only way to fix it is to re-install the operating
  2558. system from scratch. Or at least this is the only way that they know of to
  2559. fix it, which amounts to the same thing. It is quite possible that the
  2560. engineers at Microsoft have all sorts of insider knowledge on how to fix
  2561. the system when it goes awry, but if they do, they do not seem to be
  2562. getting the message out to any of the actual system administrators I know.
  2563.  
  2564. Because Linux is not commercial--because it is, in fact, free, as well as
  2565. rather difficult to obtain, install, and operate--it does not have to
  2566. maintain any pretensions as to its reliability. Consequently, it is much
  2567. more reliable. When something goes wrong with Linux, the error is noticed
  2568. and loudly discussed right away. Anyone with the requisite technical
  2569. knowledge can go straight to the source code and point out the source of
  2570. the error, which is then rapidly fixed by whichever hacker has carved out
  2571. responsibility for that particular program.
  2572.  
  2573. As far as I know, Debian is the only Linux distribution that has its own
  2574. constitution (http://www.debian.org/devel/constitution), but what really
  2575. sold me on it was its phenomenal bug database (http://www.debian.org/Bugs),
  2576. which is a sort of interactive Doomsday Book of error, fallibility, and
  2577. redemption. It is simplicity itself. When had a problem with Debian in
  2578. early January of 1997, I sent in a message describing the problem to
  2579. submit@bugs.debian.org. My problem was promptly assigned a bug report
  2580. number (#6518) and a severity level (the available choices being critical,
  2581. grave, important, normal, fixed, and wishlist) and forwarded to mailing
  2582. lists where Debian people hang out. Within twenty-four hours I had received
  2583. five e-mails telling me how to fix the problem: two from North America, two
  2584. from Europe, and one from Australia. All of these e-mails gave me the same
  2585. suggestion, which worked, and made my problem go away. But at the same
  2586. time, a transcript of this exchange was posted to Debian's bug database, so
  2587. that if other users had the same problem later, they would be able to
  2588. search through and find the solution without having to enter a new,
  2589. redundant bug report.
  2590.  
  2591. Contrast this with the experience that I had when I tried to install
  2592. Windows NT 4.0 on the very same machine about ten months later, in late
  2593. 1997. The installation program simply stopped in the middle with no error
  2594. messages. I went to the Microsoft Support website and tried to perform a
  2595. search for existing help documents that would address my problem. The
  2596. search engine was completely nonfunctional; it did nothing at all. It did
  2597. not even give me a message telling me that it was not working.
  2598.  
  2599. Eventually I decided that my motherboard must be at fault; it was of a
  2600. slightly unusual make and model, and NT did not support as many different
  2601. motherboards as Linux. I am always looking for excuses, no matter how
  2602. feeble, to buy new hardware, so I bought a new motherboard that was Windows
  2603. NT logo-compatible, meaning that the Windows NT logo was printed right on
  2604. the box. I installed this into my computer and got Linux running right
  2605. away, then attempted to install Windows NT again. Again, the installation
  2606. died without any error message or explanation. By this time a couple of
  2607. weeks had gone by and I thought that perhaps the search engine on the
  2608. Microsoft Support website might be up and running. I gave that a try but it
  2609. still didn't work.
  2610.  
  2611. So I created a new Microsoft support account, then logged on to submit the
  2612. incident. I supplied my product ID number when asked, and then began to
  2613. follow the instructions on a series of help screens. In other words, I was
  2614. submitting a bug report just as with the Debian bug tracking system. It's
  2615. just that the interface was slicker--I was typing my complaint into little
  2616. text-editing boxes on Web forms, doing it all through the GUI, whereas with
  2617. Debian you send in an e-mail telegram. I knew that when I was finished
  2618. submitting the bug report, it would become proprietary Microsoft
  2619. information, and other users wouldn't be able to see it. Many Linux users
  2620. would refuse to participate in such a scheme on ethical grounds, but I was
  2621. willing to give it a shot as an experiment. In the end, though I was never
  2622. able to submit my bug report, because the series of linked web pages that I
  2623. was filling out eventually led me to a completely blank page: a dead end.
  2624.  
  2625. So I went back and clicked on the buttons for "phone support" and
  2626. eventually was given a Microsoft telephone number. When I dialed this
  2627. number I got a series of piercing beeps and a recorded message from the
  2628. phone company saying "We're sorry, your call cannot be completed as
  2629. dialed."
  2630.  
  2631. I tried the search page again--it was still completely nonfunctional. Then
  2632. I tried PPI (Pay Per Incident) again. This led me through another series of
  2633. Web pages until I dead-ended at one reading: "Notice-there is no Web page
  2634. matching your request."
  2635.  
  2636. I tried it again, and eventually got to a Pay Per Incident screen reading:
  2637. "OUT OF INCIDENTS. There are no unused incidents left in your account. If
  2638. you would like to purchase a support incident, click OK-you will then be
  2639. able to prepay for an incident...." The cost per incident was $95.
  2640.  
  2641. The experiment was beginning to seem rather expensive, so I gave up on the
  2642. PPI approach and decided to have a go at the FAQs posted on Microsoft's
  2643. website. None of the available FAQs had anything to do with my problem
  2644. except for one entitled "I am having some problems installing NT" which
  2645. appeared to have been written by flacks, not engineers.
  2646.  
  2647. So I gave up and still, to this day, have never gotten Windows NT installed
  2648. on that particular machine. For me, the path of least resistance was simply
  2649. to use Debian Linux.
  2650.  
  2651. In the world of open source software, bug reports are useful information.
  2652. Making them public is a service to other users, and improves the OS. Making
  2653. them public systematically is so important that highly intelligent people
  2654. voluntarily put time and money into running bug databases. In the
  2655. commercial OS world, however, reporting a bug is a privilege that you have
  2656. to pay lots of money for. But if you pay for it, it follows that the bug
  2657. report must be kept confidential--otherwise anyone could get the benefit of
  2658. your ninety-five bucks! And yet nothing prevents NT users from setting up
  2659. their own public bug database.
  2660.  
  2661. This is, in other words, another feature of the OS market that simply makes
  2662. no sense unless you view it in the context of culture. What Microsoft is
  2663. selling through Pay Per Incident isn't technical support so much as the
  2664. continued illusion that its customers are engaging in some kind of rational
  2665. business transaction. It is a sort of routine maintenance fee for the
  2666. upkeep of the fantasy. If people really wanted a solid OS they would use
  2667. Linux, and if they really wanted tech support they would find a way to get
  2668. it; Microsoft's customers want something else.
  2669.  
  2670. As of this writing (Jan. 1999), something like 32,000 bugs have been
  2671. reported to the Debian Linux bug database. Almost all of them have been
  2672. fixed a long time ago. There are twelve "critical" bugs still outstanding,
  2673. of which the oldest was posted 79 days ago. There are 20 outstanding
  2674. "grave" bugs of which the oldest is 1166 days old. There are 48 "important"
  2675. bugs and hundreds of "normal" and less important ones.
  2676.  
  2677. Likewise, BeOS (which I'll get to in a minute) has its own bug database
  2678. (http://www.be.com/developers/bugs/index.html) with its own classification
  2679. system, including such categories as "Not a Bug," "Acknowledged Feature,"
  2680. and "Will Not Fix." Some of the "bugs" here are nothing more than Be
  2681. hackers blowing off steam, and are classified as "Input Acknowledged." For
  2682. example, I found one that was posted on December 30th, 1998. It's in the
  2683. middle of a long list of bugs, wedged between one entitled "Mouse working
  2684. in very strange fashion" and another called "Change of BView frame does not
  2685. affect, if BView not attached to a BWindow."
  2686.  
  2687. This one is entitled
  2688.  
  2689. R4: BeOS missing megalomaniacal figurehead to harness and focus developer
  2690. rage
  2691.  
  2692. and it goes like this:
  2693.  
  2694. ----------------------------
  2695.  
  2696. Be Status: Input Acknowledged
  2697. BeOS Version: R3.2
  2698. Component: unknown
  2699.  
  2700. Full Description:
  2701.  
  2702. The BeOS needs a megalomaniacal egomaniac sitting on its throne to give it
  2703. a human character which everyone loves to hate. Without this, the BeOS will
  2704. languish in the impersonifiable realm of OSs that people can never quite
  2705. get a handle on. You can judge the success of an OS not by the quality of
  2706. its features, but by how infamous and disliked the leaders behind them are.
  2707.  
  2708. I believe this is a side-effect of developer comraderie under miserable
  2709. conditions. After all, misery loves company. I believe that making the BeOS
  2710. less conceptually accessible and far less reliable will require developers
  2711. to band together, thus developing the kind of community where strangers
  2712. talk to one- another, kind of like at a grocery store before a huge
  2713. snowstorm.
  2714.  
  2715. Following this same program, it will likely be necessary to move the BeOS
  2716. headquarters to a far-less-comfortable climate. General environmental
  2717. discomfort will breed this attitude within and there truly is no greater
  2718. recipe for success. I would suggest Seattle, but I think it's already
  2719. taken. You might try Washington, DC, but definitely not somewhere like San
  2720. Diego or Tucson.
  2721.  
  2722. ----------------------------
  2723.  
  2724. Unfortunately, the Be bug reporting system strips off the names of the
  2725. people who report the bugs (to protect them from retribution!?) and so I
  2726. don't know who wrote this.
  2727.  
  2728. So it would appear that I'm in the middle of crowing about the technical
  2729. and moral superiority of Debian Linux. But as almost always happens in the
  2730. OS world, it's more complicated than that. I have Windows NT running on
  2731. another machine, and the other day (Jan. 1999), when I had a problem with
  2732. it, I decided to have another go at Microsoft Support. This time the search
  2733. engine actually worked (though in order to reach it I had to identify
  2734. myself as "advanced"). And instead of coughing up some useless FAQ, it
  2735. located about two hundred documents (I was using very vague search
  2736. criteria) that were obviously bug reports--though they were called
  2737. something else. Microsoft, in other words, has got a system up and running
  2738. that is functionally equivalent to Debian's bug database. It looks and
  2739. feels different, of course, but it contains technical nitty-gritty and
  2740. makes no bones about the existence of errors.
  2741.  
  2742. As I've explained, selling OSes for money is a basically untenable
  2743. position, and the only way Apple and Microsoft can get away with it is by
  2744. pursuing technological advancements as aggressively as they can, and by
  2745. getting people to believe in, and to pay for, a particular image: in the
  2746. case of Apple, that of the creative free thinker, and in the case of
  2747. Microsoft, that of the respectable techno-bourgeois. Just like Disney,
  2748. they're making money from selling an interface, a magic mirror. It has to
  2749. be polished and seamless or else the whole illusion is ruined and the
  2750. business plan vanishes like a mirage.
  2751.  
  2752. Accordingly, it was the case until recently that the people who wrote
  2753. manuals and created customer support websites for commercial OSes seemed to
  2754. have been barred, by their employers' legal or PR departments, from
  2755. admitting, even obliquely, that the software might contain bugs or that the
  2756. interface might be suffering from the blinking twelve problem. They
  2757. couldn't address users' actual difficulties. The manuals and websites were
  2758. therefore useless, and caused even technically self-assured users to wonder
  2759. whether they were going subtly insane.
  2760.  
  2761. When Apple engages in this sort of corporate behavior, one wants to believe
  2762. that they are really trying their best. We all want to give Apple the
  2763. benefit of the doubt, because mean old Bill Gates kicked the crap out of
  2764. them, and because they have good PR. But when Microsoft does it, one almost
  2765. cannot help becoming a paranoid conspiracist. Obviously they are hiding
  2766. something from us! And yet they are so powerful! They are trying to drive
  2767. us crazy!
  2768.  
  2769. This approach to dealing with one's customers was straight out of the
  2770. Central European totalitarianism of the mid-Twentieth Century. The
  2771. adjectives "Kafkaesque" and "Orwellian" come to mind. It couldn't last, any
  2772. more than the Berlin Wall could, and so now Microsoft has a publicly
  2773. available bug database. It's called something else, and it takes a while to
  2774. find it, but it's there.
  2775.  
  2776. They have, in other words, adapted to the two-tiered Eloi/Morlock structure
  2777. of technological society. If you're an Eloi you install Windows, follow the
  2778. instructions, hope for the best, and dumbly suffer when it breaks. If
  2779. you're a Morlock you go to the website, tell it that you are "advanced,"
  2780. find the bug database, and get the truth straight from some anonymous
  2781. Microsoft engineer.
  2782.  
  2783. But once Microsoft has taken this step, it raises the question, once again,
  2784. of whether there is any point to being in the OS business at all. Customers
  2785. might be willing to pay $95 to report a problem to Microsoft if, in return,
  2786. they get some advice that no other user is getting. This has the useful
  2787. side effect of keeping the users alienated from one another, which helps
  2788. maintain the illusion that bugs are rare aberrations. But once the results
  2789. of those bug reports become openly available on the Microsoft website,
  2790. everything changes. No one is going to cough up $95 to report a problem
  2791. when chances are good that some other sucker will do it first, and that
  2792. instructions on how to fix the bug will then show up, for free, on a public
  2793. website. And as the size of the bug database grows, it eventually becomes
  2794. an open admission, on Microsoft's part, that their OSes have just as many
  2795. bugs as their competitors'. There is no shame in that; as I mentioned,
  2796. Debian's bug database has logged 32,000 reports so far. But it puts
  2797. Microsoft on an equal footing with the others and makes it a lot harder for
  2798. their customers--who want to believe--to believe.
  2799.  
  2800.  
  2801. MEMENTO MORI
  2802.  
  2803. Once the Linux machine has finished spitting out its jargonic opening
  2804. telegram, it prompts me to log in with a user name and a password. At this
  2805. point the machine is still running the command line interface, with white
  2806. letters on a black screen. There are no windows, menus, or buttons. It does
  2807. not respond to the mouse; it doesn't even know that the mouse is there. It
  2808. is still possible to run a lot of software at this point. Emacs, for
  2809. example, exists in both a CLI and a GUI version (actually there are two GUI
  2810. versions, reflecting some sort of doctrinal schism between Richard Stallman
  2811. and some hackers who got fed up with him). The same is true of many other
  2812. Unix programs. Many don't have a GUI at all, and many that do are capable
  2813. of running from the command line.
  2814.  
  2815. Of course, since my computer only has one monitor screen, I can only see
  2816. one command line, and so you might think that I could only interact with
  2817. one program at a time. But if I hold down the Alt key and then hit the F2
  2818. function button at the top of my keyboard, I am presented with a fresh,
  2819. blank, black screen with a login prompt at the top of it. I can log in here
  2820. and start some other program, then hit Alt-F1 and go back to the first
  2821. screen, which is still doing whatever it was when I left it. Or I can do
  2822. Alt-F3 and log in to a third screen, or a fourth, or a fifth. On one of
  2823. these screens I might be logged in as myself, on another as root (the
  2824. system administrator), on yet another I might be logged on to some other
  2825. computer over the Internet.
  2826.  
  2827. Each of these screens is called, in Unix-speak, a tty, which is an
  2828. abbreviation for teletype. So when I use my Linux system in this way I am
  2829. going right back to that small room at Ames High School where I first wrote
  2830. code twenty-five years ago, except that a tty is quieter and faster than a
  2831. teletype, and capable of running vastly superior software, such as emacs or
  2832. the GNU development tools.
  2833.  
  2834. It is easy (easy by Unix, not Apple/Microsoft standards) to configure a
  2835. Linux machine so that it will go directly into a GUI when you boot it up.
  2836. This way, you never see a tty screen at all. I still have mine boot into
  2837. the white-on-black teletype screen however, as a computational memento
  2838. mori. It used to be fashionable for a writer to keep a human skull on his
  2839. desk as a reminder that he was mortal, that all about him was vanity. The
  2840. tty screen reminds me that the same thing is true of slick user interfaces.
  2841.  
  2842. The X Windows System, which is the GUI of Unix, has to be capable of
  2843. running on hundreds of different video cards with different chipsets,
  2844. amounts of onboard memory, and motherboard buses. Likewise, there are
  2845. hundreds of different types of monitors on the new and used market, each
  2846. with different specifications, and so there are probably upwards of a
  2847. million different possible combinations of card and monitor. The only thing
  2848. they all have in common is that they all work in VGA mode, which is the old
  2849. command-line screen that you see for a few seconds when you launch Windows.
  2850. So Linux always starts in VGA, with a teletype interface, because at first
  2851. it has no idea what sort of hardware is attached to your computer. In order
  2852. to get beyond the glass teletype and into the GUI, you have to tell Linux
  2853. exactly what kinds of hardware you have. If you get it wrong, you'll get a
  2854. blank screen at best, and at worst you might actually destroy your monitor
  2855. by feeding it signals it can't handle.
  2856.  
  2857. When I started using Linux this had to be done by hand. I once spent the
  2858. better part of a month trying to get an oddball monitor to work for me, and
  2859. filled the better part of a composition book with increasingly desperate
  2860. scrawled notes. Nowadays, most Linux distributions ship with a program that
  2861. automatically scans the video card and self-configures the system, so
  2862. getting X Windows up and running is nearly as easy as installing an
  2863. Apple/Microsoft GUI. The crucial information goes into a file (an ASCII
  2864. text file, naturally) called XF86Config, which is worth looking at even if
  2865. your distribution creates it for you automatically. For most people it
  2866. looks like meaningless cryptic incantations, which is the whole point of
  2867. looking at it. An Apple/Microsoft system needs to have the same information
  2868. in order to launch its GUI, but it's apt to be deeply hidden somewhere, and
  2869. it's probably in a file that can't even be opened and read by a text
  2870. editor. All of the important files that make Linux systems work are right
  2871. out in the open. They are always ASCII text files, so you don't need
  2872. special tools to read them. You can look at them any time you want, which
  2873. is good, and you can mess them up and render your system totally
  2874. dysfunctional, which is not so good.
  2875.  
  2876. At any rate, assuming that my XF86Config file is just so, I enter the
  2877. command "startx" to launch the X Windows System. The screen blanks out for
  2878. a minute, the monitor makes strange twitching noises, then reconstitutes
  2879. itself as a blank gray desktop with a mouse cursor in the middle. At the
  2880. same time it is launching a window manager. X Windows is pretty low-level
  2881. software; it provides the infrastructure for a GUI, and it's a heavy
  2882. industrial infrastructure. But it doesn't do windows. That's handled by
  2883. another category of application that sits atop X Windows, called a window
  2884. manager. Several of these are available, all free of course. The classic is
  2885. twm (Tom's Window Manager) but there is a smaller and supposedly more
  2886. efficient variant of it called fvwm, which is what I use. I have my eye on
  2887. a completely different window manager called Enlightenment, which may be
  2888. the hippest single technology product I have ever seen, in that (a) it is
  2889. for Linux, (b) it is freeware, (c) it is being developed by a very small
  2890. number of obsessed hackers, and (d) it looks amazingly cool; it is the sort
  2891. of window manager that might show up in the backdrop of an Aliens movie.
  2892.  
  2893. Anyway, the window manager acts as an intermediary between X Windows and
  2894. whatever software you want to use. It draws the window frames, menus, and
  2895. so on, while the applications themselves draw the actual content in the
  2896. windows. The applications might be of any sort: text editors, Web browsers,
  2897. graphics packages, or utility programs, such as a clock or calculator. In
  2898. other words, from this point on, you feel as if you have been shunted into
  2899. a parallel universe that is quite similar to the familiar Apple or
  2900. Microsoft one, but slightly and pervasively different. The premier graphics
  2901. program under Apple/Microsoft is Adobe Photoshop, but under Linux it's
  2902. something called The GIMP. Instead of the Microsoft Office Suite, you can
  2903. buy something called ApplixWare. Many commercial software packages, such as
  2904. Mathematica, Netscape Communicator, and Adobe Acrobat, are available in
  2905. Linux versions, and depending on how you set up your window manager you can
  2906. make them look and behave just as they would under MacOS or Windows.
  2907.  
  2908. But there is one type of window you'll see on Linux GUI that is rare or
  2909. nonexistent under other OSes. These windows are called "xterm" and contain
  2910. nothing but lines of text--this time, black text on a white background,
  2911. though you can make them be different colors if you choose. Each xterm
  2912. window is a separate command line interface--a tty in a window. So even
  2913. when you are in full GUI mode, you can still talk to your Linux machine
  2914. through a command-line interface.
  2915.  
  2916. There are many good pieces of Unix software that do not have GUIs at all.
  2917. This might be because they were developed before X Windows was available,
  2918. or because the people who wrote them did not want to suffer through all the
  2919. hassle of creating a GUI, or because they simply do not need one. In any
  2920. event, those programs can be invoked by typing their names into the command
  2921. line of an xterm window. The whoami command, mentioned earlier, is a good
  2922. example. There is another called wc ("word count") which simply returns the
  2923. number of lines, words, and characters in a text file.
  2924.  
  2925. The ability to run these little utility programs on the command line is a
  2926. great virtue of Unix, and one that is unlikely to be duplicated by pure GUI
  2927. operating systems. The wc command, for example, is the sort of thing that
  2928. is easy to write with a command line interface. It probably does not
  2929. consist of more than a few lines of code, and a clever programmer could
  2930. probably write it in a single line. In compiled form it takes up just a few
  2931. bytes of disk space. But the code required to give the same program a
  2932. graphical user interface would probably run into hundreds or even thousands
  2933. of lines, depending on how fancy the programmer wanted to make it. Compiled
  2934. into a runnable piece of software, it would have a large overhead of GUI
  2935. code. It would be slow to launch and it would use up a lot of memory. This
  2936. would simply not be worth the effort, and so "wc" would never be written as
  2937. an independent program at all. Instead users would have to wait for a word
  2938. count feature to appear in a commercial software package.
  2939.  
  2940. GUIs tend to impose a large overhead on every single piece of software,
  2941. even the smallest, and this overhead completely changes the programming
  2942. environment. Small utility programs are no longer worth writing. Their
  2943. functions, instead, tend to get swallowed up into omnibus software
  2944. packages. As GUIs get more complex, and impose more and more overhead, this
  2945. tendency becomes more pervasive, and the software packages grow ever more
  2946. colossal; after a point they begin to merge with each other, as Microsoft
  2947. Word and Excel and PowerPoint have merged into Microsoft Office: a
  2948. stupendous software Wal-Mart sitting on the edge of a town filled with tiny
  2949. shops that are all boarded up.
  2950.  
  2951. It is an unfair analogy, because when a tiny shop gets boarded up it means
  2952. that some small shopkeeper has lost his business. Of course nothing of the
  2953. kind happens when "wc" becomes subsumed into one of Microsoft Word's
  2954. countless menu items. The only real drawback is a loss of flexibility for
  2955. the user, but it is a loss that most customers obviously do not notice or
  2956. care about. The most serious drawback to the Wal-Mart approach is that most
  2957. users only want or need a tiny fraction of what is contained in these giant
  2958. software packages. The remainder is clutter, dead weight. And yet the user
  2959. in the next cubicle over will have completely different opinions as to what
  2960. is useful and what isn't.
  2961.  
  2962. The other important thing to mention, here, is that Microsoft has included
  2963. a genuinely cool feature in the Office package: a Basic programming
  2964. package. Basic is the first computer language that I learned, back when I
  2965. was using the paper tape and the teletype. By using the version of Basic
  2966. that comes with Office you can write your own little utility programs that
  2967. know how to interact with all of the little doohickeys, gewgaws, bells, and
  2968. whistles in Office. Basic is easier to use than the languages typically
  2969. employed in Unix command-line programming, and Office has reached many,
  2970. many more people than the GNU tools. And so it is quite possible that this
  2971. feature of Office will, in the end, spawn more hacking than GNU.
  2972.  
  2973. But now I'm talking about application software, not operating systems. And
  2974. as I've said, Microsoft's application software tends to be very good stuff.
  2975. I don't use it very much, because I am nowhere near their target market. If
  2976. Microsoft ever makes a software package that I use and like, then it really
  2977. will be time to dump their stock, because I am a market segment of one.
  2978.  
  2979. GEEK FATIGUE
  2980.  
  2981. Over the years that I've been working with Linux I have filled three and a
  2982. half notebooks logging my experiences. I only begin writing things down
  2983. when I'm doing something complicated, like setting up X Windows or fooling
  2984. around with my Internet connection, and so these notebooks contain only the
  2985. record of my struggles and frustrations. When things are going well for me,
  2986. I'll work along happily for many months without jotting down a single note.
  2987. So these notebooks make for pretty bleak reading. Changing anything under
  2988. Linux is a matter of opening up various of those little ASCII text files
  2989. and changing a word here and a character there, in ways that are extremely
  2990. significant to how the system operates.
  2991.  
  2992. Many of the files that control how Linux operates are nothing more than
  2993. command lines that became so long and complicated that not even Linux
  2994. hackers could type them correctly. When working with something as powerful
  2995. as Linux, you can easily devote a full half-hour to engineering a single
  2996. command line. For example, the "find" command, which searches your file
  2997. system for files that match certain criteria, is fantastically powerful and
  2998. general. Its "man" is eleven pages long, and these are pithy pages; you
  2999. could easily expand them into a whole book. And if that is not complicated
  3000. enough in and of itself, you can always pipe the output of one Unix command
  3001. to the input of another, equally complicated one. The "pon" command, which
  3002. is used to fire up a PPP connection to the Internet, requires so much
  3003. detailed information that it is basically impossible to launch it entirely
  3004. from the command line. Instead you abstract big chunks of its input into
  3005. three or four different files. You need a dialing script, which is
  3006. effectively a little program telling it how to dial the phone and respond
  3007. to various events; an options file, which lists up to about sixty different
  3008. options on how the PPP connection is to be set up; and a secrets file,
  3009. giving information about your password.
  3010.  
  3011. Presumably there are godlike Unix hackers somewhere in the world who don't
  3012. need to use these little scripts and options files as crutches, and who can
  3013. simply pound out fantastically complex command lines without making
  3014. typographical errors and without having to spend hours flipping through
  3015. documentation. But I'm not one of them. Like almost all Linux users, I
  3016. depend on having all of those details hidden away in thousands of little
  3017. ASCII text files, which are in turn wedged into the recesses of the Unix
  3018. filesystem. When I want to change something about the way my system works,
  3019. I edit those files. I know that if I don't keep track of every little
  3020. change I've made, I won't be able to get your system back in working order
  3021. after I've gotten it all messed up. Keeping hand-written logs is tedious,
  3022. not to mention kind of anachronistic. But it's necessary.
  3023.  
  3024. I probably could have saved myself a lot of headaches by doing business
  3025. with a company called Cygnus Support, which exists to provide assistance to
  3026. users of free software. But I didn't, because I wanted to see if I could do
  3027. it myself. The answer turned out to be yes, but just barely. And there are
  3028. many tweaks and optimizations that I could probably make in my system that
  3029. I have never gotten around to attempting, partly because I get tired of
  3030. being a Morlock some days, and partly because I am afraid of fouling up a
  3031. system that generally works well.
  3032.  
  3033. Though Linux works for me and many other users, its sheer power and
  3034. generality is its Achilles' heel. If you know what you are doing, you can
  3035. buy a cheap PC from any computer store, throw away the Windows discs that
  3036. come with it, turn it into a Linux system of mind-boggling complexity and
  3037. power. You can hook it up to twelve other Linux boxes and make it into part
  3038. of a parallel computer. You can configure it so that a hundred different
  3039. people can be logged onto it at once over the Internet, via as many modem
  3040. lines, Ethernet cards, TCP/IP sockets, and packet radio links. You can hang
  3041. half a dozen different monitors off of it and play DOOM with someone in
  3042. Australia while tracking communications satellites in orbit and controlling
  3043. your house's lights and thermostats and streaming live video from your
  3044. web-cam and surfing the Net and designing circuit boards on the other
  3045. screens. But the sheer power and complexity of the system--the qualities
  3046. that make it so vastly technically superior to other OSes--sometimes make
  3047. it seem too formidable for routine day-to-day use.
  3048.  
  3049. Sometimes, in other words, I just want to go to Disneyland.
  3050.  
  3051. The ideal OS for me would be one that had a well-designed GUI that was easy
  3052. to set up and use, but that included terminal windows where I could revert
  3053. to the command line interface, and run GNU software, when it made sense. A
  3054. few years ago, Be Inc. invented exactly that OS. It is called the BeOS.
  3055.  
  3056.  
  3057. ETRE
  3058.  
  3059. Many people in the computer business have had a difficult time grappling
  3060. with Be, Incorporated, for the simple reason that nothing about it seems to
  3061. make any sense whatsoever. It was launched in late 1990, which makes it
  3062. roughly contemporary with Linux. From the beginning it has been devoted to
  3063. creating a new operating system that is, by design, incompatible with all
  3064. the others (though, as we shall see, it is compatible with Unix in some
  3065. very important ways). If a definition of "celebrity" is someone who is
  3066. famous for being famous, then Be is an anti-celebrity. It is famous for not
  3067. being famous; it is famous for being doomed. But it has been doomed for an
  3068. awfully long time.
  3069.  
  3070. Be's mission might make more sense to hackers than to other people. In
  3071. order to explain why I need to explain the concept of cruft, which, to
  3072. people who write code, is nearly as abhorrent as unnecessary repetition.
  3073.  
  3074. If you've been to San Francisco you may have seen older buildings that have
  3075. undergone "seismic upgrades," which frequently means that grotesque
  3076. superstructures of modern steelwork are erected around buildings made in,
  3077. say, a Classical style. When new threats arrive--if we have an Ice Age, for
  3078. example--additional layers of even more high-tech stuff may be constructed,
  3079. in turn, around these, until the original building is like a holy relic in
  3080. a cathedral--a shard of yellowed bone enshrined in half a ton of fancy
  3081. protective junk.
  3082.  
  3083. Analogous measures can be taken to keep creaky old operating systems
  3084. working. It happens all the time. Ditching an worn-out old OS ought to be
  3085. simplified by the fact that, unlike old buildings, OSes have no aesthetic
  3086. or cultural merit that makes them intrinsically worth saving. But it
  3087. doesn't work that way in practice. If you work with a computer, you have
  3088. probably customized your "desktop," the environment in which you sit down
  3089. to work every day, and spent a lot of money on software that works in that
  3090. environment, and devoted much time to familiarizing yourself with how it
  3091. all works. This takes a lot of time, and time is money. As already
  3092. mentioned, the desire to have one's interactions with complex technologies
  3093. simplified through the interface, and to surround yourself with virtual
  3094. tchotchkes and lawn ornaments, is natural and pervasive--presumably a
  3095. reaction against the complexity and formidable abstraction of the computer
  3096. world. Computers give us more choices than we really want. We prefer to
  3097. make those choices once, or accept the defaults handed to us by software
  3098. companies, and let sleeping dogs lie. But when an OS gets changed, all the
  3099. dogs jump up and start barking.
  3100.  
  3101. The average computer user is a technological antiquarian who doesn't really
  3102. like things to change. He or she is like an urban professional who has just
  3103. bought a charming fixer-upper and is now moving the furniture and
  3104. knicknacks around, and reorganizing the kitchen cupboards, so that
  3105. everything's just right. If it is necessary for a bunch of engineers to
  3106. scurry around in the basement shoring up the foundation so that it can
  3107. support the new cast-iron claw-foot bathtub, and snaking new wires and
  3108. pipes through the walls to supply modern appliances, why, so be
  3109. it--engineers are cheap, at least when millions of OS users split the cost
  3110. of their services.
  3111.  
  3112. Likewise, computer users want to have the latest Pentium in their machines,
  3113. and to be able to surf the web, without messing up all the stuff that makes
  3114. them feel as if they know what the hell is going on. Sometimes this is
  3115. actually possible. Adding more RAM to your system is a good example of an
  3116. upgrade that is not likely to screw anything up.
  3117.  
  3118. Alas, very few upgrades are this clean and simple. Lawrence Lessig, the
  3119. whilom Special Master in the Justice Department's antitrust suit against
  3120. Microsoft, complained that he had installed Internet Explorer on his
  3121. computer, and in so doing, lost all of his bookmarks--his personal list of
  3122. signposts that he used to navigate through the maze of the Internet. It was
  3123. as if he'd bought a new set of tires for his car, and then, when pulling
  3124. away from the garage, discovered that, owing to some inscrutable
  3125. side-effect, every signpost and road map in the world had been destroyed.
  3126. If he's like most of us, he had put a lot of work into compiling that list
  3127. of bookmarks. This is only a small taste of the sort of trouble that
  3128. upgrades can cause. Crappy old OSes have value in the basically negative
  3129. sense that changing to new ones makes us wish we'd never been born.
  3130.  
  3131. All of the fixing and patching that engineers must do in order to give us
  3132. the benefits of new technology without forcing us to think about it, or to
  3133. change our ways, produces a lot of code that, over time, turns into a giant
  3134. clot of bubble gum, spackle, baling wire and duct tape surrounding every
  3135. operating system. In the jargon of hackers, it is called "cruft." An
  3136. operating system that has many, many layers of it is described as "crufty."
  3137. Hackers hate to do things twice, but when they see something crufty, their
  3138. first impulse is to rip it out, throw it away, and start anew.
  3139.  
  3140. If Mark Twain were brought back to San Francisco today and dropped into one
  3141. of these old seismically upgraded buildings, it would look just the same to
  3142. him, with all the doors and windows in the same places--but if he stepped
  3143. outside, he wouldn't recognize it. And--if he'd been brought back with his
  3144. wits intact--he might question whether the building had been worth going to
  3145. so much trouble to save. At some point, one must ask the question: is this
  3146. really worth it, or should we maybe just tear it down and put up a good
  3147. one? Should we throw another human wave of structural engineers at
  3148. stabilizing the Leaning Tower of Pisa, or should we just let the damn thing
  3149. fall over and build a tower that doesn't suck?
  3150.  
  3151. Like an upgrade to an old building, cruft always seems like a good idea
  3152. when the first layers of it go on--just routine maintenance, sound prudent
  3153. management. This is especially true if (as it were) you never look into the
  3154. cellar, or behind the drywall. But if you are a hacker who spends all his
  3155. time looking at it from that point of view, cruft is fundamentally
  3156. disgusting, and you can't avoid wanting to go after it with a crowbar. Or,
  3157. better yet, simply walk out of the building--let the Leaning Tower of Pisa
  3158. fall over--and go make a new one THAT DOESN'T LEAN.
  3159.  
  3160. For a long time it was obvious to Apple, Microsoft, and their customers
  3161. that the first generation of GUI operating systems was doomed, and that
  3162. they would eventually need to be ditched and replaced with completely fresh
  3163. ones. During the late Eighties and early Nineties, Apple launched a few
  3164. abortive efforts to make fundamentally new post-Mac OSes such as Pink and
  3165. Taligent. When those efforts failed they launched a new project called
  3166. Copland which also failed. In 1997 they flirted with the idea of acquiring
  3167. Be, but instead they acquired Next, which has an OS called NextStep that
  3168. is, in effect, a variant of Unix. As these efforts went on, and on, and on,
  3169. and failed and failed and failed, Apple's engineers, who were among the
  3170. best in the business, kept layering on the cruft. They were gamely trying
  3171. to turn the little toaster into a multi-tasking, Internet-savvy machine,
  3172. and did an amazingly good job of it for a while--sort of like a movie hero
  3173. running across a jungle river by hopping across crocodiles' backs. But in
  3174. the real world you eventually run out of crocodiles, or step on a really
  3175. smart one.
  3176.  
  3177. Speaking of which, Microsoft tackled the same problem in a considerably
  3178. more orderly way by creating a new OS called Windows NT, which is
  3179. explicitly intended to be a direct competitor of Unix. NT stands for "New
  3180. Technology" which might be read as an explicit rejection of cruft. And
  3181. indeed, NT is reputed to be a lot less crufty than what MacOS eventually
  3182. turned into; at one point the documentation needed to write code on the Mac
  3183. filled something like 24 binders. Windows 95 was, and Windows 98 is, crufty
  3184. because they have to be backward-compatible with older Microsoft OSes.
  3185. Linux deals with the cruft problem in the same way that Eskimos supposedly
  3186. dealt with senior citizens: if you insist on using old versions of Linux
  3187. software, you will sooner or later find yourself drifting through the
  3188. Bering Straits on a dwindling ice floe. They can get away with this because
  3189. most of the software is free, so it costs nothing to download up-to-date
  3190. versions, and because most Linux users are Morlocks.
  3191.  
  3192. The great idea behind BeOS was to start from a clean sheet of paper and
  3193. design an OS the right way. And that is exactly what they did. This was
  3194. obviously a good idea from an aesthetic standpoint, but does not a sound
  3195. business plan make. Some people I know in the GNU/Linux world are annoyed
  3196. with Be for going off on this quixotic adventure when their formidable
  3197. skills could have been put to work helping to promulgate Linux.
  3198.  
  3199. Indeed, none of it makes sense until you remember that the founder of the
  3200. company, Jean-Louis Gassee, is from France--a country that for many years
  3201. maintained its own separate and independent version of the English monarchy
  3202. at a court in St. Germaines, complete with courtiers, coronation
  3203. ceremonies, a state religion and a foreign policy. Now, the same annoying
  3204. yet admirable stiff-neckedness that gave us the Jacobites, the force de
  3205. frappe, Airbus, and ARRET signs in Quebec, has brought us a really cool
  3206. operating system. I fart in your general direction, Anglo-Saxon pig-dogs!
  3207.  
  3208. To create an entirely new OS from scratch, just because none of the
  3209. existing ones was exactly right, struck me as an act of such colossal nerve
  3210. that I felt compelled to support it. I bought a BeBox as soon as I could.
  3211. The BeBox was a dual-processor machine, powered by Motorola chips, made
  3212. specifically to run the BeOS; it could not run any other operating system.
  3213. That's why I bought it. I felt it was a way to burn my bridges. Its most
  3214. distinctive feature is two columns of LEDs on the front panel that zip up
  3215. and down like tachometers to convey a sense of how hard each processor is
  3216. working. I thought it looked cool, and besides, I reckoned that when the
  3217. company went out of business in a few months, my BeBox would be a valuable
  3218. collector's item.
  3219.  
  3220. Now it is about two years later and I am typing this on my BeBox. The LEDs
  3221. (Das Blinkenlights, as they are called in the Be community) flash merrily
  3222. next to my right elbow as I hit the keys. Be, Inc. is still in business,
  3223. though they stopped making BeBoxes almost immediately after I bought mine.
  3224. They made the sad, but probably quite wise decision that hardware was a
  3225. sucker's game, and ported the BeOS to Macintoshes and Mac clones. Since
  3226. these used the same sort of Motorola chips that powered the BeBox, this
  3227. wasn't especially hard.
  3228.  
  3229. Very soon afterwards, Apple strangled the Mac-clone makers and restored its
  3230. hardware monopoly. So, for a while, the only new machines that could run
  3231. BeOS were made by Apple.
  3232.  
  3233. By this point Be, like Spiderman with his Spider-sense, had developed a
  3234. keen sense of when they were about to get crushed like a bug. Even if they
  3235. hadn't, the notion of being dependent on Apple--so frail and yet so
  3236. vicious--for their continued existence should have put a fright into
  3237. anyone. Now engaged in their own crocodile-hopping adventure, they ported
  3238. the BeOS to Intel chips--the same chips used in Windows machines. And not a
  3239. moment too soon, for when Apple came out with its new top-of-the-line
  3240. hardware, based on the Motorola G3 chip, they withheld the technical data
  3241. that Be's engineers would need to make the BeOS run on those machines. This
  3242. would have killed Be, just like a slug between the eyes, if they hadn't
  3243. made the jump to Intel.
  3244.  
  3245. So now BeOS runs on an assortment of hardware that is almost incredibly
  3246. motley: BeBoxes, aging Macs and Mac orphan-clones, and Intel machines that
  3247. are intended to be used for Windows. Of course the latter type are
  3248. ubiquitous and shockingly cheap nowadays, so it would appear that Be's
  3249. hardware troubles are finally over. Some German hackers have even come up
  3250. with a Das Blinkenlights replacement: it's a circuit board kit that you can
  3251. plug into PC-compatible machines running BeOS. It gives you the zooming LED
  3252. tachometers that were such a popular feature of the BeBox.
  3253.  
  3254. My BeBox is already showing its age, as all computers do after a couple of
  3255. years, and sooner or later I'll probably have to replace it with an Intel
  3256. machine. Even after that, though, I will still be able to use it. Because,
  3257. inevitably, someone has now ported Linux to the BeBox.
  3258.  
  3259. At any rate, BeOS has an extremely well-thought-out GUI built on a
  3260. technological framework that is solid. It is based from the ground up on
  3261. modern object-oriented software principles. BeOS software consists of
  3262. quasi-independent software entities called objects, which communicate by
  3263. sending messages to each other. The OS itself is made up of such objects,
  3264. and serves as a kind of post office or Internet that routes messages to and
  3265. fro, from object to object. The OS is multi-threaded, which means that like
  3266. all other modern OSes it can walk and chew gum at the same time; but it
  3267. gives programmers a lot of power over spawning and terminating threads, or
  3268. independent sub-processes. It is also a multi-processing OS, which means
  3269. that it is inherently good at running on computers that have more than one
  3270. CPU (Linux and Windows NT can also do this proficiently).
  3271.  
  3272. For this user, a big selling point of BeOS is the built-in Terminal
  3273. application, which enables you to open up windows that are equivalent to
  3274. the xterm windows in Linux. In other words, the command line interface is
  3275. available if you want it. And because BeOS hews to a certain standard
  3276. called POSIX, it is capable of running most of the GNU software. That is to
  3277. say that the vast array of command-line software developed by the GNU crowd
  3278. will work in BeOS terminal windows without complaint. This includes the GNU
  3279. development tools-the compiler and linker. And it includes all of the handy
  3280. little utility programs. I'm writing this using a modern sort of
  3281. user-friendly text editor called Pe, written by a Dutchman named Maarten
  3282. Hekkelman, but when I want to find out how long it is, I jump to a terminal
  3283. window and run "wc."
  3284.  
  3285. As is suggested by the sample bug report I quoted earlier, people who work
  3286. for Be, and developers who write code for BeOS, seem to be enjoying
  3287. themselves more than their counterparts in other OSes. They also seem to be
  3288. a more diverse lot in general. A couple of years ago I went to an
  3289. auditorium at a local university to see some representatives of Be put on a
  3290. dog-and-pony show. I went because I assumed that the place would be empty
  3291. and echoing, and I felt that they deserved an audience of at least one. In
  3292. fact, I ended up standing in an aisle, for hundreds of students had packed
  3293. the place. It was like a rock concert. One of the two Be engineers on the
  3294. stage was a black man, which unfortunately is a very odd thing in the
  3295. high-tech world. The other made a ringing denunciation of cruft, and
  3296. extolled BeOS for its cruft-free qualities, and actually came out and said
  3297. that in ten or fifteen years, when BeOS had become all crufty like MacOS
  3298. and Windows 95, it would be time to simply throw it away and create a new
  3299. OS from scratch. I doubt that this is an official Be, Inc. policy, but it
  3300. sure made a big impression on everyone in the room! During the late
  3301. Eighties, the MacOS was, for a time, the OS of cool people-artists and
  3302. creative-minded hackers-and BeOS seems to have the potential to attract the
  3303. same crowd now. Be mailing lists are crowded with hackers with names like
  3304. Vladimir and Olaf and Pierre, sending flames to each other in fractured
  3305. techno-English.
  3306.  
  3307. The only real question about BeOS is whether or not it is doomed.
  3308.  
  3309. Of late, Be has responded to the tiresome accusation that they are doomed
  3310. with the assertion that BeOS is "a media operating system" made for media
  3311. content creators, and hence is not really in competition with Windows at
  3312. all. This is a little bit disingenuous. To go back to the car dealership
  3313. analogy, it is like the Batmobile dealer claiming that he is not really in
  3314. competition with the others because his car can go three times as fast as
  3315. theirs and is also capable of flying.
  3316.  
  3317. Be has an office in Paris, and, as mentioned, the conversation on Be
  3318. mailing lists has a strongly European flavor. At the same time they have
  3319. made strenuous efforts to find a niche in Japan, and Hitachi has recently
  3320. begun bundling BeOS with their PCs. So if I had to make wild guess I'd say
  3321. that they are playing Go while Microsoft is playing chess. They are staying
  3322. clear, for now, of Microsoft's overwhelmingly strong position in North
  3323. America. They are trying to get themselves established around the edges of
  3324. the board, as it were, in Europe and Japan, where people may be more open
  3325. to alternative OSes, or at least more hostile to Microsoft, than they are
  3326. in the United States.
  3327.  
  3328. What holds Be back in this country is that the smart people are afraid to
  3329. look like suckers. You run the risk of looking naive when you say "I've
  3330. tried the BeOS and here's what I think of it." It seems much more
  3331. sophisticated to say "Be's chances of carving out a new niche in the highly
  3332. competitive OS market are close to nil."
  3333.  
  3334. It is, in techno-speak, a problem of mindshare. And in the OS business,
  3335. mindshare is more than just a PR issue; it has direct effects on the
  3336. technology itself. All of the peripheral gizmos that can be hung off of a
  3337. personal computer--the printers, scanners, PalmPilot interfaces, and Lego
  3338. Mindstorms--require pieces of software called drivers. Likewise, video
  3339. cards and (to a lesser extent) monitors need drivers. Even the different
  3340. types of motherboards on the market relate to the OS in different ways, and
  3341. separate code is required for each one. All of this hardware-specific code
  3342. must not only written but also tested, debugged, upgraded, maintained, and
  3343. supported. Because the hardware market has become so vast and complicated,
  3344. what really determines an OS's fate is not how good the OS is technically,
  3345. or how much it costs, but rather the availability of hardware-specific
  3346. code. Linux hackers have to write that code themselves, and they have done
  3347. an amazingly good job of keeping up to speed. Be, Inc. has to write all
  3348. their own drivers, though as BeOS has begun gathering momentum, third-party
  3349. developers have begun to contribute drivers, which are available on Be's
  3350. web site.
  3351.  
  3352. But Microsoft owns the high ground at the moment, because it doesn't have
  3353. to write its own drivers. Any hardware maker bringing a new video card or
  3354. peripheral device to market today knows that it will be unsalable unless it
  3355. comes with the hardware-specific code that will make it work under Windows,
  3356. and so each hardware maker has accepted the burden of creating and
  3357. maintaining its own library of drivers.
  3358.  
  3359.  
  3360. MINDSHARE
  3361.  
  3362. The U.S. Government's assertion that Microsoft has a monopoly in the OS
  3363. market might be the most patently absurd claim ever advanced by the legal
  3364. mind. Linux, a technically superior operating system, is being given away
  3365. for free, and BeOS is available at a nominal price. This is simply a fact,
  3366. which has to be accepted whether or not you like Microsoft.
  3367.  
  3368. Microsoft is really big and rich, and if some of the government's witnesses
  3369. are to be believed, they are not nice guys. But the accusation of a
  3370. monopoly simply does not make any sense.
  3371.  
  3372. What is really going on is that Microsoft has seized, for the time being, a
  3373. certain type of high ground: they dominate in the competition for
  3374. mindshare, and so any hardware or software maker who wants to be taken
  3375. seriously feels compelled to make a product that is compatible with their
  3376. operating systems. Since Windows-compatible drivers get written by the
  3377. hardware makers, Microsoft doesn't have to write them; in effect, the
  3378. hardware makers are adding new components to Windows, making it a more
  3379. capable OS, without charging Microsoft for the service. It is a very good
  3380. position to be in. The only way to fight such an opponent is to have an
  3381. army of highly competetent coders who write equivalent drivers for free,
  3382. which Linux does.
  3383.  
  3384. But possession of this psychological high ground is different from a
  3385. monopoly in any normal sense of that word, because here the dominance has
  3386. nothing to do with technical performance or price. The old robber-baron
  3387. monopolies were monopolies because they physically controlled means of
  3388. production and/or distribution. But in the software business, the means of
  3389. production is hackers typing code, and the means of distribution is the
  3390. Internet, and no one is claiming that Microsoft controls those.
  3391.  
  3392. Here, instead, the dominance is inside the minds of people who buy
  3393. software. Microsoft has power because people believe it does. This power is
  3394. very real. It makes lots of money. Judging from recent legal proceedings in
  3395. both Washingtons, it would appear that this power and this money have
  3396. inspired some very peculiar executives to come out and work for Microsoft,
  3397. and that Bill Gates should have administered saliva tests to some of them
  3398. before issuing them Microsoft ID cards.
  3399.  
  3400. But this is not the sort of power that fits any normal definition of the
  3401. word "monopoly," and it's not amenable to a legal fix. The courts may order
  3402. Microsoft to do things differently. They might even split the company up.
  3403. But they can't really do anything about a mindshare monopoly, short of
  3404. taking every man, woman, and child in the developed world and subjecting
  3405. them to a lengthy brainwashing procedure.
  3406.  
  3407. Mindshare dominance is, in other words, a really odd sort of beast,
  3408. something that the framers of our antitrust laws couldn't possibly have
  3409. imagined. It looks like one of these modern, wacky chaos-theory phenomena,
  3410. a complexity thing, in which a whole lot of independent but connected
  3411. entities (the world's computer users), making decisions on their own,
  3412. according to a few simple rules of thumb, generate a large phenomenon
  3413. (total domination of the market by one company) that cannot be made sense
  3414. of through any kind of rational analysis. Such phenomena are fraught with
  3415. concealed tipping-points and all a-tangle with bizarre feedback loops, and
  3416. cannot be understood; people who try, end up (a) going crazy, (b) giving
  3417. up, (c) forming crackpot theories, or (d) becoming high-paid chaos theory
  3418. consultants.
  3419.  
  3420. Now, there might be one or two people at Microsoft who are dense enough to
  3421. believe that mindshare dominance is some kind of stable and enduring
  3422. position. Maybe that even accounts for some of the weirdos they've hired in
  3423. the pure-business end of the operation, the zealots who keep getting hauled
  3424. into court by enraged judges. But most of them must have the wit to
  3425. understand that phenomena like these are maddeningly unstable, and that
  3426. there's no telling what weird, seemingly inconsequential event might cause
  3427. the system to shift into a radically different configuration.
  3428.  
  3429. To put it another way, Microsoft can be confident that Thomas Penfield
  3430. Jackson will not hand down an order that the brains of everyone in the
  3431. developed world are to be summarily re-programmed. But there's no way to
  3432. predict when people will decide, en masse, to re-program their own brains.
  3433. This might explain some of Microsoft's behavior, such as their policy of
  3434. keeping eerily large reserves of cash sitting around, and the extreme
  3435. anxiety that they display whenever something like Java comes along.
  3436.  
  3437. I have never seen the inside of the building at Microsoft where the top
  3438. executives hang out, but I have this fantasy that in the hallways, at
  3439. regular intervals, big red alarm boxes are bolted to the wall. Each
  3440. contains a large red button protected by a windowpane. A metal hammer
  3441. dangles on a chain next to it. Above is a big sign reading: IN THE EVENT OF
  3442. A CRASH IN MARKET SHARE, BREAK GLASS.
  3443.  
  3444. What happens when someone shatters the glass and hits the button, I don't
  3445. know, but it sure would be interesting to find out. One imagines banks
  3446. collapsing all over the world as Microsoft withdraws its cash reserves, and
  3447. shrink-wrapped pallet-loads of hundred-dollar bills dropping from the
  3448. skies. No doubt, Microsoft has a plan. But what I would really like to know
  3449. is whether, at some level, their programmers might heave a big sigh of
  3450. relief if the burden of writing the One Universal Interface to Everything
  3451. were suddenly lifted from their shoulders.
  3452.  
  3453.  
  3454. THE RIGHT PINKY OF GOD
  3455.  
  3456. In his book The Life of the Cosmos, which everyone should read, Lee Smolin
  3457. gives the best description I've ever read of how our universe emerged from
  3458. an uncannily precise balancing of different fundamental constants. The mass
  3459. of the proton, the strength of gravity, the range of the weak nuclear
  3460. force, and a few dozen other fundamental constants completely determine
  3461. what sort of universe will emerge from a Big Bang. If these values had been
  3462. even slightly different, the universe would have been a vast ocean of tepid
  3463. gas or a hot knot of plasma or some other basically uninteresting thing--a
  3464. dud, in other words. The only way to get a universe that's not a dud--that
  3465. has stars, heavy elements, planets, and life--is to get the basic numbers
  3466. just right. If there were some machine, somewhere, that could spit out
  3467. universes with randomly chosen values for their fundamental constants, then
  3468. for every universe like ours it would produce 10^229 duds.
  3469.  
  3470. Though I haven't sat down and run the numbers on it, to me this seems
  3471. comparable to the probability of making a Unix computer do something useful
  3472. by logging into a tty and typing in command lines when you have forgotten
  3473. all of the little options and keywords. Every time your right pinky slams
  3474. that ENTER key, you are making another try. In some cases the operating
  3475. system does nothing. In other cases it wipes out all of your files. In most
  3476. cases it just gives you an error message. In other words, you get many
  3477. duds. But sometimes, if you have it all just right, the computer grinds
  3478. away for a while and then produces something like emacs. It actually
  3479. generates complexity, which is Smolin's criterion for interestingness.
  3480.  
  3481. Not only that, but it's beginning to look as if, once you get below a
  3482. certain size--way below the level of quarks, down into the realm of string
  3483. theory--the universe can't be described very well by physics as it has been
  3484. practiced since the days of Newton. If you look at a small enough scale,
  3485. you see processes that look almost computational in nature.
  3486.  
  3487. I think that the message is very clear here: somewhere outside of and
  3488. beyond our universe is an operating system, coded up over incalculable
  3489. spans of time by some kind of hacker-demiurge. The cosmic operating system
  3490. uses a command-line interface. It runs on something like a teletype, with
  3491. lots of noise and heat; punched-out bits flutter down into its hopper like
  3492. drifting stars. The demiurge sits at his teletype, pounding out one command
  3493. line after another, specifying the values of fundamental constants of
  3494. physics:
  3495.  
  3496. universe -G 6.672e-11 -e 1.602e-19 -h 6.626e-34 -protonmass 1.673e-27....
  3497.  
  3498. and when he's finished typing out the command line, his right pinky
  3499. hesitates above the ENTER key for an aeon or two, wondering what's going to
  3500. happen; then down it comes--and the WHACK you hear is another Big Bang.
  3501.  
  3502. Now THAT is a cool operating system, and if such a thing were actually made
  3503. available on the Internet (for free, of course) every hacker in the world
  3504. would download it right away and then stay up all night long messing with
  3505. it, spitting out universes right and left. Most of them would be pretty
  3506. dull universes but some of them would be simply amazing. Because what those
  3507. hackers would be aiming for would be much more ambitious than a universe
  3508. that had a few stars and galaxies in it. Any run-of-the-mill hacker would
  3509. be able to do that. No, the way to gain a towering reputation on the
  3510. Internet would be to get so good at tweaking your command line that your
  3511. universes would spontaneously develop life. And once the way to do that
  3512. became common knowledge, those hackers would move on, trying to make their
  3513. universes develop the right kind of life, trying to find the one change in
  3514. the Nth decimal place of some physical constant that would give us an Earth
  3515. in which, say, Hitler had been accepted into art school after all, and had
  3516. ended up his days as a street artist with cranky political opinions.
  3517.  
  3518. Even if that fantasy came true, though, most users (including myself, on
  3519. certain days) wouldn't want to bother learning to use all of those arcane
  3520. commands, and struggling with all of the failures; a few dud universes can
  3521. really clutter up your basement. After we'd spent a while pounding out
  3522. command lines and hitting that ENTER key and spawning dull, failed
  3523. universes, we would start to long for an OS that would go all the way to
  3524. the opposite extreme: an OS that had the power to do everything--to live
  3525. our life for us. In this OS, all of the possible decisions we could ever
  3526. want to make would have been anticipated by clever programmers, and
  3527. condensed into a series of dialog boxes. By clicking on radio buttons we
  3528. could choose from among mutually exclusive choices
  3529. (HETEROSEXUAL/HOMOSEXUAL). Columns of check boxes would enable us to select
  3530. the things that we wanted in our life (GET MARRIED/WRITE GREAT AMERICAN
  3531. NOVEL) and for more complicated options we could fill in little text boxes
  3532. (NUMBER OF DAUGHTERS: NUMBER OF SONS:).
  3533.  
  3534. Even this user interface would begin to look awfully complicated after a
  3535. while, with so many choices, and so many hidden interactions between
  3536. choices. It could become damn near unmanageable--the blinking twelve
  3537. problem all over again. The people who brought us this operating system
  3538. would have to provide templates and wizards, giving us a few default lives
  3539. that we could use as starting places for designing our own. Chances are
  3540. that these default lives would actually look pretty damn good to most
  3541. people, good enough, anyway, that they'd be reluctant to tear them open and
  3542. mess around with them for fear of making them worse. So after a few
  3543. releases the software would begin to look even simpler: you would boot it
  3544. up and it would present you with a dialog box with a single large button in
  3545. the middle labeled: LIVE. Once you had clicked that button, your life would
  3546. begin. If anything got out of whack, or failed to meet your expectations,
  3547. you could complain about it to Microsoft's Customer Support Department. If
  3548. you got a flack on the line, he or she would tell you that your life was
  3549. actually fine, that there was not a thing wrong with it, and in any event
  3550. it would be a lot better after the next upgrade was rolled out. But if you
  3551. persisted, and identified yourself as Advanced, you might get through to an
  3552. actual engineer.
  3553.  
  3554. What would the engineer say, after you had explained your problem, and
  3555. enumerated all of the dissatisfactions in your life? He would probably tell
  3556. you that life is a very hard and complicated thing; that no interface can
  3557. change that; that anyone who believes otherwise is a sucker; and that if
  3558. you don't like having choices made for you, you should start making your
  3559. own.
  3560.  
  3561. Copyright 1999 by Neal Stephenson
  3562.  
  3563. 1999 The Hearst Corporation
  3564.  
  3565.