File: blk00256.txt

Operation "rakushka" :)

In the Beginning was the Command Line - Part 2/6


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&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

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&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.


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

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 already 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.


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

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:

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.

Mined by AntPool usa1%
Mined by AntPool bj0
Mined by AntPool bj69
:;! P2P is future!>ppk:0R
:;! rg/AP/"],"title":"ZPP-4","auth":R

In the Beginning was the Command Line - Part 3/6


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

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:


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.


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.


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.


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

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 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.

:;! P2P is future!>ppk:0R
:;! rg/AP/"],"title":"Apache-1","autR

In the Beginning was the Command Line - Part 4/6


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 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 / 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 #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 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
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

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.


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

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 (,
but what really sold me on it was its phenomenal bug database
(, 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 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

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
( 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

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.

Mined by AntPool usa1%
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"Apache-1","autR
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"Apache-2","autR
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"Apache-3","autR
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"Apache-4","autR
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"Apache-5","autR
Mined by AntPool sc12
Mined by AntPool bj5/

In the Beginning was the Command Line - Part 5/6


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.


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.


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 read 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.

Mined by f2poolscant
Mined by AntPool nmg0&
Mined by AntPool bj2/

In the Beginning was the Command Line - Part 6/6


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

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.


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

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

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.

"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"Sample-1","autR
Mined by AntPool sc0
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"SAMPLE-1","autR
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"SAMPLE-3","autR
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"SAMPLE-5","autR
Mined by AntPool bj78
Mined by AntPool sc12
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"Block-1","authR
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"Block-2","authR
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"Block-3","authR
Follow the white rabbit.
Mined by AntPool bj2/
Mined by lz272202222
! P2P is future!>ppk:0R
! rg/AP/"],"title":"158","auth":"2R
! P2P is future!>ppk:0R
! rg/AP/"],"title":"rayliang","autR
}Mined by fusionminer
! P2P is future!>ppk:0R
! rg/AP/"],"title":"NewWorld-1","aR
! P2P is future!>ppk:0R
! rg/AP/"],"title":"NewWorld-3","aR
Mined by bao105244124
Mined by AntPool bj2/
Mined by AntPool bj0
xMined by f2poolscant
! P2P is future!>ppk:0R
! rg/AP/"],"title":"Cyber-1","authR
! P2P is future!>ppk:0R
! rg/AP/"],"title":"Cyber2","auth"R
! P2P is future!>ppk:0R
! rg/AP/"],"title":"Cyber3-1","autR
Mined by AntPool sc12
! P2P is future!>ppk:0R
! rg/AP/"],"title":"ZYX","auth":"2R
Mined by AntPool usa1%
! P2P is future!>ppk:0R
! rg/AP/"],"title":"ZYX2","auth":"R
Mined by AntPool sc12
:;! P2P is future!>ppk:0R
:;! rg/AP/"],"title":"
:;! P2P is future!>ppk:0R
:;! rg/AP/"],"title":"Wonder-1","autR
:;! P2P is future!>ppk:0R
:;! rg/AP/"],"title":"Wonder-2","autR
:;! P2P is future!>ppk:0R
:;! rg/AP/"],"title":"Wonder-3","autR
:;! P2P is future!>ppk:0R
:;! rg/AP/"],"title":"Wonder-5","autR
Mined by baoyufan2011
Operation "rakushka" :)
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"elite-1","authR
Mined by AntPool bj78
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"elite-3","authR
Mined by xiaoyue8008
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"elite-1","authR
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"elite-2","authR
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"elite-3","authR
"! P2P is future!>ppk:0R
"! rg/AP/"],"title":"elite-4","authR
Mined by AntPool nmg0&
p[! P2P is future!>ppk:0R
p[! rg/AP/"],"title":"ZOO","auth":"2R
Mined by AntPool usa1%
Mined by AntPool bj78
Mined by AntPool sc12
Mined by AntPool usa1%
Mined by AntPool sc12
Mined by AntPool bj0
Mined by AntPool sc12
Mined by AntPool usa1%
Welcome to the real world.
Mined by AntPool sc0
Mined by AntPool sc12
Mined by AntPool bj69
Mined by AntPool sc0
Mined by AntPool usa1%
Mined by AntPool bj0
Mined by AntPool bj5/
Time is always against us.
Mined by AntPool sc12
Mined by AntPool sc0
Mined by AntPool sc0
?Mined by f2poolscant
Mined by AntPool bj78
! P2P is future!>ppk:0R
! rg/AP/"],"title":"Silicon ValleyR
! P2P is future!>ppk:0R
! rg/AP/"],"title":"Silicon ValleyR
Mined by AntPool bj2/
Mined by f2poolhaobtc
! P2P is future!>ppk:0R
! rg/AP/"],"title":"
Mined by AntPool sc0
Mined by AntPool sc0
@Mined by liangyong2014
Mined by AntPool sc12
Mined by f2poolscant
! P2P is future!>ppk:0R
! rg/AP/"],"title":"We love P2P-1"R
! P2P is future!>ppk:0R
! rg/AP/"],"title":"We love P2P-2"R
! P2P is future!>ppk:0R
! rg/AP/"],"title":"We love P2P-3"R
! P2P is future!>ppk:0R
! rg/AP/"],"title":"We love P2P-4"R
Mined by AntPool usa1%
Mined by zhangjing111
Follow the white rabbit.
Mined by AntPool bj2/
Mined by AntPool sc0
Welcome to the real world.
Mined by AntPool sc12
Welcome to the real world.
! P2P is future!>ppk:0R
! rg/AP/"],"title":"1GV6PLMntWkpGNR
! 3qvF4VwgnjAP2octu763","auth":"0"R
! P2P is future!>ppk:0R
! rg/AP/"],"title":"Landscape","auR
Mined by sww11005088
Mined by AntPool usa1%
Mined by AntPool usa1%
:;! P2P is future!>ppk:0R
:;! rg/AP/"],"title":"Test","auth":"R
Mined by klminer2014
Mined by AntPool sc12
Mined by AntPool sz0$
Mined by AntPool bj78
:;! P2P is future!>ppk:0R
:;! rg/AP/"],"title":"Jinsu","auth":R
Mined by f2poolscant
#The truth is that there is no spoon
! P2P is future!>ppk:0R
! rg/AP/"],"title":"Monster-2","auR
! P2P is future!>ppk:0R
! rg/AP/"],"title":"Monster-4","auR
! P2P is future!>ppk:0R
! rg/AP/"],"title":"XCP-1","auth":R
Mined by qq772641164
Mined by AntPool bj69
Mined by AntPool sc12
Mined by AntPool usa1%
Mined by AntPool bj0
Mined by AntPool bj0
Mined by AntPool sc12
Mined by haosen3310363
Mined by AntPool nmg0&
Mined by AntPool bj2/
Mined by AntPool sz0$
Mined by AntPool bj5/
Welcome to the real world.
Mined by AntPool bj2/
What is the Banking? Control.

blk00000.txt blk00001.txt blk00002.txt blk00003.txt blk00004.txt blk00005.txt blk00006.txt blk00007.txt blk00008.txt blk00009.txt blk00010.txt blk00011.txt blk00012.txt blk00013.txt blk00014.txt blk00015.txt blk00016.txt blk00017.txt blk00018.txt blk00019.txt blk00020.txt blk00021.txt blk00022.txt blk00023.txt blk00024.txt blk00025.txt blk00026.txt blk00027.txt blk00028.txt blk00029.txt blk00030.txt blk00031.txt blk00032.txt blk00033.txt blk00034.txt blk00035.txt blk00036.txt blk00037.txt blk00038.txt blk00039.txt blk00040.txt blk00041.txt blk00042.txt blk00043.txt blk00044.txt blk00045.txt blk00046.txt blk00047.txt blk00048.txt blk00049.txt blk00050.txt blk00051.txt blk00052.txt blk00053.txt blk00054.txt blk00055.txt blk00056.txt blk00057.txt blk00058.txt blk00059.txt blk00060.txt blk00061.txt blk00062.txt blk00063.txt blk00064.txt blk00065.txt blk00066.txt blk00067.txt blk00068.txt blk00069.txt blk00070.txt blk00071.txt blk00072.txt blk00073.txt blk00074.txt blk00075.txt blk00076.txt blk00077.txt blk00078.txt blk00079.txt blk00080.txt blk00081.txt blk00082.txt blk00083.txt blk00084.txt blk00085.txt blk00086.txt blk00087.txt blk00088.txt blk00089.txt blk00090.txt blk00091.txt blk00092.txt blk00093.txt blk00094.txt blk00095.txt blk00096.txt blk00097.txt blk00098.txt blk00099.txt blk00100.txt blk00101.txt blk00102.txt blk00103.txt blk00104.txt blk00105.txt blk00106.txt blk00107.txt blk00108.txt blk00109.txt blk00110.txt blk00111.txt blk00112.txt blk00113.txt blk00114.txt blk00115.txt blk00116.txt blk00117.txt blk00118.txt blk00119.txt blk00120.txt blk00121.txt blk00122.txt blk00123.txt blk00124.txt blk00125.txt blk00126.txt blk00127.txt blk00128.txt blk00129.txt blk00130.txt blk00131.txt blk00132.txt blk00133.txt blk00134.txt blk00135.txt blk00136.txt blk00137.txt blk00138.txt blk00139.txt blk00140.txt blk00141.txt blk00142.txt blk00143.txt blk00144.txt blk00145.txt blk00146.txt blk00147.txt blk00148.txt blk00149.txt blk00150.txt blk00151.txt blk00152.txt blk00153.txt blk00154.txt blk00155.txt blk00156.txt blk00157.txt blk00158.txt blk00159.txt blk00160.txt blk00161.txt blk00162.txt blk00163.txt blk00164.txt blk00165.txt blk00166.txt blk00167.txt blk00168.txt blk00169.txt blk00170.txt blk00171.txt blk00172.txt blk00173.txt blk00174.txt blk00175.txt blk00176.txt blk00177.txt blk00178.txt blk00179.txt blk00180.txt blk00181.txt blk00182.txt blk00183.txt blk00184.txt blk00185.txt blk00186.txt blk00187.txt blk00188.txt blk00189.txt blk00190.txt blk00191.txt blk00192.txt blk00193.txt blk00194.txt blk00195.txt blk00196.txt blk00197.txt blk00198.txt blk00199.txt blk00200.txt blk00201.txt blk00202.txt blk00203.txt blk00204.txt blk00205.txt blk00206.txt blk00207.txt blk00208.txt blk00209.txt blk00210.txt blk00211.txt blk00212.txt blk00213.txt blk00214.txt blk00215.txt blk00216.txt blk00217.txt blk00218.txt blk00219.txt blk00220.txt blk00221.txt blk00222.txt blk00223.txt blk00224.txt blk00225.txt blk00226.txt blk00227.txt blk00228.txt blk00229.txt blk00230.txt blk00231.txt blk00232.txt blk00233.txt blk00234.txt blk00235.txt blk00236.txt blk00237.txt blk00238.txt blk00239.txt blk00240.txt blk00241.txt blk00242.txt blk00243.txt blk00244.txt blk00245.txt blk00246.txt blk00247.txt blk00248.txt blk00249.txt blk00250.txt blk00251.txt blk00252.txt blk00253.txt blk00254.txt blk00255.txt blk00256.txt blk00257.txt blk00258.txt blk00259.txt blk00260.txt blk00261.txt blk00262.txt blk00263.txt blk00264.txt blk00265.txt blk00266.txt blk00267.txt blk00268.txt blk00269.txt blk00270.txt blk00271.txt blk00272.txt blk00273.txt blk00274.txt blk00275.txt blk00276.txt blk00277.txt blk00278.txt blk00279.txt blk00280.txt blk00281.txt blk00282.txt blk00283.txt blk00284.txt blk00285.txt blk00286.txt blk00287.txt blk00288.txt blk00289.txt blk00290.txt blk00291.txt blk00292.txt blk00293.txt blk00294.txt blk00295.txt blk00296.txt blk00297.txt blk00298.txt blk00299.txt blk00300.txt blk00301.txt blk00302.txt blk00303.txt blk00304.txt blk00305.txt blk00306.txt blk00307.txt blk00308.txt blk00309.txt blk00310.txt blk00311.txt blk00312.txt blk00313.txt blk00314.txt blk00315.txt blk00316.txt blk00317.txt blk00318.txt blk00319.txt blk00320.txt blk00321.txt blk00322.txt blk00323.txt blk00324.txt blk00325.txt blk00326.txt blk00327.txt blk00328.txt blk00329.txt blk00330.txt blk00331.txt blk00332.txt blk00333.txt blk00334.txt blk00335.txt blk00336.txt blk00337.txt blk00338.txt blk00339.txt blk00340.txt blk00341.txt blk00342.txt blk00343.txt blk00344.txt blk00345.txt blk00346.txt blk00347.txt blk00348.txt blk00349.txt blk00350.txt blk00351.txt blk00352.txt blk00353.txt blk00354.txt blk00355.txt blk00356.txt blk00357.txt blk00358.txt blk00359.txt blk00360.txt blk00361.txt blk00362.txt blk00363.txt blk00364.txt blk00365.txt blk00366.txt blk00367.txt blk00368.txt blk00369.txt blk00370.txt blk00371.txt blk00372.txt blk00373.txt blk00374.txt blk00375.txt blk00376.txt blk00377.txt blk00378.txt blk00379.txt blk00380.txt blk00381.txt blk00382.txt blk00383.txt blk00384.txt blk00385.txt blk00386.txt blk00387.txt blk00388.txt blk00389.txt blk00390.txt blk00391.txt blk00392.txt blk00393.txt blk00394.txt blk00395.txt blk00396.txt blk00397.txt blk00398.txt blk00399.txt blk00400.txt blk00401.txt blk00402.txt blk00403.txt blk00404.txt blk00405.txt blk00406.txt blk00407.txt blk00408.txt blk00409.txt blk00410.txt blk00411.txt blk00412.txt blk00413.txt blk00414.txt blk00415.txt blk00416.txt blk00417.txt blk00418.txt blk00419.txt blk00420.txt blk00421.txt blk00422.txt blk00423.txt blk00424.txt blk00425.txt blk00426.txt blk00427.txt blk00428.txt blk00429.txt blk00430.txt blk00431.txt blk00432.txt blk00433.txt blk00434.txt blk00435.txt blk00436.txt blk00437.txt blk00438.txt blk00439.txt blk00440.txt blk00441.txt blk00442.txt blk00443.txt blk00444.txt blk00445.txt blk00446.txt blk00447.txt blk00448.txt blk00449.txt blk00450.txt blk00451.txt blk00452.txt blk00453.txt blk00454.txt blk00455.txt blk00456.txt blk00457.txt blk00458.txt blk00459.txt blk00460.txt blk00461.txt blk00462.txt blk00463.txt blk00464.txt blk00465.txt blk00466.txt blk00467.txt blk00468.txt blk00469.txt blk00470.txt blk00471.txt blk00472.txt blk00473.txt blk00474.txt blk00475.txt blk00476.txt blk00477.txt blk00478.txt blk00479.txt blk00480.txt blk00481.txt blk00482.txt blk00483.txt blk00484.txt blk00485.txt blk00486.txt blk00487.txt blk00488.txt blk00489.txt blk00490.txt blk00491.txt blk00492.txt blk00493.txt blk00494.txt blk00495.txt blk00496.txt blk00497.txt blk00498.txt blk00499.txt blk00500.txt blk00501.txt blk00502.txt blk00503.txt blk00504.txt blk00505.txt blk00506.txt blk00507.txt blk00508.txt blk00509.txt blk00510.txt blk00511.txt blk00512.txt blk00513.txt blk00514.txt blk00515.txt blk00516.txt blk00517.txt blk00518.txt blk00519.txt blk00520.txt blk00521.txt blk00522.txt blk00523.txt blk00524.txt blk00525.txt blk00526.txt blk00527.txt blk00528.txt blk00529.txt blk00530.txt blk00531.txt blk00532.txt blk00533.txt blk00534.txt blk00535.txt blk00536.txt blk00537.txt blk00538.txt blk00539.txt blk00540.txt blk00541.txt blk00542.txt blk00543.txt blk00544.txt blk00545.txt blk00546.txt blk00547.txt blk00548.txt blk00549.txt blk00550.txt blk00551.txt blk00552.txt blk00553.txt blk00554.txt blk00555.txt blk00556.txt blk00557.txt blk00558.txt blk00559.txt blk00560.txt blk00561.txt blk00562.txt blk00563.txt blk00564.txt blk00565.txt blk00566.txt blk00567.txt blk00568.txt blk00569.txt blk00570.txt blk00571.txt blk00572.txt blk00573.txt blk00574.txt blk00575.txt blk00576.txt blk00577.txt blk00578.txt blk00579.txt blk00580.txt blk00581.txt blk00582.txt blk00583.txt blk00584.txt blk00585.txt blk00586.txt blk00587.txt blk00588.txt blk00589.txt blk00590.txt blk00591.txt blk00592.txt blk00593.txt blk00594.txt blk00595.txt blk00596.txt blk00597.txt blk00598.txt blk00599.txt blk00600.txt blk00601.txt blk00602.txt blk00603.txt blk00604.txt blk00605.txt blk00606.txt blk00607.txt blk00608.txt blk00609.txt blk00610.txt blk00611.txt blk00612.txt blk00613.txt blk00614.txt blk00615.txt blk00616.txt blk00617.txt blk00618.txt blk00619.txt blk00620.txt blk00621.txt blk00622.txt blk00623.txt blk00624.txt blk00625.txt blk00626.txt blk00627.txt blk00628.txt blk00629.txt blk00630.txt blk00631.txt blk00632.txt blk00633.txt blk00634.txt blk00635.txt blk00636.txt blk00637.txt blk00638.txt blk00639.txt blk00640.txt blk00641.txt blk00642.txt blk00643.txt blk00644.txt blk00645.txt blk00646.txt blk00647.txt blk00648.txt blk00649.txt blk00650.txt blk00651.txt blk00652.txt blk00653.txt blk00654.txt blk00655.txt blk00656.txt blk00657.txt blk00658.txt blk00659.txt blk00660.txt blk00661.txt blk00662.txt blk00663.txt blk00664.txt blk00665.txt blk00666.txt blk00667.txt blk00668.txt blk00669.txt blk00670.txt blk00671.txt blk00672.txt blk00673.txt blk00674.txt blk00675.txt blk00676.txt blk00677.txt blk00678.txt blk00679.txt blk00680.txt blk00681.txt blk00682.txt blk00683.txt blk00684.txt blk00685.txt blk00686.txt blk00687.txt blk00688.txt blk00689.txt blk00690.txt blk00691.txt blk00692.txt blk00693.txt blk00694.txt blk00695.txt blk00696.txt blk00697.txt blk00698.txt blk00699.txt blk00700.txt blk00701.txt blk00702.txt blk00703.txt blk00704.txt blk00705.txt blk00706.txt blk00707.txt blk00708.txt blk00709.txt blk00710.txt blk00711.txt blk00712.txt blk00713.txt blk00714.txt blk00715.txt blk00716.txt blk00717.txt blk00718.txt blk00719.txt blk00720.txt blk00721.txt blk00722.txt blk00723.txt blk00724.txt blk00725.txt blk00726.txt blk00727.txt blk00728.txt blk00729.txt blk00730.txt blk00731.txt blk00732.txt blk00733.txt blk00734.txt blk00735.txt blk00736.txt blk00737.txt blk00738.txt blk00739.txt blk00740.txt blk00741.txt blk00742.txt blk00743.txt blk00744.txt blk00745.txt blk00746.txt blk00747.txt blk00748.txt blk00749.txt blk00750.txt blk00751.txt blk00752.txt blk00753.txt blk00754.txt blk00755.txt blk00756.txt blk00757.txt blk00758.txt blk00759.txt blk00760.txt blk00761.txt blk00762.txt blk00763.txt blk00764.txt blk00765.txt blk00766.txt blk00767.txt blk00768.txt blk00769.txt blk00770.txt blk00771.txt blk00772.txt blk00773.txt blk00774.txt blk00775.txt blk00776.txt blk00777.txt blk00778.txt blk00779.txt blk00780.txt blk00781.txt blk00782.txt blk00783.txt blk00784.txt blk00785.txt blk00786.txt blk00787.txt blk00788.txt blk00789.txt blk00790.txt blk00791.txt blk00792.txt blk00793.txt blk00794.txt blk00795.txt blk00796.txt blk00797.txt blk00798.txt blk00799.txt blk00800.txt blk00801.txt blk00802.txt blk00803.txt blk00804.txt blk00805.txt blk00806.txt blk00807.txt blk00808.txt blk00809.txt blk00810.txt blk00811.txt blk00812.txt blk00813.txt blk00814.txt blk00815.txt blk00816.txt blk00817.txt blk00818.txt blk00819.txt blk00820.txt blk00821.txt blk00822.txt blk00823.txt blk00824.txt blk00825.txt blk00826.txt blk00827.txt blk00828.txt blk00829.txt blk00830.txt blk00831.txt blk00832.txt blk00833.txt blk00834.txt blk00835.txt blk00836.txt blk00837.txt blk00838.txt blk00839.txt blk00840.txt blk00841.txt blk00842.txt blk00843.txt blk00844.txt blk00845.txt blk00846.txt blk00847.txt blk00848.txt blk00849.txt blk00850.txt blk00851.txt blk00852.txt blk00853.txt blk00854.txt blk00855.txt blk00856.txt blk00857.txt blk00858.txt blk00859.txt blk00860.txt blk00861.txt blk00862.txt blk00863.txt blk00864.txt blk00865.txt blk00866.txt blk00867.txt blk00868.txt blk00869.txt blk00870.txt blk00871.txt blk00872.txt blk00873.txt blk00874.txt blk00875.txt blk00876.txt blk00877.txt blk00878.txt blk00879.txt blk00880.txt blk00881.txt blk00882.txt blk00883.txt blk00884.txt blk00885.txt blk00886.txt blk00887.txt blk00888.txt blk00889.txt blk00890.txt blk00891.txt blk00892.txt blk00893.txt blk00894.txt blk00895.txt blk00896.txt blk00897.txt blk00898.txt blk00899.txt blk00900.txt blk00901.txt blk00902.txt blk00903.txt blk00904.txt blk00905.txt blk00906.txt blk00907.txt blk00908.txt blk00909.txt blk00910.txt blk00911.txt blk00912.txt blk00913.txt blk00914.txt blk00915.txt blk00916.txt blk00917.txt blk00918.txt blk00919.txt blk00920.txt blk00921.txt blk00922.txt blk00923.txt blk00924.txt blk00925.txt blk00926.txt blk00927.txt blk00928.txt blk00929.txt blk00930.txt blk00931.txt blk00932.txt blk00933.txt blk00934.txt blk00935.txt blk00936.txt blk00937.txt blk00938.txt blk00939.txt blk00940.txt blk00941.txt blk00942.txt blk00943.txt blk00944.txt blk00945.txt blk00946.txt blk00947.txt blk00948.txt blk00949.txt blk00950.txt blk00951.txt blk00952.txt blk00953.txt blk00954.txt blk00955.txt blk00956.txt blk00957.txt blk00958.txt blk00959.txt blk00960.txt blk00961.txt blk00962.txt blk00963.txt blk00964.txt blk00965.txt blk00966.txt blk00967.txt blk00968.txt blk00969.txt blk00970.txt blk00971.txt blk00972.txt blk00973.txt blk00974.txt blk00975.txt blk00976.txt blk00977.txt blk00978.txt blk00979.txt blk00980.txt blk00981.txt blk00982.txt blk00983.txt blk00984.txt blk00985.txt blk00986.txt blk00987.txt blk00988.txt blk00989.txt blk00990.txt blk00991.txt blk00992.txt blk00993.txt blk00994.txt blk00995.txt blk00996.txt blk00997.txt blk00998.txt blk00999.txt blk01000.txt blk01001.txt blk01002.txt blk01003.txt blk01004.txt blk01005.txt blk01006.txt blk01007.txt blk01008.txt blk01009.txt blk01010.txt blk01011.txt blk01012.txt blk01013.txt blk01014.txt blk01015.txt blk01016.txt blk01017.txt blk01018.txt blk01019.txt blk01020.txt blk01021.txt blk01022.txt blk01023.txt blk01024.txt blk01025.txt blk01026.txt blk01027.txt blk01028.txt blk01029.txt blk01030.txt blk01031.txt blk01032.txt blk01033.txt blk01034.txt blk01035.txt blk01036.txt blk01037.txt blk01038.txt blk01039.txt blk01040.txt blk01041.txt blk01042.txt blk01043.txt blk01044.txt blk01045.txt blk01046.txt blk01047.txt blk01048.txt blk01049.txt blk01050.txt blk01051.txt blk01052.txt blk01053.txt blk01054.txt blk01055.txt blk01056.txt blk01057.txt blk01058.txt blk01059.txt blk01060.txt blk01061.txt blk01062.txt blk01063.txt blk01064.txt blk01065.txt blk01066.txt blk01067.txt blk01068.txt blk01069.txt blk01070.txt blk01071.txt blk01072.txt blk01073.txt blk01074.txt blk01075.txt blk01076.txt blk01077.txt blk01078.txt blk01079.txt blk01080.txt blk01081.txt blk01082.txt blk01083.txt blk01084.txt blk01085.txt blk01086.txt blk01087.txt blk01088.txt blk01089.txt blk01090.txt blk01091.txt blk01092.txt blk01093.txt blk01094.txt blk01095.txt blk01096.txt blk01097.txt blk01098.txt blk01099.txt blk01100.txt blk01101.txt blk01102.txt blk01103.txt blk01104.txt blk01105.txt blk01106.txt blk01107.txt blk01108.txt blk01109.txt blk01110.txt blk01111.txt blk01112.txt blk01113.txt blk01114.txt blk01115.txt blk01116.txt blk01117.txt blk01118.txt blk01119.txt blk01120.txt blk01121.txt blk01122.txt blk01123.txt blk01124.txt blk01125.txt blk01126.txt blk01127.txt blk01128.txt blk01129.txt blk01130.txt blk01131.txt blk01132.txt blk01133.txt blk01134.txt blk01135.txt blk01136.txt blk01137.txt blk01138.txt blk01139.txt blk01140.txt blk01141.txt blk01142.txt blk01143.txt blk01144.txt blk01145.txt blk01146.txt blk01147.txt blk01148.txt blk01149.txt blk01150.txt blk01151.txt blk01152.txt blk01153.txt blk01154.txt blk01155.txt blk01156.txt blk01157.txt blk01158.txt blk01159.txt blk01160.txt blk01161.txt blk01162.txt blk01163.txt blk01164.txt blk01165.txt blk01166.txt blk01167.txt blk01168.txt blk01169.txt blk01170.txt blk01171.txt blk01172.txt blk01173.txt blk01174.txt blk01175.txt blk01176.txt blk01177.txt blk01178.txt blk01179.txt blk01180.txt blk01181.txt blk01182.txt blk01183.txt blk01184.txt blk01185.txt blk01186.txt blk01187.txt blk01188.txt blk01189.txt blk01190.txt blk01191.txt blk01192.txt blk01193.txt blk01194.txt blk01195.txt blk01196.txt blk01197.txt blk01198.txt blk01199.txt blk01200.txt blk01201.txt blk01202.txt blk01203.txt blk01204.txt blk01205.txt blk01206.txt blk01207.txt blk01208.txt blk01209.txt blk01210.txt blk01211.txt blk01212.txt blk01213.txt blk01214.txt blk01215.txt blk01216.txt blk01217.txt blk01218.txt blk01219.txt blk01220.txt blk01221.txt blk01222.txt blk01223.txt blk01224.txt blk01225.txt blk01226.txt blk01227.txt blk01228.txt blk01229.txt blk01230.txt blk01231.txt blk01232.txt blk01233.txt blk01234.txt blk01235.txt blk01236.txt blk01237.txt blk01238.txt blk01239.txt blk01240.txt blk01241.txt blk01242.txt blk01243.txt blk01244.txt blk01245.txt blk01246.txt blk01247.txt blk01248.txt blk01249.txt blk01250.txt blk01251.txt blk01252.txt blk01253.txt blk01254.txt blk01255.txt blk01256.txt blk01257.txt blk01258.txt blk01259.txt blk01260.txt blk01261.txt blk01262.txt blk01263.txt blk01264.txt blk01265.txt blk01266.txt blk01267.txt blk01268.txt blk01269.txt blk01270.txt blk01271.txt blk01272.txt blk01273.txt blk01274.txt blk01275.txt blk01276.txt blk01277.txt blk01278.txt blk01279.txt blk01280.txt blk01281.txt blk01282.txt blk01283.txt blk01284.txt blk01285.txt blk01286.txt blk01287.txt blk01288.txt blk01289.txt blk01290.txt blk01291.txt blk01292.txt blk01293.txt blk01294.txt blk01295.txt blk01296.txt blk01297.txt blk01298.txt blk01299.txt blk01300.txt blk01301.txt blk01302.txt blk01303.txt blk01304.txt blk01305.txt blk01306.txt blk01307.txt blk01308.txt blk01309.txt blk01310.txt blk01311.txt blk01312.txt blk01313.txt blk01314.txt blk01315.txt blk01316.txt blk01317.txt blk01318.txt blk01319.txt blk01320.txt blk01321.txt blk01322.txt blk01323.txt blk01324.txt blk01325.txt blk01326.txt blk01327.txt blk01328.txt blk01329.txt blk01330.txt blk01331.txt blk01332.txt blk01333.txt blk01334.txt blk01335.txt blk01336.txt blk01337.txt blk01338.txt blk01339.txt blk01340.txt blk01341.txt blk01342.txt blk01343.txt blk01344.txt blk01345.txt blk01346.txt blk01347.txt blk01348.txt blk01349.txt blk01350.txt blk01351.txt blk01352.txt blk01353.txt blk01354.txt blk01355.txt blk01356.txt blk01357.txt blk01358.txt blk01359.txt blk01360.txt blk01361.txt blk01362.txt blk01363.txt blk01364.txt blk01365.txt blk01366.txt blk01367.txt blk01368.txt blk01369.txt blk01370.txt blk01371.txt blk01372.txt blk01373.txt blk01374.txt blk01375.txt blk01376.txt blk01377.txt blk01378.txt blk01379.txt blk01380.txt blk01381.txt blk01382.txt blk01383.txt blk01384.txt blk01385.txt blk01386.txt blk01387.txt blk01388.txt blk01389.txt blk01390.txt blk01391.txt blk01392.txt blk01393.txt blk01394.txt blk01395.txt blk01396.txt blk01397.txt blk01398.txt blk01399.txt blk01400.txt blk01401.txt blk01402.txt blk01403.txt blk01404.txt blk01405.txt blk01406.txt blk01407.txt blk01408.txt blk01409.txt blk01410.txt blk01411.txt blk01412.txt blk01413.txt blk01414.txt blk01415.txt blk01416.txt blk01417.txt blk01418.txt blk01419.txt blk01420.txt blk01421.txt blk01422.txt blk01423.txt blk01424.txt blk01425.txt blk01426.txt blk01427.txt blk01428.txt blk01429.txt blk01430.txt blk01431.txt blk01432.txt blk01433.txt blk01434.txt blk01435.txt blk01436.txt blk01437.txt blk01438.txt blk01439.txt blk01440.txt blk01441.txt blk01442.txt blk01443.txt blk01444.txt blk01445.txt blk01446.txt blk01447.txt blk01448.txt blk01449.txt blk01450.txt blk01451.txt blk01452.txt blk01453.txt blk01454.txt blk01455.txt blk01456.txt blk01457.txt blk01458.txt blk01459.txt blk01460.txt blk01461.txt blk01462.txt blk01463.txt blk01464.txt blk01465.txt blk01466.txt blk01467.txt blk01468.txt blk01469.txt blk01470.txt blk01471.txt blk01472.txt blk01473.txt blk01474.txt blk01475.txt blk01476.txt blk01477.txt blk01478.txt blk01479.txt blk01480.txt blk01481.txt blk01482.txt blk01483.txt blk01484.txt blk01485.txt blk01486.txt blk01487.txt blk01488.txt blk01489.txt blk01490.txt blk01491.txt blk01492.txt blk01493.txt blk01494.txt blk01495.txt blk01496.txt blk01497.txt blk01498.txt blk01499.txt blk01500.txt blk01501.txt blk01502.txt blk01503.txt blk01504.txt blk01505.txt blk01506.txt blk01507.txt blk01508.txt blk01509.txt blk01510.txt blk01511.txt blk01512.txt blk01513.txt blk01514.txt blk01515.txt blk01516.txt blk01517.txt blk01518.txt blk01519.txt blk01520.txt blk01521.txt blk01522.txt blk01523.txt blk01524.txt blk01525.txt blk01526.txt blk01527.txt blk01528.txt blk01529.txt blk01530.txt blk01531.txt blk01532.txt blk01533.txt blk01534.txt blk01535.txt blk01536.txt blk01537.txt blk01538.txt blk01539.txt blk01540.txt blk01541.txt blk01542.txt blk01543.txt blk01544.txt blk01545.txt blk01546.txt blk01547.txt blk01548.txt blk01549.txt blk01550.txt blk01551.txt blk01552.txt blk01553.txt blk01554.txt blk01555.txt blk01556.txt blk01557.txt blk01558.txt blk01559.txt blk01560.txt blk01561.txt blk01562.txt blk01563.txt blk01564.txt blk01565.txt blk01566.txt blk01567.txt blk01568.txt blk01569.txt blk01570.txt blk01571.txt blk01572.txt blk01573.txt blk01574.txt blk01575.txt blk01576.txt blk01577.txt blk01578.txt blk01579.txt blk01580.txt blk01581.txt blk01582.txt blk01583.txt blk01584.txt blk01585.txt blk01586.txt blk01587.txt blk01588.txt blk01589.txt blk01590.txt blk01591.txt blk01592.txt blk01593.txt blk01594.txt blk01595.txt blk01596.txt blk01597.txt blk01598.txt blk01599.txt blk01600.txt blk01601.txt blk01602.txt blk01603.txt blk01604.txt blk01605.txt blk01606.txt blk01607.txt blk01608.txt blk01609.txt blk01610.txt blk01611.txt blk01612.txt blk01613.txt blk01614.txt blk01615.txt blk01616.txt blk01617.txt blk01618.txt blk01619.txt blk01620.txt blk01621.txt blk01622.txt blk01623.txt blk01624.txt blk01625.txt blk01626.txt blk01627.txt blk01628.txt blk01629.txt blk01630.txt blk01631.txt blk01632.txt blk01633.txt blk01634.txt blk01635.txt blk01636.txt blk01637.txt blk01638.txt blk01639.txt blk01640.txt blk01641.txt blk01642.txt blk01643.txt blk01644.txt blk01645.txt blk01646.txt blk01647.txt blk01648.txt blk01649.txt blk01650.txt blk01651.txt blk01652.txt blk01653.txt blk01654.txt blk01655.txt blk01656.txt blk01657.txt blk01658.txt blk01659.txt blk01660.txt blk01661.txt blk01662.txt blk01663.txt blk01664.txt blk01665.txt blk01666.txt blk01667.txt blk01668.txt blk01669.txt blk01670.txt blk01671.txt blk01672.txt blk01673.txt blk01674.txt blk01675.txt blk01676.txt blk01677.txt blk01678.txt blk01679.txt blk01680.txt blk01681.txt blk01682.txt blk01683.txt blk01684.txt blk01685.txt blk01686.txt blk01687.txt blk01688.txt blk01689.txt blk01690.txt blk01691.txt blk01692.txt blk01693.txt blk01694.txt blk01695.txt blk01696.txt blk01697.txt blk01698.txt blk01699.txt blk01700.txt blk01701.txt blk01702.txt blk01703.txt blk01704.txt blk01705.txt blk01706.txt blk01707.txt blk01708.txt blk01709.txt blk01710.txt blk01711.txt blk01712.txt blk01713.txt blk01714.txt blk01715.txt blk01716.txt blk01717.txt blk01718.txt blk01719.txt blk01720.txt blk01721.txt blk01722.txt blk01723.txt blk01724.txt blk01725.txt blk01726.txt blk01727.txt blk01728.txt blk01729.txt blk01730.txt blk01731.txt blk01732.txt blk01733.txt blk01734.txt blk01735.txt blk01736.txt blk01737.txt blk01738.txt blk01739.txt blk01740.txt blk01741.txt blk01742.txt blk01743.txt blk01744.txt blk01745.txt blk01746.txt blk01747.txt blk01748.txt blk01749.txt blk01750.txt blk01751.txt blk01752.txt blk01753.txt blk01754.txt blk01755.txt blk01756.txt blk01757.txt blk01758.txt blk01759.txt blk01760.txt blk01761.txt blk01762.txt blk01763.txt blk01764.txt blk01765.txt blk01766.txt blk01767.txt blk01768.txt blk01769.txt blk01770.txt blk01771.txt blk01772.txt blk01773.txt blk01774.txt blk01775.txt blk01776.txt blk01777.txt blk01778.txt blk01779.txt blk01780.txt blk01781.txt blk01782.txt blk01783.txt blk01784.txt blk01785.txt blk01786.txt blk01787.txt blk01788.txt blk01789.txt blk01790.txt blk01791.txt blk01792.txt blk01793.txt blk01794.txt blk01795.txt blk01796.txt blk01797.txt blk01798.txt blk01799.txt blk01800.txt blk01801.txt blk01802.txt blk01803.txt blk01804.txt blk01805.txt blk01806.txt blk01807.txt blk01808.txt blk01809.txt blk01810.txt blk01811.txt blk01812.txt blk01813.txt blk01814.txt blk01815.txt blk01816.txt blk01817.txt blk01818.txt blk01819.txt blk01820.txt blk01821.txt blk01822.txt blk01823.txt blk01824.txt blk01825.txt blk01826.txt blk01827.txt blk01828.txt blk01829.txt blk01830.txt blk01831.txt blk01832.txt blk01833.txt blk01834.txt blk01835.txt blk01836.txt blk01837.txt blk01838.txt blk01839.txt blk01840.txt blk01841.txt blk01842.txt blk01843.txt blk01844.txt blk01845.txt blk01846.txt blk01847.txt blk01848.txt blk01849.txt blk01850.txt blk01851.txt blk01852.txt blk01853.txt blk01854.txt blk01855.txt blk01856.txt blk01857.txt blk01858.txt blk01859.txt blk01860.txt blk01861.txt blk01862.txt blk01863.txt blk01864.txt blk01865.txt blk01866.txt blk01867.txt blk01868.txt blk01869.txt blk01870.txt blk01871.txt blk01872.txt blk01873.txt blk01874.txt blk01875.txt blk01876.txt blk01877.txt blk01878.txt blk01879.txt blk01880.txt blk01881.txt blk01882.txt blk01883.txt blk01884.txt blk01885.txt blk01886.txt blk01887.txt blk01888.txt blk01889.txt blk01890.txt blk01891.txt blk01892.txt blk01893.txt blk01894.txt blk01895.txt blk01896.txt blk01897.txt blk01898.txt blk01899.txt blk01900.txt blk01901.txt blk01902.txt blk01903.txt blk01904.txt blk01905.txt blk01906.txt blk01907.txt blk01908.txt blk01909.txt blk01910.txt blk01911.txt blk01912.txt blk01913.txt blk01914.txt blk01915.txt blk01916.txt blk01917.txt blk01918.txt blk01919.txt blk01920.txt blk01921.txt blk01922.txt blk01923.txt blk01924.txt blk01925.txt blk01926.txt blk01927.txt blk01928.txt blk01929.txt blk01930.txt blk01931.txt blk01932.txt blk01933.txt blk01934.txt blk01935.txt blk01936.txt blk01937.txt blk01938.txt blk01939.txt blk01940.txt blk01941.txt blk01942.txt blk01943.txt blk01944.txt blk01945.txt blk01946.txt blk01947.txt blk01948.txt blk01949.txt blk01950.txt blk01951.txt blk01952.txt blk01953.txt blk01954.txt blk01955.txt blk01956.txt blk01957.txt blk01958.txt blk01959.txt blk01960.txt blk01961.txt blk01962.txt blk01963.txt blk01964.txt blk01965.txt blk01966.txt blk01967.txt blk01968.txt blk01969.txt blk01970.txt blk01971.txt blk01972.txt blk01973.txt blk01974.txt blk01975.txt blk01976.txt blk01977.txt blk01978.txt blk01979.txt blk01980.txt blk01981.txt blk01982.txt blk01983.txt blk01984.txt blk01985.txt blk01986.txt blk01987.txt blk01988.txt blk01989.txt blk01990.txt blk01991.txt blk01992.txt blk01993.txt blk01994.txt blk01995.txt blk01996.txt blk01997.txt blk01998.txt blk01999.txt blk02000.txt blk02001.txt blk02002.txt blk02003.txt blk02004.txt blk02005.txt blk02006.txt blk02007.txt blk02008.txt blk02009.txt blk02010.txt blk02011.txt blk02012.txt blk02013.txt blk02014.txt blk02015.txt blk02016.txt blk02017.txt blk02018.txt blk02019.txt blk02020.txt blk02021.txt blk02022.txt blk02023.txt blk02024.txt blk02025.txt blk02026.txt blk02027.txt blk02028.txt blk02029.txt blk02030.txt blk02031.txt blk02032.txt blk02033.txt blk02034.txt blk02035.txt blk02036.txt blk02037.txt blk02038.txt blk02039.txt blk02040.txt blk02041.txt blk02042.txt blk02043.txt blk02044.txt blk02045.txt blk02046.txt blk02047.txt blk02048.txt blk02049.txt blk02050.txt blk02051.txt blk02052.txt blk02053.txt blk02054.txt blk02055.txt blk02056.txt blk02057.txt blk02058.txt blk02059.txt blk02060.txt blk02061.txt blk02062.txt blk02063.txt blk02064.txt blk02065.txt blk02066.txt blk02067.txt blk02068.txt blk02069.txt blk02070.txt blk02071.txt blk02072.txt blk02073.txt blk02074.txt blk02075.txt blk02076.txt blk02077.txt blk02078.txt blk02079.txt blk02080.txt blk02081.txt blk02082.txt blk02083.txt blk02084.txt blk02085.txt blk02086.txt blk02087.txt blk02088.txt blk02089.txt blk02090.txt blk02091.txt blk02092.txt blk02093.txt blk02094.txt blk02095.txt blk02096.txt blk02097.txt blk02098.txt blk02099.txt blk02100.txt blk02101.txt blk02102.txt blk02103.txt blk02104.txt blk02105.txt blk02106.txt blk02107.txt blk02108.txt blk02109.txt blk02110.txt blk02111.txt blk02112.txt blk02113.txt blk02114.txt blk02115.txt blk02116.txt blk02117.txt blk02118.txt blk02119.txt blk02120.txt blk02121.txt blk02122.txt blk02123.txt blk02124.txt blk02125.txt blk02126.txt blk02127.txt blk02128.txt blk02129.txt blk02130.txt blk02131.txt blk02132.txt blk02133.txt blk02134.txt blk02135.txt blk02136.txt blk02137.txt blk02138.txt blk02139.txt blk02140.txt blk02141.txt blk02142.txt blk02143.txt blk02144.txt blk02145.txt blk02146.txt blk02147.txt blk02148.txt blk02149.txt blk02150.txt blk02151.txt blk02152.txt blk02153.txt blk02154.txt blk02155.txt blk02156.txt blk02157.txt blk02158.txt blk02159.txt blk02160.txt blk02161.txt blk02162.txt blk02163.txt blk02164.txt blk02165.txt blk02166.txt blk02167.txt blk02168.txt blk02169.txt blk02170.txt blk02171.txt blk02172.txt blk02173.txt blk02174.txt blk02175.txt blk02176.txt blk02177.txt blk02178.txt blk02179.txt blk02180.txt blk02181.txt blk02182.txt blk02183.txt blk02184.txt blk02185.txt blk02186.txt blk02187.txt blk02188.txt blk02189.txt blk02190.txt blk02191.txt blk02192.txt blk02193.txt blk02194.txt blk02195.txt blk02196.txt blk02197.txt blk02198.txt blk02199.txt blk02200.txt blk02201.txt blk02202.txt blk02203.txt blk02204.txt blk02205.txt blk02206.txt blk02207.txt blk02208.txt blk02209.txt blk02210.txt blk02211.txt blk02212.txt blk02213.txt blk02214.txt blk02215.txt blk02216.txt blk02217.txt blk02218.txt blk02219.txt blk02220.txt blk02221.txt blk02222.txt blk02223.txt blk02224.txt blk02225.txt blk02226.txt blk02227.txt blk02228.txt blk02229.txt blk02230.txt blk02231.txt blk02232.txt blk02233.txt blk02234.txt blk02235.txt blk02236.txt blk02237.txt blk02238.txt blk02239.txt blk02240.txt blk02241.txt blk02242.txt blk02243.txt blk02244.txt blk02245.txt blk02246.txt blk02247.txt blk02248.txt blk02249.txt blk02250.txt blk02251.txt blk02252.txt blk02253.txt blk02254.txt blk02255.txt blk02256.txt blk02257.txt blk02258.txt blk02259.txt blk02260.txt blk02261.txt blk02262.txt blk02263.txt blk02264.txt blk02265.txt blk02266.txt blk02267.txt blk02268.txt blk02269.txt blk02270.txt blk02271.txt blk02272.txt blk02273.txt blk02274.txt blk02275.txt blk02276.txt blk02277.txt blk02278.txt blk02279.txt blk02280.txt blk02281.txt blk02282.txt blk02283.txt blk02284.txt blk02285.txt blk02286.txt blk02287.txt blk02288.txt blk02289.txt blk02290.txt blk02291.txt blk02292.txt blk02293.txt blk02294.txt blk02295.txt blk02296.txt blk02297.txt blk02298.txt blk02299.txt blk02300.txt blk02301.txt blk02302.txt blk02303.txt blk02304.txt blk02305.txt blk02306.txt blk02307.txt blk02308.txt blk02309.txt blk02310.txt blk02311.txt blk02312.txt blk02313.txt blk02314.txt blk02315.txt blk02316.txt blk02317.txt blk02318.txt blk02319.txt blk02320.txt blk02321.txt blk02322.txt blk02323.txt blk02324.txt blk02325.txt blk02326.txt blk02327.txt blk02328.txt blk02329.txt blk02330.txt blk02331.txt blk02332.txt blk02333.txt blk02334.txt blk02335.txt blk02336.txt blk02337.txt blk02338.txt blk02339.txt blk02340.txt blk02341.txt blk02342.txt blk02343.txt blk02344.txt blk02345.txt blk02346.txt blk02347.txt blk02348.txt blk02349.txt blk02350.txt blk02351.txt blk02352.txt blk02353.txt blk02354.txt blk02355.txt blk02356.txt blk02357.txt blk02358.txt blk02359.txt blk02360.txt blk02361.txt blk02362.txt blk02363.txt blk02364.txt blk02365.txt blk02366.txt blk02367.txt blk02368.txt blk02369.txt blk02370.txt blk02371.txt blk02372.txt blk02373.txt blk02374.txt blk02375.txt blk02376.txt blk02377.txt blk02378.txt blk02379.txt blk02380.txt blk02381.txt blk02382.txt blk02383.txt blk02384.txt blk02385.txt blk02386.txt blk02387.txt blk02388.txt blk02389.txt blk02390.txt blk02391.txt blk02392.txt blk02393.txt blk02394.txt blk02395.txt blk02396.txt blk02397.txt blk02398.txt blk02399.txt blk02400.txt blk02401.txt blk02402.txt blk02403.txt blk02404.txt blk02405.txt blk02406.txt blk02407.txt blk02408.txt blk02409.txt blk02410.txt blk02411.txt blk02412.txt blk02413.txt blk02414.txt blk02415.txt blk02416.txt blk02417.txt blk02418.txt blk02419.txt blk02420.txt blk02421.txt blk02422.txt blk02423.txt blk02424.txt blk02425.txt blk02426.txt blk02427.txt blk02428.txt blk02429.txt blk02430.txt blk02431.txt blk02432.txt blk02433.txt blk02434.txt blk02435.txt blk02436.txt blk02437.txt blk02438.txt blk02439.txt blk02440.txt blk02441.txt blk02442.txt blk02443.txt blk02444.txt blk02445.txt blk02446.txt blk02447.txt blk02448.txt blk02449.txt blk02450.txt blk02451.txt blk02452.txt blk02453.txt blk02454.txt blk02455.txt blk02456.txt blk02457.txt blk02458.txt blk02459.txt blk02460.txt blk02461.txt blk02462.txt blk02463.txt blk02464.txt blk02465.txt blk02466.txt blk02467.txt blk02468.txt blk02469.txt blk02470.txt blk02471.txt blk02472.txt blk02473.txt blk02474.txt blk02475.txt blk02476.txt blk02477.txt blk02478.txt blk02479.txt blk02480.txt blk02481.txt blk02482.txt blk02483.txt blk02484.txt blk02485.txt blk02486.txt blk02487.txt blk02488.txt blk02489.txt blk02490.txt blk02491.txt blk02492.txt blk02493.txt blk02494.txt blk02495.txt blk02496.txt blk02497.txt blk02498.txt blk02499.txt blk02500.txt blk02501.txt blk02502.txt blk02503.txt blk02504.txt blk02505.txt blk02506.txt blk02507.txt blk02508.txt blk02509.txt blk02510.txt blk02511.txt blk02512.txt blk02513.txt blk02514.txt blk02515.txt blk02516.txt blk02517.txt blk02518.txt blk02519.txt blk02520.txt blk02521.txt blk02522.txt blk02523.txt blk02524.txt blk02525.txt blk02526.txt blk02527.txt blk02528.txt blk02529.txt blk02530.txt blk02531.txt blk02532.txt blk02533.txt blk02534.txt blk02535.txt blk02536.txt blk02537.txt blk02538.txt blk02539.txt blk02540.txt blk02541.txt blk02542.txt blk02543.txt blk02544.txt blk02545.txt blk02546.txt blk02547.txt blk02548.txt blk02549.txt blk02550.txt blk02551.txt blk02552.txt blk02553.txt blk02554.txt blk02555.txt blk02556.txt blk02557.txt blk02558.txt blk02559.txt blk02560.txt blk02561.txt blk02562.txt blk02563.txt blk02564.txt blk02565.txt blk02566.txt blk02567.txt blk02568.txt blk02569.txt blk02570.txt blk02571.txt blk02572.txt blk02573.txt blk02574.txt blk02575.txt blk02576.txt blk02577.txt blk02578.txt blk02579.txt blk02580.txt blk02581.txt blk02582.txt blk02583.txt blk02584.txt blk02585.txt blk02586.txt blk02587.txt blk02588.txt blk02589.txt blk02590.txt blk02591.txt blk02592.txt blk02593.txt blk02594.txt blk02595.txt blk02596.txt blk02597.txt blk02598.txt blk02599.txt blk02600.txt blk02601.txt blk02602.txt blk02603.txt blk02604.txt blk02605.txt blk02606.txt blk02607.txt blk02608.txt blk02609.txt blk02610.txt blk02611.txt blk02612.txt blk02613.txt blk02614.txt blk02615.txt blk02616.txt blk02617.txt blk02618.txt blk02619.txt blk02620.txt blk02621.txt blk02622.txt blk02623.txt blk02624.txt blk02625.txt blk02626.txt blk02627.txt blk02628.txt blk02629.txt blk02630.txt blk02631.txt blk02632.txt blk02633.txt blk02634.txt blk02635.txt blk02636.txt blk02637.txt blk02638.txt blk02639.txt blk02640.txt blk02641.txt blk02642.txt blk02643.txt blk02644.txt blk02645.txt blk02646.txt blk02647.txt blk02648.txt blk02649.txt blk02650.txt blk02651.txt blk02652.txt blk02653.txt blk02654.txt blk02655.txt blk02656.txt blk02657.txt blk02658.txt blk02659.txt blk02660.txt blk02661.txt blk02662.txt blk02663.txt blk02664.txt blk02665.txt blk02666.txt blk02667.txt blk02668.txt blk02669.txt blk02670.txt blk02671.txt blk02672.txt blk02673.txt blk02674.txt blk02675.txt blk02676.txt blk02677.txt blk02678.txt blk02679.txt blk02680.txt blk02681.txt blk02682.txt blk02683.txt blk02684.txt blk02685.txt blk02686.txt blk02687.txt blk02688.txt blk02689.txt blk02690.txt blk02691.txt blk02692.txt blk02693.txt blk02694.txt blk02695.txt blk02696.txt blk02697.txt blk02698.txt blk02699.txt blk02700.txt blk02701.txt blk02702.txt blk02703.txt blk02704.txt blk02705.txt blk02706.txt blk02707.txt blk02708.txt blk02709.txt blk02710.txt blk02711.txt blk02712.txt blk02713.txt blk02714.txt blk02715.txt blk02716.txt blk02717.txt blk02718.txt blk02719.txt blk02720.txt blk02721.txt blk02722.txt blk02723.txt blk02724.txt blk02725.txt blk02726.txt blk02727.txt blk02728.txt blk02729.txt blk02730.txt blk02731.txt blk02732.txt blk02733.txt blk02734.txt blk02735.txt blk02736.txt blk02737.txt blk02738.txt blk02739.txt blk02740.txt blk02741.txt blk02742.txt blk02743.txt blk02744.txt blk02745.txt blk02746.txt blk02747.txt blk02748.txt blk02749.txt blk02750.txt blk02751.txt blk02752.txt blk02753.txt blk02754.txt blk02755.txt blk02756.txt blk02757.txt blk02758.txt blk02759.txt blk02760.txt blk02761.txt blk02762.txt blk02763.txt blk02764.txt blk02765.txt blk02766.txt blk02767.txt blk02768.txt blk02769.txt blk02770.txt blk02771.txt blk02772.txt blk02773.txt blk02774.txt blk02775.txt blk02776.txt blk02777.txt blk02778.txt blk02779.txt blk02780.txt blk02781.txt blk02782.txt blk02783.txt blk02784.txt blk02785.txt blk02786.txt blk02787.txt blk02788.txt blk02789.txt blk02790.txt blk02791.txt blk02792.txt blk02793.txt blk02794.txt blk02795.txt blk02796.txt blk02797.txt blk02798.txt blk02799.txt blk02800.txt blk02801.txt blk02802.txt blk02803.txt blk02804.txt blk02805.txt blk02806.txt blk02807.txt blk02808.txt blk02809.txt blk02810.txt blk02811.txt blk02812.txt blk02813.txt blk02814.txt blk02815.txt blk02816.txt blk02817.txt blk02818.txt blk02819.txt blk02820.txt blk02821.txt blk02822.txt blk02823.txt blk02824.txt blk02825.txt blk02826.txt blk02827.txt blk02828.txt blk02829.txt blk02830.txt blk02831.txt blk02832.txt blk02833.txt blk02834.txt blk02835.txt blk02836.txt blk02837.txt blk02838.txt blk02839.txt blk02840.txt blk02841.txt blk02842.txt blk02843.txt blk02844.txt blk02845.txt blk02846.txt blk02847.txt blk02848.txt blk02849.txt blk02850.txt blk02851.txt blk02852.txt blk02853.txt blk02854.txt blk02855.txt blk02856.txt blk02857.txt blk02858.txt blk02859.txt blk02860.txt blk02861.txt blk02862.txt blk02863.txt blk02864.txt blk02865.txt blk02866.txt blk02867.txt blk02868.txt blk02869.txt blk02870.txt blk02871.txt blk02872.txt blk02873.txt blk02874.txt blk02875.txt blk02876.txt blk02877.txt blk02878.txt blk02879.txt blk02880.txt blk02881.txt blk02882.txt blk02883.txt blk02884.txt blk02885.txt blk02886.txt blk02887.txt blk02888.txt blk02889.txt blk02890.txt blk02891.txt blk02892.txt blk02893.txt blk02894.txt blk02895.txt blk02896.txt blk02897.txt blk02898.txt blk02899.txt blk02900.txt blk02901.txt blk02902.txt blk02903.txt blk02904.txt blk02905.txt blk02906.txt blk02907.txt blk02908.txt blk02909.txt blk02910.txt blk02911.txt blk02912.txt blk02913.txt blk02914.txt blk02915.txt blk02916.txt blk02917.txt blk02918.txt blk02919.txt blk02920.txt blk02921.txt blk02922.txt blk02923.txt blk02924.txt blk02925.txt blk02926.txt blk02927.txt blk02928.txt blk02929.txt blk02930.txt blk02931.txt blk02932.txt blk02933.txt blk02934.txt blk02935.txt blk02936.txt blk02937.txt blk02938.txt blk02939.txt blk02940.txt blk02941.txt blk02942.txt blk02943.txt blk02944.txt blk02945.txt blk02946.txt blk02947.txt blk02948.txt blk02949.txt blk02950.txt blk02951.txt blk02952.txt blk02953.txt blk02954.txt blk02955.txt blk02956.txt blk02957.txt blk02958.txt blk02959.txt blk02960.txt blk02961.txt blk02962.txt blk02963.txt blk02964.txt blk02965.txt blk02966.txt blk02967.txt blk02968.txt blk02969.txt blk02970.txt blk02971.txt blk02972.txt blk02973.txt blk02974.txt blk02975.txt blk02976.txt blk02977.txt blk02978.txt blk02979.txt blk02980.txt blk02981.txt blk02982.txt blk02983.txt blk02984.txt blk02985.txt blk02986.txt blk02987.txt blk02988.txt blk02989.txt blk02990.txt blk02991.txt blk02992.txt blk02993.txt blk02994.txt blk02995.txt blk02996.txt blk02997.txt blk02998.txt blk02999.txt blk03000.txt blk03001.txt blk03002.txt blk03003.txt blk03004.txt blk03005.txt blk03006.txt blk03007.txt blk03008.txt blk03009.txt blk03010.txt blk03011.txt blk03012.txt blk03013.txt blk03014.txt blk03015.txt blk03016.txt blk03017.txt blk03018.txt blk03019.txt blk03020.txt blk03021.txt blk03022.txt blk03023.txt blk03024.txt blk03025.txt blk03026.txt blk03027.txt blk03028.txt blk03029.txt blk03030.txt blk03031.txt blk03032.txt blk03033.txt blk03034.txt blk03035.txt blk03036.txt blk03037.txt blk03038.txt blk03039.txt blk03040.txt blk03041.txt blk03042.txt blk03043.txt blk03044.txt blk03045.txt blk03046.txt blk03047.txt blk03048.txt blk03049.txt blk03050.txt blk03051.txt blk03052.txt blk03053.txt blk03054.txt blk03055.txt blk03056.txt blk03057.txt blk03058.txt blk03059.txt blk03060.txt blk03061.txt blk03062.txt blk03063.txt blk03064.txt blk03065.txt blk03066.txt blk03067.txt blk03068.txt blk03069.txt blk03070.txt blk03071.txt blk03072.txt blk03073.txt blk03074.txt blk03075.txt blk03076.txt blk03077.txt blk03078.txt blk03079.txt blk03080.txt blk03081.txt blk03082.txt blk03083.txt blk03084.txt blk03085.txt blk03086.txt blk03087.txt blk03088.txt blk03089.txt blk03090.txt blk03091.txt blk03092.txt blk03093.txt blk03094.txt blk03095.txt blk03096.txt blk03097.txt blk03098.txt blk03099.txt blk03100.txt blk03101.txt blk03102.txt blk03103.txt blk03104.txt blk03105.txt blk03106.txt blk03107.txt blk03108.txt blk03109.txt blk03110.txt blk03111.txt blk03112.txt blk03113.txt blk03114.txt blk03115.txt blk03116.txt blk03117.txt blk03118.txt blk03119.txt blk03120.txt blk03121.txt blk03122.txt blk03123.txt blk03124.txt blk03125.txt blk03126.txt blk03127.txt blk03128.txt blk03129.txt blk03130.txt blk03131.txt blk03132.txt blk03133.txt blk03134.txt blk03135.txt blk03136.txt blk03137.txt blk03138.txt blk03139.txt blk03140.txt blk03141.txt blk03142.txt blk03143.txt blk03144.txt blk03145.txt blk03146.txt blk03147.txt blk03148.txt blk03149.txt blk03150.txt blk03151.txt blk03152.txt blk03153.txt blk03154.txt blk03155.txt blk03156.txt blk03157.txt blk03158.txt blk03159.txt blk03160.txt blk03161.txt blk03162.txt blk03163.txt blk03164.txt blk03165.txt blk03166.txt blk03167.txt blk03168.txt blk03169.txt blk03170.txt blk03171.txt blk03172.txt blk03173.txt blk03174.txt blk03175.txt blk03176.txt blk03177.txt blk03178.txt blk03179.txt blk03180.txt blk03181.txt blk03182.txt blk03183.txt blk03184.txt blk03185.txt blk03186.txt blk03187.txt blk03188.txt blk03189.txt blk03190.txt blk03191.txt blk03192.txt blk03193.txt blk03194.txt blk03195.txt blk03196.txt blk03197.txt blk03198.txt blk03199.txt blk03200.txt blk03201.txt blk03202.txt blk03203.txt blk03204.txt blk03205.txt blk03206.txt blk03207.txt blk03208.txt blk03209.txt blk03210.txt blk03211.txt blk03212.txt blk03213.txt blk03214.txt blk03215.txt blk03216.txt blk03217.txt blk03218.txt blk03219.txt blk03220.txt blk03221.txt blk03222.txt blk03223.txt blk03224.txt blk03225.txt blk03226.txt blk03227.txt blk03228.txt blk03229.txt blk03230.txt blk03231.txt blk03232.txt blk03233.txt blk03234.txt blk03235.txt blk03236.txt blk03237.txt blk03238.txt blk03239.txt blk03240.txt blk03241.txt blk03242.txt blk03243.txt blk03244.txt blk03245.txt blk03246.txt blk03247.txt blk03248.txt blk03249.txt blk03250.txt blk03251.txt blk03252.txt blk03253.txt blk03254.txt blk03255.txt blk03256.txt blk03257.txt blk03258.txt blk03259.txt blk03260.txt blk03261.txt blk03262.txt blk03263.txt blk03264.txt blk03265.txt blk03266.txt blk03267.txt blk03268.txt blk03269.txt blk03270.txt blk03271.txt blk03272.txt blk03273.txt blk03274.txt blk03275.txt blk03276.txt blk03277.txt blk03278.txt blk03279.txt blk03280.txt blk03281.txt blk03282.txt blk03283.txt blk03284.txt blk03285.txt blk03286.txt blk03287.txt blk03288.txt blk03289.txt blk03290.txt blk03291.txt blk03292.txt blk03293.txt blk03294.txt blk03295.txt blk03296.txt blk03297.txt blk03298.txt blk03299.txt blk03300.txt blk03301.txt blk03302.txt blk03303.txt blk03304.txt blk03305.txt blk03306.txt blk03307.txt blk03308.txt blk03309.txt blk03310.txt blk03311.txt blk03312.txt blk03313.txt blk03314.txt blk03315.txt blk03316.txt blk03317.txt blk03318.txt blk03319.txt blk03320.txt blk03321.txt blk03322.txt blk03323.txt blk03324.txt blk03325.txt blk03326.txt blk03327.txt blk03328.txt blk03329.txt blk03330.txt blk03331.txt blk03332.txt blk03333.txt blk03334.txt blk03335.txt blk03336.txt blk03337.txt blk03338.txt blk03339.txt blk03340.txt blk03341.txt blk03342.txt blk03343.txt blk03344.txt blk03345.txt blk03346.txt blk03347.txt blk03348.txt blk03349.txt blk03350.txt blk03351.txt blk03352.txt blk03353.txt blk03354.txt blk03355.txt blk03356.txt blk03357.txt blk03358.txt blk03359.txt blk03360.txt blk03361.txt blk03362.txt blk03363.txt blk03364.txt blk03365.txt blk03366.txt blk03367.txt blk03368.txt blk03369.txt blk03370.txt blk03371.txt blk03372.txt blk03373.txt blk03374.txt blk03375.txt blk03376.txt blk03377.txt blk03378.txt blk03379.txt blk03380.txt blk03381.txt blk03382.txt blk03383.txt blk03384.txt blk03385.txt blk03386.txt blk03387.txt blk03388.txt blk03389.txt blk03390.txt blk03391.txt blk03392.txt blk03393.txt blk03394.txt blk03395.txt blk03396.txt blk03397.txt blk03398.txt blk03399.txt blk03400.txt blk03401.txt blk03402.txt blk03403.txt blk03404.txt blk03405.txt blk03406.txt blk03407.txt blk03408.txt blk03409.txt blk03410.txt blk03411.txt blk03412.txt blk03413.txt blk03414.txt blk03415.txt blk03416.txt blk03417.txt blk03418.txt blk03419.txt blk03420.txt blk03421.txt blk03422.txt blk03423.txt blk03424.txt blk03425.txt blk03426.txt blk03427.txt blk03428.txt blk03429.txt blk03430.txt blk03431.txt blk03432.txt blk03433.txt blk03434.txt blk03435.txt blk03436.txt blk03437.txt blk03438.txt blk03439.txt blk03440.txt blk03441.txt blk03442.txt blk03443.txt blk03444.txt blk03445.txt blk03446.txt blk03447.txt blk03448.txt blk03449.txt blk03450.txt blk03451.txt blk03452.txt blk03453.txt blk03454.txt blk03455.txt blk03456.txt blk03457.txt blk03458.txt blk03459.txt blk03460.txt blk03461.txt blk03462.txt blk03463.txt blk03464.txt blk03465.txt blk03466.txt blk03467.txt blk03468.txt blk03469.txt blk03470.txt blk03471.txt blk03472.txt blk03473.txt blk03474.txt blk03475.txt blk03476.txt blk03477.txt blk03478.txt blk03479.txt blk03480.txt blk03481.txt blk03482.txt blk03483.txt blk03484.txt blk03485.txt blk03486.txt blk03487.txt blk03488.txt blk03489.txt blk03490.txt blk03491.txt blk03492.txt blk03493.txt blk03494.txt blk03495.txt blk03496.txt blk03497.txt blk03498.txt blk03499.txt blk03500.txt blk03501.txt blk03502.txt blk03503.txt blk03504.txt blk03505.txt blk03506.txt blk03507.txt blk03508.txt blk03509.txt blk03510.txt blk03511.txt blk03512.txt blk03513.txt blk03514.txt blk03515.txt blk03516.txt blk03517.txt blk03518.txt blk03519.txt blk03520.txt blk03521.txt blk03522.txt blk03523.txt blk03524.txt blk03525.txt blk03526.txt blk03527.txt blk03528.txt blk03529.txt blk03530.txt blk03531.txt blk03532.txt blk03533.txt blk03534.txt blk03535.txt blk03536.txt blk03537.txt blk03538.txt blk03539.txt blk03540.txt blk03541.txt blk03542.txt blk03543.txt blk03544.txt blk03545.txt blk03546.txt blk03547.txt blk03548.txt blk03549.txt blk03550.txt blk03551.txt blk03552.txt blk03553.txt blk03554.txt blk03555.txt blk03556.txt blk03557.txt blk03558.txt blk03559.txt blk03560.txt blk03561.txt blk03562.txt blk03563.txt blk03564.txt blk03565.txt blk03566.txt blk03567.txt blk03568.txt blk03569.txt blk03570.txt blk03571.txt blk03572.txt blk03573.txt blk03574.txt blk03575.txt blk03576.txt blk03577.txt blk03578.txt blk03579.txt blk03580.txt blk03581.txt blk03582.txt blk03583.txt blk03584.txt blk03585.txt blk03586.txt blk03587.txt blk03588.txt blk03589.txt blk03590.txt blk03591.txt blk03592.txt blk03593.txt blk03594.txt blk03595.txt blk03596.txt blk03597.txt blk03598.txt blk03599.txt blk03600.txt blk03601.txt blk03602.txt blk03603.txt blk03604.txt blk03605.txt blk03606.txt blk03607.txt blk03608.txt blk03609.txt blk03610.txt blk03611.txt blk03612.txt blk03613.txt blk03614.txt blk03615.txt blk03616.txt blk03617.txt blk03618.txt blk03619.txt blk03620.txt blk03621.txt blk03622.txt blk03623.txt blk03624.txt blk03625.txt blk03626.txt blk03627.txt blk03628.txt blk03629.txt blk03630.txt blk03631.txt blk03632.txt blk03633.txt blk03634.txt blk03635.txt blk03636.txt blk03637.txt blk03638.txt blk03639.txt blk03640.txt blk03641.txt blk03642.txt blk03643.txt blk03644.txt blk03645.txt blk03646.txt blk03647.txt blk03648.txt blk03649.txt blk03650.txt blk03651.txt blk03652.txt blk03653.txt blk03654.txt blk03655.txt blk03656.txt blk03657.txt blk03658.txt blk03659.txt blk03660.txt blk03661.txt blk03662.txt blk03663.txt blk03664.txt blk03665.txt blk03666.txt blk03667.txt blk03668.txt blk03669.txt blk03670.txt blk03671.txt blk03672.txt blk03673.txt blk03674.txt blk03675.txt blk03676.txt blk03677.txt blk03678.txt blk03679.txt blk03680.txt blk03681.txt blk03682.txt blk03683.txt blk03684.txt blk03685.txt blk03686.txt blk03687.txt blk03688.txt blk03689.txt blk03690.txt blk03691.txt blk03692.txt blk03693.txt blk03694.txt blk03695.txt blk03696.txt blk03697.txt blk03698.txt blk03699.txt blk03700.txt blk03701.txt blk03702.txt blk03703.txt blk03704.txt blk03705.txt blk03706.txt blk03707.txt blk03708.txt blk03709.txt blk03710.txt blk03711.txt blk03712.txt blk03713.txt blk03714.txt blk03715.txt blk03716.txt blk03717.txt blk03718.txt blk03719.txt blk03720.txt blk03721.txt blk03722.txt blk03723.txt blk03724.txt blk03725.txt blk03726.txt blk03727.txt blk03728.txt blk03729.txt blk03730.txt blk03731.txt blk03732.txt blk03733.txt blk03734.txt blk03735.txt blk03736.txt blk03737.txt blk03738.txt blk03739.txt blk03740.txt blk03741.txt blk03742.txt blk03743.txt blk03744.txt blk03745.txt blk03746.txt blk03747.txt blk03748.txt blk03749.txt blk03750.txt blk03751.txt blk03752.txt blk03753.txt blk03754.txt blk03755.txt blk03756.txt blk03757.txt blk03758.txt blk03759.txt blk03760.txt blk03761.txt blk03762.txt blk03763.txt blk03764.txt blk03765.txt blk03766.txt blk03767.txt blk03768.txt blk03769.txt blk03770.txt blk03771.txt blk03772.txt blk03773.txt blk03774.txt blk03775.txt blk03776.txt blk03777.txt blk03778.txt blk03779.txt blk03780.txt blk03781.txt blk03782.txt blk03783.txt blk03784.txt blk03785.txt blk03786.txt blk03787.txt blk03788.txt blk03789.txt blk03790.txt blk03791.txt blk03792.txt blk03793.txt blk03794.txt blk03795.txt blk03796.txt blk03797.txt blk03798.txt blk03799.txt blk03800.txt blk03801.txt blk03802.txt blk03803.txt blk03804.txt blk03805.txt blk03806.txt blk03807.txt blk03808.txt blk03809.txt blk03810.txt blk03811.txt blk03812.txt blk03813.txt blk03814.txt blk03815.txt blk03816.txt blk03817.txt blk03818.txt blk03819.txt blk03820.txt blk03821.txt blk03822.txt blk03823.txt blk03824.txt blk03825.txt blk03826.txt blk03827.txt blk03828.txt blk03829.txt blk03830.txt blk03831.txt blk03832.txt blk03833.txt blk03834.txt blk03835.txt blk03836.txt blk03837.txt blk03838.txt blk03839.txt blk03840.txt blk03841.txt blk03842.txt blk03843.txt blk03844.txt blk03845.txt blk03846.txt blk03847.txt blk03848.txt blk03849.txt blk03850.txt blk03851.txt blk03852.txt blk03853.txt blk03854.txt blk03855.txt blk03856.txt blk03857.txt blk03858.txt blk03859.txt blk03860.txt blk03861.txt blk03862.txt blk03863.txt blk03864.txt blk03865.txt blk03866.txt blk03867.txt blk03868.txt blk03869.txt blk03870.txt blk03871.txt blk03872.txt blk03873.txt blk03874.txt blk03875.txt blk03876.txt blk03877.txt blk03878.txt blk03879.txt blk03880.txt blk03881.txt blk03882.txt blk03883.txt blk03884.txt blk03885.txt blk03886.txt blk03887.txt blk03888.txt blk03889.txt blk03890.txt blk03891.txt blk03892.txt blk03893.txt blk03894.txt blk03895.txt blk03896.txt blk03897.txt blk03898.txt blk03899.txt blk03900.txt blk03901.txt blk03902.txt blk03903.txt blk03904.txt blk03905.txt blk03906.txt blk03907.txt blk03908.txt blk03909.txt blk03910.txt blk03911.txt blk03912.txt blk03913.txt blk03914.txt blk03915.txt blk03916.txt blk03917.txt blk03918.txt blk03919.txt blk03920.txt blk03921.txt blk03922.txt blk03923.txt blk03924.txt blk03925.txt blk03926.txt blk03927.txt blk03928.txt blk03929.txt blk03930.txt blk03931.txt blk03932.txt blk03933.txt blk03934.txt blk03935.txt blk03936.txt blk03937.txt blk03938.txt blk03939.txt blk03940.txt blk03941.txt blk03942.txt blk03943.txt blk03944.txt blk03945.txt blk03946.txt blk03947.txt blk03948.txt blk03949.txt blk03950.txt blk03951.txt blk03952.txt blk03953.txt blk03954.txt blk03955.txt blk03956.txt blk03957.txt blk03958.txt blk03959.txt blk03960.txt blk03961.txt blk03962.txt blk03963.txt blk03964.txt blk03965.txt blk03966.txt blk03967.txt blk03968.txt blk03969.txt blk03970.txt blk03971.txt blk03972.txt blk03973.txt blk03974.txt blk03975.txt blk03976.txt blk03977.txt blk03978.txt blk03979.txt blk03980.txt blk03981.txt blk03982.txt blk03983.txt blk03984.txt blk03985.txt blk03986.txt blk03987.txt blk03988.txt blk03989.txt blk03990.txt blk03991.txt blk03992.txt blk03993.txt blk03994.txt blk03995.txt blk03996.txt blk03997.txt blk03998.txt blk03999.txt blk04000.txt blk04001.txt blk04002.txt blk04003.txt blk04004.txt blk04005.txt blk04006.txt blk04007.txt blk04008.txt blk04009.txt blk04010.txt blk04011.txt blk04012.txt blk04013.txt blk04014.txt blk04015.txt blk04016.txt blk04017.txt blk04018.txt blk04019.txt blk04020.txt blk04021.txt blk04022.txt blk04023.txt blk04024.txt blk04025.txt blk04026.txt blk04027.txt blk04028.txt blk04029.txt blk04030.txt blk04031.txt blk04032.txt blk04033.txt blk04034.txt blk04035.txt blk04036.txt blk04037.txt blk04038.txt blk04039.txt blk04040.txt blk04041.txt blk04042.txt blk04043.txt blk04044.txt blk04045.txt blk04046.txt blk04047.txt blk04048.txt blk04049.txt blk04050.txt blk04051.txt blk04052.txt blk04053.txt blk04054.txt blk04055.txt blk04056.txt blk04057.txt blk04058.txt blk04059.txt blk04060.txt blk04061.txt blk04062.txt blk04063.txt blk04064.txt blk04065.txt blk04066.txt blk04067.txt blk04068.txt blk04069.txt blk04070.txt blk04071.txt blk04072.txt blk04073.txt blk04074.txt blk04075.txt blk04076.txt blk04077.txt blk04078.txt blk04079.txt blk04080.txt blk04081.txt blk04082.txt blk04083.txt blk04084.txt blk04085.txt blk04086.txt blk04087.txt blk04088.txt blk04089.txt blk04090.txt blk04091.txt blk04092.txt blk04093.txt blk04094.txt blk04095.txt blk04096.txt blk04097.txt blk04098.txt blk04099.txt blk04100.txt blk04101.txt blk04102.txt blk04103.txt blk04104.txt blk04105.txt blk04106.txt blk04107.txt blk04108.txt blk04109.txt blk04110.txt blk04111.txt blk04112.txt blk04113.txt blk04114.txt blk04115.txt blk04116.txt blk04117.txt blk04118.txt blk04119.txt blk04120.txt blk04121.txt blk04122.txt blk04123.txt blk04124.txt blk04125.txt blk04126.txt blk04127.txt blk04128.txt blk04129.txt blk04130.txt blk04131.txt blk04132.txt blk04133.txt blk04134.txt blk04135.txt blk04136.txt blk04137.txt blk04138.txt blk04139.txt blk04140.txt blk04141.txt blk04142.txt blk04143.txt blk04144.txt blk04145.txt blk04146.txt blk04147.txt blk04148.txt blk04149.txt blk04150.txt blk04151.txt blk04152.txt blk04153.txt blk04154.txt blk04155.txt blk04156.txt blk04157.txt blk04158.txt blk04159.txt blk04160.txt blk04161.txt blk04162.txt blk04163.txt blk04164.txt blk04165.txt blk04166.txt blk04167.txt blk04168.txt blk04169.txt blk04170.txt blk04171.txt blk04172.txt blk04173.txt blk04174.txt blk04175.txt blk04176.txt blk04177.txt blk04178.txt blk04179.txt blk04180.txt blk04181.txt blk04182.txt blk04183.txt blk04184.txt blk04185.txt blk04186.txt blk04187.txt blk04188.txt blk04189.txt blk04190.txt blk04191.txt blk04192.txt blk04193.txt blk04194.txt blk04195.txt blk04196.txt blk04197.txt blk04198.txt blk04199.txt blk04200.txt blk04201.txt blk04202.txt blk04203.txt blk04204.txt blk04205.txt blk04206.txt blk04207.txt blk04208.txt blk04209.txt blk04210.txt blk04211.txt blk04212.txt blk04213.txt blk04214.txt blk04215.txt blk04216.txt blk04217.txt blk04218.txt blk04219.txt blk04220.txt blk04221.txt blk04222.txt blk04223.txt blk04224.txt blk04225.txt blk04226.txt blk04227.txt blk04228.txt blk04229.txt blk04230.txt blk04231.txt blk04232.txt blk04233.txt blk04234.txt blk04235.txt blk04236.txt blk04237.txt blk04238.txt blk04239.txt blk04240.txt blk04241.txt blk04242.txt blk04243.txt blk04244.txt blk04245.txt blk04246.txt blk04247.txt blk04248.txt blk04249.txt blk04250.txt blk04251.txt blk04252.txt blk04253.txt blk04254.txt blk04255.txt blk04256.txt blk04257.txt blk04258.txt blk04259.txt blk04260.txt blk04261.txt blk04262.txt blk04263.txt blk04264.txt blk04265.txt blk04266.txt blk04267.txt blk04268.txt blk04269.txt blk04270.txt blk04271.txt blk04272.txt blk04273.txt blk04274.txt blk04275.txt blk04276.txt blk04277.txt blk04278.txt blk04279.txt blk04280.txt blk04281.txt blk04282.txt blk04283.txt blk04284.txt blk04285.txt blk04286.txt blk04287.txt blk04288.txt blk04289.txt blk04290.txt blk04291.txt blk04292.txt blk04293.txt blk04294.txt blk04295.txt blk04296.txt blk04297.txt blk04298.txt blk04299.txt blk04300.txt blk04301.txt blk04302.txt Show all files