http://government-contracting.blogspot.com/Chapter 1-4 


Hackers, Heroes of the Computer Revolution
 
Navigation:

One day a former TMRC member who was now on the MIT faculty paid
a visit to the clubroom.  His name was Jack Dennis.  When he had
been an undergraduate in the early 1950s, he had worked furiously
underneath the layout.  Dennis lately had been working a computer
which MIT had just received from Lincoln Lab, a military
development laboratory affiliated with the Institute.  The
computer was called the TX-0, and it was one of the first
transistor-run computers in the world.  Lincoln Lab had used it
specifically to test a giant computer called the TX-2, which had
a memory so complex that only with this specially built little
brother could its ills be capably diagnosed.  Now that its
original job was over, the three-million-dollar TX-0 had been
shipped over to the Institute on "long-term loan," and apparently
no one at Lincoln Lab had marked a calendar with a return date.
Dennis asked the S&P people at TMRC whether they would like to
see it.

Hey you nuns!  Would you like to meet the Pope?

The TX-0 was in Building 26, in the second-floor Radio Laboratory
of Electronics (RLE), directly above the first-floor Computation
Center which housed the hulking IBM 704.  The RLE lab resembled
the control room of an antique spaceship.  The TX-0, or Tixo, as
it was sometimes called, was for its time a midget machine, since
it was one of the first computers to use finger-size transistors
instead of hand-size vacuum tubes.  Still, it took up much of the
room, along with its fifteen tons of supporting air-conditioning
equipment.  The TX-O's workings were mounted on several tall,
thin chassis, like rugged metal bookshelves, with tangled wires
and neat little rows of tiny, bottle-like containers in which the
transistors were inserted.  Another rack had a solid metal front
speckled with grim-looking gauges.  Facing the racks was an
L-shaped console, the control panel of this H. G. Wells
spaceship, with a blue countertop for your elbows and papers.  On
the short arm of the L stood a Flexowriter, which resembled a
typewriter converted for tank warfare, its bottom anchored in a
military gray housing.  Above the top were the control panels,
boxlike protrusions painted an institutional yellow.  On the
sides of the boxes which faced the user were a few gauges,
several lines of quarter-inch blinking lights, a matrix of steel
toggle switches the size of large grains of rice, and, best of
all, an actual cathode ray tube display, round and smoke-gray.

The TMRC people were awed.  THIS MACHINE DID NOT USE CARDS.  The
user would first punch in a program onto a long, thin paper tape
with a Flexowriter (there were a few extra Flexowriters in an
adjoining room), then sit at the console, feed in the program by
running the tape through a reader, and be able to sit there while
the program ran.  If something went wrong with the program, you
knew immediately, and you could diagnose the problem by using
some of the switches, or checking out which of the lights were
blinking or lit.  The computer even had an audio output:  while
the program ran, a speaker underneath the console would make a
sort of music, like a poorly tuned electric organ whose notes
would vibrate with a fuzzy, ethereal din.  The chords on this
"organ" would change, depending on what data the machine was
reading at any given microsecond; after you were familiar with
the tones, you could actually HEAR what part of your program the
computer was working on.  You would have to discern this, though,
over the clacking of the Flexowriter, which could make you think
you were in the middle of a machine-gun battle.  Even more
amazing was that, because of these "interactive" capabilities,
and also because users seemed to be allowed blocks of time to use
the TX-0 all by themselves, you could even modify a program WHILE
SITTING AT THE COMPUTER.  A miracle!

There was no way in hell that Kotok, Saunders, Samson, and the
others were going to be kept away from that machine.
Fortunately, there didn't seem to be the kind of bureaucracy
surrounding the TX-0 that there was around the IBM 704.  No cadre
of officious priests.  The technician in charge was a canny
white-haired Scotsman named John McKenzie.  While he made sure
that graduate students and those working on funded projects--
Officially Sanctioned Users--maintained access to the machine,
McKenzie tolerated the crew of TMRC madmen who began to hang out
in the RLE lab, where the TX-0 stood. 

