CHAPTER 2

CHAPTER 2
THE HACKER ETHIC

Something new was coalescing around the TX-0: a new way of life,
with a philosophy, an ethic, and a dream.

There was no one moment when it started to dawn on the TX-0
hackers that by devoting their technical abilities to computing
with a devotion rarely seen outside of monasteries they were the
vanguard of a daring symbiosis between man and machine. With a
fervor like that of young hot-rodders fixated on souping up
engines, they came to take their almost unique surroundings for
granted, Even as the elements of a culture were forming, as
legends began to accrue, as their mastery of programming started
to surpass any previous recorded levels of skill, the dozen or so
hackers were reluctant to acknowledge that their tiny society, on
intimate terms with the TX-0, had been slowly and implicitly
piecing together a body of concepts, beliefs, and mores.

The precepts of this revolutionary Hacker Ethic were not so much
debated and discussed as silently agreed upon. No manifestos
were issued. No missionaries tried to gather converts. The
computer did the converting, and those who seemed to follow the
Hacker Ethic most faithfully were people like Samson, Saunders,
and Kotok, whose lives before MIT seemed to be mere preludes to
that moment when they fulfilled themselves behind the console of
the TX-0. Later there would come hackers who took the implicit
Ethic even more seriously than the TX-0 hackers did, hackers like
the legendary Greenblatt or Gosper, though it would be some years
yet before the tenets of hackerism would be explicitly
delineated.

Still, even in the days of the TX-0, the planks of the platform
were in place. The Hacker Ethic:

ACCESS TO COMPUTERS--AND ANYTHING WHICH MIGHT TEACH YOU SOMETHING
ABOUT THE WAY THE WORLD WORKS--SHOULD BE UNLIMITED AND TOTAL.
ALWAYS YIELD TO THE HANDS-ON IMPERATIVE!

Hackers believe that essential lessons can be learned about the
systems--about the world--from taking things apart, seeing how
they work, and using this knowledge to create new and even more
interesting things. They resent any person, physical barrier, or
law that tries to keep them from doing this.

This is especially true when a hacker wants to fix something that
(from his point of view) is broken or needs improvement.
Imperfect systems infuriate hackers, whose primal instinct is to
debug them. This is one reason why hackers generally hate
driving cars--the system of randomly programmed red lights and
oddly laid out one-way streets causes delays which are so
goddamned UNNECESSARY that the impulse is to rearrange signs,
open up traffic-light control boxes . . .redesign the entire
system.

In a perfect hacker world, anyone pissed off enough to open up a
control box near a traffic light and take it apart to make it
work better should be perfectly welcome to make the attempt.
Rules which prevent you from taking matters like that into your
own hands are too ridiculous to even consider abiding by. This
attitude helped the Model Railroad Club start, on an extremely
informal basis, something called the Midnight Requisitioning
Committee. When TMRC needed a set of diodes, or some extra
relays, to build some new feature into The System, a few S&P
people would wait until dark and find their way into the places
where those things were kept. None of the hackers, who were as a
rule scrupulously honest in other matters, seemed to equate this
with "stealing." A willful blindness.

ALL INFORMATION SHOULD BE FREE.

If you don't have access to the information you need to improve
things, how can you fix them? A free exchange of information
particularly when the information was in the form of a computer
program, allowed for greater overall creativity. When you were
working on a machine like the TX-0, which came with almost no
software, everyone would furiously write systems programs to make
programming easier--Tools to Make Tools, kept in the drawer by
the console for easy access by anyone using the machine. This
prevented the dread, time-wasting ritual of reinventing the
wheel: instead of everybody writing his own version of the same
program, the best version would be available to everyone, and
everyone would be free to delve into the code and improve on
THAT. A world studded with feature-full programs, bummed to the
minimum, debugged to perfection.

The belief, sometimes taken unconditionally, that information
should be free was a direct tribute to the way a splendid
computer, or computer program, works--the binary bits moving in
the most straightforward, logical path necessary to do their
complex job, What was a computer but something which benefited
from a free flow of information? If, say, the accumulator found
itself unable to get information from the input/output (i/o)
devices like the tape reader or the switches, the whole system
would collapse. In the hacker viewpoint, any system could
benefit from that easy flow of information.

