by Steven Levy
So it was clear that hackers would have even more time on it than they did on the TX-0.
The PDP-1 would be delivered with a simple collection of systems software, which the hackers considered completely inadequate. The TX-0 hackers had become accustomed to the most advanced interactive software anywhere, a dazzling set of systems programs, written by hackers themselves and implicitly tailored to their relentless demands for control of the machine. Young Peter Deutsch, the twelve-year-old who had discovered the TX-0, had made good on his promise to write a spiffier assembler, and Bob Saunders had worked up a smaller, faster version of the FLIT debugger called Micro-FLIT. These programs had benefited from an expanded instruction set. One day, after considerable planning and designing by Saunders and Jack Dennis, the TX-0 had been turned off, and a covey of engineers exposed its innards and began hardwiring new instructions into the machine. This formidable task expanded the assembly language by several instructions. When the pliers and screwdrivers were put away and the computer carefully turned on, everyone madly set about revamping programs and bumming old programs using the new instructions.
The PDP-1 instruction set, Kotok learned, was not too different from that of the expanded TX-0, so Kotok naturally began writing systems software for the PDP-1 that very summer, using all the spare time he could manage. Figuring that everyone would jump in and begin writing as soon as the machine got there, he worked on a translation of the Micro-FLIT debugger so that writing the software for the “One” would be easier. Samson promptly named Kotok’s debugger “DDT,” and the name would stick, though the program itself would be modified countless times by hackers who wanted to add features or bum instructions out of it.
Kotok was not the only one preparing for the arrival of the PDP-1. Like a motley collection of expectant parents, other hackers were busily weaving software booties and blankets for the new baby coming into the family, so this heralded heir to the computing throne would be welcome as soon as it was delivered in late September.
The hackers helped bring the PDP-1 into its new home, the Kluge Room next door to the TX-0. It was a beauty: sitting behind a console half as long as the Tixo’s, you’d look at one compact panel of toggle switches and lights; next to that was the display screen, encased in a bright blue, six-sided, quasideco housing; behind it were the tall cabinets, the size of a refrigerator and three times as deep, with the wires, boards, switches, and transistors—entry to that, of course, was forbidden. There was a Flexowriter connected for online input (people complained about the noise so much that the Flexowriter was eventually replaced by a modified IBM typewriter, which didn’t work nearly so well) and a high-speed paper-tape reader, also for input. All in all, a downright heavenly toy.
Jack Dennis liked some of the software written by BBN for the prototype PDP-1, particularly the assembler. Kotok, though, felt like retching when he saw that assembler run—the mode of operation didn’t seem to fit the on-the-fly style he liked—so he and a few others told Dennis that they wanted to write their own. “That’s a bad idea,” said Dennis, who wanted an assembler up and running right away, and figured that it would take weeks for the hackers to do it.
Kotok and the others were adamant. This was a program that they’d be living with. It had to be just perfect. (Of course no program ever is, but that never stopped a hacker.)
“I’ll tell you what,” said Kotok, this twenty-year-old Buddha-shaped wizard, to the skeptical yet sympathetic Jack Dennis, “If we write this program over the weekend and have it working, would you pay us for the time?”
The pay scale at that time was such that the total would be something under five hundred dollars. “That sounds like a fair deal,” said Dennis,
Kotok, Samson, Saunders, Wagner, and a couple of others began on a Friday night late in September. They figured they would work from the TX-0 assembler that Dennis had written the original of and that twelve-year-old Peter Deutsch, among others, had revamped. They wouldn’t change inputs or outputs, and they wouldn’t redesign algorithms; each hacker would take a section of the TX-0 program and convert it to PDP-1 code. And they wouldn’t sleep. Six hackers worked around two hundred fifty man-hours that weekend, writing code, debugging, and washing down take-out Chinese food with massive quantities of Coca-Cola shipped over from the TMRC clubroom. It was a programming orgy, and when Jack Dennis came in that Monday, he was astonished to find an assembler loaded into the PDP-1, which, as a demonstration, was assembling its own code into binary.
By sheer dint of hacking, the TX-0—no, the PDP-1—hackers had turned out a program in a weekend that it would have taken the computer industry weeks, maybe even months to pull off. It was a project that would probably not be undertaken by the computer industry without a long and tedious process of requisitions, studies, meetings, and executive vacillating, most likely with considerable compromise along the way. It might never have been done at all. The project was a triumph for the Hacker Ethic.
The hackers were given even more access to this new machine than they had managed to get on the TX-0, and almost all of them switched their operations to the Kluge Room. A few stubbornly stuck to the Tixo, and to the PDP-1 hackers, this was grounds for some mild ridicule. To rub it in, the PDP-1 hackers developed a little demonstration based on the mnemonics of the instruction set of this bold new machine, which included such exotic instructions as DAC (Deposit Accumulator), LIO (Load Input-Output), DPY (Deplay), and JMP. The PDP-1 group would stand in a line and shout in unison:
LAC,
DAC,
DIPPY DAP,
LIO,
DIO
JUMP!
When they chanted that last word—“Jump!”—they would all jump to the right. What was lacking in choreography was more than compensated for by enthusiasm: they were supercharged by the beauty of the machine, by the beauty of computers.
The same kind of enthusiasm was obvious in the even more spontaneous programming occurring on the PDP-1, ranging from serious systems programs, to programs to control a primitive robot arm, to whimsical hacks. One of the latter took advantage of a hacked-up connection between the PDP-1 and the TX-0—a wire through which information could pass, one bit at a time, between the two machines. According to Samson, the hackers called in the venerable AI pioneer John McCarthy to sit by the PDP-1. “Professor McCarthy, look at our new chess program!” And then they called another professor to sit by the TX-0. “Here’s the chess program! Type in your move!” After McCarthy typed his first move, and it appeared on the Flexowriter on the TX-0, the hackers told the other professor that he had just witnessed the TX-0’s opening move. “Now make yours!” After a few moves, McCarthy noticed that the computer was outputting the moves one letter at a time, sometimes with a suspicious pause between them. So McCarthy followed the wire to his flesh-and-blood opponent. The hackers rocked with mirth. But it would not be long before they would come up with programs for computers—no joke—to actually play tournament chess.
The PDP-1 beckoned the hackers to program without limit. Samson was casually hacking things like the Mayan calendar (which worked on a base-20 number system) and working overtime on a version of his TX-0 music program that took advantage of the PDP-1’s extended audio capabilities to create music in three voices—three-part Bach fugues, melodies interacting . . . computer music erupting from the old Kluge Room! The people at DEC had heard about Samson’s program and asked him to complete it on the PDP-1, so Samson eventually worked it so that someone could type a musical score into the machine by a simple translation of notes into letters and digits, and the computer would respond with a three-voice organ sonata. Another group coded up Gilbert and Sullivan operettas.
Samson proudly presented the music compiler to DEC to distribute to anyone who wanted it. He was proud that other people would be using his program. The team that worked on the new assembler felt likewise. For instance, they were pleased to have paper tape bearing the program in the drawer so anyone using the machine could access it, try to i
mprove it, bum a few instructions from it, or add a feature to it. They felt honored when DEC asked for the program so it could offer it to other PDP-1 owners. The question of royalties never came up. To Samson and the others, using the computer was such a joy that they would have paid to do it. The fact that they were getting paid the princely sum of $1.60 an hour to work on the computer was a bonus. As for royalties, wasn’t software more like a gift to the world, something that was reward in itself? The idea was to make a computer more usable, to make it more exciting to users, to make computers so interesting that people would be tempted to play with them, explore them, and eventually hack on them. When you wrote a fine program you were building a community, not churning out a product.
Anyway, people shouldn’t have to pay for software—information should be free!
• • • • • • • •
The TMRC hackers were not the only ones who had been devising plans for the new PDP-1. During that summer of 1961, a plan for the most elaborate hack yet—a virtual showcase of what could come out of a rigorous application of the Hacker Ethic—was being devised. The scene of these discussions was a tenement building on Higham Street in Cambridge, and the original perpetrators were three itinerant programmers in their mid-twenties who’d been hanging around various computation centers for years. Two of the three lived in the tenement, so in honor of the pompous proclamations emanating from nearby Harvard University the trio mockingly referred to the building as the Higham Institute.
One of the Fellows of this bogus institution was Steve Russell, nicknamed, for unknown reasons, Slug. He had that breathless chipmunk speech pattern so common among hackers, along with thick glasses, modest height, and a fanatic taste for computers, bad movies, and pulp science fiction. All three interests were shared by the resident attendees at those bull sessions on Higham Street.
Russell had long been a “coolie” (to use a TMRC term) of Uncle John McCarthy. McCarthy had been trying to design and implement a higher-level language that might be sufficient for artificial intelligence work. He thought he had found it in LISP. The language was named for its method of List Processing; by simple yet powerful commands, LISP could do many things with few lines of code; it could also perform powerful recursions—references to things within itself—which would allow programs written in that language to actually “learn” from what happened as the program ran. The problem with LISP at that time was that it took up an awful amount of space on a computer, ran very slowly, and generated voluminous amounts of extra code as the programs ran, so much so that it needed its own "garbage collection" program to periodically clean out the computer memory.
Russell was helping Uncle John write a LISP interpreter for the Hulking Giant IBM 704. It was, in his words, “a horrible engineering job,” mostly due to the batch-processing tedium of the 704.
Compared to that machine, the PDP-1 looked like the Promised Land to Slug Russell. More accessible than the TX-0, and no batch processing! Although it didn’t seem big enough to do LISP, it had other marvelous capabilities, some of which were objects of discussion of the Higham Institute. What particularly intrigued Russell and his friends was the prospect of making up some kind of elaborate “display hack” on the PDP-1, using the CRT screen. After considerable midnight discourse, the three-man Higham Institute put itself on record as insisting that the most effective demonstration of the computer’s magic would be a visually striking game.
There had been several attempts to do this kind of thing on the TX-0. One of them was a hack called Mouse in the Maze—the user first constructed a maze with the light pen, and a blip on the screen representing a mouse would tentatively poke its way through the maze in search of another set of blips in the shape of cheese wedges. There was also a “VIP version” of the game, in which the mouse would seek martini glasses. After it got to the glass, it would seek another, until it ran out of energy, too drunk to continue. When you flicked the switches to run the mouse through the maze a second time, though, the mouse would “remember” the path to the glasses, and like an experienced barfly would unhesitatingly scurry toward the booze. That was as far as display hacks would go on the TX-0.
But already on the PDP-1, which had a screen that was easier to program than the TX-0’s, there had been some significant display hacks. The most admired effort was created by one of the twin gurus of artificial intelligence at MIT, Marvin Minsky (the other one was, of course, McCarthy). Minsky was more outgoing than his fellow AI guru, and more willing to get into the hacker mode of activity. He was a man with very big ideas about the future of computing—he really believed that one day machines would be able to think, and he would often create a big stir by publicly calling human brains “meat machines,” implying that machines not made of meat would do as well some day. An elfish man with twinkling eyes behind thick glasses, a starkly bald head, and an omnipresent turtleneck sweater, Minsky would say this with his usual dry style, geared simultaneously to maximize provocation and to leave just a hint that it was all some cosmic goof—of course machines can’t think, heh-heh. Marvin was the real thing; the PDP-1 hackers would often sit in on his course, Intro to AI 6.544, because not only was Minsky a good theoretician, but he knew his stuff. By the early 1960s, Minsky was beginning to organize what would come to be the world’s first laboratory in artificial intelligence; and he knew that to do what he wanted, he would need programming geniuses as his foot soldiers—so he encouraged hackerism in any way he could.
One of Minsky’s contributions to the growing canon of interesting hacks was a display program on the PDP-1 called the Circle Algorithm. It was discovered by mistake, actually—while trying to bum an instruction out of a short program to make straight lines into curves or spirals, Minsky inadvertently mistook a “Y” character for a “Y prime,” and instead of the display squiggling into inchoate spirals as expected, it drew a circle: an incredible discovery, which was later found to have profound mathematical implications. Hacking further, Minsky used the Circle Algorithm as a stepping-off point for a more elaborate display in which three particles influenced each other and made fascinating, swirling patterns on the screen, self-generating roses with varying numbers of leaves. “The forces particles exerted on others were totally outlandish,” Bob Wagner later recalled. “You were simulating a violation of natural law!” Minsky called the hack a "Tri-Pos: Three-Position Display" program, but the hackers affectionately renamed it the Minskytron.
Slug Russell was inspired by this. At the Higham Institute sessions some months back, he and his friends had discussed the criteria for the ultimate display hack. Since they had been fans of trashy science fiction, particularly the space opera novels of E.E. “Doc” Smith, they somehow decided that the PDP-1 would be a perfect machine to make a combination grade-B movie and $120,000 toy. A game in which two people could face each other in an outer-space showdown. A Higham Institute Study Group on Space Warfare was duly organized, and its conclusion strongly implied that Slug Russell should be the author of this historic hack.
But months later, Russell hadn’t even started. He would watch the Minskytron make patterns, he’d flip switches to see new patterns develop, and every so often he’d flip more switches when the program got wedged into inactivity. He was fascinated, but thought the hack too abstract and mathematical. “This demo is a crock,” he finally decided—only thirty-two or so instructions, and it didn’t really do anything.
Slug Russell knew that his war-in-outer-space game would do something. In its own kitschy, sci-fi terms, it would be absorbing in a way no previous hack had ever been. The thing that got Slug into computers in the first place was the feeling of power you got from running the damn things. You can tell the computer what to do, and it fights with you, but it finally does what you tell it to. Of course it will reflect your own stupidity, and often what you tell it to do will result in something distasteful. But eventually, after tortures and tribulations, it will do exactly what you want. The feeling you get then is unlike any other feeli
ng in the world. It can make you a junkie. It made Slug Russell a junkie, and he could see that it had done the same thing to the hackers who haunted the Kluge Room until dawn. It was that feeling that did it, and Slug Russell guessed the feeling was power.
Slug got sort of a similar, though less intense, feeling from Doc Smith’s novels. He let his imagination construct the thrill of roaring across space in a white rocket ship . . . and wondered if that same excitement could be captured while sitting behind the console of the PDP-1. That would be the Spacewar he dreamed about. Once again he vowed to do it.
Later.
Slug was not as driven as some of the other hackers. Sometimes he needed a push. After he made the mistake of opening up his big mouth about this program he was going to write, the PDP-1 hackers, always eager to see another hack added to the growing pile of paper tapes in the drawer, urged him to do it. After mumbling excuses for a while, he said he would, but he’d first have to figure out how to write the elaborate sine-cosine routines necessary to plot the ships’ motion.