Samson, Kotok, Saunders, and a freshman named Bob Wagner soon
figured out that the best time of all to hang out in Building 26
was at night, when no person in his right mind would have signed
up for an hour-long session on the piece of paper posted every
Friday beside the air conditioner in the RLE lab.  The TX-0 as a
rule was kept running twenty-four hours a day--computers back
then were too expensive for their time to be wasted by leaving
them idle through the night, and besides, it was a hairy
procedure to get the thing up and running once it was turned off.
So the TMRC hackers, who soon were referring to themselves as
TX-0 hackers, changed their life-style to accommodate the
computer.  They laid claim to what blocks of time they could, and
would "vulture time" with nocturnal visits to the lab on the off
chance that someone who was scheduled for a 3 A.M. session might
not show up. 

"Oh!" Samson would say delightedly, a minute or so after someone
failed to show up at the time designated in the logbook.  "Make
sure it doesn't go to waste!"

It never seemed to, because the hackers were there almost all the
time.  If they weren't in the RLE lab waiting for an opening to
occur, they were in the classroom next to the TMRC clubroom, the
Tool Room, playing a "hangman"-style word game that Samson had
devised called "Come Next Door," waiting for a call from someone
who was near the TX-0, monitoring it to see if someone had not
shown up for a session.  The hackers recruited a network of
informers to give advance notice of potential openings at the
computer--if a research project was not ready with its program in
time, or a professor was sick, the word would be passed to TMRC
and the hackers would appear at the TX-0, breathless and ready to
jam into the space behind the console. 

Though Jack Dennis was theoretically in charge of the operation,
Dennis was teaching courses at the time, and preferred to spend
the rest of his time actually writing code for the machine.
Dennis played the role of benevolent godfather to the hackers:
he would give them a brief hands-on introduction to the machine,
point them in certain directions, be amused at their wild
programming ventures.  He had little taste for administration,
though, and was just as happy to let John McKenzie run things.
McKenzie early on recognized that the interactive nature of the
TX-0 was inspiring a new form of computer programming, and the
hackers were its pioneers.  So he did not lay down too many
edicts. 

The atmosphere was loose enough in 1959 to accommodate the
strays--science-mad people whose curiosity burned like a hunger,
who like Peter Samson would be exploring the uncharted maze of
laboratories at MIT.  The noise of the air-conditioning, the
audio output, and the drill-hammer Flexowriter would lure these
wanderers, who'd poke their heads into the lab like kittens
peering into baskets of yarn. 

One of those wanderers was an outsider named Peter Deutsch.  Even
before discovering the TX-0, Deutsch had developed a fascination
for computers.  It began one day when he picked up a manual that
someone had discarded, a manual for an obscure form of computer
language for doing calculations.  Something about the orderliness
of the computer instructions appealed to him: he would later
describe the feeling as the same kind of eerily transcendent
recognition that an artist experiences when he discovers the
medium that is absolutely right for him.  THIS IS WHERE I BELONG.
Deutsch tried writing a small program, and, signing up for time
under the name of one of the priests, ran it on a computer.
Within weeks, he had attained a striking proficiency in
programming.  He was only twelve years old. 

He was a shy kid, strong in math and unsure of most everything
else.  He was uncomfortably overweight, deficient in sports, but
an intellectual star performer.  His father was a professor at
MIT, and Peter used that as his entree to explore the labs. 

It was inevitable that he would be drawn to the TX-0.  He first
wandered into the small "Kluge Room" (a "kluge" is a piece of
inelegantly constructed equipment that seems to defy logic by
working properly), where three off-line Flexowriters were
available for punching programs onto paper tape which would later
be fed into the TX-0.  Someone was busy punching in a tape.
Peter watched for a while, then began bombarding the poor soul
with questions about that weird-looking little computer in the
next room.  Then Peter went up to the TX-0 itself, examined it
closely, noting how it differed from other computers: it was
smaller, had a CRT display, and other neat toys.  He decided
right then to act as if he had a perfect right to be there.  He
got hold of a manual and soon was startling people by spouting
actual make-sense computer talk, and eventually was allowed to
sign up for night and weekend sessions, and to write his own
programs. 

