Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

haven't even read this yet but

2 views
Skip to first unread message

dan fisher

unread,
May 20, 1999, 3:00:00 AM5/20/99
to
I know it's the juice - it's by neal stephenson - the inventor of snow
crash - the book which was a complete trip and had techy nerdy geeks like
smoke shouting down phone lines to other techy nerdy types -

like he wrote - snow crash - which is just a
BLAST!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diamond age - which is a slower more analytical BLAST

his new novel has alan turing as the main character - like fucking alan
turing - the man who broke the code that spotted the submarines that bloke
the blockade that won the war

alan turing who was the most brilliant misunderstood embittered embattled
source systems person - who also happened to be gay - and was crucified by
the british establishment while his mi5 colleagues looked on.

he ate a poisoned apple which he took to be symbolic of his life

he wrote "alan turing says machines think - alan turing lies with men -
therefore machines do not think". they fucking crucified him. they made
him take suppressant drugs to suppress his supposedly unnatural activities.
These changed his body to such an extent that he got depressed and.

he was a beautiful person. One of his first philosophical essays was to
the mother of his best friend who died - he wanted to reassure her that his
friend was still around - so he tried to prove to her that there IS life
after death, and she needn't worry - her son is still around. Thats what
he was like - he used his creative intelligence for the power of good - he
virtually drove himself to a nervous breakdown cracking the enigma naval
code - he DID shorten the war.

the british establishment crucified him because he was gay. that's what my
country can be like. sometimes I'm not at all proud. I want to visit his
grave someday.

guy looks at society like he looks at software

C R Y P T O N O M I C O N

In the Beginning was the Command Line

by Neal Stephenson

About twenty years ago Jobs and Wozniak, the founders of Apple, came up with
the very strange idea of selling information processing machines for use in
the home. The business took off, and its founders made a lot of money and
received the credit they deserved for being daring visionaries. But around
the same time, Bill Gates and Paul Allen came up with an idea even stranger
and more fantastical: selling computer operating systems. This was much
weirder than the idea of Jobs and Wozniak. A computer at least had some sort
of physical reality to it. It came in a box, you could open it up and plug
it in and watch lights blink. An operating system had no tangible
incarnation at all. It arrived on a disk, of course, but the disk was, in
effect, nothing more than the box that the OS came in. The product itself
was a very long string of ones and zeroes that, when properly installed and
coddled, gave you the ability to manipulate other very long strings of ones
and zeroes. Even those few who actually understood what a computer operating
system was were apt to think of it as a fantastically arcane engineering
prodigy, like a breeder reactor or a U-2 spy plane, and not something that
could ever be (in the parlance of high-tech) "productized." Yet now the
company that Gates and Allen founded is selling operating systems like
Gillette sells razor blades. New releases of operating systems are launched
as if they were Hollywood blockbusters, with celebrity endorsements, talk
show appearances, and world tours. The market for them is vast enough that
people worry about whether it has been monopolized by one company. Even the
least technically-minded people in our society now have at least a hazy idea
of what operating systems do; what is more, they have strong opinions about
their relative merits. It is commonly understood, even by technically
unsophisticated computer users, that if you have a piece of software that
works on your Macintosh, and you move it over onto a Windows machine, it
will not run. That this would, in fact, be a laughable and idiotic mistake,
like nailing horseshoes to the tires of a Buick. A person who went into a
coma before Microsoft was founded, and woke up now, could pick up this
morning's New York Times and understand everything in it--almost:  


Item: the richest man in the world made his fortune from-what? Railways?
Shipping? Oil? No, operating systems.


Item: the Department of Justice is tackling Microsoft's supposed OS monopoly
with legal tools that were invented to restrain the power of
Nineteenth-Century robber barons.


Item: a woman friend of mine recently told me that she'd broken off a
(hitherto) stimulating exchange of e-mail with a young man. At first he had
seemed like such an intelligent and interesting guy, she said, but then "he
started going all PC-versus-Mac on me."

What the hell is going on here? And does the operating system business have
a future, or only a past? Here is my view, which is entirely subjective; but
since I have spent a fair amount of time not only using, but programming,
Macintoshes, Windows machines, Linux boxes and the BeOS, perhaps it is not
so ill-informed as to be completely worthless. This is a subjective essay,
more review than research paper, and so it might seem unfair or biased
compared to the technical reviews you can find in PC magazines. But ever
since the Mac came out, our operating systems have been based on metaphors,
and anything with metaphors in it is fair game as far as I'm concerned.
 

MGBs, TANKS, AND BATMOBILES Around the time that Jobs, Wozniak, Gates, and
Allen were dreaming up these unlikely schemes, I was a teenager living in
Ames, Iowa. One of my friends' dads had an old MGB sports car rusting away
in his garage. Sometimes he would actually manage to get it running and then
he would take us for a spin around the block, with a memorable look of wild
youthful exhiliration on his face; to his worried passengers, he was a
madman, stalling and backfiring around Ames, Iowa and eating the dust of
rusty Gremlins and Pintos, but in his own mind he was Dustin Hoffman tooling
across the Bay Bridge with the wind in his hair. In retrospect, this was
telling me two things about people's relationship to technology. One was
that romance and image go a long way towards shaping their opinions. If you
doubt it (and if you have a lot of spare time on your hands) just ask anyone
who owns a Macintosh and who, on those grounds, imagines him- or herself to
be a member of an oppressed minority group. The other, somewhat subtler
point, was that interface is very important. Sure, the MGB was a lousy car
in almost every way that counted: balky, unreliable, underpowered. But it
was fun to drive. It was responsive. Every pebble on the road was felt in
the bones, every nuance in the pavement transmitted instantly to the
driver's hands. He could listen to the engine and tell what was wrong with
it. The steering responded immediately to commands from his hands. To us
passengers it was a pointless exercise in going nowhere--about as
interesting as peering over someone's shoulder while he punches numbers into
a spreadsheet. But to the driver it was an experience. For a short time he
was extending his body and his senses into a larger realm, and doing things
that he couldn't do unassisted. The analogy between cars and operating
systems is not half bad, and so let me run with it for a moment, as a way of
giving an executive summary of our situation today. Imagine a crossroads
where four competing auto dealerships are situated. One of them (Microsoft)
is much, much bigger than the others. It started out years ago selling
three-speed bicycles (MS-DOS); these were not perfect, but they worked, and
when they broke you could easily fix them. There was a competing bicycle
dealership next door (Apple) that one day began selling motorized
vehicles--expensive but attractively styled cars with their innards
hermetically sealed, so that how they worked was something of a mystery. The
big dealership responded by rushing a moped upgrade kit (the original
Windows) onto the market. This was a Rube Goldberg contraption that, when
bolted onto a three-speed bicycle, enabled it to keep up, just barely, with
Apple-cars. The users had to wear goggles and were always picking bugs out
of their teeth while Apple owners sped along in hermetically sealed comfort,
sneering out the windows. But the Micro-mopeds were cheap, and easy to fix
compared with the Apple-cars, and their market share waxed. Eventually the
big dealership came out with a full-fledged car: a colossal station wagon
(Windows 95). It had all the aesthetic appeal of a Soviet worker housing
block, it leaked oil and blew gaskets, and it was an enormous success. A
little later, they also came out with a hulking off-road vehicle intended
for industrial users (Windows NT) which was no more beautiful than the
station wagon, and only a little more reliable. Since then there has been a
lot of noise and shouting, but little has changed. The smaller dealership
continues to sell sleek Euro-styled sedans and to spend a lot of money on
advertising campaigns. They have had GOING OUT OF BUSINESS! signs taped up
in their windows for so long that they have gotten all yellow and curly. The
big one keeps making bigger and bigger station wagons and ORVs. On the other
side of the road are two competitors that have come along more recently. One
of them (Be, Inc.) is selling fully operational Batmobiles (the BeOS). They
are more beautiful and stylish even than the Euro-sedans, better designed,
more technologically advanced, and at least as reliable as anything else on
the market--and yet cheaper than the others. With one exception, that is:
Linux, which is right next door, and which is not a business at all. It's a
bunch of RVs, yurts, tepees, and geodesic domes set up in a field and
organized by consensus. The people who live there are making tanks. These
are not old-fashioned, cast-iron Soviet tanks; these are more like the M1
tanks of the U.S. Army, made of space-age materials and jammed with
sophisticated technology from one end to the other. But they are better than
Army tanks. They've been modified in such a way that they never, ever break
down, are light and maneuverable enough to use on ordinary streets, and use
no more fuel than a subcompact car. These tanks are being cranked out, on
the spot, at a terrific pace, and a vast number of them are lined up along
the edge of the road with keys in the ignition. Anyone who wants can simply
climb into one and drive it away for free. Customers come to this crossroads
in throngs, day and night. Ninety percent of them go straight to the biggest
dealership and buy station wagons or off-road vehicles. They do not even
look at the other dealerships. Of the remaining ten percent, most go and buy
a sleek Euro-sedan, pausing only to turn up their noses at the philistines
going to buy the station wagons and ORVs. If they even notice the people on
the opposite side of the road, selling the cheaper, technically superior
vehicles, these customers deride them cranks and half-wits. The Batmobile
outlet sells a few vehicles to the occasional car nut who wants a second
vehicle to go with his station wagon, but seems to accept, at least for now,
that it's a fringe player. The group giving away the free tanks only stays
alive because it is staffed by volunteers, who are lined up at the edge of
the street with bullhorns, trying to draw customers' attention to this
incredible situation. A typical conversation goes something like this:
Hacker with bullhorn: "Save your money! Accept one of our free tanks! It is
invulnerable, and can drive across rocks and swamps at ninety miles an hour
while getting a hundred miles to the gallon!" Prospective station wagon
buyer: "I know what you say is true...but...er...I don't know how to
maintain a tank!" Bullhorn: "You don't know how to maintain a station wagon
either!" Buyer: "But this dealership has mechanics on staff. If something
goes wrong with my station wagon, I can take a day off work, bring it here,
and pay them to work on it while I sit in the waiting room for hours,
listening to elevator music." Bullhorn: "But if you accept one of our free
tanks we will send volunteers to your house to fix it for free while you
sleep!" Buyer: "Stay away from my house, you freak!" Bullhorn: "But..."
Buyer: "Can't you see that everyone is buying station wagons?"  

BIT-FLINGER

The connection between cars, and ways of interacting with computers,
wouldn't have occurred to me at the time I was being taken for rides in that
MGB. I had signed up to take a computer programming class at Ames High
School. After a few introductory lectures, we students were granted
admission into a tiny room containing a teletype, a telephone, and an
old-fashioned modem consisting of a metal box with a pair of rubber cups on
the top (note: many readers, making their way through that last sentence,
probably felt an initial pang of dread that this essay was about to turn
into a tedious, codgerly reminiscence about how tough we had it back in the
old days; rest assured that I am actually positioning my pieces on the
chessboard, as it were, in preparation to make a point about truly hip and
up-to-the minute topics like Open Source Software). The teletype was exactly
the same sort of machine that had been used, for decades, to send and
receive telegrams. It was basically a loud typewriter that could only
produce UPPERCASE LETTERS. Mounted to one side of it was a smaller machine
with a long reel of paper tape on it, and a clear plastic hopper underneath.
In order to connect this device (which was not a computer at all) to the
Iowa State University mainframe across town, you would pick up the phone,
dial the computer's number, listen for strange noises, and then slam the
handset down into the rubber cups. If your aim was true, one would wrap its
neoprene lips around the earpiece and the other around the mouthpiece,
consummating a kind of informational soixante-neuf.  The teletype would
shudder as it was possessed by the spirit of the distant mainframe, and
begin to hammer out cryptic messages. Since computer time was a scarce
resource, we used a sort of batch processing technique. Before dialing the
phone, we would turn on the tape puncher (a subsidiary machine bolted to the
side of the teletype) and type in our programs. Each time we depressed a
key, the teletype would bash out a letter on the paper in front of us, so we
could read what we'd typed; but at the same time it would convert the letter
into a set of eight binary digits, or bits, and punch a corresponding
pattern of holes across the width of a paper tape. The tiny disks of paper
knocked out of the tape would flutter down into the clear plastic hopper,
which would slowly fill up what can only be described as actual bits. On the
last day of the school year, the smartest kid in the class (not me) jumped
out from behind his desk and flung several quarts of these bits over the
head of our teacher, like confetti, as a sort of semi-affectionate practical
joke. The image of this man sitting there, gripped in the opening stages of
an atavistic fight-or-flight reaction, with millions of bits (megabytes)
sifting down out of his hair and into his nostrils and mouth, his face
gradually turning purple as he built up to an explosion, is the single most
memorable scene from my formal education. Anyway, it will have been obvious
that my interaction with the computer was of an extremely formal nature,
being sharply divided up into different phases, viz.: (1) sitting at home
with paper and pencil, miles and miles from any computer, I would think
very, very hard about what I wanted the computer to do, and translate my
intentions into a computer language--a series of alphanumeric symbols on a
page. (2) I would carry this across a sort of informational cordon sanitaire
(three miles of snowdrifts) to school and type those letters into a
machine--not a computer--which would convert the symbols into binary numbers
and record them visibly on a tape. (3) Then, through the rubber-cup modem, I
would cause those numbers to be sent to the university mainframe, which
would (4) do arithmetic on them and send different numbers back to the
teletype. (5) The teletype would convert these numbers back into letters and
hammer them out on a page and (6) I, watching, would construe the letters as
meaningful symbols. The division of responsibilities implied by all of this
is admirably clean: computers do arithmetic on bits of information. Humans
construe the bits as meaningful symbols. But this distinction is now being
blurred, or at least complicated, by the advent of modern operating systems
that use, and frequently abuse, the power of metaphor to make computers
accessible to a larger audience. Along the way--possibly because of those
metaphors, which make an operating system a sort of work of art--people
start to get emotional, and grow attached to pieces of software in the way
that my friend's dad did to his MGB. People who have only interacted with
computers through graphical user interfaces like the MacOS or Windows--which
is to say, almost everyone who has ever used a computer--may have been
startled, or at least bemused, to hear about the telegraph machine that I
used to communicate with a computer in 1973. But there was, and is, a good
reason for using this particular kind of technology. Human beings have
various ways of communicating to each other, such as music, art, dance, and
facial expressions, but some of these are more amenable than others to being
expressed as strings of symbols. Written language is the easiest of all,
because, of course, it consists of strings of symbols to begin with. If the
symbols happen to belong to a phonetic alphabet (as opposed to, say,
ideograms), converting them into bits is a trivial procedure, and one that
was nailed, technologically, in the early nineteenth century, with the
introduction of Morse code and other forms of telegraphy. We had a
human/computer interface a hundred years before we had computers. When
computers came into being around the time of the Second World War, humans,
quite naturally, communicated with them by simply grafting them on to the
already-existing technologies for translating letters into bits and vice
versa: teletypes and punch card machines. These embodied two fundamentally
different approaches to computing. When you were using cards, you'd punch a
whole stack of them and run them through the reader all at once, which was
called batch processing. You could also do batch processing with a teletype,
as I have already described, by using the paper tape reader, and we were
certainly encouraged to use this approach when I was in high school.
But--though efforts were made to keep us unaware of this--the teletype could
do something that the card reader could not. On the teletype, once the modem
link was established, you could just type in a line and hit the return key.
The teletype would send that line to the computer, which might or might not
respond with some lines of its own, which the teletype would hammer
out--producing, over time, a transcript of your exchange with the machine.
This way of doing it did not even have a name at the time, but when, much
later, an alternative became available, it was retroactively dubbed the
Command Line Interface. When I moved on to college, I did my computing in
large, stifling rooms where scores of students would sit in front of
slightly updated versions of the same machines and write computer programs:
these used dot-matrix printing mechanisms, but were (from the computer's
point of view) identical to the old teletypes. By that point, computers were
better at time-sharing--that is, mainframes were still mainframes, but they
were better at communicating with a large number of terminals at once.
Consequently, it was no longer necessary to use batch processing. Card
readers were shoved out into hallways and boiler rooms, and batch processing
became a nerds-only kind of thing, and consequently took on a certain
eldritch flavor among those of us who even knew it existed. We were all off
the Batch, and on the Command Line, interface now--my very first shift in
operating system paradigms, if only I'd known it. A huge stack of
accordion-fold paper sat on the floor underneath each one of these glorified
teletypes, and miles of paper shuddered through their platens. Almost all of
this paper was thrown away or recycled without ever having been touched by
ink--an ecological atrocity so glaring that those machines soon replaced by
video terminals--so-called "glass teletypes"--which were quieter and didn't
waste paper. Again, though, from the computer's point of view these were
indistinguishable from World War II-era teletype machines. In effect we
still used Victorian technology to communicate with computers until about
1984, when the Macintosh was introduced with its Graphical User Interface.
Even after that, the Command Line continued to exist as an underlying
stratum--a sort of brainstem reflex--of many modern computer systems all
through the heyday of Graphical User Interfaces, or GUIs as I will call them
from now on.  

GUIs

Now the first job that any coder needs to do when writing a new piece of
software is to figure out how to take the information that is being worked
with (in a graphics program, an image; in a spreadsheet, a grid of numbers)
and turn it into a linear string of bytes. These strings of bytes are
commonly called files or (somewhat more hiply) streams. They are to
telegrams what modern humans are to Cro-Magnon man, which is to say the same
thing under a different name. All that you see on your computer screen--your
Tomb Raider, your digitized voice mail messages, faxes, and word processing
documents written in thirty-seven different typefaces--is still, from the
computer's point of view, just like telegrams, except much longer, and
demanding of more arithmetic. The quickest way to get a taste of this is to
fire up your web browser, visit a site, and then select the View/Document
Source menu item. You will get a bunch of computer code that looks something
like this:

<HTML>

<HEAD>

<TITLE>Welcome to the Avon Books Homepage</TITLE> </HEAD>

<MAP NAME="left0199"> تتتتت<AREA SHAPE="rect" COORDS="16,56,111,67"
HREF="/bard/"> تتتتت<AREA SHAPE="rect" COORDS="14,77,111,89" HREF="/eos/">
تتتتت<AREA SHAPE="rect" COORDS="17,98,112,110" HREF="/twilight/"> تتتتت<AREA
SHAPE="rect" COORDS="18,119,112,131"
HREF="/avon_user/category.html?category_id=271"> تتتتت<AREA SHAPE="rect"
COORDS="19,140,112,152" HREF="http://www.goners.com/"> تتتتت<AREA
SHAPE="rect" COORDS="18,161,111,173" HREF="http://www.spikebooks.com/">
تتتتت<AREA SHAPE="rect" COORDS="2,181,112,195"
HREF="/avon_user/category.html?category_id=277"> تتتتت<AREA SHAPE="rect"
COORDS="9,203,112,216" HREF="/chathamisland/"> تتتتت<AREA SHAPE="rect"
COORDS="7,223,112,236" HREF="/avon_user/search.html"> </MAP>

<BODY TEXT="#478CFF" LINK="#FFFFFF" VLINK="#000000" ALINK="#478CFF"
BGCOLOR="#003399"> <TABLE BORDER="0" WIDTH="600" CELLPADDING="0"
CELLSPACING="0">

<TR VALIGN=TOP>

تتتتت<TD ROWSPAN="3"> تتتتت<A
HREF="/cgi-bin/imagemap/maps/left.gif.map"><IMG
SRC="/avon/images/home/nav/left0199.gif" WIDTH="113" HEIGHT="280" BORDER="0"
USEMAP="#left0199"></A></TD><TD ROWSPAN="3"><IMG
SRC="/avon/images/home/homepagejan98/2ndleft.gif" WIDTH="144" HEIGHT="280"
BORDER="0"></TD><TD><A HREF="/avon/about.html"><IMG
SRC="/avon/images/home/homepagejan98/aboutavon.gif" ALT="About Avon Books"
WIDTH="199" HEIGHT="44" BORDER="0"></A></TD><TD ROWSPAN="3"><A
HREF="/avon/fiction/guides.html"><IMG
SRC="/avon/images/home/feb98/right1.gif" ALT="Reading Groups" WIDTH="165"
HEIGHT="121" BORDER="0"></A><BR><A
HREF="/avon/feature/feb99/crook.html"><IMG
SRC="/avon/images/home/feb99/crook_text.gif" ALT="The Crook Factory"
WIDTH="165" HEIGHT="96" BORDER="0"></A><BR><A
HREF="http://apps.hearstnewmedia.com/cgi-bin/gx.cgi/AppLogic+APPSSURVEYS
Questionnaire?domain_id=182&survey_id=541"><IMG
SRC="/avon/images/home/feb99/env_text.gif" ALT="The Envelope Please"
WIDTH="165" HEIGHT="63" BORDER="0"></A></TD> </TR>

<TR VALIGN=TOP><TD><IMG SRC="/avon/images/home/feb98/main.gif" WIDTH="199"
HEIGHT="182" BORDER="0"></TD></TR><TR VALIGN=TOP><TD><A
HREF="/avon/feature/jan99/sitchin.html"><IMG
SRC="/avon/images/home/jan99/sitchin_text.gif" WIDTH="199" HEIGHT="54"
BORDER="0"></A></TD></TR><TR VALIGN=TOP><TD COLSPAN="4"><IMG
SRC="/avon/images/home/jan99/avon_bottom_beau.gif" WIDTH="622" HEIGHT="179"
BORDER="0" USEMAP="#bottom"></TD></TR><TR><TD ALIGN=CENTER VALIGN=TOP
COLSPAN="4"><FONT SIZE="2" FACE="ARIAL,COURIER"><PRE>


</PRE><A HREF="/avon/ordering.html">How to order</A> | <A
HREF="/avon/faq.html#manu">How to submit a Manuscript</A> | <A
HREF="mailto:avo...@hearst.com">Contact us</A> | <A
HREF="/avon/policy.html">Privacy Policy</A></FONT>