MISTRUST AUTHORITY--PROMOTE DECENTRALIZATION.

The best way to promote this free exchange of information is to
have an open system, something which presents no boundaries
between a hacker and a piece of information or an item of
equipment that he needs in his quest for knowledge, improvement,
and time on-line. The last thing you need is a bureaucracy.
Bureaucracies, whether corporate, government, or university, are
flawed systems, dangerous in that they cannot accommodate the
exploratory impulse of true hackers. Bureaucrats hide behind
arbitrary rules (as opposed to the logical algorithms by which
machines and computer programs operate): they invoke those rules
to consolidate power, and perceive the constructive impulse of
hackers as a threat.

The epitome of the bureaucratic world was to be found at a very
large company called International Business Machines--IBM. The
reason its computers were batch-processed Hulking Giants was only
partially because of vacuum tube technology, The real reason was
that IBM was a clumsy, hulking company which did not understand
the hacking impulse. If IBM had its way (so the TMRC hackers
thought), the world would be batch-processed, laid out on those
annoying little punch cards, and only the most privileged of
priests would be permitted to actually interact with the
computer.

All you had to do was look at someone in the IBM world, and note
the button-down white shirt, the neatly pinned black tie, the
hair carefully held in place, and the tray of punch cards in
hand. You could wander into the Computation Center, where the
704, the 709, and later the 7090 were stored--the best IBM had to
offer--and see the stifling orderliness, down to the roped-off
areas beyond which non-authorized people could not venture. And
you could compare that to the extremely informal atmosphere
around the TX-0, where grungy clothes were the norm and almost
anyone could wander in.

Now, IBM had done and would continue to do many things to advance
computing. By its sheer size and mighty influence, it had made
computers a permanent part of life in America. To many people,
the words IBM and computer were virtually synonymous. IBM's
machines were reliable workhorses, worthy of the trust that
businessmen and scientists invested in them. This was due in
part to IBM's conservative approach: it would not make the most
technologically advanced machines, but would rely on proven
concepts and careful, aggressive marketing. As IBM's dominance
of the computer field was established, the company became an
empire unto itself, secretive and smug.

What really drove the hackers crazy was the attitude of the IBM
priests and sub-priests, who seemed to think that IBM had the
only "real" computers, and the rest were all trash. You couldn't
talk to those people--they were beyond convincing. They were
batch-processed people, and it showed not only in their
preference of machines, but in their idea about the way a
computation center, and a world, should be run. Those people
could never understand the obvious superiority of a decentralized
system, with no one giving orders: a system where people could
follow their interests, and if along the way they discovered a
flaw in the system, they could embark on ambitious surgery. No
need to get a requisition form. just a need to get something
done.

This antibureaucratic bent coincided neatly with the
personalities of many of the hackers, who since childhood had
grown accustomed to building science projects while the rest of
their classmates were banging their heads together and learning
social skills on the field of sport. These young adults who were
once outcasts found the computer a fantastic equalizer,
experiencing a feeling, according to Peter Samson, "like you
opened the door and walked through this grand new universe . . ."
Once they passed through that door and sat behind the console of
a million-dollar computer, hackers had power. So it was natural
to distrust any force which might try to limit the extent of that
power.

HACKERS SHOULD BE JUDGED BY THEIR HACKING, NOT BOGUS CRITERIA
SUCH AS DEGREES, AGE, RACE, OR POSITION.

The ready acceptance of twelve-year-old Peter Deutsch in the TX-0
community (though not by non-hacker graduate students) was a good
example. Likewise, people who trotted in with seemingly
impressive credentials were not taken seriously until they proved
themselves at the console of a computer. This meritocratic trait
was not necessarily rooted in the inherent goodness of hacker
hearts--it was mainly that hackers cared less about someone's
superficial characteristics than they did about his potential to
advance the general state of hacking, to create new programs to
admire, to talk about that new feature in the system.

YOU CAN CREATE ART AND BEAUTY ON A COMPUTER.

