Idea Man
Page 7
Down the corridor was a control room as large as four basketball courts. An immense backlit grid covered two walls like something out of Dr. Strangelove, showing the status of every dam in the Northwest. If anything went haywire, a corresponding light would change from green to red. The Bonneville operators worked at color-display consoles with gargantuan keyboards that could call up any substation and paint it on their screens. There were meters showing dam outputs in megawatts, which I thought was pretty wild.
The programmers were a tight-knit if motley crew, from classic corporate types in white short-sleeve shirts and bow ties to freewheeling characters like Bob Barnett, a Vietnam vet who showed us the ropes in a crazy-uncle kind of way. Bill was assigned a series of small jobs, while I was given a fair-size one, a recovery module to make the new automated system fail-safe. (When you’re dealing with power for millions of people, going down is not an option.) If the primary PDP-10 failed, my system would tell the backup computer to take over.
Leaving nothing to chance, TRW performed all sorts of extreme tests, like gauging how a massive ground short might affect the computers below. After a quarter-inch steel cable was strung from a 250-kilovolt line to a stanchion planted in the earth, we came outside to watch someone throw a switch. A violent crack made us jump. The cable became a line of vaporized steel, and then it vanished. The computers, fortunately, were unfazed.
“Wow,” I exclaimed, “that was really something.”
And a TRW manager said, “No, what was really something was when Joe forgot to put his bucket down and drove his repair truck into that power line.”
“What happened to him?”
“There were incredible sparks and the tires melted into the ground,” the manager said, “and Joe freaked out. But he was OK because the truck became a Faraday cage.” (In the 1830s, British physicist Michael Faraday demonstrated that an electrical current running along the exterior of a conductive structure had no effect on the interior.) The TRW guys burst out laughing as I thought, Oh my gosh, that’s serious electricity. With its bizarre personnel and sunless facility, RODS could seem very strange at times.
Bill and I were the youngest workers there, and surely the lowest paid, but Bob and the other managers cut us no special slack. At RODS we learned that we could hold our own with some of the top programmers around. I had to write a thousand lines of assembler code—not too heavy a load, but a tricky one. Two other programmers had taken a crack at it, but their code couldn’t handle the “corner cases,” like a simultaneous failure of two or more devices. I opted for a ground-up rewrite in the cleanly structured and annotated style that I’d learned at C-Cubed. I spent countless hours checking my work, which needed to be fail-safe. For the first time, I was writing directly on a running operating system. I found it fascinating.
Freed of school obligations and family constraints, Bill and I happily hunkered down for coding sessions and test cycles that ran twelve hours and more. We were both natural night people who would peak at ten or eleven P.M. and remain at optimal efficiency for quite a while after that. No matter how long it took, we’d stay to find that last bug. 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. (His palms had a chronic orange tinge that summer.) Often we would work for two days straight and then crash for eighteen or twenty hours, which Bill called “getting slept up.”
But sleep was an afterthought. We had our Lakeside job to finish for the next term, and the graveyard shift at RODS seemed ideal for the purpose. The class scheduling program was CPU-intensive, and sometimes Bob Barnett came in late to find the PDP-10 slowed to a crawl. He’d stalk down the corridor booming in mock anger, “Gates and Allen, where are you? Shut your goddamn scheduling program down!”
When I wasn’t writing code, I was playing acoustic guitar or catching up on the latest Watergate news at the apartment. Late-night diversions in Vancouver were pretty much limited to Denny’s “classic breakfast,” our go-to meal at three A.M.: eggs, bacon, a pancake, hash browns. For more excitement, Bill joined Bob at the dog track in Gresham, where they bet the animals’ numbers based on license plates in the parking lot. I went along on a few trips to Portland Meadows, where Bob had inside information on a quarter horse named Red Robbie who’d been hopeless at a quarter mile. One night they entered him at a longer distance, and Bob persuaded us to risk our hard-earned money. Red Robbie jogged out of the gate, last as usual, before finding his stride midway through to win, going away at long odds.
Bill and I were regulars at the blaxploitation movies that played at a theater in northeast Portland. We had a great time watching Super Fly and the like until someone came up to us one night during the closing credits: “What are you white boys doing here?” That threw us, but we were back a week later. We just found those films enthralling.
Living with Bill, I saw a new side of him. My mother had a term for adrenaline junkies, people who would court risk for the thrill of it. “That person,” she’d say, “is an edge walker.” Bill Gates was an edge walker. He’d pride himself on making the 165 miles from Seattle to Vancouver in under two hours, putting the hammer down in his Mustang late at night. Where I was wary of physical danger, Bill seemed to enjoy it. When he entered our apartment one day in a full-leg cast, I asked him what had happened.
“Waterskiing with Barnett,” he said. They’d run out that afternoon to Lacamas Lake. As Barnett tells the story, he’d taken his last run and wanted to get back to RODS, but Bill insisted on going one more time on a single ski. In his rush, he didn’t bother to adjust the equipment, which can be a problem if you like to jump the wake of the boat. After Bill fell and snapped his leg, he was told to take six weeks to heal back in Seattle. He resurfaced in Vancouver, with a bluish leg and no cast, after three. “I’m going to water-ski with Bob,” he told me. I couldn’t dissuade him, and his leg somehow held up.
For the most part, the two of us got along well that spring and summer. But at times Bill could get edgy, especially during our chess games. I was a more methodical player, my openings more structured; Bill was an aggressive improviser. When I beat him one day, he got so angry that he swept the pieces to the floor.
“That was the stupidest move I ever made!” Bill shouted. After a few games like that, we stopped playing.
ONCE I’D DECIDED my approach, I was able to crank out the systems control panel code pretty quickly. The weak link was a buggy communications module that prevented my work from being tested in real time until after I went back to Washington State that fall. (RODS wouldn’t be officially “energized” until more than a year later, in December 1974, after untold penalties against TRW.) Before leaving, I got some validation from John Norton, a legendary systems programmer who’d been parachuted in for a review. Norton could take an inch-thick listing, page through it in a day, then snap it shut. If you went to him later with a question, he’d close his eyes and say, “Go to page 57, you’ll find the subroutine you’re looking for.” It was a proud day when my work survived his scrutiny.
In my off-hours I made progress on my Traf-O-Data simulator. The PDP-10’s central processing unit weighed nearly a ton, but my program needed to get it to behave like a chip half the size of a pack of gum. My first task was to define a set of thirty or so “macros,” the symbolic instructions that would generate bytes for the Intel 8008. Within a few days, I’d effectively performed a brain transplant. The PDP-10’s assembler didn’t know it, but it was now an 8008 assembler.
My next step was to build the simulator itself, a program to put this metamorphosis into action. Written in PDP-10 assembly language, the simulator would mimic the microchip’s instructions. The coding went smoothly; it was as though everything I’d learned at C-Cubed and ISI had led me to this point. Fortunately, I was able to finish my week’s work for Bob Barnett in about twenty hours, then focus on Traf-O-Data. After going hard for a week, I was done.
My third and final step was to modify the PDP-10�
�s debugger to give Bill the ability to stop the program in midexecution and track the cause of any problem. The debugger was an ugly, hairy piece of code, full of trapdoors and cul-de-sacs, but three weeks after I’d begun, we had an unrivaled development suite for the 8008 chip. (My techniques proved so effective that Microsoft used them well into the 1980s, until microprocessors became fast and capable enough to host their own development tools.) Shortly before we returned to school, Bill finished the traffic analysis program. We tested it on the PDP-10 with hypothetical data, and the simulator generated an impressive bar graph printout. All that remained to be seen was whether Bill’s program would work on Paul Gilbert’s Traf-O-Data hardware.
Our dreams expanded; Bill talked about starting a real company. While I shared similar fantasies, mine centered more on the technology. It was clear to me that inexpensive computers would transform the future. But what could we do that was new and different? Where was it all headed? On one of Rita’s visits to Vancouver, I took her up to TRW’s microwave tower and expounded on its data transmission capability and what that might imply. Soon, I said, there would be high-speed links among people all over the world.
Another time, as Bill and I dined at a local pizza place, I had a thought: “What if you could get the news by reading from a computer terminal instead of buying a newspaper? You could even program it to find articles on whatever you wanted. Wouldn’t that be great?”
And Bill said, “Come on, Paul! It costs seventy-five dollars a month to rent a Teletype and you can get a paper delivered for fifteen cents. How do you compete with that?” He had me there. But I couldn’t stop thinking about a time when everyone would be digitally connected, with instant access to information and services. It would be a while before Bill and I defined our goal, in so many words, as “a computer on every desk and in every home.” But the seeds of that motto—and my notion of a global network to join all those computers together—would be planted that summer among the strip malls and fast-food joints in Vancouver, Washington.
WE WERE MIDWAY through our work at RODS when Bill called home and got the news that he’d been accepted at Harvard University. He wasn’t surprised; he’d been riding high since scoring near the top in the Putnam Competition, where he’d tested his math skills against college undergraduates around the country. I offered a word to the wise: “You know, Bill, when you get to Harvard, there are going to be some people a lot better in math than you are.”
“No way,” he said. “There’s no way!”
And I said, “Wait and see.”
I was decent in math and Bill was brilliant, but I spoke from experience at Wazzu. One day I watched a professor cover the blackboard with a maze of partial differential equations, and they might as well have been hieroglyphics from the Second Dynasty. It was one of those moments when you realize, I just can’t see it. I felt a little sad, but I accepted my limitations. I was OK with being a generalist.
For Bill it was different. When I saw him again over Christmas break, he seemed subdued. I asked him about his first semester and he said glumly, “I have a math professor who got his PhD at sixteen.” The course was purely theoretical, and the homework load ranged up to thirty hours a week. Bill put everything into it and got a B. When it came to higher mathematics, he might have been one in a hundred thousand students or better. But there were people who were one in a million or one in ten million, and some of them wound up at Harvard. Bill would never be the smartest guy in that room, and I think that hurt his motivation. He eventually switched his major to applied math.
By then we had ambitions beyond school. That December Bill and I redid our résumés. Not quite twenty years old, I listed a “working familiarity” with ten computers, ten high-level languages, nine machine-level languages, and three operating systems. I listed my objective as “systems programmer” and my desired salary as “open,” though in parentheses I added “$15,000.” Location: “Anywhere.” I noted that I’d be available as of June 1, 1974, a sign that I was ready to leave school again for the right opportunity. I thought I knew what I wanted to do; I just lacked a firm plan for getting there.
In describing our work on Traf-O-Data, my résumé stated: “Designed and put together a system for traffic engineers to study traffic flow. The system is built around Intel’s MCS-8008 microcomputer. The software and hardware setup has been fully tested using a prototype. Demonstrations to customers are planned for May 1974.”
That summary was optimistic. True, Paul Gilbert had finally stabilized the noisy memory chips. And the Traf-O-Data machine certainly looked authentic, quite a feat on a $1,500 budget; Paul had modeled it after the popular PDP-8 minicomputer, with a similar layout for switches and LEDs. (The interior, with its rat’s nest of posts and wires, was another story.) After hauling a Teletype over Snoqualmie Pass in the back of a Phi Kappa brother’s pickup truck, I hooked up the machine by our kitchen sink in Pullman. Then I loaded in a small test program through the keys on the front panel, and it ran successfully. But we still couldn’t be sure if it would run Bill’s traffic analysis program, because we couldn’t find an affordable reader for the oversize sixteen-channel tapes.
At wit’s end, we turned to a local inventor who designed a contraption that read the tapes’ holes with a conductive rubber pinch roller. It needed constant tightening and seldom fed the tapes through in a straight line, but it was the best we could do. At a demonstration that May for Seattle’s King County Engineering Department, the tape reader malfunctioned—the whole thing was a fiasco. Bill finally broke down and spent serious money on a more reliable reader from Enviro-Labs. “Traffic Machine finally works (!),” I wrote to Ric Weiland in August 1974.
Charging two dollars per day of data collection, we found three clients: two smaller counties near Seattle and a district in British Columbia. They mailed their traffic tapes to Paul Gilbert’s house, where he produced the graphs of hourly car flow. But just as we were getting under way, Washington joined a number of other states in offering the same service to cities for free. We didn’t give up easily, even attempting (with no luck) to sell our wares in South America. According to six years of tax returns between 1974 and 1980, Traf-O-Data totaled gross receipts of $6,631 and net losses of $3,494. In 1982, when we closed our checking account, I received a distribution of $794.31. By that time Bill and I were preoccupied with running another company in Seattle.
In hindsight, Traf-O-Data was a good idea with a flawed business model. We had done no market research. We hadn’t foreseen how hard it would be to get municipalities to make capital expenditures, or that officials would be reluctant to buy machines from students. For Bill, Traf-O-Data’s failure would serve as another cautionary tale. Above all, we learned that it was hard to compete with “free.” (Bill took that lesson to heart. Years later he’d become obsessed with Linux, the open-source operating system.)
But there were positives, too. Traf-O-Data bolstered my conviction that microprocessors would soon run the same programs as larger computers at a far lower cost. Looking ahead, my development tools for the 8008 would give us an invaluable foundation when that next-generation chip came along. In 2002, I purchased the one and only Traf-O-Data machine from Paul Gilbert and installed it in our STARTUP gallery at the Museum of Natural History and Science in Albuquerque. I wanted to pay homage to an obscure piece of hardware that played a critical role in the microprocessor software revolution.
In my experience, each failure contains the seeds of your next success—if you are willing to learn from it. Bill and I had to concede that our future wasn’t in hardware or traffic tapes. We’d have to find something else.
CHAPTER 6
2+2=4!
Through the spring semester of 1974, Bill kept urging me to move to Boston. We could find work together as programmers, he said; some local firms sounded interested. We’d come up with some exciting project—maybe an extension of Traf-O-Data, maybe something new. In any case, we’d have fun. Why not give it a try?
St
ill drifting at Washington State, I was ready to take a flier. I mailed my résumé to a dozen computer companies in the Boston area and got a $12,500 job offer from Honeywell. Bill received an offer there as well, and it seemed like an ideal arrangement; we could make a decent living while doing our own things on the side. Then, after I accepted the job and prepared to take another leave from Wazzu, Bill changed his mind and decided to go back to Harvard. I suspected heavy pressure from his parents, who had more traditional ideas. In a letter to Ric, Bill wrote, “They are more in favor of my taking up business or law—even though they don’t say so.”
I was still committed to the move. If Boston didn’t work out, I could always return to school. In the meantime, I’d sample a new part of the country, and Rita had agreed to join me. We had grown more serious and wanted to live together as a trial run for marriage. Plus, Bill would be there. At a minimum, we could put our heads together on the weekends.
My dad was less than enthusiastic. “This software work seems to be a distraction,” he said. “I don’t agree with your choice, but you’re old enough to make your own decisions.” When the day came that August for Rita and me to leave, he got the family Chrysler washed and filled it with gas. Regardless of what they thought, my parents always did what they could to support me.
Driving cross-country with a girlfriend was an adventure. I remember how long it took to cross Montana, and how we reached New England in the thickest fog we’d ever seen, finally getting lost on Boston’s roundabouts. We found an inexpensive apartment in Tyngsborough, up near the New Hampshire state line. Rita got work in a semiconductor plant nearby as I started at Honeywell, the company that made the thermostats in my childhood home.