<P> </FONT></TD>

</TR>

</TABLE>

</BODY>

</HTML>

This crud is called HTML (HyperText Markup Language) and it is basically a
very simple programming language instructing your web browser how to draw a
page on a screen. Anyone can learn HTML and many people do. The important
thing is that no matter what splendid multimedia web pages they might
represent, HTML files are just telegrams. When Ronald Reagan was a radio
announcer, he used to call baseball games by reading the terse descriptions
that trickled in over the telegraph wire and were printed out on a paper
tape. He would sit there, all by himself in a padded room with a microphone,
and the paper tape would eke out of the machine and crawl over the palm of
his hand printed with cryptic abbreviations. If the count went to three and
two, Reagan would describe the scene as he saw it in his mind's eye: "The
brawny left-hander steps out of the batter's box to wipe the sweat from his
brow. The umpire steps forward to sweep the dirt from home plate." and so
on. When the cryptogram on the paper tape announced a base hit, he would
whack the edge of the table with a pencil, creating a little sound effect,
and describe the arc of the ball as if he could actually see it. His
listeners, many of whom presumably thought that Reagan was actually at the
ballpark watching the game, would reconstruct the scene in their minds
according to his descriptions. This is exactly how the World Wide Web works:
the HTML files are the pithy description on the paper tape, and your Web
browser is Ronald Reagan. The same is true of Graphical User Interfaces in g
eneral. So an OS is a stack of metaphors and abstractions that stands
between you and the telegrams, and embodying various tricks the programmer
used to convert the information you're working with--be it images, e-mail
messages, movies, or word processing documents--into the necklaces of bytes
that are the only things computers know how to work with. When we used
actual telegraph equipment (teletypes) or their higher-tech substitutes
("glass teletypes," or the MS-DOS command line) to work with our computers,
we were very close to the bottom of that stack. When we use most modern
operating systems, though, our interaction with the machine is heavily
mediated. Everything we do is interpreted and translated time and again as
it works its way down through all of the metaphors and abstractions. The
Macintosh OS was a revolution in both the good and bad senses of that word.
Obviously it was true that command line interfaces were not for everyone,
and that it would be a good thing to make computers more accessible to a
less technical audience--if not for altruistic reasons, then because those
sorts of people constituted an incomparably vaster market. It was clear the
the Mac's engineers saw a whole new country stretching out before them; you
could almost hear them muttering, "Wow! We don't have to be bound by files
as linear streams of bytes anymore, vive la revolution, let's see how far we
can take this!" No command line interface was available on the Macintosh;
you talked to it with the mouse, or not at all. This was a statement of
sorts, a credential of revolutionary purity. It seemed that the designers of
the Mac intended to sweep Command Line Interfaces into the dustbin of
history. My own personal love affair with the Macintosh began in the spring
of 1984 in a computer store in Cedar Rapids, Iowa, when a friend of
mine--coincidentally, the son of the MGB owner--showed me a Macintosh
running MacPaint, the revolutionary drawing program. It ended in July of
1995 when I tried to save a big important file on my Macintosh Powerbook and
instead instead of doing so, it annihilated the data so thoroughly that two
different disk crash utility programs were unable to find any trace that it
had ever existed. During the intervening ten years, I had a passion for the
MacOS that seemed righteous and reasonable at the time but in retrospect
strikes me as being exactly the same sort of goofy infatuation that my
friend's dad had with his car. The introduction of the Mac triggered a sort
of holy war in the computer world. Were GUIs a brilliant design innovation
that made computers more human-centered and therefore accessible to the
masses, leading us toward an unprecedented revolution in human society, or
an insulting bit of audiovisual gimcrackery dreamed up by flaky Bay Area
hacker types that stripped computers of their power and flexibility and
turned the noble and serious work of computing into a childish video game?
This debate actually seems more interesting to me today than it did in the
mid-1980s. But people more or less stopped debating it when Microsoft
endorsed the idea of GUIs by coming out with the first Windows. At this
point, command-line partisans were relegated to the status of silly old
grouches, and a new conflict was touched off, between users of MacOS and
users of Windows. There was plenty to argue about. The first Macintoshes
looked different from other PCs even when they were turned off: they
consisted of one box containing both CPU (the part of the computer that does
arithmetic on bits) and monitor screen. This was billed, at the time, as a
philosophical statement of sorts: Apple wanted to make the personal computer
into an appliance, like a toaster. But it also reflected the purely
technical demands of running a graphical user interface. In a GUI machine,
the chips that draw things on the screen have to be integrated with the
computer's central processing unit, or CPU, to a far greater extent than is
the case with command-line interfaces, which until recently didn't even know
that they weren't just talking to teletypes. This distinction was of a
technical and abstract nature, but it became clearer when the machine
crashed (it is commonly the case with technologies that you can get the best
insight about how they work by watching them fail). When everything went to
hell and the CPU began spewing out random bits, the result, on a CLI
machine, was lines and lines of perfectly formed but random characters on
the screen--known to cognoscenti as "going Cyrillic." But to the MacOS, the
screen was not a teletype, but a place to put graphics; the image on the
screen was a bitmap, a literal rendering of the contents of a particular
portion of the computer's memory. When the computer crashed and wrote
gibberish into the bitmap, the result was something that looked vaguely like
static on a broken television set--a "snow crash." And even after the
introduction of Windows, the underlying differences endured; when a Windows
machine got into trouble, the old command-line interface would fall down
over the GUI like an asbestos fire curtain sealing off the proscenium of a
burning opera. When a Macintosh got into trouble it presented you with a
cartoon of a bomb, which was funny the first time you saw it. And these were
by no means superficial differences. The reversion of Windows to a CLI when
it was in distress proved to Mac partisans that Windows was nothing more
than a cheap facade, like a garish afghan flung over a rotted-out sofa. They
were disturbed and annoyed by the sense that lurking underneath Windows'
ostensibly user-friendly interface was--literally--a subtext. For their
part, Windows fans might have made the sour observation that all computers,
even Macintoshes, were built on that same subtext, and that the refusal of
Mac owners to admit that fact to themselves seemed to signal a willingness,
almost an eagerness, to be duped. Anyway, a Macintosh had to switch
individual bits in the memory chips on the video card, and it had to do it
very fast, and in arbitrarily complicated patterns. Nowadays this is cheap
and easy, but in the technological regime that prevailed in the early 1980s,
the only realistic way to do it was to build the motherboard (which
contained the CPU) and the video system (which contained the memory that was
mapped onto the screen) as a tightly integrated whole--hence the single,
hermetically sealed case that made the Macintosh so distinctive. When
Windows came out, it was conspicuous for its ugliness, and its current
successors, Windows 95 and Windows NT, are not things that people would pay
money to look at either. Microsoft's complete disregard for aesthetics gave
all of us Mac-lovers plenty of opportunities to look down our noses at them.
That Windows looked an awful lot like a direct ripoff of MacOS gave us a
burning sense of moral outrage to go with it. Among people who really knew
and appreciated computers (hackers, in Steven Levy's non-pejorative sense of
that word) and in a few other niches such as professional musicians, graphic
artists and schoolteachers, the Macintosh, for a while, was simply the
computer. It was seen as not only a superb piece of engineering, but an
embodiment of certain ideals about the use of technology to benefit mankind,
while Windows was seen as a pathetically clumsy imitation and a sinister
world domination plot rolled into one. So very early, a pattern had been
established that endures to this day: people dislike Microsoft, which is
okay; but they dislike it for reasons that are poorly considered, and in the
end, self-defeating. &nbsp;