Samson's music program was an example. But to hackers, the art
of the program did not reside in the pleasing sounds emanating
from the on-line speaker. The code of the program held a beauty
of its own. (Samson, though, was particularly obscure in
refusing to add comments to his source code explaining what he
was doing at a given time. One well-distributed program Samson
wrote went on for hundreds of assembly language instructions,
with only one comment beside an instruction which contained the
number 1750. The comment was RIPJSB, and people racked their
brains about its meaning until someone figured out that 1750 was
the year Bach died, and that Samson had written an abbreviation
for Rest In Peace Johann Sebastian Bach.)

A certain esthetic of programming style had emerged. Because of
the limited memory space of the TX-0 (a handicap that extended to
all computers of that era), hackers came to deeply appreciate
innovative techniques which allowed programs to do complicated
tasks with very few instructions. The shorter a program was, the
more space you had left for other programs, and the faster a
program ran. Sometimes when you didn't need speed or space much,
and you weren't thinking about art and beauty, you'd hack
together an ugly program, attacking the problem with "brute
force" methods. "Well, we can do this by adding twenty numbers,"
Samson might say to himself, "and it's quicker to write
instructions to do that than to think out a loop in the beginning
and the end to do the same job in seven or eight instructions."
But the latter program might be admired by fellow hackers, and
some programs were bummed to the fewest lines so artfully that
the author's peers would look at it and almost melt with awe.

Sometimes program bumming became competitive, a macho contest to
prove oneself so much in command of the system that one could
recognize elegant shortcuts to shave off an instruction or two,
or, better yet, rethink the whole problem and devise a new
algorithm which would save a whole block of instructions. (An
algorithm is a specific procedure which one can apply to solve a
complex computer problem; it is sort of a mathematical skeleton
key.) This could most emphatically be done by approaching the
problem from an offbeat angle that no one had ever thought of
before but that in retrospect made total sense. There was
definitely an artistic impulse residing in those who could
utilize this genius-from-Mars techniques black-magic, visionary
quality which enabled them to discard the stale outlook of the
best minds on earth and come up with a totally unexpected new
algorithm.

This happened with the decimal print routine program. This was a
subroutines program within a program that you could sometimes
integrate into many different programs--to translate binary
numbers that the computer gave you into regular decimal numbers.
In Saunders' words, this problem became the "pawn's ass of
programming--if you could write a decimal print routine which
worked you knew enough about the computer to call yourself a
programmer of sorts." And if you wrote a GREAT decimal print
routine, you might be able to call yourself a hacker. More than
a competition, the ultimate bumming of the decimal print routine
became a sort of hacker Holy Grail.

Various versions of decimal print routines had been around for
some months. If you were being deliberately stupid about it, or
if you were a genuine moron--an out-and-out "loser"--it might
take you a hundred instructions to get the computer to convert
machine language to decimal. But any hacker worth his salt could
do it in less, and finally, by taking the best of the programs,
bumming an instruction here and there, the routine was diminished
to about fifty instructions.

After that, things got serious. People would work for hours,
seeking a way to do the same thing in fewer lines of code. It
became more than a competition; it was a quest. For all the
effort expended, no one seemed to be able to crack the fifty-line
barrier. The question arose whether it was even possible to do
it in less. Was there a point beyond which a program could not
be bummed?

Among the people puzzling with this dilemma was a fellow named
Jenson, a tall, silent hacker from Maine who would sit quietly in
the Kluge Room and scribble on printouts with the calm demeanor
of a backwoodsman whittling. Jenson was always looking for ways
to compress his programs in time and space--his code was a
completely bizarre sequence of intermingled Boolean and
arithmetic functions, often causing several different
computations to occur in different sections of the same
eighteen-bit "word." Amazing things, magical stunts.

