Lakeside’s headmaster called the Gates home, and Bill was summoned into his parents’ bedroom, where he was told the news.I The service was conducted by Lakeside’s art teacher, Robert Fulghum, who was a Unitarian minister like Evans’s father and who would later become a popular writer (All I Really Need to Know I Learned in Kindergarten). “I had never thought of people dying,” Gates said. “At the service, I was supposed to speak, but I couldn’t get up. For two weeks I couldn’t do anything at all.” He spent a lot of time afterward with Kent’s parents. “Kent was the apple of their eye.”34
Gates called Paul Allen, who had just finished his freshman year at Washington State, and asked him to come back to Seattle to help with the scheduling program. “I was going to do it with Kent,” Gates told him. “I need help.” He was in bad shape. “Bill stayed depressed for weeks,” Allen recalled.35 They brought cots to campus and, like old times, spent many nights in the computer room that summer of 1972, communing with a PDP-10. With his rigorous mind, Gates was able to take the problem posed by the Rubik’s Cube of class-scheduling variables and break it into a series of small component problems that could be solved sequentially. He was also able to put himself into a history class with all the right girls and only one other boy (“a real wimp”) and make sure that he and his senior class friends had Tuesday afternoons free. They had T-shirts made featuring a beer keg and the words “Tuesday Club” emblazoned on the front.36
* * *
That summer Gates and Allen became enchanted by Intel’s new 8008 microprocessor, a powerful upgrade of its 4004 “computer on a chip.” They were so excited by a story on it in Electronics Magazine that years later Gates would remember the page number it was on. If the chip really could act like a computer and be programmed, Allen asked Gates, why not write a programming language for it, specifically a version of BASIC? If they pulled off such a feat, Allen argued, “ordinary people would be able to buy computers for their offices, even their homes.” Gates dismissed the 8008 as not being up for such a task. “It would be dog-slow and pathetic,” he replied. “And BASIC by itself would take up almost all the memory. There’s just not enough horsepower.” Allen realized that Gates was right, and they agreed to wait until, in accordance with Moore’s Law, a microprocessor twice as powerful came out in a year or two. The parameters of their partnership were becoming clear. “I was the idea man, the one who’d conceive of things out of whole cloth,” explained Allen. “Bill listened and challenged me, and then homed in on my best ideas to help make them a reality. Our collaboration had a natural tension, but mostly it worked productively and well.”37
Gates had gotten a contract to analyze traffic patterns for a company that counted how many cars ran over rubber tubes laid across roads. He and Allen decided to create a special-purpose computer that would process the raw data. Showing his clunky taste, Gates chose the name Traf-O-Data for their new venture. They went to a nearby Hamilton Avnet electronics store and, with a great sense of the moment, shelled out $360 in cash to buy a single 8008 chip. Allen recalled the moment vividly: “The sales clerk handed us a small cardboard box, which we opened then and there for our first look at a microprocessor. Inside an aluminum foil wrapper, stuck into a small slab of nonconductive black rubber, was a thin rectangle about an inch long. For two guys who’d spent their formative years with massive mainframes, it was a moment of wonder.” Gates told the clerk, “That’s a lot of money for such a little thing,” but he and Allen were suitably impressed, for they knew the little chip contained the brains of a whole computer. “These people thought it was the strangest thing ever to have these kids coming in and buying an 8008,” Gates recalled. “And we were so worried as we unwrapped the foil that we would break the thing.”38
In order to write a program that would work on the 8008, Allen devised a way to emulate the microprocessor on a mainframe computer. As he later explained, the emulation of the 8008 “reflected a truism in technology circles that harkened back to the theories of Alan Turing in the 1930s: any computer could be programmed to behave like any other computer.” There was another lesson in this feat of alchemy, one that was at the core of what Gates and Allen contributed to the computer revolution: “Software trumped hardware,” Allen later explained.39
Given their reverence for software over hardware, it is not surprising that Gates and Allen were able to write a good program for their proposed traffic tabulator but were never able to get the hardware components working properly, most notably the mechanism that was supposed to read the traffic tapes. One day, after they thought they had it running smoothly, an official with the Seattle engineering department came to Gates’s family home to be given a sales demo. As they sat in the living room, the demo gods had their revenge and the tape reader kept failing. Gates ran to get his mother. “Tell him, Mom!” he implored. “Tell him it worked last night!”40
* * *
The final semester of Gates’s senior year, in the spring of 1973, he and Allen were recruited by the Bonneville Power Administration, which was on a nationwide hunt for PDP-10 experts to help program its electrical grid management system. Gates and his parents talked to Lakeside’s headmaster, who agreed that the job would be more educational than attending his last semester of school. Allen felt the same way about his semester at Washington State: “Here was a chance to work together again on a PDP-10, and for pay!” They piled into Gates’s Mustang convertible, drove the 165 miles south from Seattle to the Bonneville command center in under two hours, and rented a cheap apartment together.
Their work was in an underground bunker on the Columbia River across from Portland. “They had this massive control room, which looks better than any TV show I’ve ever seen,” Gates recalled. He and Allen would hunker down for coding sessions that lasted twelve hours or more. “When Bill felt himself flagging, he’d grab a jar of Tang, pour some powder on one hand, and lick it off for a pure sugar high,” Allen recalled. “His palms had a chronic orange tinge that summer.” Sometimes, after a two-day work binge, they would get “slept up,” as Gates called it, by crashing for eighteen hours or so. “We had contests,” Gates said, “to see who could stay in the building like three days straight, four days straight. Some of the more prudish people would say ‘Go home and take a bath.’ We were just hard-core, writing code.”41
Occasionally Gates would take a break for some extreme waterskiing, including dry-dock starts from diving platforms, then go back to the bunker for more coding. He and Allen got along well, except when Allen’s methodical chess-playing style would triumph over Gates’s more reckless and aggressive approach. “When I beat him one day, he got so angry that he swept the pieces to the floor,” said Allen. “After a few games like that, we stopped playing.”42
* * *
Gates applied only to three colleges his senior year—Harvard, Yale, and Princeton—and he took different approaches to each. “I was born to apply for college,” he boasted, fully aware of his ability to ace meritocratic processes. For Yale he cast himself as an aspiring political type and emphasized a monthlong summer internship he had done in Congress. For Princeton, he focused only on his desire to be a computer engineer. And for Harvard, he said his passion was math. He had also considered MIT, but at the last moment blew off the interview to play pinball. He was accepted to all three and chose Harvard.43
“You know, Bill,” Allen warned him, “when you get to Harvard, there are going to be some people a lot better in math than you are.”
“No way,” Gates replied. “There’s no way!”
“Wait and see,” said Allen.44
GATES AT HARVARD
When Gates was asked to pick the types of roommates he preferred, he asked for an African American and an international student. He was assigned to Wigglesworth Hall, a freshman dorm in Harvard Yard, with Sam Znaimer, a science lover from a family of poor Jewish refugees in Montreal, and Jim Jenkins, a black student from Chattanooga. Znaimer, who had never known a privileged WASP before, found Gates very
friendly and his study habits weirdly fascinating. “His habit was to do 36 hours or more at a stretch, collapse for ten hours, then go out, get a pizza, and go back at it,” he said. “And if that meant he was starting again at three in the morning, so be it.”45 He marveled as Gates spent several nights filling out federal and state tax forms for Traf-O-Data’s revenues. When working hard, Gates would rock back and forth. Then he would grab Znaimer for a frenzy of playing Pong, the Atari video game, in the dorm lounge, or Spacewar in Harvard’s computer lab.
The computer lab was named after Howard Aiken, who had invented the Mark I and operated it during World War II with the help of Grace Hopper. It housed Gates’s favorite machine: a PDP-10 from DEC, which had been destined for military use in Vietnam but was reassigned to assist military-funded research at Harvard. To avoid sparking an antiwar protest, it was smuggled into the Aiken Lab early one Sunday morning in 1969. It was funded by the Defense Department’s Advanced Research Projects Agency (then known as DARPA), but that was kept quiet, so there was no written policy about who could use it. There was also a slew of PDP-1 computers on which to play Spacewar. For his freshman computer project, Gates linked the PDP-10 and a PDP-1 to create a video baseball game. “The logic was on the PDP-10, but I sent it down to the PDP-1 because I used the same display as Spacewar, a line-drawing display which you don’t see anymore,” he explained.46
Gates would stay up late writing the algorithms to direct the bounce of the ball and the angle of approach of the fielders. “The projects he worked on for the first year were not commercial,” Znaimer said. “They were mostly done for the love of computing.”47 The professor who oversaw the lab, Thomas Cheatham, had mixed feelings: “He was a hell of a good programmer.” He was, however, also a “pain in the ass” and “an obnoxious human being. . . . He’d put people down when it was not necessary, and just generally was not a pleasant fellow to have around.”48
Allen’s warning to Gates that he would not be the smartest kid in the class turned out to be true. There was a freshman who lived upstairs from him who was better at math, Andy Braiterman from Baltimore. They would wrestle with problem sets all night in Braiterman’s room, eating pizza. “Bill was intense,” Braiterman remembered, and also “a good arguer.”49 Gates was particularly forceful in arguing that soon everyone would have a home computer that could be used for calling up books and other information. The following year he and Braiterman roomed together.
Gates decided to major in applied math rather than pure math, and he was able to make a small mark on the field. In a class taught by the computer scientist Harry Lewis, he was introduced to a classical problem:
The chef in our place is sloppy, and when he prepares a stack of pancakes they come out all different sizes. Therefore, when I deliver them to a customer, on the way to the table I rearrange them (so that the smallest winds up on top, and so on, down to the largest at the bottom) by grabbing several from the top and flipping them over, repeating this (varying the number I flip) as many times as necessary. If there are n pancakes, what is the maximum number of flips (as a function f(n) of n) that I will ever have to use to rearrange them?
The answer required coming up with a good algorithm, just as any computer program did. “I posed it in class and then I went on,” Lewis recalled. “A day or two later, this smart sophomore comes into my office and explains that he’s got a five-thirds N algorithm.” In other words, Gates had figured out a way to do it with five-thirds flips per pancake in the stack. “It involved a complicated case analysis of what exactly the configuration of the top few pancakes might look like. It was quite clever.” A teaching assistant in the class, Christos Papadimitriou, later published the solution in a scholarly paper coauthored with Gates.50
* * *
As Gates was preparing to begin his sophomore year in the summer of 1974, he convinced Allen to move to the Boston area and take a job with Honeywell that had originally been offered to Gates. Allen dropped out of Washington State, drove his Chrysler east, and urged Gates to drop out as well. We’re going to miss the computer revolution, he argued. Over pizza they would fantasize about creating their own company. “If everything went right, how big do you think our company could be?” Allen asked at one point. Gates replied, “I think we could get it up to thirty-five programmers.”51 But Gates bowed to pressure from his parents to remain at Harvard, at least for the time being.
Like many innovators, Gates was rebellious just for the hell of it. He decided that he would not go to the lectures for any course in which he was enrolled, and he would audit lectures only of courses that he was not taking. He followed this rule carefully. “By my sophomore year, I was auditing classes that met at the same time as my actual classes just to make sure I’d never make a mistake,” he recalled. “So I was this complete rejectionist.”52
He also took up poker with a vengeance. His game of choice was Seven Card Stud, high low. A thousand dollars or more could be won or lost per night. Gates, whose IQ surpassed his EQ, was better at calculating the odds than in reading the thoughts of his fellow players. “Bill had a monomaniacal quality,” Braiterman said. “He would focus on something and really stick with it.” At one point he gave his checkbook to Allen in order to prevent himself from squandering more money, but he soon demanded it back. “He was getting some costly lessons in bluffing,” said Allen. “He’d win three hundred dollars one night and lose six hundred the next. As Bill dropped thousands that fall, he kept telling me, ‘I’m getting better.’ ”53
In a graduate-level economics class, he met a student who lived down the hall of his dorm. Steve Ballmer was very different from Gates on the surface. Big, boisterous, and gregarious, he was the type of campus activity junkie who liked to join or lead multiple organizations. He was in the Hasty Pudding Club, which wrote and produced musical theater shows, and served with a cheerleader’s enthusiasm as manager of the football team. He was both the publisher of the Advocate, the campus literary magazine, and the advertising manager of the Crimson, the newspaper. He even joined one of the fraying men’s clubs, and convinced his new best friend Gates to do so as well. “A bizarre experience,” Gates called it. What bound them together was their shared superintensity. They would talk and argue and study together at high volume, each of them rocking back and forth. Then they would go to movies together. “We went and saw Singin’ in the Rain and A Clockwork Orange, which are only connected by the use of a common song,” said Gates. “And then we got to be super-good friends.”54
Gates’s haphazard life at Harvard was suddenly upended in December 1974, halfway through his sophomore year, when Allen arrived at his Currier House room with the new issue of Popular Electronics featuring the Altair on the cover. Allen’s rallying cry, “Hey, this thing is happening without us,” jolted Gates into action.
BASIC FOR THE ALTAIR
Gates and Allen set out to write software that would make it possible for hobbyists to create their own programs on the Altair. Specifically, they decided to write an interpreter for the programming language BASIC that would run on the Altair’s Intel 8080 microprocessor. It would become the first commercial native high-level programming language for a microprocessor. And it would launch the personal computer software industry.
Using some old stationery with the Traf-O-Data letterhead, they wrote a letter to MITS, the fledgling Albuquerque company that made the Altair, claiming that they had created a BASIC interpreter that could run on the 8080. “We are interested in selling copies of this software to hobbyists through you.”55 That wasn’t exactly true. They had not yet written any software. But they knew they could scramble into action if MITS expressed interest.
When they did not hear back, they decided to phone. Gates suggested that Allen place the call, because he was older. “No, you should do it; you’re better at this kind of thing,” Allen argued. They came up with a compromise: Gates would call, disguising his squeaky voice, but he would use the name Paul Allen, because they knew it would be Allen
who would fly out to Albuquerque if they got lucky. “I had my beard going and at least looked like an adult, while Bill still could pass for a high school sophomore,” recalled Allen.56
When the gruff-sounding Ed Roberts answered the phone, Gates put on a deep voice and said, “This is Paul Allen in Boston. We’ve got a BASIC for the Altair that’s just about finished, and we’d like to come out and show it to you.” Roberts replied that he had gotten many such calls. The first person to walk through his door in Albuquerque with a working BASIC would get the contract. Gates turned to Allen and exulted, “God, we gotta get going on this!”
Because they did not have an Altair to work on, Allen had to emulate one on Harvard’s PDP-10, a reprise of the tactic he had used to build their Traf-O-Data machine. So they bought a manual for the 8080 microprocessor, and within weeks Allen had the emulator and other development tools ready.
Meanwhile Gates was furiously writing the BASIC interpreter code on yellow legal pads. By the time Allen had finished the emulator, Gates had outlined the structure and much of the code. “I can still see him alternately pacing and rocking for long periods before jotting on a yellow legal pad, his fingers stained from a rainbow of felt-tip pens,” Allen recalled. “Once my emulator was in place and he was able to use the PDP-10, Bill moved to a terminal and peered at his legal pad as he rocked. Then he’d type a flurry of code with those strange hand positions of his, and repeat. He could go like that for hours at a stretch.”57
One night they were having dinner at Currier House, Gates’s dorm, sitting at the table with the other math wonks, and they began complaining about facing the tedious task of writing floating-point math routines, which would give the program the ability to deal with both very small and very large numbers and decimal points in scientific notation.II A curly-haired kid from Milwaukee named Monte Davidoff piped up, “I’ve written those kinds of routines.”58 This was one of the benefits of being a geek at Harvard. Gates and Allen began peppering him with questions about his capacity to handle floating-point code. Satisfied that he knew what he was talking about, they brought him to Gates’s room and negotiated a fee of $400 for his work. He became the third member of the team, and would eventually earn a lot more.