Hackers, Heroes of the Computer Revolution - Part 3
Library

Part 3

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 acc.u.mulator 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 ma.s.sive 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 acc.u.mulator 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 bypa.s.sed 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 acc.u.mulator 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 a.n.a.lyses.

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 a.n.a.lyzed 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.

To hackers like Bob Saunders--balding, plump, and merry disciple of the TX-0, president of TMRC's S&P group, student of systems-- it was a perfect existence. Saunders had grown up in the suburbs of Chicago, and for as long as he could remember the workings of electricity and telephone circuitry had fascinated him. Before beginning MIT, Saunders had landed a dream summer job, working for the phone company installing central office equipment, He would spend eight blissful hours with soldering iron and pliers in hand, working in the bowels of various systems, an idyll broken by lunch hours spent in deep study of phone company manuals. It was the phone company equipment underneath the TMRC layout that had convinced Saunders to become active in the Model Railroad Club.

Saunders, being an uppercla.s.sman, had come to the TX-0 later in his college career than Kotok and Samson: he had used the breathing s.p.a.ce to actually lay the foundation for a social life, which included courtship of and eventual marriage to Marge French, who had done some non-hacking computer work for a research project. Still, the TX-0 was the center of his college career, and he shared the common hacker experience of seeing his grades suffer from missed cla.s.ses. It didn't bother him much, because he knew that his real education was occurring in Room 240 of Building 26, behind the Tixo console. Years later he would describe himself and the others as "an elite group. Other people were off studying, spending their days up on four-floor buildings making obnoxious vapors or off in the physics lab throwing particles at things or whatever it is they do. And we were simply not paying attention to what other folks were doing because we had no interest in it. They were studying what they were studying and we were studying what we were studying. And the fact that much of it was not on the officially approved curriculum was by and large immaterial."

The hackers came out at night. It was the only way to take full advantage of the crucial "off-hours" of the TX-0. During the day, Saunders would usually manage to make an appearance in a cla.s.s or two. Then some time spent performing "basic maintenance"--things like eating and going to the bathroom. He might see Marge for a while. But eventually he would filter over to Building 26. He would go over some of the programs of the night before, printed on the nine-and-a-half-inch-wide paper that the Flexowriter used. He would annotate and modify the listing to update the code to whatever he considered the next stage of operation. Maybe then he would move over to the Model Railroad Club, and he'd swap his program with someone, checking simultaneously for good ideas and potential bugs. Then back to Building 26, to the Kluge Room next to the TX-0, to find an off-line Flexowriter on which to update his code. All the while he'd be checking to see if someone had canceled a one-hour session on the machine; his own session was scheduled at something like two or three in the morning. He'd wait in the Kluge Room, or play some bridge back at the Railroad Club, until the time came.

Sitting at the console, facing the metal racks that held the computer's transistors, each transistor representing a location that either held or did not hold a bit of memory, Saunders would set up the Flexowriter, which would greet him with the word "WALRUS." This was something Samson had hacked, in honor of Lewis Carroll's poem with the line "The time has come, the Walrus said ..." Saunders might chuckle at that as he went into the drawer for the paper tape which held the a.s.sembler program and fed that into the tape reader. Now the computer would be ready to a.s.semble his program, so he'd take the Flexowriter tape he'd been working on and send that into the computer. He'd watch the lights go on as the computer switched his code from "source" (the symbolic a.s.sembly language) to "object" code (binary), which the computer would punch out into another paper tape. Since that tape was in the object code that the TX-0 understood, he'd feed it in, hoping that the program would run magnificently.

There would most probably be a few fellow hackers kibitzing behind him, laughing and joking and drinking c.o.kes and eating some junk food they'd extracted from the machine downstairs.

Saunders preferred the lemon jelly wedges that the others called "lemon gunkies." But at four in the morning, anything tasted good. They would all watch as the program began to run, the lights going on, the whine from the speaker humming in high or low register depending on what was in Bit 14 in the acc.u.mulator, and the first thing he'd see on the CRT display after the program had been a.s.sembled and run was that the program had crashed. So he'd reach into the drawer for the tape with the FLIT deb.u.g.g.e.r and feed THAT into the computer. The computer would then be a debugging machine, and he'd send the program back in. Now he could start trying to find out where things had gone wrong, and maybe if he was lucky he'd find out, and change things by putting in some commands by flicking some of the switches on the console in precise order, or hammering in some code on the Flexowriter.