McKenzie worried that someone might accuse him of running some
sort of summer camp, with this short-pants little kid, barely
tall enough to stick his head over the TX-O's console, staring at
the code that an Officially Sanctioned User, perhaps some
self-important graduate student, would be hammering into the
Flexowriter, and saying in his squeaky, preadolescent voice
something like "Your problem is that this credit is wrong over
here . .  .  you need this other instruction over there," and the
self-important grad student would go crazy--WHO IS THIS LITTLE
WORM?--and start screaming at him to go out and play somewhere.
Invariably, though, Peter Deutsch's comments would turn out to be
correct.  Deutsch would also brazenly announce that he was going
to write better programs than the ones currently available, and
he would go and do it. 

Samson, Kotok, and the other hackers accepted Peter Deutsch:  by
virtue of his computer knowledge he was worthy of equal
treatment.  Deutsch was not such a favorite with the Officially
Sanctioned Users, especially when he sat behind them ready to
spring into action when they made a mistake on the Flexowriter.
These Officially Sanctioned Users appeared at the TX-0 with the
regularity of commuters.  The programs they ran were statistical
analyses, cross correlations, simulations of an interior of the
nucleus of a cell.  Applications.  That was fine for Users, but
it was sort of a waste in the minds of the hackers.  What hackers
had in mind was getting behind the console of the TX-0 much in
the same way as getting in behind the throttle of a plane, Or, as
Peter Samson, a classical music fan, put it, computing with the
TX-0 was like playing a musical instrument:  an absurdly
expensive musical instrument upon which you could improvise,
compose, and, like the beatniks in Harvard Square a mile away,
wail like a banshee with total creative abandon. 

One thing that enabled them to do this was the programming system
devised by Jack Dennis and another professor, Tom Stockman.  When
the TX-0 arrived at MIT, it had been stripped down since its days
at Lincoln Lab:  the memory had been reduced considerably, to
4,096 "words" of eighteen bits each.  (A "bit" is a BInary digiT,
either a one or zero.  These binary numbers are the only thing
computers understand.  A series of binary numbers is called a
"word.") And the TX-0 had almost no software.  So Jack Dennis,
even before he introduced the TMRC people to the TX-0, had been
writing "systems programs"--the software to help users utilize
the machine. 

The first thing Dennis worked on was an assembler.  This was
something that translated assembly language--which used three-
letter symbolic abbreviations that represented instructions to
the machine--into machine language, which consisted of the binary
numbers 0 and 1.  The TX-0 had a rather limited assembly
language: since its design allowed only two bits of each
eighteen-bit word to be used for instructions to the computer,
only four instructions could be used (each possible two-bit
variation--00, 0 1, 10, and 11--represented an instruction).
Everything the computer did could be broken down to the execution
of one of those four instructions:  it took one instruction to
add two numbers, but a series of perhaps twenty instructions to
multiply two numbers.  Staring at a long list of computer
commands written as binary numbers--for example, 10011001100001--
could make you into a babbling mental case in a matter of
minutes.  But the same command in assembly language might look
like this:  ADD Y.  After loading the computer with the assembler
that Dennis wrote, you could write programs in this simpler
symbolic form, and wait smugly while the computer did the
translation into binary for you, Then you'd feed that binary
"object" code back into the computer.  The value of this was
incalculable: it enabled programmers to write in something that
LOOKED like code, rather than an endless, dizzying series of ones
and zeros. 

