Biographies & Memoirs

CHAPTER 5

WAZZU

I was glad to be on my own at Washington State (or Wazzu, as we called it), three hundred miles from home, but college life wasn’t quite what I’d hoped. My intro courses were less than challenging. I missed my family and my girlfriend and got distracted by the social hubbub. Some people thrive when they first go out on their own, but I was not one of them.

I also missed the PDP-10. Early on, my nights were spent writing programs on batches of cards for an IBM mainframe. “It is different to be using IBM equipment but it really isn’t bad at all,” I wrote to Ric Weiland in November, putting a good face on it. New computers always intrigued me, even the baroque, slow, unwieldy ones. I read up and tried to think up tools to improve the IBM programming experience. My progress was slow.

The more rewarding part of college was the broader world I found there, especially at Phi Kappa Theta. A small underdog fraternity at the far end of the row, it perched on a slope so steep that it took two people to mow the lawn: one to push the mower and the other to hold the rope that kept it from rolling down the hill. Just behind the house was a switching yard where they put trains together at three in the morning. For the first two weeks I couldn’t sleep, and after that I could sleep through anything.

But I loved that place. Thrown in with a lively mix of hippies, eccentrics, and ROTC cadets, I got a kick out of nearly all of them. There was Mike Flood, the frat president and wry ringleader who assigned me dishwashing duties; Gary Johnson, who saved on room fees by living with two dogs in his truck in the driveway; Simon Karroum, aka the Big Syrian, a massive, kindly soul whose English had been corrupted by a summer job on the Portland docks. We had to edit his papers and cross out the four-letter words, because he didn’t know any better.

I was the computer guy, the one who would happily help you debug your homework; I could glance at a piece of FORTRAN code and quickly pinpoint what was wrong. But I also played hours of H-O-R-S-E in the driveway, where my notorious “matador” shot was hard to beat, and I snapped center on our intramural flag football team. Our quarterback, Jerry Morse, was a former New York Yankee farmhand with a gun of an arm. I wasn’t blessed with great speed, so Jerry would tell me in the huddle, “Ten yards and turn around.” If Simon and Mike were covered, he’d rifle it into my chest. I rarely dropped a pass.

Back from programming at one or two in the morning, I’d unwind with my electric guitar, a habit that annoyed some of my frat brothers. Mike Flood would ask me to stop, and I’d lay the guitar down after a final chord or two. But one night a muscular guy named George Shea burst into my room in a fury and hoisted me up against the wall. I looked at George and his clenched fist and considered the beating I was about to get. For someone who’d grown up in a family where no one ever got visibly angry, it was an out-of-body experience.

“Put him down.” It was Mike Haspert, one of my guitar buddies, crouched in a karate stance. Word had it that he was a black belt. George weighed his options, dropped me to the floor in disgust, and stormed off.

A typical day at Phi Kappa Theta was less eventful: marathon hearts and chess games, Star Trek in the basement TV room, Pizza Shack and Taco Time. There were drives over the Idaho state line, where the legal drinking age was nineteen and beer was cheap. On Saturdays I’d join the throng to watch the Cougars get slaughtered by the likes of USC. I was mostly carefree until I drew 99 in the 1972 draft lottery, a number that could send me to Vietnam. By then the war looked grim, hardly worth dying for. But I would have served had they called me, as my father had in World War II.

As it turned out, they suspended the draft before my student deferment expired.

ON MAY 28, 1972, in a UW mountaineering class, my Lakeside friend Kent Evans was crossing a snowfield on Mount Shuksan when he slipped. Unroped and unable to check himself, he tumbled more than six hundred feet down the slope, hitting several large rocks. He was evacuated by a navy helicopter and died before he got to a hospital. Kent was seventeen years old.

Bill was torn up by Kent’s death, just crushed. A few days after the funeral, Kent’s parents asked us over to see if we’d want any of his computer things—a few manuals, nothing of importance. It was kind of them, but we felt strange sorting through Kent’s belongings. We didn’t stay long.