Once things got running--and it was always incredibly satisfying when something worked, when he'd made that roomful of transistors and wires and metal and electricity all meld together to create a precise output that he'd devised--he'd try to add the next advance to it. When the hour was over--someone already itching to get on the machine after him--Saunders would be ready to spend the next few hours figuring out what the heck had made the program go belly-up.

The peak hour itself was tremendously intense, but during the hours before, and even during the hours afterward, a hacker attained a state of pure concentration. When you programmed a computer, you had to be aware of where all the thousands of bits of information were going from one instruction to the next, and be able to predict--and exploit--the effect of all that movement.

When you had all that information glued to your cerebral being, it was almost as if your own mind had merged into the environment of the computer. Sometimes it took hours to build up to the point where your thoughts could contain that total picture, and when you did get to that point, it was such a shame to waste it that you tried to sustain it by marathon bursts, alternatively working on the computer or poring over the code that you wrote on one of the off-line Flexowriters in the Kluge Room. You would sustain that concentration by "wrapping around" to the next day.

Inevitably, that frame of mind spilled over to what random shards of existence the hackers had outside of computing. The knife-and-paintbrush contingent at TMRC were not pleased at all by the infiltration of Tixo-mania into the club: they saw it as a sort of Trojan horse for a switch in the club focus, from railroading to computing. And if you attended one of the club meetings held every Tuesday at five-fifteen, you could see the concern: the hackers would exploit every possible thread of parliamentary procedure to create a meeting as convoluted as the programs they were hacking on the TX-0. Motions were made to make motions to make motions, and objections ruled out of order as if they were so many computer errors. A note in the minutes of the meeting on November 24, 1959, suggests that "we frown on certain members who would do the club a lot more good by doing more S&P-ing and less reading Robert's Rules of Order." Samson was one of the worst offenders, and at one point, an exasperated TMRC member made a motion "to purchase a cork for Samson's oral diarrhea."

Hacking parliamentary procedure was one thing, but the logical mind-frame required for programming spilled over into more commonplace activities. You could ask a hacker a question and sense his mental acc.u.mulator processing bits until he came up with a precise answer to the question you asked. Marge Saunders would drive to the Safeway every Sat.u.r.day morning in the Volkswagen and upon her return ask her husband, "Would you like to help me bring in the groceries?" Bob Saunders would reply, "No." Stunned, Marge would drag in the groceries herself. After the same thing occurred a few times, she exploded, hurling curses at him and demanding to know why he said no to her question.

"That's a stupid question to ask," he said. "Of course I won't LIKE to help you bring in the groceries. If you ask me if I'll help you bring them in, that's another matter."

It was as if Marge had submitted a program into the TX-0, and the program, as programs do when the syntax is improper, had crashed.

It was not until she debugged her question that Bob Saunders would allow it to run successfully on his own mental computer.

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 surpa.s.s 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 G.o.dd.a.m.ned UNNECESSARY that the impulse is to rearrange signs, open up traffic-light control boxes ...redesign the entire system.

In a perfect hacker world, anyone p.i.s.sed 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 att.i.tude 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, b.u.mmed 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 acc.u.mulator 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 b.u.t.ton-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 att.i.tude 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 cla.s.smates 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 pa.s.sed 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 a.s.sembly 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 s.p.a.ce 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 s.p.a.ce you had left for other programs, and the faster a program ran. Sometimes when you didn't need speed or s.p.a.ce 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 b.u.mmed to the fewest lines so artfully that the author's peers would look at it and almost melt with awe.

Sometimes program b.u.mming became compet.i.tive, 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 "p.a.w.n's a.s.s 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 compet.i.tion, the ultimate b.u.mming 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, b.u.mming an instruction here and there, the routine was diminished to about fifty instructions.