Before Jenson, there had been general agreement that the only
logical algorithm for a decimal print routine would have the
machine repeatedly subtracting, using a table of the powers of
ten to keep the numbers in proper digital columns. Jenson
somehow figured that a powers-of-ten table wasn't necessary; he
came up with an algorithm that was able to convert the digits in
a reverse order but, by some digital sleight of hand, print them
out in the proper order. There was a complex mathematical
justification to it that was clear to the other hackers only when
they saw Jenson's program posted on a bulletin board, his way of
telling them that he had taken the decimal print routine to its
limit. FORTY-SIX INSTRUCTIONS. People would stare at the code
and their jaws would drop. Marge Saunders remembers the hackers
being unusually quiet for days afterward.

"We knew that was the end of it," Bob Saunders later said. "That
was Nirvana."

COMPUTERS CAN CHANGE YOUR LIFE FOR THE BETTER.

This belief was subtly manifest. Rarely would a hacker try to
impose a view of the myriad advantages of the computer way of
knowledge to an outsider. Yet this premise dominated the
everyday behavior of the TX-0 hackers, as well as the generations
of hackers that came after them.

Surely the computer had changed THEIR lives, enriched their
lives, given their lives focus, made their lives adventurous. It
had made them masters of a certain slice of fate. Peter Samson
later said, "We did it twenty-five to thirty percent for the sake
of doing it because it was something we could do and do well, and
sixty percent for the sake of having something which was in its
metaphorical way alive, our offspring, which would do things on
its own when we were finished. That's the great thing about
programming, the magical appeal it has . . . Once you fix a
behavioral problem [a computer or program] has, it's fixed
forever, and it is exactly an image of what you meant."

LIKE ALADDIN'S LAMP, YOU COULD GET IT TO DO YOUR BIDDING.

Surely everyone could benefit from experiencing this power.
Surely everyone could benefit from a world based on the Hacker
Ethic. This was the implicit belief of the hackers, and the
hackers irreverently extended the conventional point of view of
what computers could and should do--leading the world to a new
way of looking and interacting with computers.

This was not easily done. Even at such an advanced institution
as MIT, some professors considered a manic affinity for computers
as frivolous, even demented. TMRC hacker Bob Wagner once had to
explain to an engineering professor what a computer was. Wagner
experienced this clash of computer versus anti-computer even more
vividly when he took a Numerical Analysis class in which the
professor required each student to do homework using rattling,
clunky electromechanical calculators. Kotok was in the same
class, and both of them were appalled at the prospect of working
with those lo-tech machines. "Why should we," they asked, "when
we've got this computer?"

So Wagner began working on a computer program that would emulate
the behavior of a calculator. The idea was outrageous. To some,
it was a misappropriation of valuable machine time. According to
the standard thinking on computers, their time was too precious
that one should only attempt things which took maximum advantage
of the computer, things that otherwise would take roomfuls of
mathematicians days of mindless calculating. Hackers felt
otherwise: anything that seemed interesting or fun was fodder for
computing--and using interactive computers, with no one looking
over your shoulder and demanding clearance for your specific
project, you could act on that belief. After two or three months
of tangling with intricacies of floating-point arithmetic
(necessary to allow the program to know where to place the
decimal point) on a machine that had no simple method to perform
elementary multiplication, Wagner had written three thousand
lines of code that did the job. He had made a ridiculously
expensive computer perform the function of a calculator that cost
a thousand times less. To honor this irony, he called the
program Expensive Desk Calculator, and proudly did the homework
for his class on it.

His grade--zero. "You used a computer!" the professor told him.
"This CAN'T be right."

Wagner didn't even bother to explain. How could he convey to his
teacher that the computer was making realities out of what were
once incredible possibilities? Or that another hacker had even
written a program called Expensive Typewriter that converted the
TX-0 to something you could write text on, could process your
writing in strings of characters and print it out on the
Flexowriter--could you imagine a professor accepting a classwork
report WRITTEN BY THE COMPUTER? How could that professor--how
could, in fact, anyone who hadn't been immersed in this uncharted
man-machine universe--understand how Wagner and his fellow
hackers were routinely using the computer to simulate, according
to Wagner, "strange situations which one could scarcely envision
otherwise"? The professor would learn in time, as would
everyone, that the world opened up by the computer was a
limitless one.