Bill had contracted with Lakeside to write a scheduling program in FORTRAN during summer vacation. “I was going to do it with Kent,” he told me. “I need help. Do you want to work on it with me?” Though I wouldn’t make much money, I was glad to step in and get reacquainted with a PDP-10. Bill stayed depressed for weeks, but his spirits gradually lifted as we immersed ourselves in the project, going at it full-bore in McAllister Hall like old times. Often we’d work past midnight and sleep on cots we’d brought to campus. The program was a challenge, with lots of moving parts: required courses, staggered sections, electives, double-period labs. I was impressed by how cleanly Bill broke the job into its component parts, and especially how he “preloaded” himself into an English class with a dozen or more girls and no other boys.

Bill and I became closer that summer. Our age gap no longer seemed to matter; we had what I call high-bandwidth communication. Diving into a problem, we’d start “popping up the stack,” computing jargon for the sequence for subtasks in the CPU: last in, first out. In conversation, the phrase meant that we’d shift from one topic to an earlier one without bothering to acknowledge the new context. Someone overhearing us would have made no sense of it:

“So then we can move this string …”

“You’re right, the other thing will never happen if that’s true. …”

“Exactly! That’s the variable we used the last time.”

Another strong commonality was our shared sense of the absurd. One night, after going far too long without sleep, we were grinding away for hours over some scheduling code—we just couldn’t find the bug. Bill kept glaring at the problem page, and suddenly he said, “X!” and collapsed into helpless giggles. I took another look and saw what he meant: We’d left a meaningless hanging variable stuck in the middle of a line. “X!” I shouted. Then both of us were rolling on the ground, calling out “X!” in the empty building, exhausted and hysterical.

For breaks we’d go to the movies; we must have seen more than five hundred together over the years. My favorite theater was the Kokusai in Seattle’s International District. It had double features with English subtitles, and the second film was always samurai. Bill didn’t go in much for foreign fare, but one night he agreed to see “anything but one of those stupid movies with a little dog in it.” No sooner had we settled into our seats for a contemporary Japanese drama than a noisy terrier was running across the screen.

Not the little dog,” Bill groaned out loud.

We had fun that summer, but we never stopped thinking about our next business opportunity. Bill had taken on a data processing job for a company that measured traffic flow patterns by counting the car wheels running over pressure-sensitive rubber tubes. At fifteen-minute intervals, a machine would punch a pattern of holes on special sixteen-channel paper tape, representing the number of cars. The tape had to be read manually, with the results recorded in longhand and then transferred to batch-loaded cards. The process was monotonous, inefficient, and murder on the eyes; Bill had farmed it out to younger students at Lakeside whom he paid fifty cents a tape to act as human paper-tape readers. One day he said, “Those kids are going blind trying to read those things. We’ve got to find a way to automate it.”

I wondered aloud about using one of the modern minicomputers. The latest Texas Instruments models were especially compact and cost in the low four figures, but that was still too much money for us. Then I had another idea: What about Intel’s new 8-bit microprocessor, the 8008? Based on what I’d read, the chip could run calculators, elevators, even smart terminals. Since its release that spring, little had been done to use it for data analysis. But if it worked as its specs suggested, the 8008 would be up to our task. “We could make our own chip-based system, that’s the cheapest way to do it,” I said. As Bill warmed to the proposal, I added a salient point: “We have to find someone to build the machine.” Hardware was not our strength, so we’d need a third partner.

A mutual acquaintance told us about Paul Gilbert, an electrical engineering student at UW, and we tracked him down later that summer. After a few meetings, Paul had a workable sketch for Traf-O-Data, the name we’d use for both the traffic machine and our partnership. (Much later on, I asked Bill how he’d come up with it, and he said, “I got it from jack-o’-lantern.” I thought that was really strange.) In that first flush of entrepreneurship, we had grandiose dreams about the money coming our way. Armed with our easy-to-read data charts on hourly traffic flow, municipalities would know just where to place their stoplights or to focus their road repairs. Wouldn’t every public works department in the world want a Traf-O-Data machine?

Paul Gilbert wangled a UW discount and we special-ordered an 8008 chip at a local electronics store. Bill and I scraped together $360 and drove by to pick it up. 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. “That’s a lot of money for such a little thing,” Bill said. But I knew what he was thinking: That little box contained the brains of a whole computer. We brought it to Paul Gilbert in the physics building, and he set to work.