The other program that Dennis worked on with Stockman was
something even newer--a debugger.  The TX-0 came with a debugging
program called UT-3, which enabled you to talk to the computer
while it was running by typing commands directly into the
Flexowriter, But it had terrible problems-for one thing, it only
accepted typed-in code that used the octal numeric system.
"Octal" is a base-eight number system (as opposed to binary,
which is base two, and Arabic--ours-which is base ten), and it is
a difficult system to use.  So Dennis and Stockman decided to
write something better  than UT-3 which would enable users to use
the symbolic, easier-to-work-with assembly language.  This came
to be called FLIT, and it allowed users to actually find program
bugs during a session, fix them, and keep the program running.
(Dennis would explain that "FLIT" stood for FLexowriter
Interrogation Tape, but clearly the name's real origin was the
insect spray with that brand name.)  FLIT was a quantum leap
forward, since it liberated programmers to actually do original
composing on the machine--just like musicians composing on their
musical instruments.  With the use of the debugger, which took up
one third of the 4,096 words of the TX-O's memory, hackers were
free to create a new, more daring style of programming. 

And what did these hacker programs DO?  Well, sometimes, it
didn't matter much at all what they did.  Peter Samson hacked the
night away on a program that would instantly convert Arabic
numbers to Roman numerals, and Jack Dennis, after admiring the
skill with which Samson had accomplished this feat, said, "My
God, why would anyone want to do such a thing?"  But Dennis knew
why.  There was ample justification in the feeling of power and
accomplishment Samson got when he fed in the paper tape,
monitored the lights and switches, and saw what were once plain
old blackboard Arabic numbers coming back as the numerals the
Romans had hacked with. 

In fact it was Jack Dennis who suggested to Samson that there
were considerable uses for the TX-O's ability to send noise to
the audio speaker.  While there were no built-in controls for
pitch, amplitude, or tone character, there was a way to control
the speaker--sounds would be emitted depending on the state of
the fourteenth bit in the eighteen-bit words the TX-0 had in its
accumulator in a given microsecond.  The sound was on or off
depending on whether bit fourteen was a one or zero.  So Samson
set about writing programs that varied the binary numbers in that
slot in different ways to produce different pitches. 

At that time, only a few people in the country had been
experimenting with using a computer to output any kind of music,
and the methods they had been using required massive computations
before the machine would so much as utter a note, Samson, who
reacted with impatience to those who warned he was attempting the
impossible, wanted a computer playing music right away.  So he 
learned to control that one bit in the accumulator so adeptly
that he could command it with the authority of Charlie Parker on
the saxophone.  In a later version of this music compiler, Samson
rigged it so that if you made an error in your programming
syntax, the Flexowriter would switch to a red ribbon and print
"To err is human to forgive divine."

When outsiders heard the melodies of Johann Sebastian Bach in a
single-voice, monophonic square wave, no harmony, they were
universally unfazed.  Big deal!  Three million dollars for this
giant hunk of machinery, and why shouldn't it do at least as much
as a five-dollar toy piano?  It was no use to explain to these
outsiders that Peter Samson had virtually bypassed the process by
which music had been made for eons.  Music had always been made
by directly creating vibrations that were sound.  What happened
in Samson's program was that a load of numbers, bits of
information fed into a computer, comprised a code in which the
music resided.  You could spend hours staring at the code, and
not be able to divine where the music was.  It only became music
while millions of blindingly brief exchanges of data were taking
place in the accumulator sitting in one of the metal, wire, and
silicon racks that comprised the TX-0.  Samson had asked the
computer, which had no apparent knowledge of how to use a voice,
to lift itself in song--and the TX-0 had complied. 

So it was that a computer program was not only metaphorically a
musical composition--it was LITERALLY a musical composition!  It
looked like--and was--the same kind of program which yielded
complex arithmetical computations and statistical analyses.
These digits that Samson had jammed into the computer were a
universal language which could produce ANYTHING--a Bach fugue or
an anti-aircraft system. 

Samson did not say any of this to the outsiders who were
unimpressed by his feat.  Nor did the hackers themselves discuss
this--it is not even clear that they analyzed the phenomenon in
such cosmic terms.  Peter Samson did it, and his colleagues
appreciated it, because it was obviously a neat hack.  That was
justification enough.