Book Read Free

Hackers

Page 3

by Steven Levy


  The sub-priest gasped. He made faces that indicated his bowels were about to give out. He whimpered exhortations to the deity. Visions, no doubt, of a million-dollar deduction from his paycheck began flashing before him. Only after his supervisor, a high priest with some understanding of the mentality of these young wiseguys from the Model Railroad Club, came and explained the situation did he calm down.

  He was not the last administrator to feel the wrath of a hacker thwarted in the quest for access.

  • • • • • • • •

  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 that 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 Research 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-0 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, box-like protrusions painted an institutional yellow. On the sides of the boxes that 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 which 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 lifestyles 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, and 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 recognized early on 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 would 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 offline Flexowriters were available for punching programs onto paper tape that 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 and examined it closely, noting how it differed from other computers: it was smaller and 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-0 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 1 or 0. These binary numbers are the only things 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 2 bits of each 18-bit word to be used for instructions to the computer, only four instructions could be used (each possible 2-bit variation—00, 01, 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 1s and 0s.

  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-8 number system (as opposed to binary, which is base 2, and Arabic—ours—which is base 10), and it is a difficult system to use. So Dennis and Stockman decided to write something better than UT-3 that 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-0 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 capability of the TX-0 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 14th bit in the 18-bit words the TX-0 had in its accumulator in a given microsecond. The sound was on or off depending on whether bit 14 was a 1 or 0. 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 ha
d 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 that yielded complex arithmetical computations and statistical analyses. These digits that Samson had jammed into the computer were a universal language that could produce anything—a Bach fugue or an antiaircraft 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.

  • • • • • • • •

  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.

 

‹ Prev