If anyone needed further proof, you could cite the project that
Kotok was working on in the Computation Center, the chess program
that bearded Al professor "Uncle" John McCarthy, as he was
becoming known to his hacker students, had begun on the IBM 704.
Even though Kotok and the several other hackers helping him on
the program had only contempt for the IBM batch-processing
mentality that pervaded the machine and the people around it,
they had managed to scrounge some late-night time to use it
interactively, and had been engaging in an informal battle with
the systems programmers on the 704 to see which group would be
known as the biggest consumer of computer time. The lead would
bounce back and forth, and the white-shirt-and-black-tie 704
people were impressed enough to actually let Kotok and his group
touch the buttons and switches on the 704: rare sensual contact
with a vaunted IBM beast.

Kotok's role in bringing the chess program to life was indicative
of what was to become the hacker role in Artificial Intelligence:
a Heavy Head like McCarthy or like his colleague Marvin Minsky
would begin a project or wonder aloud whether something might be
possible, and the hackers, if it interested them, would set about
doing it.

The chess program had been started using FORTRAN, one of the
early computer languages. Computer languages look more like
English than assembly language, are easier to write with, and do
more things with fewer instructions; however, each time an
instruction is given in a computer language like FORTRAN, the
computer must first translate that command into its own binary
language. A program called a compiler does this, and the
compiler takes up time to do its job, as well as occupying
valuable space within the computer. In effect, using a computer
language puts you an extra step away from direct contact with the
computer, and hackers generally preferred assembly or, as they
called it, "machine" language to less elegant, "higher-level"
languages like FORTRAN.

Kotok, though, recognized that because of the huge amounts of
numbers that would have to be crunched in a chess program, part
of the program would have to be done in FORTRAN, and part in
assembly. They hacked it part by part, with "move generators,"
basic data structures, and all kinds of innovative algorithms for
strategy. After feeding the machine the rules for moving each
piece, they gave it some parameters by which to evaluate its
position, consider various moves, and make the move which would
advance it to the most advantageous situation. Kotok kept at it
for years, the program growing as MIT kept upgrading its IBM
computers, and one memorable night a few hackers gathered to see
the program make some of its first moves in a real game. Its opener
was quite respectable, but after eight or so exchanges there was real
trouble, with the computer about to be checkmated. Everybody
wondered how the computer would react. It too a while (everyone
knew that during those pauses the computer was actually "thinking,"
if your idea of thinking included mechanically considering
various moves, evaluating them, rejecting most, and using a
predefined set of parameters to ultimately make a choice). Finally,
the computer moved a pawn two squares forward--illegally jumping
over another piece. A bug! But a clever one--it got the computer
out of check. Maybe the program was figuring out some new
algorithm with which to conquer chess.

At other universities, professors were making public proclamations
that computers would never be able to beat a human being in chess.
Hackers knew better. They would be the ones who would guide
computers to greater heights than anyone expected. And the hackers,
by fruitful, meaningful association with the computer, would be
foremost among the beneficiaries.

But they would not be the only beneficiaries. Everyone could gain
something by the use of thinking computers in an intellectually
automated world. And wouldn't everyone benefit even more by
approaching the world with the same inquisitive intensity,
skepticism toward bureaucracy, openness to creativity,
unselfishness in sharing accomplishments, urge to make improvements,
and desire to build as those who followed the Hacker Ethic?
By accepting others on the same unprejudiced basis by which
computers accepted anyone who entered code into a Flexowriter?
Wouldn't we benefit if we learned from computers the means of
creating a perfect system? If EVERYONE could interact with
computers with the same innocent, productive, creative impulse
that hackers did, the Hacker Ethic might spread through society
like a benevolent ripple, and computers would indeed change
the world for the better.

In the monastic confines of the Massachusetts Institute of Technology,
people had the freedom to live out this dream--the hacker dream.
No one dared suggest that the dream might spread. Instead, people
set about building, right there at MIT, a hacker Xanadu the likes
of which might never be duplicated.



Hackers, Heroes of the Computer Revolution, by Steven Levy
(C)1984 by Steven Levy

0 Comments:

Post a Comment

<< Home