In developing the Traf-O-Data software, Bill and I faced a dilemma. We knew that it would be painful, if not futile, to try to create software on the 8008 itself. We needed to build a set of development tools from the ground up, including a customized assembler, a program that could translate assembly language instructions into actual bytes. While the 8008 could address 16K bytes of memory, Bill and I could afford only a quarter of that in memory chips, not nearly enough for the tools.

So how would we program such a limited microprocessor on a machine that didn’t yet exist? For me, the answer seemed clear: I’d simulate the 8008 environment on a mainframe. Simulators had first cropped up in the literature in the midsixties, when an engineer named Larry Moss devised a way for an IBM 360 to “emulate” earlier-model computers and run their software. Moss’s work 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. Software trumped hardware. Although I hadn’t read about anyone simulating a microprocessor, I figured it should be easy enough—I’d simply trick a big computer into acting like a small one. In the meantime, we could exploit the big computer’s abundant memory and advanced development tools.

We had no idea how much adversity lay in store for us. Using UW’s lab equipment and facilities, Paul Gilbert went about constructing a fiendishly intricate prototype, with more than a thousand copper wires wrapped around dozens of gold-plated posts on two circuit boards. The box design and layout went smoothly, but Paul spent a year trying to get the noise-sensitive memory chips to work. Meanwhile, back at Wazzu, I struggled to build the simulation package on the IBM 360. Debugging on a batch-processing computer was downright Sisyphean, two steps forward and a step and a half back.

When Bill came out to Pullman during a hellacious cold snap that winter and we walked the two miles to the campus computer center, we noticed that a bank’s reader-board thermometer was stuck at 13 below zero. The air was so frigid that it almost hurt to talk. By the time we reached our destination, my beard was stiff with ice. And Bill said, shivering, “Does it always get this cold in Pullman?”

I don’t remember him coming out in the winter after that.

OVER CHRISTMAS, Bill got a call from Bud Pembroke, the guy who’d hired us to do the ISI payroll program. A massive software project for the Bonneville Power Administration’s electrical grid was behind schedule, and Bud was scouring the region for programmers who knew their way around a PDP-10. I was not quite twenty and Bill was only seventeen, but age was not a criterion. “And you’re going to be on salary,” Bud said.

Bill said, “How much?”

And Bud said, “One hundred sixty-five dollars a week.”

Four dollars an hour was a pittance for an experienced programmer, even then, but Bill and I couldn’t believe our good fortune. Here was a chance to work together again on a PDP-10, and for pay! I was glad to take a leave of absence from Washington State. Bill had completed his required courses at Lakeside and got approval to pursue an off-campus senior project for his final semester. We told Bud to count us in.

Bill and I piled into his orange 1967 Mustang convertible and drove south to Vancouver, Washington, a land of strip malls, car washes, and a vintage A&W Root Beer drive-in stand where we’d become regulars. We found a cheap two-bedroom apartment and showed up for work on a Monday in January 1973. Our employer was TRW, a big aerospace company that had contracted with the Department of the Interior to set up a real-time operating and dispatch system, or RODS—the first system of its kind in the country, we were told. The government already had software that controlled Bonneville’s generators along the Columbia River, distributing power to eight Western states. The point of RODS was to refresh that information each second and respond more efficiently to shifting power needs.

TRW management had projected that a handful of software engineers would need two years to finish the job, a drastic underestimate. Converting DEC’s TOPS-10 into a real-time system was like turning an apple into an orange—and a new variety of orange, at that. More than a year into the project, with overrun penalties soaring, TRW’s new software was still full of bugs. Wheeling into crisis mode, management went out to recruit every able-minded programmer they could find to get RODS up and running. By the time we got there, more than forty people were working on it around the clock.

Bonneville’s hardened control facility was across the river from Portland, built mostly underground. They even had a shower room for washing off nuclear waste in the event someone pushed the button. Bill and I took the elevator down for what seemed like forever under the reinforced concrete. After passing several doors secured with combination locks, we were shown into a computer room with a raised floor and chilly air conditioning, the place where we’d test and run our code. I was excited to see that we’d be sharing the space with dual PDP-10’s; I’d never worked so close to a computer.

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.

If you find an error or have any questions, please email us at admin@erenow.org. Thank you!