CLASS STRUGGLE ON THE DESKTOP Now that the Third Rail has been firmly
grasped, it is worth reviewing some basic facts here: like any other
publicly traded, for-profit corporation, Microsoft has, in effect, borrowed
a bunch of money from some people (its stockholders) in order to be in the
bit business. As an officer of that corporation, Bill Gates has one
responsibility only, which is to maximize return on investment. He has done
this incredibly well. Any actions taken in the world by Microsoft-any
software released by them, for example--are basically epiphenomena, which
can't be interpreted or understood except insofar as they reflect Bill
Gates's execution of his one and only responsibility. It follows that if
Microsoft sells goods that are aesthetically unappealing, or that don't work
very well, it does not mean that they are (respectively) philistines or
half-wits. It is because Microsoft's excellent management has figured out
that they can make more money for their stockholders by releasing stuff with
obvious, known imperfections than they can by making it beautiful or
bug-free. This is annoying, but (in the end) not half so annoying as
watching Apple inscrutably and relentlessly destroy itself. Hostility
towards Microsoft is not difficult to find on the Net, and it blends two
strains: resentful people who feel Microsoft is too powerful, and disdainful
people who think it's tacky. This is all strongly reminiscent of the heyday
of Communism and Socialism, when the bourgeoisie were hated from both ends:
by the proles, because they had all the money, and by the intelligentsia,
because of their tendency to spend it on lawn ornaments. Microsoft is the
very embodiment of modern high-tech prosperity--it is, in a word,
bourgeois--and so it attracts all of the same gripes. The opening "splash
screen" for Microsoft Word 6.0 summed it up pretty neatly: when you started
up the program you were treated to a picture of an expensive enamel pen
lying across a couple of sheets of fancy-looking handmade writing paper. It
was obviously a bid to make the software look classy, and it might have
worked for some, but it failed for me, because the pen was a ballpoint, and
I'm a fountain pen man. If Apple had done it, they would've used a Mont
Blanc fountain pen, or maybe a Chinese calligraphy brush. And I doubt that
this was an accident. Recently I spent a while re-installing Windows NT on
one of my home computers, and many times had to double-click on the "Control
Panel" icon. For reasons that are difficult to fathom, this icon consists of
a picture of a clawhammer and a chisel or screwdriver resting on top of a
file folder. These aesthetic gaffes give one an almost uncontrollable urge
to make fun of Microsoft, but again, it is all beside the point--if
Microsoft had done focus group testing of possible alternative graphics,
they probably would have found that the average mid-level office worker
associated fountain pens with effete upper management toffs and was more
comfortable with ballpoints. Likewise, the regular guys, the balding dads of
the world who probably bear the brunt of setting up and maintaining home
computers, can probably relate better to a picture of a clawhammer--while
perhaps harboring fantasies of taking a real one to their balky computers.
This is the only way I can explain certain peculiar facts about the current
market for operating systems, such as that ninety percent of all customers
continue to buy station wagons off the Microsoft lot while free tanks are
there for the taking, right across the street. A string of ones and zeroes
was not a difficult thing for Bill Gates to distribute, one he'd thought of
the idea. The hard part was selling it--reassuring customers that they were
actually getting something in return for their money. Anyone who has ever
bought a piece of software in a store has had the curiously deflating
experience of taking the bright shrink-wrapped box home, tearing it open,
finding that it's 95 percent air, throwing away all the little cards, party
favors, and bits of trash, and loading the disk into the computer. The end
result (after you've lost the disk) is nothing except some images on a
computer screen, and some capabilities that weren't there before. Sometimes
you don't even have that--you have a string of error messages instead. But
your money is definitely gone. Now we are almost accustomed to this, but
twenty years ago it was a very dicey business proposition. Bill Gates made
it work anyway. He didn't make it work by selling the best software or
offering the cheapest price. Instead he somehow got people to believe that
they were receiving something in exchange for their money. The streets of
every city in the world are filled with those hulking, rattling station
wagons. Anyone who doesn't own one feels a little weird, and wonders, in
spite of himself, whether it might not be time to cease resistance and buy
one; anyone who does, feels confident that he has acquired some meaningful
possession, even on those days when the vehicle is up on a lift in an auto
repair shop. All of this is perfectly congruent with membership in the
bourgeoisie, which is as much a mental, as a material state. And it explains
why Microsoft is regularly attacked, on the Net, from both sides. People who
are inclined to feel poor and oppressed construe everything Microsoft does
as some sinister Orwellian plot. People who like to think of themselves as
intelligent and informed technology users are driven crazy by the clunkiness
of Windows. Nothing is more annoying to sophisticated people to see someone
who is rich enough to know better being tacky--unless it is to realize, a
moment later, that they probably know they are tacky and they simply don't
care and they are going to go on being tacky, and rich, and happy, forever.
Microsoft therefore bears the same relationship to the Silicon Valley elite
as the Beverly Hillbillies did to their fussy banker, Mr. Drysdale--who is
irritated not so much by the fact that the Clampetts moved to his
neighborhood as by the knowledge that, when Jethro is seventy years old,
he's still going to be talking like a hillbilly and wearing bib overalls,
and he's still going to be a lot richer than Mr. Drysdale. Even the hardware
that Windows ran on, when compared to the machines put out by Apple, looked
like white-trash stuff, and still mostly does. The reason was that Apple was
and is a hardware company, while Microsoft was and is a software company.
Apple therefore had a monopoly on hardware that could run MacOS, whereas
Windows-compatible hardware came out of a free market. The free market seems
to have decided that people will not pay for cool-looking computers; PC
hardware makers who hire designers to make their stuff look distinctive get
their clocks cleaned by Taiwanese clone makers punching out boxes that look
as if they belong on cinderblocks in front of someone's trailer. But Apple
could make their hardware as pretty as they wanted to and simply pass the
higher prices on to their besotted consumers, like me. Only last week (I am
writing this sentence in early Jan. 1999) the technology sections of all the
newspapers were filled with adulatory press coverage of how Apple had
released the iMac in several happenin' new colors like Blueberry and
Tangerine. Apple has always insisted on having a hardware monopoly, except
for a brief period in the mid-1990s when they allowed clone-makers to
compete with them, before subsequently putting them out of business.
Macintosh hardware was, consequently, expensive. You didn't open it up and
fool around with it because doing so would void the warranty. In fact the
first Mac was specifically designed to be difficult to open--you needed a
kit of exotic tools, which you could buy through little ads that began to
appear in the back pages of magazines a few months after the Mac came out on
the market. These ads always had a certain disreputable air about them, like
pitches for lock-picking tools in the backs of lurid detective magazines.
This monopolistic policy can be explained in at least three different ways.
THE CHARITABLE EXPLANATION is that the hardware monopoly policy reflected a
drive on Apple's part to provide a seamless, unified blending of hardware,
operating system, and software. There is something to this. It is hard
enough to make an OS that works well on one specific piece of hardware,
designed and tested by engineers who work down the hallway from you, in the
same company. Making an OS to work on arbitrary pieces of hardware, cranked
out by rabidly entrepeneurial clonemakers on the other side of the
International Date Line, is very difficult, and accounts for much of the
troubles people have using Windows. THE FINANCIAL EXPLANATION is that Apple,
unlike Microsoft, is and always has been a hardware company. It simply
depends on revenue from selling hardware, and cannot exist without it. THE
NOT-SO-CHARITABLE EXPLANATION has to do with Apple's corporate culture,
which is rooted in Bay Area Baby Boomdom. Now, since I'm going to talk for a
moment about culture, full disclosure is probably in order, to protect
myself against allegations of conflict of interest and ethical turpitude:
(1) Geographically I am a Seattleite, of a Saturnine temperament, and
inclined to take a sour view of the Dionysian Bay Area, just as they tend to
be annoyed and appalled by us. (2) Chronologically I am a post-Baby Boomer.
I feel that way, at least, because I never experienced the fun and exciting
parts of the whole Boomer scene--just spent a lot of time dutifully
chuckling at Boomers' maddeningly pointless anecdotes about just how stoned
they got on various occasions, and politely fielding their assertions about
how great their music was. But even from this remove it was possible to
glean certain patterns, and one that recurred as regularly as an urban
legend was the one about how someone would move into a commune populated by
sandal-wearing, peace-sign flashing flower children, and eventually discover
that, underneath this facade, the guys who ran it were actually control
freaks; and that, as living in a commune, where much lip service was paid to
ideals of peace, love and harmony, had deprived them of normal, socially
approved outlets for their control-freakdom, it tended to come out in other,
invariably more sinister, ways. Applying this to the case of Apple Computer
will be left as an exercise for the reader, and not a very difficult
exercise. It is a bit unsettling, at first, to think of Apple as a control
freak, because it is completely at odds with their corporate image. Weren't
these the guys who aired the famous Super Bowl ads showing suited,
blindfolded executives marching like lemmings off a cliff? Isn't this the
company that even now runs ads picturing the Dalai Lama (except in Hong
Kong) and Einstein and other offbeat rebels? It is indeed the same company,
and the fact that they have been able to plant this image of themselves as
creative and rebellious free-thinkers in the minds of so many intelligent
and media-hardened skeptics really gives one pause. It is testimony to the
insidious power of expensive slick ad campaigns and, perhaps, to a certain
amount of wishful thinking in the minds of people who fall for them. It also
raises the question of why Microsoft is so bad at PR, when the history of
Apple demonstrates that, by writing large checks to good ad agencies, you
can plant a corporate image in the minds of intelligent people that is
completely at odds with reality. (The answer, for people who don't like
Damoclean questions, is that since Microsoft has won the hearts and minds of
the silent majority--the bourgeoisie--they don't give a damn about having a
slick image, any more then Dick Nixon did. "I want to believe,"--the mantra
that Fox Mulder has pinned to his office wall in The X-Files--applies in
different ways to these two companies; Mac partisans want to believe in the
image of Apple purveyed in those ads, and in the notion that Macs are
somehow fundamentally different from other computers, while Windows people
want to believe that they are getting something for their money, engaging in
a respectable business transaction). In any event, as of 1987, both MacOS
and Windows were out on the market, running on hardware platforms that were
radically different from each other--not only in the sense that MacOS used
Motorola CPU chips while Windows used Intel, but in the sense--then
overlooked, but in the long run, vastly more significant--that the Apple
hardware business was a rigid monopoly and the Windows side was a churning
free-for-all. But the full ramifications of this did not become clear until
very recently--in fact, they are still unfolding, in remarkably strange
ways, as I'll explain when we get to Linux. The upshot is that millions of
people got accustomed to using GUIs in one form or another. By doing so,
they made Apple/Microsoft a lot of money. The fortunes of many people have
become bound up with the ability of these companies to continue selling
products whose salability is very much open to question. &nbsp;

HONEY-POT, TAR-PIT, WHATEVER

When Gates and Allen invented the idea of selling software, they ran into
criticism from both hackers and sober-sided businesspeople. Hackers
understood that software was just information, and objected to the idea of
selling it. These objections were partly moral. The hackers were coming out
of the scientific and academic world where it is imperative to make the
results of one's work freely available to the public. They were also partly
practical; how can you sell something that can be easily copied?
Businesspeople, who are polar opposites of hackers in so many ways, had
objections of their own. Accustomed to selling toasters and insurance
policies, they naturally had a difficult time understanding how a long
collection of ones and zeroes could constitute a salable product. Obviously
Microsoft prevailed over these objections, and so did Apple. But the
objections still exist. The most hackerish of all the hackers, the Ur-hacker
as it were, was and is Richard Stallman, who became so annoyed with the evil
practice of selling software that, in 1984 (the same year that the Macintosh
went on sale) he went off and founded something called the Free Software
Foundation, which commenced work on something called GNU. Gnu is an acronym
for Gnu's Not Unix, but this is a joke in more ways than one, because GNU
most certainly IS Unix,. Because of trademark concerns ("Unix" is
trademarked by AT&amp;T) they simply could not claim that it was Unix, and
so, just to be extra safe, they claimed that it wasn't. Notwithstanding the
incomparable talent and drive possessed by Mr. Stallman and other GNU
adherents, their project to build a free Unix to compete against Microsoft
and Apple's OSes was a little bit like trying to dig a subway system with a
teaspoon. Until, that is, the advent of Linux, which I will get to later.
But the basic idea of re-creating an operating system from scratch was
perfectly sound and completely doable. It has been done many times. It is
inherent in the very nature of operating systems. Operating systems are not
strictly necessary. There is no reason why a sufficiently dedicated coder
could not start from nothing with every project and write fresh code to
handle such basic, low-level operations as controlling the read/write heads
on the disk drives and lighting up pixels on the screen. The very first
computers had to be programmed in this way. But since nearly every program
needs to carry out those same basic operations, this approach would lead to
vast duplication of effort. Nothing is more disagreeable to the hacker than
duplication of effort. The first and most important mental habit that people
develop when they learn how to write computer programs is to generalize,
generalize, generalize. To make their code as modular and flexible as
possible, breaking large problems down into small subroutines that can be
used over and over again in different contexts. Consequently, the
development of operating systems, despite being technically unnecessary, was
inevitable. Because at its heart, an operating system is nothing more than a
library containing the most commonly used code, written once (and hopefully
written well) and then made available to every coder who needs it. So a
proprietary, closed, secret operating system is a contradiction in terms. It
goes against the whole point of having an operating system. And it is
impossible to keep them secret anyway. The source code--the original lines
of text written by the programmers--can be kept secret. But an OS as a whole
is a collection of small subroutines that do very specific, very clearly
defined jobs. Exactly what those subroutines do has to be made public, quite
explicitly and exactly, or else the OS is completely useless to programmers;
they can't make use of those subroutines if they don't have a complete and
perfect understanding of what the subroutines do. The only thing that isn't
made public is exactly how the subroutines do what they do. But once you
know what a subroutine does, it's generally quite easy (if you are a hacker)
to write one of your own that does exactly the same thing. It might take a
while, and it is tedious and unrewarding, but in most cases it's not really
hard. What's hard, in hacking as in fiction, is not writing; it's deciding
what to write. And the vendors of commercial OSes have already decided, and
published their decisions. This has been generally understood for a long
time. MS-DOS was duplicated, functionally, by a rival product, written from
scratch, called ProDOS, that did all of the same things in pretty much the
same way. In other words, another company was able to write code that did
all of the same things as MS-DOS and sell it at a profit. If you are using
the Linux OS, you can get a free program called WINE which is a windows
emulator; that is, you can open up a window on your desktop that runs
windows programs. It means that a completely functional Windows OS has been
recreated inside of Unix, like a ship in a bottle. And Unix itself, which is
vastly more sophisticated than MS-DOS, has been built up from scratch many
times over. Versions of it are sold by Sun, Hewlett-Packard, AT&amp;T,
Silicon Graphics, IBM, and others. People have, in other words, been
re-writing basic OS code for so long that all of the technology that
constituted an "operating system" in the traditional (pre-GUI) sense of that
phrase is now so cheap and common that it's literally free. Not only could
Gates and Allen not sell MS-DOS today, they could not even give it away,
because much more powerful OSes are already being given away. Even the
original Windows (which was the only windows until 1995) has become
worthless, in that there is no point in owning something that can be
emulated inside of Linux--which is, itself, free. In this way the OS
business is very different from, say, the car business. Even an old rundown
car has some value. You can use it for making runs to the dump, or strip it
for parts. It is the fate of manufactured goods to slowly and gently
depreciate as they get old and have to compete against more modern products.
But it is the fate of operating systems to become free. Microsoft is a great
software applications company. Applications--such as Microsoft Word--are an
area where innovation brings real, direct, tangible benefits to users. The
innovations might be new technology straight from the research department,
or they might be in the category of bells and whistles, but in any event
they are frequently useful and they seem to make users happy. And Microsoft
is in the process of becoming a great research company. But Microsoft is not
such a great operating systems company. And this is not necessarily because
their operating systems are all that bad from a purely technological
standpoint. Microsoft's OSes do have their problems, sure, but they are
vastly better than they used to be, and they are adequate for most people.
Why, then, do I say that Microsoft is not such a great operating systems
company? Because the very nature of operating systems is such that it is
senseless for them to be developed and owned by a specific company. It's a
thankless job to begin with. Applications create possibilities for millions
of credulous users, whereas OSes impose limitations on thousands of grumpy
coders, and so OS-makers will forever be on the shit-list of anyone who
counts for anything in the high-tech world. Applications get used by people
whose big problem is understanding all of their features, whereas OSes get
hacked by coders who are annoyed by their limitations. The OS business has
been good to Microsoft only insofar as it has given them the money they
needed to launch a really good applications software business and to hire a
lot of smart researchers. Now it really ought to be jettisoned, like a spent
booster stage from a rocket. The big question is whether Microsoft is
capable of doing this. Or is it addicted to OS sales in the same way as
Apple is to selling hardware? Keep in mind that Apple's ability to
monopolize its own hardware supply was once cited, by learned observers, as
a great advantage over Microsoft. At the time, it seemed to place them in a
much stronger position. In the end, it nearly killed them, and may kill them
yet. The problem, for Apple, was that most of the world's computer users
ended up owning cheaper hardware. But cheap hardware couldn't run MacOS, and
so these people switched to Windows. Replace "hardware" with "operating
systems," and "Apple" with "Microsoft" and you can see the same thing about
to happen all over again. Microsoft dominates the OS market, which makes
them money and seems like a great idea for now. But cheaper and better OSes
are available, and they are growingly popular in parts of the world that are
not so saturated with computers as the US. Ten years from now, most of the
world's computer users may end up owning these cheaper OSes. But these OSes
do not, for the time being, run any Microsoft applications, and so these
people will use something else. To put it more directly: every time someone
decides to use a non-Microsoft OS, Microsoft's OS division, obviously, loses
a customer. But, as things stand now, Microsoft's applications division
loses a customer too. This is not such a big deal as long as almost everyone
uses Microsoft OSes. But as soon as Windows' market share begins to slip,
the math starts to look pretty dismal for the people in Redmond. This
argument could be countered by saying that Microsoft could simply re-compile
its applications to run under other OSes. But this strategy goes against
most normal corporate instincts. Again the case of Apple is instructive.
When things started to go south for Apple, they should have ported their OS
to cheap PC hardware. But they didn't. Instead, they tried to make the most
of their brilliant hardware, adding new features and expanding the product
line. But this only had the effect of making their OS more dependent on
these special hardware features, which made it worse for them in the end.
Likewise, when Microsoft's position in the OS world is threatened, their
corporate instincts will tell them to pile more new features into their
operating systems, and then re-jigger their software applications to exploit
those special features. But this will only have the effect of making their
applications dependent on an OS with declining market share, and make it
worse for them in the end. The operating system market is a death-trap, a
tar-pit, a slough of despond. There are only two reasons to invest in Apple
and Microsoft. (1) each of these companies is in what we would call a
co-dependency relationship with their customers. The customers Want To
Believe, and Apple and Microsoft know how to give them what they want. (2)
each company works very hard to add new features to their OSes, which works
to secure customer loyalty, at least for a little while. Accordingly, most
of the remainder of this essay will be about those two topics.

THE TECHNOSPHERE Unix is the only OS remaining whose GUI (a vast suite of
code called the X Windows System) is separate from the OS in the old sense
of the phrase. This is to say that you can run Unix in pure command-line
mode if you want to, with no windows, icons, mouses, etc. whatsoever, and it
will still be Unix and capable of doing everything Unix is supposed to do.
But the other OSes: MacOS, the Windows family, and BeOS, have their GUIs
tangled up with the old-fashioned OS functions to the extent that they have
to run in GUI mode, or else they are not really running. So it's no longer
really possible to think of GUIs as being distinct from the OS; they're now
an inextricable part of the OSes that they belong to--and they are by far
the largest part, and by far the most expensive and difficult part to
create. There are only two ways to sell a product: price and features. When
OSes are free, OS companies cannot compete on price, and so they compete on
features. This means that they are always trying to outdo each other writing
code that, until recently, was not considered to be part of an OS at all:
stuff like GUIs. This explains a lot about how these companies behave. It
explains why Microsoft added a browser to their OS, for example. It is easy
to get free browsers, just as to get free OSes. If browsers are free, and
OSes are free, it would seem that there is no way to make money from
browsers or OSes. But if you can integrate a browser into the OS and thereby
imbue both of them with new features, you have a salable product. Setting
aside, for the moment, the fact that this makes government anti-trust
lawyers really mad, this strategy makes sense. At least, it makes sense if
you assume (as Microsoft's management appears to) that the OS has to be
protected at all costs. The real question is whether every new technological
trend that comes down the pike ought to be used as a crutch to maintain the
OS's dominant position. Confronted with the Web phenomenon, Microsoft had to
develop a really good web browser, and they did. But then they had a choice:
they could have made that browser work on many different OSes, which would
give Microsoft a strong position in the Internet world no matter what
happened to their OS market share. Or they could make the browser one with
the OS, gambling that this would make the OS look so modern and sexy that it
would help to preserve their dominance in that market. The problem is that
when Microsoft's OS position begins to erode (and since it is currently at
something like ninety percent, it can't go anywhere but down) it will drag
everything else down with it. In your high school geology class you probably
were taught that all life on earth exists in a paper-thin shell called the
biosphere, which is trapped between thousands of miles of dead rock
underfoot, and cold dead radioactive empty space above. Companies that sell
OSes exist in a sort of technosphere. Underneath is technology that has alre
ady become free. Above is technology that has yet to be developed, or that
is too crazy and speculative to be productized just yet. Like the Earth's
biosphere, the technosphere is very thin compared to what is above and what
is below. But it moves a lot faster. In various parts of our world, it is
possible to go and visit rich fossil beds where skeleton lies piled upon
skeleton, recent ones on top and more ancient ones below. In theory they go
all the way back to the first single-celled organisms. And if you use your
imagination a bit, you can understand that, if you hang around long enough,
you'll become fossilized there too, and in time some more advanced organism
will become fossilized on top of you. The fossil record--the La Brea Tar
Pit--of software technology is the Internet. Anything that shows up there is
free for the taking (possibly illegal, but free). Executives at companies
like Microsoft must get used to the experience--unthinkable in other
industries--of throwing millions of dollars into the development of new
technologies, such as Web browsers, and then seeing the same or equivalent
software show up on the Internet two years, or a year, or even just a few
months, later. By continuing to develop new technologies and add features
onto their products they can keep one step ahead of the fossilization
process, but on certain days they must feel like mammoths caught at La Brea,
using all their energies to pull their feet, over and over again, out of the
sucking hot tar that wants to cover and envelop them. Survival in this
biosphere demands sharp tusks and heavy, stomping feet at one end of the
organization, and Microsoft famously has those. But trampling the other
mammoths into the tar can only keep you alive for so long. The danger is
that in their obsession with staying out of the fossil beds, these companies
will forget about what lies above the biosphere: the realm of new
technology. In other words, they must hang onto their primitive weapons and
crude competitive instincts, but also evolve powerful brains. This appears
to be what Microsoft is doing with its research division, which has been
hiring smart people right and left (Here I should mention that although I
know, and socialize with, several people in that company's research
division, we never talk about business issues and I have little to no idea
what the hell they are up to. I have learned much more about Microsoft by
using the Linux operating system than I ever would have done by using
Windows). Never mind how Microsoft used to make money; today, it is making
its money on a kind of temporal arbitrage. "Arbitrage," in the usual sense,
means to make money by taking advantage of differences in the price of
something between different markets. It is spatial, in other words, and
hinges on the arbitrageur knowing what is going on simultaneously in
different places. Microsoft is making money by taking advantage of
differences in the price of technology in different times. Temporal
arbitrage, if I may coin a phrase, hinges on the arbitrageur knowing what
technologies people will pay money for next year, and how soon afterwards
those same technologies will become free. What spatial and temporal
arbitrage have in common is that both hinge on the arbitrageur's being
extremely well-informed; one about price gradients across space at a given
time, and the other about price gradients over time in a given place. So
Apple/Microsoft shower new features upon their users almost daily, in the
hopes that a steady stream of genuine technical innovations, combined with
the "I want to believe" phenomenon, will prevent their customers from
looking across the road towards the cheaper and better OSes that are
available to them. The question is whether this makes sense in the long run.
If Microsoft is addicted to OSes as Apple is to hardware, then they will bet
the whole farm on their OSes, and tie all of their new applications and
technologies to them. Their continued survival will then depend on these two
things: adding more features to their OSes so that customers will not switch
to the cheaper alternatives, and maintaining the image that, in some
mysterious way, gives those customers the feeling that they are getting
something for their money. The latter is a truly strange and interesting
cultural phenomenon.

THE INTERFACE CULTURE

A few years ago I walked into a grocery store somewhere and was presented
with the following tableau vivant: near the entrance a young couple were
standing in front of a large cosmetics display. The man was stolidly holding
a shopping basket between his hands while his mate raked blister-packs of
makeup off the display and piled them in. Since then I've always thought of
that man as the personification of an interesting human tendency: not only
are we not offended to be dazzled by manufactured images, but we like it. We
practically insist on it. We are eager to be complicit in our own
dazzlement: to pay money for a theme park ride, vote for a guy who's
obviously lying to us, or stand there holding the basket as it's filled up
with cosmetics. I was in Disney World recently, specifically the part of it
called the Magic Kingdom, walking up Main Street USA. This is a perfect
gingerbready Victorian small town that culminates in a Disney castle. It was
very crowded; we shuffled rather than walked. Directly in front of me was a
man with a camcorder. It was one of the new breed of camcorders where
instead of peering through a viewfinder you gaze at a flat-panel color
screen about the size of a playing card, which televises live coverage of
whatever the camcorder is seeing. He was holding the appliance close to his
face, so that it obstructed his view. Rather than go see a real small town
for free, he had paid money to see a pretend one, and rather than see it
with the naked eye he was watching it on television. And rather than stay
home and read a book, I was watching him. Americans' preference for mediated
experiences is obvious enough, and I'm not going to keep pounding it into
the ground. I'm not even going to make snotty comments about it--after all,
I was at Disney World as a paying customer. But it clearly relates to the
colossal success of GUIs and so I have to talk about it some. Disney does
mediated experiences better than anyone. If they understood what OSes are,
and why people use them, they could crush Microsoft in a year or two. In the
part of Disney World called the Animal Kingdom there is a new attraction,
slated to open in March 1999, called the Maharajah Jungle Trek. It was open
for sneak previews when I was there. This is a complete stone-by-stone
reproduction of a hypothetical ruin in the jungles of India. According to
its backstory, it was built by a local rajah in the 16th Century as a game
reserve. He would go there with his princely guests to hunt Bengal tigers.
As time went on it fell into disrepair and the tigers and monkeys took it
over; eventually, around the time of India's independence, it became a
government wildlife reserve, now open to visitors. The place looks more like
what I have just described than any actual building you might find in India.
All the stones in the broken walls are weathered as if monsoon rains had
been trickling down them for centuries, the paint on the gorgeous murals is
flaked and faded just so, and Bengal tigers loll amid stumps of broken
columns. Where modern repairs have been made to the ancient structure,
they've been done, not as Disney's engineers would do them, but as thrifty
Indian janitors would--with hunks of bamboo and rust-spotted hunks of rebar.
The rust is painted on, or course, and protected from real rust by a plastic
clear-coat, but you can't tell unless you get down on your knees. In one
place you walk along a stone wall with a series of old pitted friezes carved
into it. One end of the wall has broken off and settled into the earth,
perhaps because of some long-forgotten earthquake, and so a broad jagged
crack runs across a panel or two, but the story is still readable: first,
primordial chaos leads to a flourishing of many animal species. Next, we see
the Tree of Life surrounded by diverse animals. This is an obvious allusion
(or, in showbiz lingo, a tie-in) to the gigantic Tree of Life that dominates
the center of Disney's Animal Kingdom just as the Castle dominates the Magic
Kingdom or the Sphere does Epcot. But it's rendered in historically correct
style and could probably fool anyone who didn't have a Ph.D. in Indian art
history. The next panel shows a mustachioed H. sapiens chopping down the
Tree of Life with a scimitar, and the animals fleeing every which way. The
one after that shows the misguided human getting walloped by a tidal wave,
part of a latter-day Deluge presumably brought on by his stupidity. The
final panel, then, portrays the Sapling of Life beginning to grow back, but
now Man has ditched the edged weapon and joined the other animals in
standing around to adore and praise it. It is, in other words, a prophecy of
the Bottleneck: the scenario, commonly espoused among modern-day
environmentalists, that the world faces an upcoming period of grave
ecological tribulations that will last for a few decades or centuries and
end when we find a new harmonious modus vivendi with Nature. Taken as a
whole the frieze is a pretty brilliant piece of work. Obviously it's not an
ancient Indian ruin, and some person or people now living deserve credit for
it. But there are no signatures on the Maharajah's game reserve at Disney
World. There are no signatures on anything, because it would ruin the whole
effect to have long strings of production credits dangling from every
custom-worn brick, as they do from Hollywood movies. Among Hollywood
writers, Disney has the reputation of being a real wicked stepmother. It's
not hard to see why. Disney is in the business of putting out a product of
seamless illusion--a magic mirror that reflects the world back better than
it really is. But a writer is literally talking to his or her readers, not
just creating an ambience or presenting them with something to look at; and
just as the command-line interface opens a much more direct and explicit
channel from user to machine than the GUI, so it is with words, writer, and
reader. The word, in the end, is the only system of encoding thoughts--the
only medium--that is not fungible, that refuses to dissolve in the devouring
torrent of electronic media (the richer tourists at Disney World wear
t-shirts printed with the names of famous designers, because designs
themselves can be bootlegged easily and with impunity. The only way to make
clothing that cannot be legally bootlegged is to print copyrighted and
trademarked words on it; once you have taken that step, the clothing itself
doesn't really matter, and so a t-shirt is as good as anything else.
T-shirts with expensive words on them are now the insignia of the upper
class. T-shirts with cheap words, or no words at all, are for the
commoners). But this special quality of words and of written communication
would have the same effect on Disney's product as spray-painted graffiti on
a magic mirror. So Disney does most of its communication without resorting
to words, and for the most part, the words aren't missed. Some of Disney's
older properties, such as Peter Pan, Winnie the Pooh, and Alice in
Wonderland, came out of books. But the authors' names are rarely if ever
mentioned, and you can't buy the original books at the Disney store. If you
could, they would all seem old and queer, like very bad knockoffs of the
purer, more authentic Disney versions. Compared to more recent productions
like Beauty and the Beast and Mulan, the Disney movies based on these books
(particularly Alice in Wonderland and Peter Pan) seem deeply bizarre, and
not wholly appropriate for children. That stands to reason, because Lewis
Carroll and J.M. Barrie were very strange men, and such is the nature of the
written word that their personal strangeness shines straight through all the
layers of Disneyfication like x-rays through a wall. Probably for this very
reason, Disney seems to have stopped buying books altogether, and now finds
its themes and characters in folk tales, which have the lapidary, time-worn
quality of the ancient bricks in the Maharajah's ruins. If I can risk a
broad generalization, most of the people who go to Disney World have zero
interest in absorbing new ideas from books. Which sounds snide, but listen:
they have no qualms about being presented with ideas in other forms. Disney
World is stuffed with environmental messages now, and the guides at Animal
Kingdom can talk your ear off about biology. If you followed those tourists
home, you might find art, but it would be the sort of unsigned folk art
that's for sale in Disney World's African- and Asian-themed stores. In
general they only seem comfortable with media that have been ratified by
great age, massive popular acceptance, or both. In this world, artists are
like the anonymous, illiterate stone carvers who built the great cathedrals
of Europe and then faded away into unmarked graves in the churchyard. The
cathedral as a whole is awesome and stirring in spite, and possibly because,
of the fact that we have no idea who built it. When we walk through it we
are communing not with individual stone carvers but with an entire culture.
Disney World works the same way. If you are an intellectual type, a reader
or writer of books, the nicest thing you can say about this is that the
execution is superb. But it's easy to find the whole environment a little
creepy, because something is missing: the translation of all its content
into clear explicit written words, the attribution of the ideas to specific
people. You can't argue with it. It seems as if a hell of a lot might be
being glossed over, as if Disney World might be putting one over on us, and
possibly getting away with all kinds of buried assumptions and muddled
thinking. But this is precisely the same as what is lost in the transition
from the command-line interface to the GUI. Disney and Apple/Microsoft are
in the same business: short-circuiting laborious, explicit verbal
communication with expensively designed interfaces. Disney is a sort of user
interface unto itself--and more than just graphical. Let's call it a
Sensorial Interface. It can be applied to anything in the world, real or
imagined, albeit at staggering expense. Why are we rejecting explicit
word-based interfaces, and embracing graphical or sensorial ones--a trend
that accounts for the success of both Microsoft and Disney? Part of it is
simply that the world is very complicated now--much more complicated than
the hunter-gatherer world that our brains evolved to cope with--and we
simply can't handle all of the details. We have to delegate. We have no
choice but to trust some nameless artist at Disney or programmer at Apple or
Microsoft to make a few choices for us, close off some options, and give us
a conveniently packaged executive summary. But more importantly, it comes
out of the fact that, during this century, intellectualism failed, and
everyone knows it. In places like Russia and Germany, the common people
agreed to loosen their grip on traditional folkways, mores, and religion,
and let the intellectuals run with the ball, and they screwed everything up
and turned the century into an abbatoir. Those wordy intellectuals used to
be merely tedious; now they seem kind of dangerous as well. We Americans are
the only ones who didn't get creamed at some point during all of this. We
are free and prosperous because we have inherited political and values
systems fabricated by a particular set of eighteenth-century intellectuals
who happened to get it right. But we have lost touch with those
intellectuals, and with anything like intellectualism, even to the point of
not reading books any more, though we are literate. We seem much more
comfortable with propagating those values to future generations nonverbally,
through a process of being steeped in media. Apparently this actually works
to some degree, for police in many lands are now complaining that local
arrestees are insisting on having their Miranda rights read to them, just
like perps in American TV cop shows. When it's explained to them that they
are in a different country, where those rights do not exist, they become
outraged. Starsky and Hutch reruns, dubbed into diverse languages, may turn
out, in the long run, to be a greater force for human rights than the
Declaration of Independence. A huge, rich, nuclear-tipped culture that
propagates its core values through media steepage seems like a bad idea.
There is an obvious risk of running astray here. Words are the only
immutable medium we have, which is why they are the vehicle of choice for
extremely important concepts like the Ten Commandments, the Koran, and the
Bill of Rights. Unless the messages conveyed by our media are somehow pegged
to a fixed, written set of precepts, they can wander all over the place and
possibly dump loads of crap into people's minds. Orlando used to have a
military installation called McCoy Air Force Base, with long runways from
which B-52s could take off and reach Cuba, or just about anywhere else, with
loads of nukes. But now McCoy has been scrapped and repurposed. It has been
absorbed into Orlando's civilian airport. The long runways are being used to
land 747-loads of tourists from Brazil, Italy, Russia and Japan, so that
they can come to Disney World and steep in our media for a while. To
traditional cultures, especially word-based ones such as Islam, this is
infinitely more threatening than the B-52s ever were. It is obvious, to
everyone outside of the United States, that our arch-buzzwords,
multiculturalism and diversity, are false fronts that are being used (in
many cases unwittingly) to conceal a global trend to eradicate cultural
differences. The basic tenet of multiculturalism (or "honoring diversity" or
whatever you want to call it) is that people need to stop judging each
other-to stop asserting (and, eventually, to stop believing) that this is
right and that is wrong, this true and that false, one thing ugly and
another thing beautiful, that God exists and has this or that set of
qualities. The lesson most people are taking home from the Twentieth Century
is that, in order for a large number of different cultures to coexist
peacefully on the globe (or even in a neighborhood) it is necessary for
people to suspend judgment in this way. Hence (I would argue) our suspicion
of, and hostility towards, all authority figures in modern culture. As David
Foster Wallace has explained in his essay "E Unibus Pluram," this is the
fundamental message of television; it is the message that people take home,
anyway, after they have steeped in our media long enough. It's not expressed
in these highfalutin terms, of course. It comes through as the presumption
that all authority figures--teachers, generals, cops, ministers,
politicians--are hypocritical buffoons, and that hip jaded coolness is the
only way to be. The problem is that once you have done away with the ability
to make judgments as to right and wrong, true and false, etc., there's no
real culture left. All that remains is clog dancing and macrame. The ability
to make judgments, to believe things, is the entire it point of having a
culture. I think this is why guys with machine guns sometimes pop up in
places like Luxor, and begin pumping bullets into Westerners. They perfectly
understand the lesson of McCoy Air Force Base. When their sons come home
wearing Chicago Bulls caps with the bills turned sideways, the dads go out
of their minds. The global anti-culture that has been conveyed into every
cranny of the world by television is a culture unto itself, and by the
standards of great and ancient cultures like Islam and France, it seems
grossly inferior, at least at first. The only good thing you can say about
it is that it makes world wars and Holocausts less likely--and that is
actually a pretty good thing! The only real problem is that anyone who has
no culture, other than this global monoculture, is completely screwed.
Anyone who grows up watching TV, never sees any religion or philosophy, is
raised in an atmosphere of moral relativism, learns about civics from
watching bimbo eruptions on network TV news, and attends a university where
postmodernists vie to outdo each other in demolishing traditional notions of
truth and quality, is going to come out into the world as one pretty
feckless human being. And--again--perhaps the goal of all this is to make us
feckless so we won't nuke each other. On the other hand, if you are raised
within some specific culture, you end up with a basic set of tools that you
can use to think about and understand the world. You might use those tools
to reject the culture you were raised in, but at least you've got some
tools. In this country, the people who run things--who populate major law
firms and corporate boards--understand all of this at some level. They pay
lip service to multiculturalism and diversity and non-judgmentalness, but
they don't raise their own children that way. I have highly educated,
technically sophisticated friends who have moved to small towns in Iowa to
live and raise their children, and there are Hasidic Jewish enclaves in New
York where large numbers of kids are being brought up according to
traditional beliefs. Any suburban community might be thought of as a place
where people who hold certain (mostly implicit) beliefs go to live among
others who think the same way. And not only do these people feel some
responsibility to their own children, but to the country as a whole. Some of
the upper class are vile and cynical, of course, but many spend at least
part of their time fretting about what direction the country is going in,
and what responsibilities they have. And so issues that are important to
book-reading intellectuals, such as global environmental collapse,
eventually percolate through the porous buffer of mass culture and show up
as ancient Hindu ruins in Orlando. You may be asking: what the hell does all
this have to do with operating systems? As I've explained, there is no way
to explain the domination of the OS market by Apple/Microsoft without
looking to cultural explanations, and so I can't get anywhere, in this
essay, without first letting you know where I'm coming from vis-a-vis
contemporary culture. Contemporary culture is a two-tiered system, like the
Morlocks and the Eloi in H.G. Wells's The Time Machine, except that it's
been turned upside down. In The Time Machine the Eloi were an effete upper
class, supported by lots of subterranean Morlocks who kept the technological
wheels turning. But in our world it's the other way round. The Morlocks are
in the minority, and they are running the show, because they understand how
everything works. The much more numerous Eloi learn everything they know
from being steeped from birth in electronic media directed and controlled by
book-reading Morlocks. So many ignorant people could be dangerous if they
got pointed in the wrong direction, and so we've evolved a popular culture
that is (a) almost unbelievably infectious and (b) neuters every person who
gets infected by it, by rendering them unwilling to make judgments and
incapable of taking stands. Morlocks, who have the energy and intelligence
to comprehend details, go out and master complex subjects and produce
Disney-like Sensorial Interfaces so that Eloi can get the gist without
having to strain their minds or endure boredom. Those Morlocks will go to
India and tediously explore a hundred ruins, then come home and built
sanitary bug-free versions: highlight films, as it were. This costs a lot,
because Morlocks insist on good coffee and first-class airline tickets, but
that's no problem because Eloi like to be dazzled and will gladly pay for it
all. Now I realize that most of this probably sounds snide and bitter to the
point of absurdity: your basic snotty intellectual throwing a tantrum about
those unlettered philistines. As if I were a self-styled Moses, coming down
from the mountain all alone, carrying the stone tablets bearing the Ten
Commandments carved in immutable stone--the original command-line
interface--and blowing his stack at the weak, unenlightened Hebrews
worshipping images. Not only that, but it sounds like I'm pumping some sort
of conspiracy theory. But that is not where I'm going with this. The
situation I describe, here, could be bad, but doesn't have to be bad and
isn't necessarily bad now: &nbsp;


It simply is the case that we are way too busy, nowadays, to comprehend
everything in detail. And it's better to comprehend it dimly, through an
interface, than not at all. Better for ten million Eloi to go on the
Kilimanjaro Safari at Disney World than for a thousand cardiovascular
surgeons and mutual fund managers to go on "real" ones in Kenya.


The boundary between these two classes is more porous than I've made it
sound. I'm always running into regular dudes--construction workers, auto
mechanics, taxi drivers, galoots in general--who were largely aliterate
until something made it necessary for them to become readers and start
actually thinking about things. Perhaps they had to come to grips with
alcoholism, perhaps they got sent to jail, or came down with a disease, or
suffered a crisis in religious faith, or simply got bored. Such people can
get up to speed on particular subjects quite rapidly. Sometimes their lack
of a broad education makes them over-apt to go off on intellectual wild
goose chases, but, hey, at least a wild goose chase gives you some exercise.


The spectre of a polity controlled by the fads and whims of voters who
actually believe that there are significant differences between Bud Lite and
Miller Lite, and who think that professional wrestling is for real, is
naturally alarming to people who don't. But then countries controlled via
the command-line interface, as it were, by double-domed intellectuals, be
they religious or secular, are generally miserable places to live.


Sophisticated people deride Disneyesque entertainments as pat and
saccharine, but, hey, if the result of that is to instill basically warm and
sympathetic reflexes, at a preverbal level, into hundreds of millions of
unlettered media-steepers, then how bad can it be? We killed a lobster in
our kitchen last night and my daughter cried for an hour. The Japanese, who
used to be just about the fiercest people on earth, have become infatuated
with cuddly adorable cartoon characters.


My own family--the people I know best--is divided about evenly between
people who will probably read this essay and people who almost certainly
won't, and I can't say for sure that one group is necessarily warmer,
happier, or better-adjusted than the other.

MORLOCKS AND ELOI AT THE KEYBOARD

Back in the days of the command-line interface, users were all Morlocks who
had to convert their thoughts into alphanumeric symbols and type them in, a
grindingly tedious process that stripped away all ambiguity, laid bare all
hidden assumptions, and cruelly punished laziness and imprecision. Then the
interface-makers went to work on their GUIs, and introduced a new semiotic
layer between people and machines. People who use such systems have
abdicated the responsibility, and surrendered the power, of sending bits
directly to the chip that's doing the arithmetic, and handed that
responsibility and power over to the OS. This is tempting because giving
clear instructions, to anyone or anything, is difficult. We cannot do it
without thinking, and depending on the complexity of the situation, we may
have to think hard about abstract things, and consider any number of
ramifications, in order to do a good job of it. For most of us, this is hard
work. We want things to be easier. How badly we want it can be measured by
the size of Bill Gates's fortune. The OS has (therefore) become a sort of
intellectual labor-saving device that tries to translate humans' vaguely
expressed intentions into bits. In effect we are asking our computers to
shoulder responsibilities that have always been considered the province of
human beings--we want them to understand our desires, to anticipate our
needs, to foresee consequences, to make connections, to handle routine
chores without being asked, to remind us of what we ought to be reminded of
while filtering out noise. At the upper (which is to say, closer to the
user) levels, this is done through a set of conventions--menus, buttons, and
so on. These work in the sense that analogies work: they help Eloi
understand abstract or unfamiliar concepts by likening them to something
known. But the loftier word "metaphor" is used. The overarching concept of
the MacOS was the "desktop metaphor" and it subsumed any number of lesser
(and frequently conflicting, or at least mixed) metaphors. Under a GUI, a
file (frequently called "document") is metaphrased as a window on the screen
(which is called a "desktop"). The window is almost always too small to
contain the document and so you "move around," or, more pretentiously,
"navigate" in the document by "clicking and dragging" the "thumb" on the
"scroll bar." When you "type" (using a keyboard) or "draw" (using a "mouse")
into the "window" or use pull-down "menus" and "dialog boxes" to manipulate
its contents, the results of your labors get stored (at least in theory) in
a "file," and later you can pull the same information back up into another
"window." When you don't want it anymore, you "drag" it into the "trash."
There is massively promiscuous metaphor-mixing going on here, and I could
deconstruct it 'til the cows come home, but I won't. Consider only one word:
"document." When we document something in the real world, we make fixed,
permanent, immutable records of it. But computer documents are volatile,
ephemeral constellations of data. Sometimes (as when you've just opened or
saved them) the document as portrayed in the window is identical to what is
stored, under the same name, in a file on the disk, but other times (as when
you have made changes without saving them) it is completely different. In
any case, every time you hit "Save" you annihilate the previous version of
the "document" and replace it with whatever happens to be in the window at
the moment. So even the word "save" is being used in a sense that is
grotesquely misleading---"destroy one version, save another" would be more
accurate. Anyone who uses a word processor for very long inevitably has the
experience of putting hours of work into a long document and then losing it
because the computer crashes or the power goes out. Until the moment that it
disappears from the screen, the document seems every bit as solid and real
as if it had been typed out in ink on paper. But in the next moment, without
warning, it is completely and irretrievably gone, as if it had never
existed. The user is left with a feeling of disorientation (to say nothing
of annoyance) stemming from a kind of metaphor shear--you realize that
you've been living and thinking inside of a metaphor that is essentially
bogus. So GUIs use metaphors to make computing easier, but they are bad
metaphors. Learning to use them is essentially a word game, a process of
learning new definitions of words like "window" and "document" and "save"
that are different from, and in many cases almost diametrically opposed to,
the old. Somewhat improbably, this has worked very well, at least from a
commercial standpoint, which is to say that Apple/Microsoft have made a lot
of money off of it. All of the other modern operating systems have learned
that in order to be accepted by users they must conceal their underlying
gutwork beneath the same sort of spackle. This has some advantages: if you
know how to use one GUI operating system, you can probably work out how to
use any other in a few minutes. Everything works a little differently, like
European plumbing--but with some fiddling around, you can type a memo or
surf the web. Most people who shop for OSes (if they bother to shop at all)
are comparing not the underlying functions but the superficial look and
feel. The average buyer of an OS is not really paying for, and is not
especially interested in, the low-level code that allocates memory or writes
bytes onto the disk. What we're really buying is a system of metaphors.
And--much more important--what we're buying into is the underlying
assumption that metaphors are a good way to deal with the world. Recently a
lot of new hardware has become available that gives computers numerous
interesting ways of affecting the real world: making paper spew out of
printers, causing words to appear on screens thousands of miles away,
shooting beams of radiation through cancer patients, creating realistic
moving pictures of the Titanic. Windows is now used as an OS for cash
registers and bank tellers' terminals. My satellite TV system uses a sort of
GUI to change channels and show program guides. Modern cellular telephones
have a crude GUI built into a tiny LCD screen. Even Legos now have a GUI:
you can buy a Lego set called Mindstorms that enables you to build little
Lego robots and program them through a GUI on your computer. So we are now
asking the GUI to do a lot more than serve as a glorified typewriter. Now we
want to become a generalized tool for dealing with reality. This has become
a bonanza for companies that make a living out of bringing new technology to
the mass market. Obviously you cannot sell a complicated technological
system to people without some sort of interface that enables them to use it.
The internal combustion engine was a technological marvel in its day, but
useless as a consumer good until a clutch, transmission, steering wheel and
throttle were connected to it. That odd collection of gizmos, which survives
to this day in every car on the road, made up what we would today call a
user interface. But if cars had been invented after Macintoshes, carmakers
would not have bothered to gin up all of these arcane devices. We would have
a computer screen instead of a dashboard, and a mouse (or at best a
joystick) instead of a steering wheel, and we'd shift gears by pulling down
a menu: PARK --- REVERSE --- NEUTRAL ---- 3 2 1 --- Help... A few lines of
computer code can thus be made to substitute for any imaginable mechanical
interface. The problem is that in many cases the substitute is a poor one.
Driving a car through a GUI would be a miserable experience. Even if the GUI
were perfectly bug-free, it would be incredibly dangerous, because menus and
buttons simply can't be as responsive as direct mechanical controls. My
friend's dad, the gentleman who was restoring the MGB, never would have
bothered with it if it had been equipped with a GUI. It wouldn't have been
any fun. The steering wheel and gearshift lever were invented during an era
when the most complicated technology in most homes was a butter churn. Those
early carmakers were simply lucky, in that they could dream up whatever
interface was best suited to the task of driving an automobile, and people
would learn it. Likewise with the dial telephone and the AM radio. By the
time of the Second World War, most people knew several interfaces: they
could not only churn butter but also drive a car, dial a telephone, turn on
a radio, summon flame from a cigarette lighter, and change a light bulb. But
now every little thing--wristwatches, VCRs, stoves--is jammed with features,
and every feature is useless without an interface. If you are like me, and
like most other consumers, you have never used ninety percent of the
available features on your microwave oven, VCR, or cellphone. You don't even
know that these features exist. The small benefit they might bring you is
outweighed by the sheer hassle of having to learn about them. This has got
to be a big problem for makers of consumer goods, because they can't compete
without offering features. It's no longer acceptable for engineers to invent
a wholly novel user interface for every new product, as they did in the case
of the automobile, partly because it's too expensive and partly because
ordinary people can only learn so much. If the VCR had been invented a
hundred years ago, it would have come with a thumbwheel to adjust the
tracking and a gearshift to change between forward and reverse and a big
cast-iron handle to load or to eject the cassettes. It would have had a big
analog clock on the front of it, and you would have set the time by moving
the hands around on the dial. But because the VCR was invented when it
was--during a sort of awkward transitional period between the era of
mechanical interfaces and GUIs--it just had a bunch of pushbuttons on the
front, and in order to set the time you had to push the buttons in just the
right way. This must have seemed reasonable enough to the engineers
responsible for it, but to many users it was simply impossible. Thus the
famous blinking 12:00 that appears on so many VCRs. Computer people call
this "the blinking twelve problem". When they talk about it, though, they
usually aren't talking about VCRs. Modern VCRs usually have some kind of
on-screen programming, which means that you can set the time and control
other features through a sort of primitive GUI. GUIs have virtual
pushbuttons too, of course, but they also have other types of virtual
controls, like radio buttons, checkboxes, text entry boxes, dials, and
scrollbars. Interfaces made out of these components seem to be a lot easier,
for many people, than pushing those little buttons on the front of the
machine, and so the blinking 12:00 itself is slowly disappearing from
America's living rooms. The blinking twelve problem has moved on to plague
other technologies. So the GUI has gone beyond being an interface to
personal computers, and become a sort of meta-interface that is pressed into
service for every new piece of consumer technology. It is rarely an ideal
fit, but having an ideal, or even a good interface is no longer the
priority; the important thing now is having some kind of interface that
customers will actually use, so that manufacturers can claim, with a
straight face, that they are offering new features. We want GUIs largely
because they are convenient and because they are easy-- or at least the GUI
makes it seem that way Of course, nothing is really easy and simple, and
putting a nice interface on top of it does not change that fact. A car
controlled through a GUI would be easier to drive than one controlled
through pedals and steering wheel, but it would be incredibly dangerous. By
using GUIs all the time we have insensibly bought into a premise that few
people would have accepted if it were presented to them bluntly: namely,
that hard things can be made easy, and complicated things simple, by putting
the right interface on them. In order to understand how bizarre this is,
imagine that book reviews were written according to the same values system
that we apply to user interfaces: "The writing in this book is marvelously
simple-minded and glib; the author glosses over complicated subjects and
employs facile generalizations in almost every sentence. Readers rarely have
to think, and are spared all of the difficulty and tedium typically involved
in reading old-fashioned books." As long as we stick to simple operations
like setting the clocks on our VCRs, this is not so bad. But as we try to do
more ambitious things with our technologies, we inevitably run into the
problem of: &nbsp;

METAPHOR SHEAR

I began using Microsoft Word as soon as the first version was released
around 1985. After some initial hassles I found it to be a better tool than
MacWrite, which was its only competition at the time. I wrote a lot of stuff
in early versions of Word, storing it all on floppies, and transferred the
contents of all my floppies to my first hard drive, which I acquired around
1987. As new versions of Word came out I faithfully upgraded, reasoning that
as a writer it made sense for me to spend a certain amount of money on
tools. Sometime in the mid-1980's I attempted to open one of my old,
circa-1985 Word documents using the version of Word then current: 6.0 It
didn't work. Word 6.0 did not recognize a document created by an earlier
version of itself. By opening it as a text file, I was able to recover the
sequences of letters that made up the text of the document. My words were
still there. But the formatting had been run through a log chipper--the
words I'd written were interrupted by spates of empty rectangular boxes and
gibberish. Now, in the context of a business (the chief market for Word)
this sort of thing is only an annoyance--one of the routine hassles that go
along with using computers. It's easy to buy little file converter programs
that will take care of this problem. But if you are a writer whose career is
words, whose professional identity is a corpus of written documents, this
kind of thing is extremely disquieting. There are very few fixed assumptions
in my line of work, but one of them is that once you have written a word, it
is written, and cannot be unwritten. The ink stains the paper, the chisel
cuts the stone, the stylus marks the clay, and something has irrevocably
happened (my brother-in-law is a theologian who reads 3250-year-old
cuneiform tablets--he can recognize the handwriting of particular scribes,
and identify them by name). But word-processing software--particularly the
sort that employs special, complex file formats--has the eldritch power to
unwrite things. A small change in file formats, or a few twiddled bits, and
months' or years' literary output can cease to exist. Now this was
technically a fault in the application (Word 6.0 for the Macintosh) not the
operating system (MacOS 7 point something) and so the initial target of my
annoyance was the people who were responsible for Word. But. On the other
hand, I could have chosen the "save as text" option in Word and saved all of
my documents as simple telegrams, and this problem would not have arisen.
Instead I had allowed myself to be seduced by all of those flashy formatting
options that hadn't even existed until GUIs had come along to make them
practicable. I had gotten into the habit of using them to make my documents
look pretty (perhaps prettier than they deserved to look; all of the old
documents on those floppies turned out to be more or less crap). Now I was
paying the price for that self-indulgence. Technology had moved on and found
ways to make my documents look even prettier, and the consequence of it was
that all old ugly documents had ceased to exist. It was--if you'll pardon me
for a moment's strange little fantasy--as if I'd gone to stay at some
resort, some exquisitely designed and art-directed hotel, placing myself in
the hands of past masters of the Sensorial Interface, and had sat down in my
room and written a story in ballpoint pen on a yellow legal pad, and when I
returned from dinner, discovered that the maid had taken my work away and
left behind in its place a quill pen and a stack of fine
parchment--explaining that the room looked ever so much finer this way, and
it was all part of a routine upgrade. But written on these sheets of paper,
in flawless penmanship, were long sequences of words chosen at random from
the dictionary. Appalling, sure, but I couldn't really lodge a complaint
with the management, because by staying at this resort I had given my
consent to it. I had surrendered my Morlock credentials and become an Eloi.
&nbsp;

LINUX During the late 1980's and early 1990's I spent a lot of time
programming Macintoshes, and eventually decided for fork over several
hundred dollars for an Apple product called the Macintosh Programmer's
Workshop, or MPW. MPW had competitors, but it was unquestionably the
premier software development system for the Mac. It was what Apple's own
engineers used to write Macintosh code. Given that MacOS was far more
technologically advanced, at the time, than its competition, and that Linux
did not even exist yet, and given that this was the actual program used by
Apple's world-class team of creative engineers, I had high expectations. It
arrived on a stack of floppy disks about a foot high, and so there was
plenty of time for my excitement to build during the endless installation
process. The first time I launched MPW, I was probably expecting some kind
of touch-feely multimedia showcase. Instead it was austere, almost to the
point of being intimidating. It was a scrolling window into which you could
type simple, unformatted text. The system would then interpret these lines
of text as commands, and try to execute them. It was, in other words, a
glass teletype running a command line interface. It came with all sorts of
cryptic but powerful commands, which could be invoked by typing their names,
and which I learned to use only gradually. It was not until a few years
later, when I began messing around with Unix, that I understood that the
command line interface embodied in MPW was a re-creation of Unix. In other
words, the first thing that Apple's hackers had done when they'd got the
MacOS up and running--probably even before they'd gotten it up and
running--was to re-create the Unix interface, so that they would be able to
get some useful work done. At the time, I simply couldn't get my mind around
this, but: as far as Apple's hackers were concerned, the Mac's vaunted
Graphical User Interface was an impediment, something to be circumvented
before the little toaster even came out onto the market. Even before my
Powerbook crashed and obliterated my big file in July 1995, there had been
danger signs. An old college buddy of mine, who starts and runs high-tech
companies in Boston, had developed a commercial product using Macintoshes as
the front end. Basically the Macs were high-performance graphics terminals,
chosen for their sweet user interface, giving users access to a large
database of graphical information stored on a network of much more powerful,
but less user-friendly, computers. This fellow was the second person who
turned me on to Macintoshes, by the way, and through the mid-1980's we had
shared the thrill of being high-tech cognoscenti, using superior Apple
technology in a world of DOS-using knuckleheads. Early versions of my
friend's system had worked well, he told me, but when several machines
joined the network, mysterious crashes began to occur; sometimes the whole
network would just freeze. It was one of those bugs that could not be
reproduced easily. Finally they figured out that these network crashes were
triggered whenever a user, scanning the menus for a particular item, held
down the mouse button for more than a couple of seconds. Fundamentally, the
MacOS could only do one thing at a time. Drawing a menu on the screen is one
thing. So when a menu was pulled down, the Macintosh was not capable of
doing anything else until that indecisive user released the button. This is
not such a bad thing in a single-user, single-process machine (although it's
a fairly bad thing), but it's no good in a machine that is on a network,
because being on a network implies some kind of continual low-level
interaction with other machines. By failing to respond to the network, the
Mac caused a network-wide crash. In order to work with other computers, and
with networks, and with various different types of hardware, an OS must be
incomparably more complicated and powerful than either MS-DOS or the
original MacOS. The only way of connecting to the Internet that's worth
taking seriously is PPP, the Point-to-Point Protocol, which (never mind the
details) makes your computer--temporarily--a full-fledged member of the
Global Internet, with its own unique address, and various privileges,
powers, and responsibilities appertaining thereunto. Technically it means
your machine is running the TCP/IP protocol, which, to make a long story
short, revolves around sending packets of data back and forth, in no
particular order, and at unpredictable times, according to a clever and
elegant set of rules. But sending a packet of data is one thing, and so an
OS that can only do one thing at a time cannot simultaneously be part of the
Internet and do anything else. When TCP/IP was invented, running it was an
honor reserved for Serious Computers--mainframes and high-powered
minicomputers used in technical and commercial settings--and so the protocol
is engineered around the assumption that every computer using it is a
serious machine, capable of doing many things at once. Not to put too fine a
point on it, a Unix machine. Neither MacOS nor MS-DOS was originally built
with that in mind, and so when the Internet got hot, radical changes had to
be made. When my Powerbook broke my heart, and when Word stopped
recognizing my old files, I jumped to Unix. The obvious alternative to MacOS
would have been Windows. I didn't really have anything against Microsoft, or
Windows. But it was pretty obvious, now, that old PC operating systems were
overreaching, and showing the strain, and, perhaps, were best avoided until
they had learned to walk and chew gum at the same time. The changeover took
place on a particular day in the summer of 1995. I had been San Francisco
for a couple of weeks, using my PowerBook to work on a document. The
document was too big to fit onto a single floppy, and so I hadn't made a
backup since leaving home. The PowerBook crashed and wiped out the entire
file. It happened just as I was on my way out the door to visit a company
called Electric Communities, which in those days was in Los Altos. I took my
PowerBook with me. My friends at Electric Communities were Mac users who had
all sorts of utility software for unerasing files and recovering from disk
crashes, and I was certain I could get most of the file back. As it turned
out, two different Mac crash recovery utilities were unable to find any
trace that my file had ever existed. It was completely and systematically
wiped out. We went through that hard disk block by block and found
disjointed fragments of countless old, discarded, forgotten files, but none
of what I wanted. The metaphor shear was especially brutal that day. It was
sort of like watching the girl you've been in love with for ten years get
killed in a car wreck, and then attending her autopsy, and learning that
underneath the clothes and makeup she was just flesh and blood. I must have
been reeling around the offices of Electric Communities in some kind of
primal Jungian fugue, because at this moment three weirdly synchronistic
things happened. (1) Randy Farmer, a co-founder of the company, came in for
a quick visit along with his family--he was recovering from back surgery at
the time. He had some hot gossip: "Windows 95 mastered today." What this
meant was that Microsoft's new operating system had, on this day, been
placed on a special compact disk known as a golden master, which would be
used to stamp out a jintillion copies in preparation for its thunderous
release a few weeks later. This news was received peevishly by the staff of
Electric Communities, including one whose office door was plastered with the
usual assortment of cartoons and novelties, e.g. (2) a copy of a Dilbert
cartoon in which Dilbert, the long-suffering corporate software engineer,
encounters a portly, bearded, hairy man of a certain age--a bit like Santa
Claus, but darker, with a certain edge about him. Dilbert recognizes this
man, based upon his appearance and affect, as a Unix hacker, and reacts with
a certain mixture of nervousness, awe, and hostility. Dilbert jabs weakly at
the disturbing interloper for a couple of frames; the Unix hacker listens
with a kind of infuriating, beatific calm, then, in the last frame, reaches
into his pocket. "Here's a nickel, kid," he says, "go buy yourself a real
computer." (3) the owner of the door, and the cartoon, was one Doug Barnes.
Barnes was known to harbor certain heretical opinions on the subject of
operating systems. Unlike most Bay Area techies who revered the Macintosh,
considering it to be a true hacker's machine, Barnes was fond of pointing
out that the Mac, with its hermetically sealed architecture, was actually
hostile to hackers, who are prone to tinkering and dogmatic about openness.
By contrast, the IBM-compatible line of machines, which can easily be taken
apart and plugged back together, was much more hackable. So when I got home
I began messing around with Linux, which is one of many, many different
concrete implementations of the abstract, Platonic ideal called Unix. I was
not looking forward to changing over to a new OS, because my credit cards
were still smoking from all the money I'd spent on Mac hardware over the
years. But Linux's great virtue was, and is, that it would run on exactly
the same sort of hardware as the Microsoft OSes--which is to say, the
cheapest hardware in existence. As if to demonstrate why this was a great
idea, I was, within a week or two of returning home, able to get my hand on
a then-decent computer (a 33-MHz 486 box) for free, because I knew a guy who
worked in an office where they were simply being thrown away. Once I got it
home, I yanked the hood off, stuck my hands in, and began switching cards
around. If something didn't work, I went to a used-computer outlet and pawed
through a bin full of components and bought a new card for a few bucks. The
availability of all this cheap but effective hardware was an unintended
consequence of decisions that had been made more than a decade earlier by
IBM and Microsoft. When Windows came out, and brought the GUI to a much
larger market, the hardware regime changed: the cost of color video cards
and high-resolution monitors began to drop, and is dropping still. This
free-for-all approach to hardware meant that Windows was unavoidably clunky
compared to MacOS. But the GUI brought computing to such a vast audience
that volume went way up and prices collapsed. Meanwhile Apple, which so
badly wanted a clean, integrated OS with video neatly integrated into
processing hardware, had fallen far behind in market share, at least partly
because their beautiful hardware cost so much. But the price that we Mac
owners had to pay for superior aesthetics and engineering was not merely a
financial one. There was a cultural price too, stemming from the fact that
we couldn't open up the hood and mess around with it. Doug Barnes was right.
Apple, in spite of its reputation as the machine of choice of scruffy,
creative hacker types, had actually created a machine that discouraged
hacking, while Microsoft, viewed as a technological laggard and copycat, had
created a vast, disorderly parts bazaar--a primordial soup that eventually
self-assembled into Linux. &nbsp;

THE HOLE HAWG OF OPERATING SYSTEMS

Unix has always lurked provocatively in the background of the operating
system wars, like the Russian Army. Most people know it only by reputation,
and its reputation, as the Dilbert cartoon suggests, is mixed. But everyone
seems to agree that if it could only get its act together and stop
surrendering vast tracts of rich agricultural land and hundreds of thousands
of prisoners of war to the onrushing invaders, it could stomp them (and all
other opposition) flat. It is difficult to explain how Unix has earned this
respect without going into mind-smashing technical detail. Perhaps the gist
of it can be explained by telling a story about drills. The Hole Hawg is a
drill made by the Milwaukee Tool Company. If you look in a typical hardware
store you may find smaller Milwaukee drills but not the Hole Hawg, which is
too powerful and too expensive for homeowners. The Hole Hawg does not have
the pistol-like design of a cheap homeowner's drill. It is a cube of solid
metal with a handle sticking out of one face and a chuck mounted in another.
The cube contains a disconcertingly potent electric motor. You can hold the
handle and operate the trigger with your index finger, but unless you are
exceptionally strong you cannot control the weight of the Hole Hawg with one
hand; it is a two-hander all the way. In order to fight off the
counter-torque of the Hole Hawg you use a separate handle (provided), which
you screw into one side of the iron cube or the other depending on whether
you are using your left or right hand to operate the trigger. This handle is
not a sleek, ergonomically designed item as it would be in a homeowner's
drill. It is simply a foot-long chunk of regular galvanized pipe, threaded
on one end, with a black rubber handle on the other. If you lose it, you
just go to the local plumbing supply store and buy another chunk of pipe.
During the Eighties I did some construction work. One day, another worker
leaned a ladder against the outside of the building that we were putting up,
climbed up to the second-story level, and used the Hole Hawg to drill a hole
through the exterior wall. At some point, the drill bit caught in the wall.
The Hole Hawg, following its one and only imperative, kept going. It spun
the worker's body around like a rag doll, causing him to knock his own
ladder down. Fortunately he kept his grip on the Hole Hawg, which remained
lodged in the wall, and he simply dangled from it and shouted for help until
someone came along and reinstated the ladder. I myself used a Hole Hawg to
drill many holes through studs, which it did as a blender chops cabbage. I
also used it to cut a few six-inch-diameter holes through an old
lath-and-plaster ceiling. I chucked in a new hole saw, went up to the second
story, reached down between the newly installed floor joists, and began to
cut through the first-floor ceiling below. Where my homeowner's drill had
labored and whined to spin the huge bit around, and had stalled at the
slightest obstruction, the Hole Hawg rotated with the stupid consistency of
a spinning planet. When the hole saw seized up, the Hole Hawg spun itself
and me around, and crushed one of my hands between the steel pipe handle and
a joist, producing a few lacerations, each surrounded by a wide corona of
deeply bruised flesh. It also bent the hole saw itself, though not so badly
that I couldn't use it. After a few such run-ins, when I got ready to use
the Hole Hawg my heart actually began to pound with atavistic terror. But I
never blamed the Hole Hawg; I blamed myself. The Hole Hawg is dangerous
because it does exactly what you tell it to. It is not bound by the physical
limitations that are inherent in a cheap drill, and neither is it limited by
safety interlocks that might be built into a homeowner's product by a
liability-conscious manufacturer. The danger lies not in the machine itself
but in the user's failure to envision the full consequences of the
instructions he gives to it. A smaller tool is dangerous too, but for a
completely different reason: it tries to do what you tell it to, and fails
in some way that is unpredictable and almost always undesirable. But the
Hole Hawg is like the genie of the ancient fairy tales, who carries out his
master's instructions literally and precisely and with unlimited power,
often with disastrous, unforeseen consequences. Pre-Hole Hawg, I used to
examine the drill selection in hardware stores with what I thought was a
judicious eye, scorning the smaller low-end models and hefting the big
expensive ones appreciatively, wishing I could afford one of them babies.
Now I view them all with such contempt that I do not even consider them to
be real drills--merely scaled-up toys designed to exploit the
self-delusional tendencies of soft-handed homeowners who want to believe
that they have purchased an actual tool. Their plastic casings, carefully
designed and focus-group-tested to convey a feeling of solidity and power,
seem disgustingly flimsy and cheap to me, and I am ashamed that I was ever
bamboozled into buying such knicknacks. It is not hard to imagine what the
world would look like to someone who had been raised by contractors and who
had never used any drill other than a Hole Hawg. Such a person, presented
with the best and most expensive hardware-store drill, would not even
recognize it as such. He might instead misidentify it as a child's toy, or
some kind of motorized screwdriver. If a salesperson or a deluded homeowner
referred to it as a drill, he would laugh and tell them that they were
mistaken--they simply had their terminology wrong. His interlocutor would go
away irritated, and probably feeling rather defensive about his basement
full of cheap, dangerous, flashy, colorful tools. Unix is the Hole Hawg of
operating systems, and Unix hackers, like Doug Barnes and the guy in the
Dilbert cartoon and many of the other people who populate Silicon Valley,
are like contractor's sons who grew up using only Hole Hawgs. They might use
Apple/Microsoft OSes to write letters, play video games, or balance their
checkbooks, but they cannot really bring themselves to take these operating
systems seriously. &nbsp;

THE ORAL TRADITION

Unix is hard to learn. The process of learning it is one of multiple small
epiphanies. Typically you are just on the verge of inventing some necessary
tool or utility when you realize that someone else has already invented it,
and built it in, and this explains some odd file or directory or command
that you have noticed but never really understood before. For example there
is a command (a small program, part of the OS) called whoami, which enables
you to ask the computer who it thinks you are. On a Unix machine, you are
always logged in under some name--possibly even your own! What files you may
work with, and what software you may use, depends on your identity. When I
started out using Linux, I was on a non-networked machine in my basement,
with only one user account, and so when I became aware of the whoami command
it struck me as ludicrous. But once you are logged in as one person, you can
temporarily switch over to a pseudonym in order to access different files.
If your machine is on the Internet, you can log onto other computers,
provided you have a user name and a password. At that point the distant
machine becomes no different in practice from the one right in front of you.
These changes in identity and location can easily become nested inside each
other, many layers deep, even if you aren't doing anything nefarious. Once
you have forgotten who and where you are, the whoami command is
indispensible. I use it all the time. The file systems of Unix machines all
have the same general structure. On your flimsy operating systems, you can
create directories (folders) and give them names like Frodo or My Stuff and
put them pretty much anywhere you like. But under Unix the highest
level--the root--of the filesystem is always designated with the single
character "/" and it always contains the same set of top-level directories:
/usr /etc /var /bin /proc /boot /home /root /sbin /dev /lib /tmp &nbsp; and
each of these directories typically has its own distinct structure of
subdirectories. Note the obsessive use of abbreviations and avoidance of
capital letters; this is a system invented by people to whom repetitive
stress disorder is what black lung is to miners. Long names get worn down to
three-letter nubbins, like stones smoothed by a river. This is not the place
to try to explain why each of the above directories exists, and what is
contained in it. At first it all seems obscure; worse, it seems deliberately
obscure. When I started using Linux I was accustomed to being able to create
directories wherever I wanted and to give them whatever names struck my
fancy. Under Unix you are free to do that, of course (you are free to do
anything) but as you gain experience with the system you come to understand
that the directories listed above were created for the best of reasons and
that your life will be much easier if you follow along (within /home, by the
way, you have pretty much unlimited freedom). After this kind of thing has
happened several hundred or thousand times, the hacker understands why Unix
is the way it is, and agrees that it wouldn't be the same any other way. It
is this sort of acculturation that gives Unix hackers their confidence in
the system, and the attitude of calm, unshakable, annoying superiority
captured in the Dilbert cartoon. Windows 95 and MacOS are products,
contrived by engineers in the service of specific companies. Unix, by
contrast, is not so much a product as it is a painstakingly compiled oral
history of the hacker subculture. It is our Gilgamesh epic. What made old
epics like Gilgamesh so powerful and so long-lived was that they were living
bodies of narrative that many people knew by heart, and told over and over
again--making their own personal embellishments whenever it struck their
fancy. The bad embellishments were shouted down, the good ones picked up by
others, polished, improved, and, over time, incorporated into the story.
Likewise, Unix is known, loved, and understood by so many hackers that it
can be re-created from scratch whenever someone needs it. This is very
difficult to understand for people who are accustomed to thinking of OSes as
things that absolutely have to be bought.

Many hackers have launched more or less successful re-implementations of the
Unix ideal. Each one brings in new embellishments. Some of them die out
quickly, some are merged with similar, parallel innovations created by
different hackers attacking the same problem, others still are embraced, and
adopted into the epic. Thus Unix has slowly accreted around a simple kernel
and acquired a kind of complexity and asymmetry about it that is organic,
like the roots of a tree, or the branchings of a coronary artery.
Understanding it is more like anatomy than physics. For at least a year,
prior to my adoption of Linux, I had been hearing about it. Credible,
well-informed people kept telling me that a bunch of hackers had got
together an implentation of Unix that could be downloaded, free of charge,
from the Internet. For a long time I could not bring myself to take the
notion seriously. It was like hearing rumors that a group of model rocket
enthusiasts had created a completely functional Saturn V by exchanging
blueprints on the Net and mailing valves and flanges to each other. But it's
true. Credit for Linux generally goes to its human namesake, one Linus
Torvalds, a Finn who got the whole thing rolling in 1991 when he used some
of the GNU tools to write the beginnings of a Unix kernel that could run on
PC-compatible hardware. And indeed Torvalds deserves all the credit he has
ever gotten, and a whole lot more. But he could not have made it happen by
himself, any more than Richard Stallman could have. To write code at all,
Torvalds had to have cheap but powerful development tools, and these he got
from Stallman's GNU project. And he had to have cheap hardware on which to
write that code. Cheap hardware is a much harder thing to arrange than cheap
software; a single person (Stallman) can write software and put it up on the
Net for free, but in order to make hardware it's necessary to have a whole
industrial infrastructure, which is not cheap by any stretch of the
imagination. Really the only way to make hardware cheap is to punch out an
incredible number of copies of it, so that the unit cost eventually drops.
For reasons already explained, Apple had no desire to see the cost of
hardware drop. The only reason Torvalds had cheap hardware was Microsoft.
Microsoft refused to go into the hardware business, insisted on making its
software run on hardware that anyone could build, and thereby created the
market conditions that allowed hardware prices to plummet. In trying to
understand the Linux phenomenon, then, we have to look not to a single
innovator but to a sort of bizarre Trinity: Linus Torvalds, Richard
Stallman, and Bill Gates. Take away any of these three and Linux would not
exist. &nbsp;

OS SHOCK

Young Americans who leave their great big homogeneous country and visit some
other part of the world typically go through several stages of culture
shock: first, dumb wide-eyed astonishment. Then a tentative engagement with
the new country's manners, cuisine, public transit systems and toilets,
leading to a brief period of fatuous confidence that they are instant
experts on the new country. As the visit wears on, homesickness begins to
set in, and the traveler begins to appreciate, for the first time, how much
he or she took for granted at home. At the same time it begins to seem
obvious that many of one's own cultures and traditions are essentially
arbitrary, and could have been different; driving on the right side of the
road, for example. When the traveler returns home and takes stock of the
experience, he or she may have learned a good deal more about America than
about the country they went to visit. For the same reasons, Linux is worth
trying. It is a strange country indeed, but you don't have to live there; a
brief sojourn suffices to give some flavor of the place and--more
importantly--to lay bare everything that is taken for granted, and all that
could have been done differently, under Windows or MacOS. You can't try it
unless you install it. With any other OS, installing it would be a
straightforward transaction: in exchange for money, some company would give
you a CD-ROM, and you would be on your way. But a lot is subsumed in that
kind of transaction, and has to be gone through and picked apart. We like
plain dealings and straightforward transactions in America. If you go to
Egypt and, say, take a taxi somewhere, you become a part of the taxi
driver's life; he refuses to take your money because it would demean your
friendship, he follows you around town, and weeps hot tears when you get in
some other guy's taxi. You end up meeting his kids at some point, and have
to devote all sort of ingenuity to finding some way to compensate him
without insulting his honor. It is exhausting. Sometimes you just want a
simple Manhattan-style taxi ride. But in order to have an American-style
setup, where you can just go out and hail a taxi and be on your way, there
must exist a whole hidden apparatus of medallions, inspectors, commissions,
and so forth--which is fine as long as taxis are cheap and you can always
get one. When the system fails to work in some way, it is mysterious and
infuriating and turns otherwise reasonable people into conspiracy theorists.
But when the Egyptian system breaks down, it breaks down transparently. You
can't get a taxi, but your driver's nephew will show up, on foot, to explain
the problem and apologize. Microsoft and Apple do things the Manhattan way,
with vast complexity hidden behind a wall of interface. Linux does things
the Egypt way, with vast complexity strewn about all over the landscape. If
you've just flown in from Manhattan, your first impulse will be to throw up
your hands and say "For crying out loud! Will you people get a grip on
yourselves!?" But this does not make friends in Linux-land any better than
it would in Egypt. You can suck Linux right out of the air, as it were, by
downloading the right files and putting them in the right places, but there
probably are not more than a few hundred people in the world who could
create a functioning Linux system in that way. What you really need is a
distribution of Linux, which means a prepackaged set of files. But
distributions are a separate thing from Linux per se. Linux per se is not a
specific set of ones and zeroes, but a self-organizing Net subculture. The
end result of its collective lucubrations is a vast body of source code,
almost all written in C (the dominant computer programming language).
"Source code" just means a computer program as typed in and edited by some
hacker. If it's in C, the file name will probably have .c or .cpp on the end
of it, depending on which dialect was used; if it's in some other language
it will have some other suffix. Frequently these sorts of files can be found
in a directory with the name /src which is the hacker's Hebraic abbreviation
of "source." Source files are useless to your computer, and of little
interest to most users, but they are of gigantic cultural and political
significance, because Microsoft and Apple keep them secret while Linux makes
them public. They are the family jewels. They are the sort of thing that in
Hollywood thrillers is used as a McGuffin: the plutonium bomb core, the
top-secret blueprints, the suitcase of bearer bonds, the reel of microfilm.
If the source files for Windows or MacOS were made public on the Net, then
those OSes would become free, like Linux--only not as good, because no one
would be around to fix bugs and answer questions. Linux is "open source"
software meaning, simply, that anyone can get copies of its source code
files. Your computer doesn't want source code any more than you do; it wants
object code. Object code files typically have the suffix .o and are
unreadable all but a few, highly strange humans, because they consist of
ones and zeroes. Accordingly, this sort of file commonly shows up in a
directory with the name /bin, for "binary." Source files are simply ASCII
text files. ASCII denotes a particular way of encoding letters into bit
patterns. In an ASCII file, each character has eight bits all to itself.
This creates a potential "alphabet" of 256 distinct characters, in that
eight binary digits can form that many unique patterns. In practice, of
course, we tend to limit ourselves to the familiar letters and digits. The
bit-patterns used to represent those letters and digits are the same ones
that were physically punched into the paper tape by my high school teletype,
which in turn were the same one used by the telegraph industry for decades
previously. ASCII text files, in other words, are telegrams, and as such
they have no typographical frills. But for the same reason they are eternal,
because the code never changes, and universal, because every text editing
and word processing software ever written knows about this code. Therefore
just about any software can be used to create, edit, and read source code
files. Object code files, then, are created from these source files by a
piece of software called a compiler, and forged into a working application
by another piece of software called a linker. The triad of editor, compiler,
and linker, taken together, form the core of a software development system.
Now, it is possible to spend a lot of money on shrink-wrapped development
systems with lovely graphical user interfaces and various ergonomic
enhancements. In some cases it might even be a good and reasonable way to
spend money. But on this side of the road, as it were, the very best
software is usually the free stuff. Editor, compiler and linker are to
hackers what ponies, stirrups, and archery sets were to the Mongols. Hackers
live in the saddle, and hack on their own tools even while they are using
them to create new applications. It is quite inconceivable that superior
hacking tools could have been created from a blank sheet of paper by product
engineers. Even if they are the brightest engineers in the world they are
simply outnumbered. In the GNU/Linux world there are two major text editing
programs: the minimalist vi (known in some implementations as elvis) and the
maximalist emacs. I use emacs, which might be thought of as a thermonuclear
word processor. It was created by Richard Stallman; enough said. It is
written in Lisp, which is the only computer language that is beautiful. It
is colossal, and yet it only edits straight ASCII text files, which is to
say, no fonts, no boldface, no underlining. In other words, the
engineer-hours that, in the case of Microsoft Word, were devoted to features
like mail merge, and the ability to embed feature-length motion pictures in
corporate memoranda, were, in the case of emacs, focused with maniacal
intensity on the deceptively simple-seeming problem of editing text. If you
are a professional writer--i.e., if someone else is getting paid to worry
about how your words are formatted and printed--emacs outshines all other
editing software in approximately the same way that the noonday sun does the
stars. It is not just bigger and brighter; it simply makes everything else
vanish. For page layout and printing you can use TeX: a vast corpus of
typesetting lore written in C and also available on the Net for free. I
could say a lot about emacs and TeX, but right now I am trying to tell a
story about how to actually install Linux on your machine. The hard-core
survivalist approach would be to download an editor like emacs, and the GNU
Tools--the compiler and linker--which are polished and excellent to the same
degree as emacs. Equipped with these, one would be able to start downloading
ASCII source code files (/src) and compiling them into binary object code
files (/bin) that would run on the machine. But in order to even arrive at
this point--to get emacs running, for example--you have to have Linux
actually up and running on your machine. And even a minimal Linux operating
system requires thousands of binary files all acting in concert, and
arranged and linked together just so. Several entities have therefore taken
it upon themselves to create "distributions" of Linux. If I may extend the
Egypt analogy slightly, these entities are a bit like tour guides who meet
you at the airport, who speak your language, and who help guide you through
the initial culture shock. If you are an Egyptian, of course, you see it the
other way; tour guides exist to keep brutish outlanders from traipsing
through your mosques and asking you the same questions over and over and
over again. Some of these tour guides are commercial organizations, such as
Red Hat Software, which makes a Linux distribution called Red Hat that has a
relatively commercial sheen to it. In most cases you put a Red Hat CD-ROM
into your PC and reboot and it handles the rest. Just as a tour guide in
Egypt will expect some sort of compensation for his services, commercial
distributions need to be paid for. In most cases they cost almost nothing
and are well worth it. I use a distribution called Debian (the word is a
contraction of "Deborah" and "Ian") which is non-commercial. It is organized
(or perhaps I should say "it has organized itself") along the same lines as
Linux in general, which is to say that it consists of volunteers who
collaborate over the Net, each responsible for looking after a different
chunk of the system. These people have broken Linux down into a number of
packages, which are compressed files that can be downloaded to an already
functioning Debian Linux system, then opened up and unpacked using a free
installer application. Of course, as such, Debian has no commercial arm--no
distribution mechanism. You can download all Debian packages over the Net,
but most people will want to have them on a CD-ROM. Several different
companies have taken it upon themselves to decoct all of the current Debian
packages onto CD-ROMs and then sell them. I buy mine from Linux Systems
Labs. The cost for a three-disc set, containing Debian in its entirety, is
less than three dollars. But (and this is an important distinction) not a
single penny of that three dollars is going to any of the coders who created
Linux, nor to the Debian packagers. It goes to Linux Systems Labs and it
pays, not for the software, or the packages, but for the cost of stamping
out the CD-ROMs. Every Linux distribution embodies some more or less clever
hack for circumventing the normal boot process and causing your computer,
when it is turned on, to organize itself, not as a PC running Windows, but
as a "host" running Unix. This is slightly alarming the first time you see
it, but completely harmless. When a PC boots up, it goes through a little
self-test routine, taking an inventory of available disks and memory, and
then begins looking around for a disk to boot up from. In any normal Windows
computer that disk will be a hard drive. But if you have your system
configured right, it will look first for a floppy or CD-ROM disk, and boot
from that if one is available. Linux exploits this chink in the defenses.
Your computer notices a bootable disk in the floppy or CD-ROM drive, loads
in some object code from that disk, and blindly begins to execute it. But
this is not Microsoft or Apple code, this is Linux code, and so at this
point your computer begins to behave very differently from what you are
accustomed to. Cryptic messages began to scroll up the screen. If you had
booted a commercial OS, you would, at this point, be seeing a "Welcome to
MacOS" cartoon, or a screen filled with clouds in a blue sky, and a Windows
logo. But under Linux you get a long telegram printed in stark white letters
on a black screen. There is no "welcome!" message. Most of the telegram has
the semi-inscrutable menace of graffiti tags. Dec 14 15:04:15 theRev syslogd
1.3-3#17: restart. Dec 14 15:04:15 theRev kernel: klogd 1.3-3, log source =
/proc/kmsg started. Dec 14 15:04:15 theRev kernel: Loaded 3535 symbols from
/System.map. Dec 14 15:04:15 theRev kernel: Symbols match kernel version
2.0.30. Dec 14 15:04:15 theRev kernel: No module symbols loaded. Dec 14
15:04:15 theRev kernel: Intel MultiProcessor Specification v1.4 Dec 14
15:04:15 theRev kernel: Virtual Wire compatibility mode. Dec 14 15:04:15
theRev kernel: OEM ID: INTEL Product ID: 440FX APIC at: 0xFEE00000 Dec 14
15:04:15 theRev kernel: Processor #0 Pentium(tm) Pro APIC version 17 Dec 14
15:04:15 theRev kernel: Processor #1 Pentium(tm) Pro APIC version 17 Dec 14
15:04:15 theRev kernel: I/O APIC #2 Version 17 at 0xFEC00000. Dec 14
15:04:15 theRev kernel: Processors: 2 Dec 14 15:04:15 theRev kernel:
Console: 16 point font, 400 scans Dec 14 15:04:15 theRev kernel: Console:
colour VGA+ 80x25, 1 virtual console (max 63) Dec 14 15:04:15 theRev kernel:
pcibios_init : BIOS32 Service Directory structure at 0x000fdb70 Dec 14
15:04:15 theRev kernel: pcibios_init : BIOS32 Service Directory entry at
0xfdb80 Dec 14 15:04:15 theRev kernel: pcibios_init : PCI BIOS revision 2.10
entry at 0xfdba1 Dec 14 15:04:15 theRev kernel: Probing PCI hardware. Dec 14
15:04:15 theRev kernel: Warning : Unknown PCI device (10b7:9001). Please
read include/linux/pci.h Dec 14 15:04:15 theRev kernel: Calibrating delay
loop.. ok - 179.40 BogoMIPS Dec 14 15:04:15 theRev kernel: Memory:
64268k/66556k available (700k kernel code, 384k reserved, 1204k data) Dec 14
15:04:15 theRev kernel: Swansea University Computer Society NET3.035 for
Linux 2.0 Dec 14 15:04:15 theRev kernel: NET3: Unix domain sockets 0.13 for
Linux NET3.035. Dec 14 15:04:15 theRev kernel: Swansea University Computer
Society TCP/IP for NET3.034 Dec 14 15:04:15 theRev kernel: IP Protocols:
ICMP, UDP, TCP Dec 14 15:04:15 theRev kernel: Checking 386/387 coupling...
Ok, fpu using exception 16 error reporting. Dec 14 15:04:15 theRev kernel:
Checking 'hlt' instruction... Ok. Dec 14 15:04:15 theRev kernel: Linux
version 2.0.30 (root@theRev) (gcc version 2.7.2.1) #15 Fri Mar 27 16:37:24
PST 1998 Dec 14 15:04:15 theRev kernel: Booting processor 1 stack 00002000:
Calibrating delay loop.. ok - 179.40 BogoMIPS Dec 14 15:04:15 theRev kernel:
Total of 2 processors activated (358.81 BogoMIPS). Dec 14 15:04:15 theRev
kernel: Serial driver version 4.13 with no serial options enabled Dec 14
15:04:15 theRev kernel: tty00 at 0x03f8 (irq = 4) is a 16550A Dec 14
15:04:15 theRev kernel: tty01 at 0x02f8 (irq = 3) is a 16550A Dec 14
15:04:15 theRev kernel: lp1 at 0x0378, (polling) Dec 14 15:04:15 theRev
kernel: PS/2 auxiliary pointing device detected -- driver installed. Dec 14
15:04:15 theRev kernel: Real Time Clock Driver v1.07 Dec 14 15:04:15 theRev
kernel: loop: registered device at major 7 Dec 14 15:04:15 theRev kernel:
ide: i82371 PIIX (Triton) on PCI bus 0 function 57 Dec 14 15:04:15 theRev
kernel: ide0: BM-DMA at 0xffa0-0xffa7 Dec 14 15:04:15 theRev kernel: ide1:
BM-DMA at 0xffa8-0xffaf Dec 14 15:04:15 theRev kernel: hda: Conner
Peripherals 1275MB - CFS1275A, 1219MB w/64kB Cache, LBA, CHS=619/64/63 Dec
14 15:04:15 theRev kernel: hdb: Maxtor 84320A5, 4119MB w/256kB Cache, LBA,
CHS=8928/15/63, DMA Dec 14 15:04:15 theRev kernel: hdc: , ATAPI CDROM drive
Dec 15 11:58:06 theRev kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Dec 15
11:58:06 theRev kernel: ide1 at 0x170-0x177,0x376 on irq 15 Dec 15 11:58:06
theRev kernel: Floppy drive(s): fd0 is 1.44M Dec 15 11:58:06 theRev kernel:
Started kswapd v 1.4.2.2 Dec 15 11:58:06 theRev kernel: FDC 0 is a National
Semiconductor PC87306 Dec 15 11:58:06 theRev kernel: md driver 0.35
MAX_MD_DEV=4, MAX_REAL=8 Dec 15 11:58:06 theRev kernel: PPP: version 2.2.0
(dynamic channel allocation) Dec 15 11:58:06 theRev kernel: TCP compression
code copyright 1989 Regents of the University of California Dec 15 11:58:06
theRev kernel: PPP Dynamic channel allocation code copyright 1995 Caldera,
Inc. Dec 15 11:58:06 theRev kernel: PPP line discipline registered. Dec 15
11:58:06 theRev kernel: SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic
channels, max=256). Dec 15 11:58:06 theRev kernel: eth0: 3Com 3c900
Boomerang 10Mbps/Combo at 0xef00, 00:60:08:a4:3c:db, IRQ 10 Dec 15 11:58:06
theRev kernel: 8K word-wide RAM 3:5 Rx:Tx split, 10base2 interface. Dec 15
11:58:06 theRev kernel: Enabling bus-master transmits and whole-frame
receives. Dec 15 11:58:06 theRev kernel: 3c59x.c:v0.49 1/2/98 Donald Becker
http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html Dec 15 11:58:06 theRev
kernel: Partition check: Dec 15 11:58:06 theRev kernel: hda: hda1 hda2 hda3
Dec 15 11:58:06 theRev kernel: hdb: hdb1 hdb2 Dec 15 11:58:06 theRev kernel:
VFS: Mounted root (ext2 filesystem) readonly. Dec 15 11:58:06 theRev kernel:
Adding Swap: 16124k swap-space (priority -1) Dec 15 11:58:06 theRev kernel:
EXT2-fs warning: maximal mount count reached, running e2fsck is recommended
Dec 15 11:58:06 theRev kernel: hdc: media changed Dec 15 11:58:06 theRev
kernel: ISO9660 Extensions: RRIP_1991A Dec 15 11:58:07 theRev syslogd
1.3-3#17: restart. Dec 15 11:58:09 theRev diald[87]: Unable to open options
file /etc/diald/diald.options: No such file or directory Dec 15 11:58:09
theRev diald[87]: No device specified. You must have at least one device!
Dec 15 11:58:09 theRev diald[87]: You must define a connector script (option
'connect'). Dec 15 11:58:09 theRev diald[87]: You must define the remote ip
address. Dec 15 11:58:09 theRev diald[87]: You must define the local ip
address. Dec 15 11:58:09 theRev diald[87]: Terminating due to damaged
reconfigure. The only parts of this that are readable, for normal people,
are the error messages and warnings. And yet it's noteworthy that Linux
doesn't stop, or crash, when it encounters an error; it spits out a pithy
complaint, gives up on whatever processes were damaged, and keeps on
rolling. This was decidedly not true of the early versions of Apple and
Microsoft OSes, for the simple reason that an OS that is not capable of
walking and chewing gum at the same time cannot possibly recover from
errors. Looking for, and dealing with, errors requires a separate process
running in parallel with the one that has erred. A kind of superego, if you
will, that keeps an eye on all of the others, and jumps in when one goes
astray. Now that MacOS and Windows can do more than one thing at a time they
are much better at dealing with errors than they used to be, but they are
not even close to Linux or other Unices in this respect; and their greater
complexity has made them vulnerable to new types of errors.

FALLIBILITY, ATONEMENT, REDEMPTION, TRUST, AND OTHER ARCANE TECHNICAL
CONCEPTS Linux is not capable of having any centrally organized policies
dictating how to write error messages and documentation, and so each
programmer writes his own. Usually they are in English even though tons of
Linux programmers are Europeans. Frequently they are funny. Always they are
honest. If something bad has happened because the software simply isn't
finished yet, or because the user screwed something up, this will be stated
forthrightly. The command line interface makes it easy for programs to
dribble out little comments, warnings, and messages here and there. Even if
the application is imploding like a damaged submarine, it can still usually
eke out a little S.O.S. message. Sometimes when you finish working with a
program and shut it down, you find that it has left behind a series of mild
warnings and low-grade error messages in the command-line interface window
from which you launched it. As if the software were chatting to you about
how it was doing the whole time you were working with it. Documentation,
under Linux, comes in the form of man (short for manual) pages. You can
access these either through a GUI (xman) or from the command line (man).
Here is a sample from the man page for a program called rsh: "Stop signals
stop the local rsh process only; this is arguably wrong, but currently hard
to fix for reasons too complicated to explain here." The man pages contain a
lot of such material, which reads like the terse mutterings of pilots
wrestling with the controls of damaged airplanes. The general feel is of a
thousand monumental but obscure struggles seen in the stop-action light of a
strobe. Each programmer is dealing with his own obstacles and bugs; he is
too busy fixing them, and improving the software, to explain things at great
length or to maintain elaborate pretensions. In practice you hardly ever
encounter a serious bug while running Linux. When you do, it is almost
always with commercial software (several vendors sell software that runs
under Linux). The operating system and its fundamental utility programs are
too important to contain serious bugs. I have been running Linux every day
since late 1995 and have seen many application programs go down in flames,
but I have never seen the operating system crash. Never. Not once. There are
quite a few Linux systems that have been running continuously and working
hard for months or years without needing to be rebooted. Commercial OSes
have to adopt the same official stance towards errors as Communist countries
had towards poverty. For doctrinal reasons it was not possible to admit that
poverty was a serious problem in Communist countries, because the whole
point of Communism was to eradicate poverty. Likewise, commercial OS
companies like Apple and Microsoft can't go around admitting that their
software has bugs and that it crashes all the time, any more than Disney can
issue press releases stating that Mickey Mouse is an actor in a suit. This
is a problem, because errors do exist and bugs do happen. Every few months
Bill Gates tries to demo a new Microsoft product in front of a large
audience only to have it blow up in his face. Commercial OS vendors, as a
direct consequence of being commercial, are forced to adopt the grossly
disingenuous position that bugs are rare aberrations, usually someone else's
fault, and therefore not really worth talking about in any detail. This
posture, which everyone knows to be absurd, is not limited to press releases
and ad campaigns. It informs the whole way these companies do business and
relate to their customers. If the documentation were properly written, it
would mention bugs, errors, and crashes on every single page. If the on-line
help systems that come with these OSes reflected the experiences and
concerns of their users, they would largely be devoted to instructions on
how to cope with crashes and errors. But this does not happen. Joint stock
corporations are wonderful inventions that have given us many excellent
goods and services. They are good at many things. Admitting failure is not
one of them. Hell, they can't even admit minor shortcomings. Of course, this
behavior is not as pathological in a corporation as it would be in a human
being. Most people, nowadays, understand that corporate press releases are
issued for the benefit of the corporation's shareholders and not for the
enlightenment of the public. Sometimes the results of this institutional
dishonesty can be dreadful, as with tobacco and asbestos. In the case of
commercial OS vendors it is nothing of the kind, of course; it is merely
annoying. Some might argue that consumer annoyance, over time, builds up
into a kind of hardened plaque that can conceal serious decay, and that
honesty might therefore be the best policy in the long run; the jury is
still out on this in the operating system market. The business is expanding
fast enough that it's still much better to have billions of chronically
annoyed customers than millions of happy ones. Most system administrators I
know who work with Windows NT all the time agree that when it hits a snag,
it has to be re-booted, and when it gets seriously messed up, the only way
to fix it is to re-install the operating system from scratch. Or at least
this is the only way that they know of to fix it, which amounts to the same
thing. It is quite possible that the engineers at Microsoft have all sorts
of insider knowledge on how to fix the system when it goes awry, but if they
do, they do not seem to be getting the message out to any of the actual
system administrators I know. Because Linux is not commercial--because it
is, in fact, free, as well as rather difficult to obtain, install, and
operate--it does not have to maintain any pretensions as to its reliability.
Consequently, it is much more reliable. When something goes wrong with
Linux, the error is noticed and loudly discussed right away. Anyone with the
requisite technical knowledge can go straight to the source code and point
out the source of the error, which is then rapidly fixed by whichever hacker
has carved out responsibility for that particular program. As far as I know,
Debian is the only Linux distribution that has its own constitution
(http://www.debian.org/devel/constitution), but what really sold me on it
was its phenomenal bug database (http://www.debian.org/Bugs), which is a
sort of interactive Doomsday Book of error, fallibility, and redemption. It
is simplicity itself. When had a problem with Debian in early January of
1997, I sent in a message describing the problem to sub...@bugs.debian.org.
My problem was promptly assigned a bug report number (#6518) and a severity
level (the available choices being critical, grave, important, normal,
fixed, and wishlist) and forwarded to mailing lists where Debian people hang
out. Within twenty-four hours I had received five e-mails telling me how to
fix the problem: two from North America, two from Europe, and one from
Australia. All of these e-mails gave me the same suggestion, which worked,
and made my problem go away. But at the same time, a transcript of this
exchange was posted to Debian's bug database, so that if other users had the
same problem later, they would be able to search through and find the
solution without having to enter a new, redundant bug report. Contrast this
with the experience that I had when I tried to install Windows NT 4.0 on the
very same machine about ten months later, in late 1997. The installation
program simply stopped in the middle with no error messages. I went to the
Microsoft Support website and tried to perform a search for existing help
documents that would address my problem. The search engine was completely
nonfunctional; it did nothing at all. It did not even give me a message
telling me that it was not working. Eventually I decided that my motherboard
must be at fault; it was of a slightly unusual make and model, and NT did
not support as many different motherboards as Linux. I am always looking for
excuses, no matter how feeble, to buy new hardware, so I bought a new
motherboard that was Windows NT logo-compatible, meaning that the Windows NT
logo was printed right on the box. I installed this into my computer and got
Linux running right away, then attempted to install Windows NT again. Again,
the installation died without any error message or explanation. By this time
a couple of weeks had gone by and I thought that perhaps the search engine
on the Microsoft Support website might be up and running. I gave that a try
but it still didn't work. So I created a new Microsoft support account, then
logged on to submit the incident. I supplied my product ID number when
asked, and then began to follow the instructions on a series of help
screens. In other words, I was submitting a bug report just as with the
Debian bug tracking system. It's just that the interface was slicker--I was
typing my complaint into little text-editing boxes on Web forms, doing it
all through the GUI, whereas with Debian you send in an e-mail telegram. I
knew that when I was finished submitting the bug report, it would become
proprietary Microsoft information, and other users wouldn't be able to see
it. Many Linux users would refuse to participate in such a scheme on ethical
grounds, but I was willing to give it a shot as an experiment. In the end,
though I was never able to submit my bug report, because the series of
linked web pages that I was filling out eventually led me to a completely
blank page: a dead end. So I went back and clicked on the buttons for "phone
support" and eventually was given a Microsoft telephone number. When I
dialed this number I got a series of piercing beeps and a recorded message
from the phone company saying "We're sorry, your call cannot be completed as
dialed." I tried the search page again--it was still completely
nonfunctional. Then I tried PPI (Pay Per Incident) again. This led me
through another series of Web pages until I dead-ended at one reading:
"Notice-there is no Web page matching your request." I tried it again, and
eventually got to a Pay Per Incident screen reading: "OUT OF INCIDENTS.
There are no unused incidents left in your account. If you would like to
purchase a support incident, click OK-you will then be able to prepay for an
incident...." The cost per incident was $95. The experiment was beginning to
seem rather expensive, so I gave up on the PPI approach and decided to have
a go at the FAQs posted on Microsoft's website. None of the available FAQs
had anything to do with my problem except for one entitled "I am having some
problems installing NT" which appeared to have been written by flacks, not
engineers. So I gave up and still, to this day, have never gotten Windows NT
installed on that particular machine. For me, the path of least resistance
was simply to use Debian Linux. In the world of open source software, bug
reports are useful information. Making them public is a service to other
users, and improves the OS. Making them public systematically is so
important that highly intelligent people voluntarily put time and money into
running bug databases. In the commercial OS world, however, reporting a bug
is a privilege that you have to pay lots of money for. But if you pay for
it, it follows that the bug report must be kept confidential--otherwise
anyone could get the benefit of your ninety-five bucks! And yet nothing
prevents NT users from setting up their own public bug database. This is, in
other words, another feature of the OS market that simply makes no sense
unless you view it in the context of culture. What Microsoft is selling
through Pay Per Incident isn't technical support so much as the continued
illusion that its customers are engaging in some kind of rational business
transaction. It is a sort of routine maintenance fee for the upkeep of the
fantasy. If people really wanted a solid OS they would use Linux, and if
they really wanted tech support they would find a way to get it; Microsoft's
customers want something else. As of this writing (Jan. 1999), something
like 32,000 bugs have been reported to the Debian Linux bug database. Almost
all of them have been fixed a long time ago. There are twelve "critical"
bugs still outstanding, of which the oldest was posted 79 days ago. There
are 20 outstanding "grave" bugs of which the oldest is 1166 days old. There
are 48 "important" bugs and hundreds of "normal" and less important ones.
Likewise, BeOS (which I'll get to in a minute) has its own bug database
(http://www.be.com/developers/bugs/index.html) with its own classification
system, including such categories as "Not a Bug," "Acknowledged Feature,"
and "Will Not Fix." Some of the "bugs" here are nothing more than Be hackers
blowing off steam, and are classified as "Input Acknowledged." For example,
I found one that was posted on December 30th, 1998. It's in the middle of a
long list of bugs, wedged between one entitled "Mouse working in very
strange fashion" and another called "Change of BView frame does not affect,
if BView not attached to a BWindow." This one is entitled R4: BeOS missing
megalomaniacal figurehead to harness and focus developer rage and it goes
like this: ---------------------------- Be Status: Input Acknowledged BeOS
Version: R3.2 Component: unknown Full Description: The BeOS needs a
megalomaniacal egomaniac sitting on its throne to give it a human character
which everyone loves to hate. Without this, the BeOS will languish in the
impersonifiable realm of OSs that people can never quite get a handle on.
You can judge the success of an OS not by the quality of its features, but
by how infamous and disliked the leaders behind them are. I believe this is
a side-effect of developer comraderie under miserable conditions. After all,
misery loves company. I believe that making the BeOS less conceptually
accessible and far less reliable will require developers to band together,
thus developing the kind of community where strangers talk to one- another,
kind of like at a grocery store before a huge snowstorm. Following this same
program, it will likely be necessary to move the BeOS headquarters to a
far-less-comfortable climate. General environmental discomfort will breed
this attitude within and there truly is no greater recipe for success. I
would suggest Seattle, but I think it's already taken. You might try
Washington, DC, but definitely not somewhere like San Diego or
Tucson. ---------------------------- Unfortunately, the Be bug reporting
system strips off the names of the people who report the bugs (to protect
them from retribution!?) and so I don't know who wrote this. So it would
appear that I'm in the middle of crowing about the technical and moral
superiority of Debian Linux. But as almost always happens in the OS world,
it's more complicated than that. I have Windows NT running on another
machine, and the other day (Jan. 1999), when I had a problem with it, I
decided to have another go at Microsoft Support. This time the search engine
actually worked (though in order to reach it I had to identify myself as
"advanced"). And instead of coughing up some useless FAQ, it located about
two hundred documents (I was using very vague search criteria) that were
obviously bug reports--though they were called something else. Microsoft, in
other words, has got a system up and running that is functionally equivalent
to Debian's bug database. It looks and feels different, of course, but it
contains technical nitty-gritty and makes no bones about the existence of
errors. As I've explained, selling OSes for money is a basically untenable
position, and the only way Apple and Microsoft can get away with it is by
pursuing technological advancements as aggressively as they can, and by
getting people to believe in, and to pay for, a particular image: in the
case of Apple, that of the creative free thinker, and in the case of
Microsoft, that of the respectable techno-bourgeois. Just like Disney,
they're making money from selling an interface, a magic mirror. It has to be
polished and seamless or else the whole illusion is ruined and the business
plan vanishes like a mirage. Accordingly, it was the case until recently
that the people who wrote manuals and created customer support websites for
commercial OSes seemed to have been barred, by their employers' legal or PR
departments, from admitting, even obliquely, that the software might contain
bugs or that the interface might be suffering from the blinking twelve
problem. They couldn't address users' actual difficulties. The manuals and
websites were therefore useless, and caused even technically self-assured
users to wonder whether they were going subtly insane. When Apple engages in
this sort of corporate behavior, one wants to believe that they are really
trying their best. We all want to give Apple the benefit of the doubt,
because mean old Bill Gates kicked the crap out of them, and because they
have good PR. But when Microsoft does it, one almost cannot help becoming a
paranoid conspiracist. Obviously they are hiding something from us! And yet
they are so powerful! They are trying to drive us crazy! This approach to
dealing with one's customers was straight out of the Central European
totalitarianism of the mid-Twentieth Century. The adjectives "Kafkaesque"
and "Orwellian" come to mind. It couldn't last, any more than the Berlin
Wall could, and so now Microsoft has a publicly available bug database. It's
called something else, and it takes a while to find it, but it's there. They
have, in other words, adapted to the two-tiered Eloi/Morlock structure of
technological society. If you're an Eloi you install Windows, follow the
instructions, hope for the best, and dumbly suffer when it breaks. If you're
a Morlock you go to the website, tell it that you are "advanced," find the
bug database, and get the truth straight from some anonymous Microsoft
engineer. But once Microsoft has taken this step, it raises the question,
once again, of whether there is any point to being in the OS business at
all. Customers might be willing to pay $95 to report a problem to Microsoft
if, in return, they get some advice that no other user is getting. This has
the useful side effect of keeping the users alienated from one another,
which helps maintain the illusion that bugs are rare aberrations. But once
the results of those bug reports become openly available on the Microsoft
website, everything changes. No one is going to cough up $95 to report a
problem when chances are good that some other sucker will do it first, and
that instructions on how to fix the bug will then show up, for free, on a
public website. And as the size of the bug database grows, it eventually
becomes an open admission, on Microsoft's part, that their OSes have just as
many bugs as their competitors'. There is no shame in that; as I mentioned,
Debian's bug database has logged 32,000 reports so far. But it puts
Microsoft on an equal footing with the others and makes it a lot harder for
their customers--who want to believe--to believe. &nbsp;

MEMENTO MORI

Once the Linux machine has finished spitting out its jargonic opening
telegram, it prompts me to log in with a user name and a password. At this
point the machine is still running the command line interface, with white
letters on a black screen. There are no windows, menus, or buttons. It does
not respond to the mouse; it doesn't even know that the mouse is there. It
is still possible to run a lot of software at this point. Emacs, for
example, exists in both a CLI and a GUI version (actually there are two GUI
versions, reflecting some sort of doctrinal schism between Richard Stallman
and some hackers who got fed up with him). The same is true of many other
Unix programs. Many don't have a GUI at all, and many that do are capable of
running from the command line. Of course, since my computer only has one
monitor screen, I can only see one command line, and so you might think that
I could only interact with one program at a time. But if I hold down the Alt
key and then hit the F2 function button at the top of my keyboard, I am
presented with a fresh, blank, black screen with a login prompt at the top
of it. I can log in here and start some other program, then hit Alt-F1 and
go back to the first screen, which is still doing whatever it was when I
left it. Or I can do Alt-F3 and log in to a third screen, or a fourth, or a
fifth. On one of these screens I might be logged in as myself, on another as
root (the system administrator), on yet another I might be logged on to some
other computer over the Internet. Each of these screens is called, in
Unix-speak, a tty, which is an abbreviation for teletype. So when I use my
Linux system in this way I am going right back to that small room at Ames
High School where I first wrote code twenty-five years ago, except that a
tty is quieter and faster than a teletype, and capable of running vastly
superior software, such as emacs or the GNU development tools. It is easy
(easy by Unix, not Apple/Microsoft standards) to configure a Linux machine
so that it will go directly into a GUI when you boot it up. This way, you
never see a tty screen at all. I still have mine boot into the
white-on-black teletype screen however, as a computational memento mori. It
used to be fashionable for a writer to keep a human skull on his desk as a
reminder that he was mortal, that all about him was vanity. The tty screen
reminds me that the same thing is true of slick user interfaces. The X
Windows System, which is the GUI of Unix, has to be capable of running on
hundreds of different video cards with different chipsets, amounts of
onboard memory, and motherboard buses. Likewise, there are hundreds of
different types of monitors on the new and used market, each with different
specifications, and so there are probably upwards of a million different
possible combinations of card and monitor. The only thing they all have in
common is that they all work in VGA mode, which is the old command-line
screen that you see for a few seconds when you launch Windows. So Linux
always starts in VGA, with a teletype interface, because at first it has no
idea what sort of hardware is attached to your computer. In order to get
beyond the glass teletype and into the GUI, you have to tell Linux exactly
what kinds of hardware you have. If you get it wrong, you'll get a blank
screen at best, and at worst you might actually destroy your monitor by
feeding it signals it can't handle. When I started using Linux this had to
be done by hand. I once spent the better part of a month trying to get an
oddball monitor to work for me, and filled the better part of a composition
book with increasingly desperate scrawled notes. Nowadays, most Linux
distributions ship with a program that automatically scans the video card
and self-configures the system, so getting X Windows up and running is
nearly as easy as installing an Apple/Microsoft GUI. The crucial information
goes into a file (an ASCII text file, naturally) called XF86Config, which is
worth looking at even if your distribution creates it for you automatically.
For most people it looks like meaningless cryptic incantations, which is the
whole point of looking at it. An Apple/Microsoft system needs to have the
same information in order to launch its GUI, but it's apt to be deeply
hidden somewhere, and it's probably in a file that can't even be opened and
read by a text editor. All of the important files that make Linux systems
work are right out in the open. They are always ASCII text files, so you
don't need special tools to read them. You can look at them any time you
want, which is good, and you can mess them up and render your system totally
dysfunctional, which is not so good. At any rate, assuming that my
XF86Config file is just so, I enter the command "startx" to launch the X
Windows System. The screen blanks out for a minute, the monitor makes
strange twitching noises, then reconstitutes itself as a blank gray desktop
with a mouse cursor in the middle. At the same time it is launching a window
manager. X Windows is pretty low-level software; it provides the
infrastructure for a GUI, and it's a heavy industrial infrastructure. But it
doesn't do windows. That's handled by another category of application that
sits atop X Windows, called a window manager. Several of these are
available, all free of course. The classic is twm (Tom's Window Manager) but
there is a smaller and supposedly more efficient variant of it called fvwm,
which is what I use. I have my eye on a completely different window manager
called Enlightenment, which may be the hippest single technology product I
have ever seen, in that (a) it is for Linux, (b) it is freeware, (c) it is
being developed by a very small number of obsessed hackers, and (d) it looks
amazingly cool; it is the sort of window manager that might show up in the
backdrop of an Aliens movie. Anyway, the window manager acts as an
intermediary between X Windows and whatever software you want to use. It
draws the window frames, menus, and so on, while the applications themselves
draw the actual content in the windows. The applications might be of any
sort: text editors, Web browsers, graphics packages, or utility programs,
such as a clock or calculator. In other words, from this point on, you feel
as if you have been shunted into a parallel universe that is quite similar
to the familiar Apple or Microsoft one, but slightly and pervasively
different. The premier graphics program under Apple/Microsoft is Adobe
Photoshop, but under Linux it's something called The GIMP. Instead of the
Microsoft Office Suite, you can buy something called ApplixWare. Many
commercial software packages, such as Mathematica, Netscape Communicator,
and Adobe Acrobat, are available in Linux versions, and depending on how you
set up your window manager you can make them look and behave just as they
would under MacOS or Windows. But there is one type of window you'll see on
Linux GUI that is rare or nonexistent under other OSes. These windows are
called "xterm" and contain nothing but lines of text--this time, black text
on a white background, though you can make them be different colors if you
choose. Each xterm window is a separate command line interface--a tty in a
window. So even when you are in full GUI mode, you can still talk to your
Linux machine through a command-line interface. There are many good pieces
of Unix software that do not have GUIs at all. This might be because they
were developed before X Windows was available, or because the people who
wrote them did not want to suffer through all the hassle of creating a GUI,
or because they simply do not need one. In any event, those programs can be
invoked by typing their names into the command line of an xterm window. The
whoami command, mentioned earlier, is a good example. There is another
called wc ("word count") which simply returns the number of lines, words,
and characters in a text file. The ability to run these little utility
programs on the command line is a great virtue of Unix, and one that is
unlikely to be duplicated by pure GUI operating systems. The wc command, for
example, is the sort of thing that is easy to write with a command line
interface. It probably does not consist of more than a few lines of code,
and a clever programmer could probably write it in a single line. In
compiled form it takes up just a few bytes of disk space. But the code
required to give the same program a graphical user interface would probably
run into hundreds or even thousands of lines, depending on how fancy the
programmer wanted to make it. Compiled into a runnable piece of software, it
would have a large overhead of GUI code. It would be slow to launch and it
would use up a lot of memory. This would simply not be worth the effort, and
so "wc" would never be written as an independent program at all. Instead
users would have to wait for a word count feature to appear in a commercial
software package. GUIs tend to impose a large overhead on every single piece
of software, even the smallest, and this overhead completely changes the
programming environment. Small utility programs are no longer worth writing.
Their functions, instead, tend to get swallowed up into omnibus software
packages. As GUIs get more complex, and impose more and more overhead, this
tendency becomes more pervasive, and the software packages grow ever more
colossal; after a point they begin to merge with each other, as Microsoft
Word and Excel and PowerPoint have merged into Microsoft Office: a
stupendous software Wal-Mart sitting on the edge of a town filled with tiny
shops that are all boarded up. It is an unfair analogy, because when a tiny
shop gets boarded up it means that some small shopkeeper has lost his
business. Of course nothing of the kind happens when "wc" becomes subsumed
into one of Microsoft Word's countless menu items. The only real drawback is
a loss of flexibility for the user, but it is a loss that most customers
obviously do not notice or care about. The most serious drawback to the
Wal-Mart approach is that most users only want or need a tiny fraction of
what is contained in these giant software packages. The remainder is
clutter, dead weight. And yet the user in the next cubicle over will have
completely different opinions as to what is useful and what isn't. The other
important thing to mention, here, is that Microsoft has included a genuinely
cool feature in the Office package: a Basic programming package. Basic is
the first computer language that I learned, back when I was using the paper
tape and the teletype. By using the version of Basic that comes with Office
you can write your own little utility programs that know how to interact
with all of the little doohickeys, gewgaws, bells, and whistles in Office.
Basic is easier to use than the languages typically employed in Unix
command-line programming, and Office has reached many, many more people than
the GNU tools. And so it is quite possible that this feature of Office will,
in the end, spawn more hacking than GNU. But now I'm talking about
application software, not operating systems. And as I've said, Microsoft's
application software tends to be very good stuff. I don't use it very much,
because I am nowhere near their target market. If Microsoft ever makes a
software package that I use and like, then it really will be time to dump
their stock, because I am a market segment of one.

GEEK FATIGUE Over the years that I've been working with Linux I have filled
three and a half notebooks logging my experiences. I only begin writing
things down when I'm doing something complicated, like setting up X Windows
or fooling around with my Internet connection, and so these notebooks
contain only the record of my struggles and frustrations. When things are
going well for me, I'll work along happily for many months without jotting
down a single note. So these notebooks make for pretty bleak reading.
Changing anything under Linux is a matter of opening up various of those
little ASCII text files and changing a word here and a character there, in
ways that are extremely significant to how the system operates. Many of the
files that control how Linux operates are nothing more than command lines
that became so long and complicated that not even Linux hackers could type
them correctly. When working with something as powerful as Linux, you can
easily devote a full half-hour to engineering a single command line. For
example, the "find" command, which searches your file system for files that
match certain criteria, is fantastically powerful and general. Its "man" is
eleven pages long, and these are pithy pages; you could easily expand them
into a whole book. And if that is not complicated enough in and of itself,
you can always pipe the output of one Unix command to the input of another,
equally complicated one. The "pon" command, which is used to fire up a PPP
connection to the Internet, requires so much detailed information that it is
basically impossible to launch it entirely from the command line. Instead
you abstract big chunks of its input into three or four different files. You
need a dialing script, which is effectively a little program telling it how
to dial the phone and respond to various events; an options file, which
lists up to about sixty different options on how the PPP connection is to be
set up; and a secrets file, giving information about your password.
Presumably there are godlike Unix hackers somewhere in the world who don't
need to use these little scripts and options files as crutches, and who can
simply pound out fantastically complex command lines without making
typographical errors and without having to spend hours flipping through
documentation. But I'm not one of them. Like almost all Linux users, I
depend on having all of those details hidden away in thousands of little
ASCII text files, which are in turn wedged into the recesses of the Unix
filesystem. When I want to change something about the way my system works, I
edit those files. I know that if I don't keep track of every little change
I've made, I won't be able to get your system back in working order after
I've gotten it all messed up. Keeping hand-written logs is tedious, not to
mention kind of anachronistic. But it's necessary. I probably could have
saved myself a lot of headaches by doing business with a company called
Cygnus Support, which exists to provide assistance to users of free
software. But I didn't, because I wanted to see if I could do it myself. The
answer turned out to be yes, but just barely. And there are many tweaks and
optimizations that I could probably make in my system that I have never
gotten around to attempting, partly because I get tired of being a Morlock
some days, and partly because I am afraid of fouling up a system that
generally works well. Though Linux works for me and many other users, its
sheer power and generality is its Achilles' heel. If you know what you are
doing, you can buy a cheap PC from any computer store, throw away the
Windows discs that come with it, turn it into a Linux system of
mind-boggling complexity and power. You can hook it up to twelve other Linux
boxes and make it into part of a parallel computer. You can configure it so
that a hundred different people can be logged onto it at once over the
Internet, via as many modem lines, Ethernet cards, TCP/IP sockets, and
packet radio links. You can hang half a dozen different monitors off of it
and play DOOM with someone in Australia while tracking communications
satellites in orbit and controlling your house's lights and thermostats and
streaming live video from your web-cam and surfing the Net and designing
circuit boards on the other screens. But the sheer power and complexity of
the system--the qualities that make it so vastly technically superior to
other OSes--sometimes make it seem too formidable for routine day-to-day
use. Sometimes, in other words, I just want to go to Disneyland. The ideal
OS for me would be one that had a well-designed GUI that was easy to set up
and use, but that included terminal windows where I could revert to the
command line interface, and run GNU software, when it made sense. A few
years ago, Be Inc. invented exactly that OS. It is called the BeOS. &nbsp;

ETRE

Many people in the computer business have had a difficult time grappling
with Be, Incorporated, for the simple reason that nothing about it seems to
make any sense whatsoever. It was launched in late 1990, which makes it
roughly contemporary with Linux. From the beginning it has been devoted to
creating a new operating system that is, by design, incompatible with all
the others (though, as we shall see, it is compatible with Unix in some very
important ways). If a definition of "celebrity" is someone who is famous for
being famous, then Be is an anti-celebrity. It is famous for not being
famous; it is famous for being doomed. But it has been doomed for an awfully
long time. Be's mission might make more sense to hackers than to other
people. In order to explain why I need to explain the concept of cruft,
which, to people who write code, is nearly as abhorrent as unnecessary
repetition. If you've been to San Francisco you may have seen older
buildings that have undergone "seismic upgrades," which frequently means
that grotesque superstructures of modern steelwork are erected around
buildings made in, say, a Classical style. When new threats arrive--if we
have an Ice Age, for example--additional layers of even more high-tech stuff
may be constructed, in turn, around these, until the original building is
like a holy relic in a cathedral--a shard of yellowed bone enshrined in half
a ton of fancy protective junk. Analogous measures can be taken to keep
creaky old operating systems working. It happens all the time. Ditching an
worn-out old OS ought to be simplified by the fact that, unlike old
buildings, OSes have no aesthetic or cultural merit that makes them
intrinsically worth saving. But it doesn't work that way in practice. If you
work with a computer, you have probably customized your "desktop," the
environment in which you sit down to work every day, and spent a lot of
money on software that works in that environment, and devoted much time to
familiarizing yourself with how it all works. This takes a lot of time, and
time is money. As already mentioned, the desire to have one's interactions
with complex technologies simplified through the interface, and to surround
yourself with virtual tchotchkes and lawn ornaments, is natural and
pervasive--presumably a reaction against the complexity and formidable
abstraction of the computer world. Computers give us more choices than we
really want. We prefer to make those choices once, or accept the defaults
handed to us by software companies, and let sleeping dogs lie. But when an
OS gets changed, all the dogs jump up and start barking. The average
computer user is a technological antiquarian who doesn't really like things
to change. He or she is like an urban professional who has just bought a
charming fixer-upper and is now moving the furniture and knicknacks around,
and reorganizing the kitchen cupboards, so that everything's just right. If
it is necessary for a bunch of engineers to scurry around in the basement
shoring up the foundation so that it can support the new cast-iron claw-foot
bathtub, and snaking new wires and pipes through the walls to supply modern
appliances, why, so be it--engineers are cheap, at least when millions of OS
users split the cost of their services. Likewise, computer users want to
have the latest Pentium in their machines, and to be able to surf the web,
without messing up all the stuff that makes them feel as if they know what
the hell is going on. Sometimes this is actually possible. Adding more RAM
to your system is a good example of an upgrade that is not likely to screw
anything up. Alas, very few upgrades are this clean and simple. Lawrence
Lessig, the whilom Special Master in the Justice Department's antitrust suit
against Microsoft, complained that he had installed Internet Explorer on his
computer, and in so doing, lost all of his bookmarks--his personal list of
signposts that he used to navigate through the maze of the Internet. It was
as if he'd bought a new set of tires for his car, and then, when pulling
away from the garage, discovered that, owing to some inscrutable
side-effect, every signpost and road map in the world had been destroyed. If
he's like most of us, he had put a lot of work into compiling that list of
bookmarks. This is only a small taste of the sort of trouble that upgrades
can cause. Crappy old OSes have value in the basically negative sense that
changing to new ones makes us wish we'd never been born. All of the fixing
and patching that engineers must do in order to give us the benefits of new
technology without forcing us to think about it, or to change our ways,
produces a lot of code that, over time, turns into a giant clot of bubble
gum, spackle, baling wire and duct tape surrounding every operating system.
In the jargon of hackers, it is called "cruft." An operating system that has
many, many layers of it is described as "crufty." Hackers hate to do things
twice, but when they see something crufty, their first impulse is to rip it
out, throw it away, and start anew. If Mark Twain were brought back to San
Francisco today and dropped into one of these old seismically upgraded
buildings, it would look just the same to him, with all the doors and
windows in the same places--but if he stepped outside, he wouldn't recognize
it. And--if he'd been brought back with his wits intact--he might question
whether the building had been worth going to so much trouble to save. At
some point, one must ask the question: is this really worth it, or should we
maybe just tear it down and put up a good one? Should we throw another human
wave of structural engineers at stabilizing the Leaning Tower of Pisa, or
should we just let the damn thing fall over and build a tower that doesn't
suck? Like an upgrade to an old building, cruft always seems like a good
idea when the first layers of it go on--just routine maintenance, sound
prudent management. This is especially true if (as it were) you never look
into the cellar, or behind the drywall. But if you are a hacker who spends
all his time looking at it from that point of view, cruft is fundamentally
disgusting, and you can't avoid wanting to go after it with a crowbar. Or,
better yet, simply walk out of the building--let the Leaning Tower of Pisa
fall over--and go make a new one THAT DOESN'T LEAN. For a long time it was
obvious to Apple, Microsoft, and their customers that the first generation
of GUI operating systems was doomed, and that they would eventually need to
be ditched and replaced with completely fresh ones. During the late Eighties
and early Nineties, Apple launched a few abortive efforts to make
fundamentally new post-Mac OSes such as Pink and Taligent. When those
efforts failed they launched a new project called Copland which also failed.
In 1997 they flirted with the idea of acquiring Be, but instead they
acquired Next, which has an OS called NextStep that is, in effect, a variant
of Unix. As these efforts went on, and on, and on, and failed and failed and
failed, Apple's engineers, who were among the best in the business, kept
layering on the cruft. They were gamely trying to turn the little toaster
into a multi-tasking, Internet-savvy machine, and did an amazingly good job
of it for a while--sort of like a movie hero running across a jungle river
by hopping across crocodiles' backs. But in the real world you eventually
run out of crocodiles, or step on a really smart one. Speaking of which,
Microsoft tackled the same problem in a considerably more orderly way by
creating a new OS called Windows NT, which is explicitly intended to be a
direct competitor of Unix. NT stands for "New Technology" which might be rea
d as an explicit rejection of cruft. And indeed, NT is reputed to be a lot
less crufty than what MacOS eventually turned into; at one point the
documentation needed to write code on the Mac filled something like 24
binders. Windows 95 was, and Windows 98 is, crufty because they have to be
backward-compatible with older Microsoft OSes. Linux deals with the cruft
problem in the same way that Eskimos supposedly dealt with senior citizens:
if you insist on using old versions of Linux software, you will sooner or
later find yourself drifting through the Bering Straits on a dwindling ice
floe. They can get away with this because most of the software is free, so
it costs nothing to download up-to-date versions, and because most Linux
users are Morlocks. The great idea behind BeOS was to start from a clean
sheet of paper and design an OS the right way. And that is exactly what they
did. This was obviously a good idea from an aesthetic standpoint, but does
not a sound business plan make. Some people I know in the GNU/Linux world
are annoyed with Be for going off on this quixotic adventure when their
formidable skills could have been put to work helping to promulgate Linux.
Indeed, none of it makes sense until you remember that the founder of the
company, Jean-Louis Gassee, is from France--a country that for many years
maintained its own separate and independent version of the English monarchy
at a court in St. Germaines, complete with courtiers, coronation ceremonies,
a state religion and a foreign policy. Now, the same annoying yet admirable
stiff-neckedness that gave us the Jacobites, the force de frappe, Airbus,
and ARRET signs in Quebec, has brought us a really cool operating system. I
fart in your general direction, Anglo-Saxon pig-dogs! To create an entirely
new OS from scratch, just because none of the existing ones was exactly
right, struck me as an act of such colossal nerve that I felt compelled to
support it. I bought a BeBox as soon as I could. The BeBox was a
dual-processor machine, powered by Motorola chips, made specifically to run
the BeOS; it could not run any other operating system. That's why I bought
it. I felt it was a way to burn my bridges. Its most distinctive feature is
two columns of LEDs on the front panel that zip up and down like tachometers
to convey a sense of how hard each processor is working. I thought it looked
cool, and besides, I reckoned that when the company went out of business in
a few months, my BeBox would be a valuable collector's item. Now it is about
two years later and I am typing this on my BeBox. The LEDs (Das
Blinkenlights, as they are called in the Be community) flash merrily next to
my right elbow as I hit the keys. Be, Inc. is still in business, though they
stopped making BeBoxes almost immediately after I bought mine. They made the
sad, but probably quite wise decision that hardware was a sucker's game, and
ported the BeOS to Macintoshes and Mac clones. Since these used the same
sort of Motorola chips that powered the BeBox, this wasn't especially hard.
Very soon afterwards, Apple strangled the Mac-clone makers and restored its
hardware monopoly. So, for a while, the only new machines that could run
BeOS were made by Apple. By this point Be, like Spiderman with his
Spider-sense, had developed a keen sense of when they were about to get
crushed like a bug. Even if they hadn't, the notion of being dependent on
Apple--so frail and yet so vicious--for their continued existence should
have put a fright into anyone. Now engaged in their own crocodile-hopping
adventure, they ported the BeOS to Intel chips--the same chips used in
Windows machines. And not a moment too soon, for when Apple came out with
its new top-of-the-line hardware, based on the Motorola G3 chip, they
withheld the technical data that Be's engineers would need to make the BeOS
run on those machines. This would have killed Be, just like a slug between
the eyes, if they hadn't made the jump to Intel. So now BeOS runs on an
assortment of hardware that is almost incredibly motley: BeBoxes, aging Macs
and Mac orphan-clones, and Intel machines that are intended to be used for
Windows. Of course the latter type are ubiquitous and shockingly cheap
nowadays, so it would appear that Be's hardware troubles are finally over.
Some German hackers have even come up with a Das Blinkenlights replacement:
it's a circuit board kit that you can plug into PC-compatible machines
running BeOS. It gives you the zooming LED tachometers that were such a
popular feature of the BeBox. My BeBox is already showing its age, as all
computers do after a couple of years, and sooner or later I'll probably have
to replace it with an Intel machine. Even after that, though, I will still
be able to use it. Because, inevitably, someone has now ported Linux to the
BeBox. At any rate, BeOS has an extremely well-thought-out GUI built on a
technological framework that is solid. It is based from the ground up on
modern object-oriented software principles. BeOS software consists of
quasi-independent software entities called objects, which communicate by
sending messages to each other. The OS itself is made up of such objects,
and serves as a kind of post office or Internet that routes messages to and
fro, from object to object. The OS is multi-threaded, which means that like
all other modern OSes it can walk and chew gum at the same time; but it
gives programmers a lot of power over spawning and terminating threads, or
independent sub-processes. It is also a multi-processing OS, which means
that it is inherently good at running on computers that have more than one
CPU (Linux and Windows NT can also do this proficiently). For this user, a
big selling point of BeOS is the built-in Terminal application, which
enables you to open up windows that are equivalent to the xterm windows in
Linux. In other words, the command line interface is available if you want
it. And because BeOS hews to a certain standard called POSIX, it is capable
of running most of the GNU software. That is to say that the vast array of
command-line software developed by the GNU crowd will work in BeOS terminal
windows without complaint. This includes the GNU development tools-the
compiler and linker. And it includes all of the handy little utility
programs. I'm writing this using a modern sort of user-friendly text editor
called Pe, written by a Dutchman named Maarten Hekkelman, but when I want to
find out how long it is, I jump to a terminal window and run "wc." As is
suggested by the sample bug report I quoted earlier, people who work for Be,
and developers who write code for BeOS, seem to be enjoying themselves more
than their counterparts in other OSes. They also seem to be a more diverse
lot in general. A couple of years ago I went to an auditorium at a local
university to see some representatives of Be put on a dog-and-pony show. I
went because I assumed that the place would be empty and echoing, and I felt
that they deserved an audience of at least one. In fact, I ended up standing
in an aisle, for hundreds of students had packed the place. It was like a
rock concert. One of the two Be engineers on the stage was a black man,
which unfortunately is a very odd thing in the high-tech world. The other
made a ringing denunciation of cruft, and extolled BeOS for its cruft-free
qualities, and actually came out and said that in ten or fifteen years, when
BeOS had become all crufty like MacOS and Windows 95, it would be time to
simply throw it away and create a new OS from scratch. I doubt that this is
an official Be, Inc. policy, but it sure made a big impression on everyone
in the room! During the late Eighties, the MacOS was, for a time, the OS of
cool people-artists and creative-minded hackers-and BeOS seems to have the
potential to attract the same crowd now. Be mailing lists are crowded with
hackers with names like Vladimir and Olaf and Pierre, sending flames to each
other in fractured techno-English. The only real question about BeOS is
whether or not it is doomed. Of late, Be has responded to the tiresome
accusation that they are doomed with the assertion that BeOS is "a media
operating system" made for media content creators, and hence is not really
in competition with Windows at all. This is a little bit disingenuous. To go
back to the car dealership analogy, it is like the Batmobile dealer claiming
that he is not really in competition with the others because his car can go
three times as fast as theirs and is also capable of flying. Be has an
office in Paris, and, as mentioned, the conversation on Be mailing lists has
a strongly European flavor. At the same time they have made strenuous
efforts to find a niche in Japan, and Hitachi has recently begun bundling
BeOS with their PCs. So if I had to make wild guess I'd say that they are
playing Go while Microsoft is playing chess. They are staying clear, for
now, of Microsoft's overwhelmingly strong position in North America. They
are trying to get themselves established around the edges of the board, as
it were, in Europe and Japan, where people may be more open to alternative
OSes, or at least more hostile to Microsoft, than they are in the United
States. What holds Be back in this country is that the smart people are
afraid to look like suckers. You run the risk of looking naive when you say
"I've tried the BeOS and here's what I think of it." It seems much more
sophisticated to say "Be's chances of carving out a new niche in the highly
competitive OS market are close to nil." It is, in techno-speak, a problem
of mindshare. And in the OS business, mindshare is more than just a PR
issue; it has direct effects on the technology itself. All of the peripheral
gizmos that can be hung off of a personal computer--the printers, scanners,
PalmPilot interfaces, and Lego Mindstorms--require pieces of software called
drivers. Likewise, video cards and (to a lesser extent) monitors need
drivers. Even the different types of motherboards on the market relate to
the OS in different ways, and separate code is required for each one. All of
this hardware-specific code must not only written but also tested, debugged,
upgraded, maintained, and supported. Because the hardware market has become
so vast and complicated, what really determines an OS's fate is not how good
the OS is technically, or how much it costs, but rather the availability of
hardware-specific code. Linux hackers have to write that code themselves,
and they have done an amazingly good job of keeping up to speed. Be, Inc.
has to write all their own drivers, though as BeOS has begun gathering
momentum, third-party developers have begun to contribute drivers, which are
available on Be's web site. But Microsoft owns the high ground at the
moment, because it doesn't have to write its own drivers. Any hardware maker
bringing a new video card or peripheral device to market today knows that it
will be unsalable unless it comes with the hardware-specific code that will
make it work under Windows, and so each hardware maker has accepted the
burden of creating and maintaining its own library of drivers. &nbsp;

MINDSHARE

The U.S. Government's assertion that Microsoft has a monopoly in the OS
market might be the most patently absurd claim ever advanced by the legal
mind. Linux, a technically superior operating system, is being given away
for free, and BeOS is available at a nominal price. This is simply a fact,
which has to be accepted whether or not you like Microsoft. Microsoft is
really big and rich, and if some of the government's witnesses are to be
believed, they are not nice guys. But the accusation of a monopoly simply
does not make any sense. What is really going on is that Microsoft has
seized, for the time being, a certain type of high ground: they dominate in
the competition for mindshare, and so any hardware or software maker who
wants to be taken seriously feels compelled to make a product that is
compatible with their operating systems. Since Windows-compatible drivers
get written by the hardware makers, Microsoft doesn't have to write them; in
effect, the hardware makers are adding new components to Windows, making it
a more capable OS, without charging Microsoft for the service. It is a very
good position to be in. The only way to fight such an opponent is to have an
army of highly competetent coders who write equivalent drivers for free,
which Linux does. But possession of this psychological high ground is
different from a monopoly in any normal sense of that word, because here the
dominance has nothing to do with technical performance or price. The old
robber-baron monopolies were monopolies because they physically controlled
means of production and/or distribution. But in the software business, the
means of production is hackers typing code, and the means of distribution is
the Internet, and no one is claiming that Microsoft controls those. Here,
instead, the dominance is inside the minds of people who buy software.
Microsoft has power because people believe it does. This power is very real.
It makes lots of money. Judging from recent legal proceedings in both
Washingtons, it would appear that this power and this money have inspired
some very peculiar executives to come out and work for Microsoft, and that
Bill Gates should have administered saliva tests to some of them before
issuing them Microsoft ID cards. But this is not the sort of power that fits
any normal definition of the word "monopoly," and it's not amenable to a
legal fix. The courts may order Microsoft to do things differently. They
might even split the company up. But they can't really do anything about a
mindshare monopoly, short of taking every man, woman, and child in the
developed world and subjecting them to a lengthy brainwashing procedure.
Mindshare dominance is, in other words, a really odd sort of beast,
something that the framers of our antitrust laws couldn't possibly have
imagined. It looks like one of these modern, wacky chaos-theory phenomena, a
complexity thing, in which a whole lot of independent but connected entities
(the world's computer users), making decisions on their own, according to a
few simple rules of thumb, generate a large phenomenon (total domination of
the market by one company) that cannot be made sense of through any kind of
rational analysis. Such phenomena are fraught with concealed tipping-points
and all a-tangle with bizarre feedback loops, and cannot be understood;
people who try, end up (a) going crazy, (b) giving up, (c) forming crackpot
theories, or (d) becoming high-paid chaos theory consultants. Now, there
might be one or two people at Microsoft who are dense enough to believe that
mindshare dominance is some kind of stable and enduring position. Maybe that
even accounts for some of the weirdos they've hired in the pure-business end
of the operation, the zealots who keep getting hauled into court by enraged
judges. But most of them must have the wit to understand that phenomena like
these are maddeningly unstable, and that there's no telling what weird,
seemingly inconsequential event might cause the system to shift into a
radically different configuration. To put it another way, Microsoft can be
confident that Thomas Penfield Jackson will not hand down an order that the
brains of everyone in the developed world are to be summarily re-programmed.
But there's no way to predict when people will decide, en masse, to
re-program their own brains. This might explain some of Microsoft's
behavior, such as their policy of keeping eerily large reserves of cash
sitting around, and the extreme anxiety that they display whenever something
like Java comes along.

I have never seen the inside of the building at Microsoft where the top
executives hang out, but I have this fantasy that in the hallways, at
regular intervals, big red alarm boxes are bolted to the wall. Each contains
a large red button protected by a windowpane. A metal hammer dangles on a
chain next to it. Above is a big sign reading: IN THE EVENT OF A CRASH IN
MARKET SHARE, BREAK GLASS.

What happens when someone shatters the glass and hits the button, I don't
know, but it sure would be interesting to find out. One imagines banks
collapsing all over the world as Microsoft withdraws its cash reserves, and
shrink-wrapped pallet-loads of hundred-dollar bills dropping from the skies.
No doubt, Microsoft has a plan. But what I would really like to know is
whether, at some level, their programmers might heave a big sigh of relief
if the burden of writing the One Universal Interface to Everything were
suddenly lifted from their shoulders.


&nbsp;

THE RIGHT PINKY OF GOD

In his book The Life of the Cosmos, which everyone should read, Lee Smolin
gives the best description I've ever read of how our universe emerged from
an uncannily precise balancing of different fundamental constants. The mass
of the proton, the strength of gravity, the range of the weak nuclear force,
and a few dozen other fundamental constants completely determine what sort
of universe will emerge from a Big Bang. If these values had been even
slightly different, the universe would have been a vast ocean of tepid gas
or a hot knot of plasma or some other basically uninteresting thing--a dud,
in other words. The only way to get a universe that's not a dud--that has
stars, heavy elements, planets, and life--is to get the basic numbers just
right. If there were some machine, somewhere, that could spit out universes
with randomly chosen values for their fundamental constants, then for every
universe like ours it would produce 10^229 duds. Though I haven't sat down
and run the numbers on it, to me this seems comparable to the probability of
making a Unix computer do something useful by logging into a tty and typing
in command lines when you have forgotten all of the little options and
keywords. Every time your right pinky slams that ENTER key, you are making
another try. In some cases the operating system does nothing. In other cases
it wipes out all of your files. In most cases it just gives you an error
message. In other words, you get many duds. But sometimes, if you have it
all just right, the computer grinds away for a while and then produces
something like emacs. It actually generates complexity, which is Smolin's
criterion for interestingness. Not only that, but it's beginning to look as
if, once you get below a certain size--way below the level of quarks, down
into the realm of string theory--the universe can't be described very well
by physics as it has been practiced since the days of Newton. If you look at
a small enough scale, you see processes that look almost computational in
nature. I think that the message is very clear here: somewhere outside of
and beyond our universe is an operating system, coded up over incalculable
spans of time by some kind of hacker-demiurge. The cosmic operating system
uses a command-line interface. It runs on something like a teletype, with
lots of noise and heat; punched-out bits flutter down into its hopper like
drifting stars. The demiurge sits at his teletype, pounding out one command
line after another, specifying the values of fundamental constants of
physics: universe -G 6.672e-11 -e 1.602e-19 -h 6.626e-34 -protonmass
1.673e-27.... and when he's finished typing out the command line, his right
pinky hesitates above the ENTER key for an aeon or two, wondering what's
going to happen; then down it comes--and the WHACK you hear is another Big
Bang.

Now THAT is a cool operating system, and if such a thing were actually made
available on the Internet (for free, of course) every hacker in the world
would download it right away and then stay up all night long messing with
it, spitting out universes right and left. Most of them would be pretty dull
universes but some of them would be simply amazing. Because what those
hackers would be aiming for would be much more ambitious than a universe
that had a few stars and galaxies in it. Any run-of-the-mill hacker would be
able to do that. No, the way to gain a towering reputation on the Internet
would be to get so good at tweaking your command line that your universes
would spontaneously develop life. And once the way to do that became common
knowledge, those hackers would move on, trying to make their universes
develop the right kind of life, trying to find the one change in the Nth
decimal place of some physical constant that would give us an Earth in
which, say, Hitler had been accepted into art school after all, and had
ended up his days as a street artist with cranky political opinions.

Even if that fantasy came true, though, most users (including myself, on
certain days) wouldn't want to bother learning to use all of those arcane
commands, and struggling with all of the failures; a few dud universes can
really clutter up your basement. After we'd spent a while pounding out
command lines and hitting that ENTER key and spawning dull, failed
universes, we would start to long for an OS that would go all the way to the
opposite extreme: an OS that had the power to do everything--to live our
life for us. In this OS, all of the possible decisions we could ever want to
make would have been anticipated by clever programmers, and condensed into a
series of dialog boxes. By clicking on radio buttons we could choose from
among mutually exclusive choices (HETEROSEXUAL/HOMOSEXUAL). Columns of check
boxes would enable us to select the things that we wanted in our life (GET
MARRIED/WRITE GREAT AMERICAN NOVEL) and for more complicated options we
could fill in little text boxes (NUMBER OF DAUGHTERS: NUMBER OF SONS:).

Even this user interface would begin to look awfully complicated after a
while, with so many choices, and so many hidden interactions between
choices. It could become damn near unmanageable--the blinking twelve problem
all over again. The people who brought us this operating system would have
to provide templates and wizards, giving us a few default lives that we
could use as starting places for designing our own. Chances are that these
default lives would actually look pretty damn good to most people, good
enough, anyway, that they'd be reluctant to tear them open and mess around
with them for fear of making them worse. So after a few releases the
software would begin to look even simpler: you would boot it up and it would
present you with a dialog box with a single large button in the middle
labeled: LIVE. Once you had clicked that button, your life would begin. If
anything got out of whack, or failed to meet your expectations, you could
complain about it to Microsoft's Customer Support Department. If you got a
flack on the line, he or she would tell you that your life was actually
fine, that there was not a thing wrong with it, and in any event it would be
a lot better after the next upgrade was rolled out. But if you persisted,
and identified yourself as Advanced, you might get through to an actual
engineer.

What would the engineer say, after you had explained your problem, and
enumerated all of the dissatisfactions in your life? He would probably tell
you that life is a very hard and complicated thing; that no interface can
change that; that anyone who believes otherwise is a sucker; and that if you
don't like having choices made for you, you should start making your own.

Copyright 1999 by Neal Stephenson

&#169; 1999 The Hearst Corporation


0 new messages