Broad Band Page 4
The Mark I was closer to Charles Babbage’s mechanical engines than to a computer in the modern sense of the word: inside its steel casing, a spinning driveshaft powered by a four-horsepower motor drove a sequence of gears and counter wheels along the entire installation. Code for the Mark I was written by hand, in pencil, on standardized code paper, and then transferred—literally punched—onto spools of three-inch-wide tape, much like the score sheet for a player piano or the pattern card of a Jacquard loom. The positions of holes in the tape, using a unique eight-bit code, corresponded to the numerals, process, and application of a given calculation. Although the Mark I was programmable in the sense that it accepted these punched-roll tapes, the distinction between hardware and software at that time was blurry, even nonexistent: every calculation called for switches to be flipped, cables to be patched.
Howard Aiken introduced Grace to her crewmates, two navy ensigns who’d arrived at Harvard while she was still in Midshipmen’s School. She found out later that they’d been bribing each other to get out of sitting next to the new recruit; “they’d heard this gray-haired old schoolteacher was coming and neither one of them wanted the desk next to me.” Aiken gave her a codebook, just a few pages of alien commands, and an assignment: to write a program for the Mark I that would compute the interpolation coefficients for the arctangent to an accuracy of twenty-three decimal places. “And then he gave me a week to do it in,” she said, “to learn how to program the beast and to get a program running.” The problem itself was not particularly mysterious for Grace—she did have a PhD in mathematics, after all. It was the machine she found inscrutable. It had no manual, and there was no precedent from which to draw, as the Mark I was the first of its kind. Grace was good at a lot of things, but she didn’t have an engineering background, and she didn’t know switches from relays. Aiken was testing her.
A born autodidact, she threw herself into the challenge. She pored over the codebook and picked the brains of the two ensigns, mostly the twenty-three-year-old Richard Bloch, a recent Harvard graduate and math whiz who would become her closest collaborator. Some IBM engineers were still milling around, debugging the machine; she gleaned what she could from them, too. She stayed late every night, bootlegging an engineering education by examining the Mark I’s blueprints and circuit diagrams. Sometimes she slept at her desk. Years later, when Grace was an established figure in the new field of computer programming, she’d always assign the hardest jobs to the youngest and least experienced members of her team. She figured they didn’t have the sense to know what was impossible.
Her first year at Harvard was nonstop, and as new programmers joined the team, Grace ascended the ranks. Using the same diligence and ingenuity she’d brought to teaching, she made herself invaluable. The gray-haired schoolteacher from upstate New York met eminent mathematicians, engineers, and pretty much everyone in the microscopic world of computing. “It was fascinating,” she said, a “hotbed of ideas and concepts and dreams and everything under the sun.” The computing project was in such high demand during the war that Aiken designed a second computer, the Mark II. Grace learned that one, too.
Like his machines, there was no manual for Aiken. He was temperamental, petulant, and obsessive about details. He took great pride in being the commanding officer of his own invention. Although the Mark I was built by IBM and tucked away in an Ivy League basement, Aiken ran its operation like a naval facility. Discipline was strict. His entire staff was expected to show up in full uniform and call him “commander.” The computer was a “she,” like any navy ship. Aiken worked people ragged; when mistakes were made, he was prone to “bawling out” the perpetrator. His criticism could be so immediate, and so fervid, that Grace often did her debugging after hours for the sake of peace and quiet. But she learned to think of her boss as a machine himself. “He’s wired a certain way,” she told Bloch, who was often getting into trouble with their superior. “If you understood Aiken and understood how he was wired, he was excellent to work with. I never had any difficulty. But if you tried to tell him what was right, heaven help you.”
Aiken’s commitment to military hierarchy was harsh, but it ultimately worked in Grace’s favor: treatment in his Computation Laboratory, by and large, was commensurate to rank and ability over gender. Uniforms and formal titles helped dissolve traditional roles, as did the laboratory’s complete isolation from the outside world. And although Aiken had never wanted a woman officer in his ranks, he was forced by his adherence to protocol to accept Grace’s assignment. And anyway, as Grace told Howard Aiken, he was going to want a woman around.
She was right. She eventually became Aiken’s “right-hand girl,” and it wasn’t long before she was solely responsible for the Mark I. She wrote the code that solved some of the war’s thorniest mathematical problems, and she even wrote the missing manual for the computer, a truly laborious five-hundred-odd-page document full of circuit diagrams and operational codes. Along with her colleague Richard Bloch, she developed a system for coding and batch processing that turned the lab into the most efficient data-processing center of its day. She maintained order in a grueling wartime environment that felled lesser ensigns. And beyond her fundamental competence, there were some material perks to having a woman on the team. When the Mark I was having mechanical issues, Grace would sometimes “pull her mirror out of her pocketbook and stick it in front of the cams and look for sparks.” By the end of his career, Aiken had but one assessment of his colleague, his highest commendation: “Grace was a good man.”
Like a navy submarine, the Mark I was staffed twenty-four hours a day by a crew working in eight-hour shifts, and the computer was up and running an impressive 95 percent of the time during the war. The demand for wartime calculation was relentless, and time-sensitive requests came to the Computation Laboratory from all corners of the conflict. Grace, who had always been an omnivorous thinker, auditing courses at Vassar on every subject imaginable, took to the work. She learned to translate complex oceanography, minesweeping, proximity fuse, and ballistics problems into simple arithmetical steps, making regimented order of a messy, violent world.
The Mark I’s calculations were impeded by all manner of failures: faulty code, faulty relays, and machine stoppages signaled by ominous clangs and shudders. To stay ahead, Aiken’s team often worked late. One night, in September 1945, a large moth flew into the computing room through an open window, drawn in by the light on the machine. Grace found its corpse not long after, beaten senseless by one of the relays. She scotch-taped it into her log from that day, with a note: first actual case of bug being found. “Bug” is engineering slang that dates to at least the 1800s—even Thomas Edison used the word to refer to mechanical glitches, to “little faults and difficulties”—and Grace was known around the lab for her blackboard doodles of little bugs and monsters, each the cause of some lab snafu: a dragon who chewed holes in the punch tape, and a “gremlin that had a nose that picked up holes and put them back in the tape.” After the moth incident, she bought a box of plastic bedbugs in town and scattered them around the back of the computer on a lark, causing a two-day panic.
During the war, the Computation Laboratory was isolated from the handful of other computing projects in the world, and Grace Hopper, handling the lab’s everyday computational needs, had neither the time nor the opportunity to see what the rest of the field was doing. But sometimes the field came to her. Grace had been working in the Computation Laboratory for only a few months, for instance, when the physicist John von Neumann came to visit. Von Neumann had mobility; he spent much of 1944 visiting different computing projects in the United States, looking for a machine brawny enough to crack a complex partial differential equation. The Mark I was the first large-scale computer on his tour, and for three months that summer he decamped in a conference room at Harvard, outlining his problem on a blackboard while Richard Bloch set it up on the computer. Grace, still new at the lab but handy with a differential eq
uation, assisted every step of the way.
Neither Grace nor Richard knew the specifics of the problem’s application; to them, it was only an interesting mathematical challenge. And von Neumann was a character, a garrulous Hungarian theoretician who was as much of a celebrity in his day as his Princeton colleague Albert Einstein. As Bloch and von Neumann worked on the problem, they’d run back and forth between the conference room and the computer, von Neumann calling out numbers just as the Mark I would spit them out, “ninety-nine percent of the time,” Grace observed admiringly, “with the greatest of accuracy—fantastic.” After three months, von Neumann took their results back to a desert town in New Mexico called Los Alamos, where he was consulting on the Manhattan Project. The partial differential equation turned out to be a mathematical model for the central implosion of the atomic bomb. Grace never knew, until the bombs fell on Nagasaki and Hiroshima, precisely what she had helped to calculate.
There was not always time for Grace to consider where all the math went, and to what end. The calculations kept coming, some—like von Neumann’s—almost inconceivably complex. To save on processing time, Grace and Richard invented coding syntax and workarounds that set the groundwork for the way code is written to this day. As early as 1944, Grace realized she could save herself from rewriting code from scratch for each problem by holding onto reusable scraps, which came to be known as subroutines. In wartime, this was done informally: coders on the crew would share their notebooks with one another, copying over relevant bits and pieces longhand. Eventually, this practice was formalized, and future computers were built with libraries of subroutines already in place, enabling even novice coders to call on tidily packaged sequences of program instructions. When Grace’s code got thorny, she made a habit of annotating the master code sheets with comments, context, and equations, making it easier for colleagues to unravel her handiwork later. This system of documentation became standard practice for programmers, and it still is: good code is always documented.
Efforts like these, which simplified and broadened the accessibility of computer programming, were Grace’s calling card. Back before the war, when she was still teaching at Vassar, she’d make her students write essays about mathematical problems, because there was no sense in learning math if you couldn’t communicate its value to anybody else. When she reentered the civilian world to work for the first commercial computer company, she would continue with that logic. Grace’s most lasting contributions to the emerging field of computer programming all have to do with democratizing it: she pushed for programming advances that would radically change the way people talk to computers. With her help, they wouldn’t need advanced mathematical terms, or even zeros and ones. All they’d need is words.
THE ENIAC SIX
The war was over before Grace had the chance to set eyes on any computing installation but the one at Harvard. And yet, there was another only three hundred miles to the south, at the University of Pennsylvania’s Moore School of Electrical Engineering. Like Aiken’s machines, its construction had been funded by the military to crunch numbers for the war effort. This room-sized installation of conduit and steel was the Electronic Numerical Integrator and Computer (ENIAC).
Technically, the ENIAC was faster than the machines on which Grace had cut her teeth. Where Howard Aiken’s Mark I could trundle through only three calculations a second, the ENIAC was equipped to handle five thousand. This almost unbelievable warp-speed jump in processing was due to the fact that the ENIAC didn’t rely on mechanical relays, gears, or driveshafts; instead, some eighteen thousand vacuum tubes, like slim light bulbs, served as its computing switches, flitting off and on in the darkness of the machine. Uncoupled from the limitations of grinding machinery, the ENIAC’s vacuum-tube switches illuminated a new, ineffable realm of electronic pulses and signals. Computing would never look back.
Because these early computers were developed under wartime secrecy, computing history is full of conditional, contested touchstones—and more than a few acrimonious debates about the provenance of the “first” computer. Several machines qualify, and so the title is meted out in different ways: the Mark I, for instance, was the first electromechanical computer, while the ENIAC, which transcended the Mark I’s physical limitations, was the first—and fastest—electronic computer. Across the ocean, in labs just as secret, British scientists built similar machines, each earning its own qualifier: stored-program, general-purpose, digital, binary. In these early days, every computer was an island.
When Grace Hopper visited the University of Pennsylvania in 1945, she was shocked to discover just how different the ENIAC was from the Mark I and Mark II computers with which she’d become so familiar. “The tremendous contrast,” she noticed, “was the programming.” Although Grace was an expert coder, she wouldn’t have been able to work on the ENIAC without special training. The principles may have been similar, but the hardware and the programming approaches developed to exploit that hardware were unique. Where Grace was accustomed to writing code on paper reels, the ENIAC had to be physically reconfigured for every problem, with sections of the massive machine plugged together, essentially becoming a custom computer with every job. Any gains the ENIAC’s vacuum tubes made in processing speed, the machine lost in setup time: where a calculation might take only a second to run, it could take a day to prepare, by which time the slower Mark I, with its nifty punched-roll tape, would have already been done and onto something else. A case of slow and steady winning the race—possibly for the last time in the history of technology.
Visiting Penn, Grace discovered something else that likely impressed her just as much. She wasn’t the only female computer programmer on Earth. The ENIAC lab was full of women. In 1944 alone, at least fifty were working on the ENIAC in different capacities, as draftswomen, assemblers, secretaries, and technicians. Of these ranks, six women handled the time-consuming and intellectually demanding job of readying mathematical problems for the computer, plugging them in, then executing, debugging, and executing again to achieve the final results. Three among them, like Grace, were math majors. The other half had their mathematics schooling supplemented by U.S. Army training. These women, known to history as the ENIAC Six, were the peers Grace Hopper never knew she had. Some would later become her colleagues; a few, eventually, her friends. They were Kathleen “Kay” McNulty, Betty Jean Jennings, Elizabeth “Betty” Snyder, Marlyn Wescoff, Frances Bilas, and Ruth Lichterman.
The ENIAC Six were all former human computers, pulled from the Moore School’s computation section, a lab that employed some one hundred mathematically inclined women. While Grace had come to Harvard straight from basic training, they’d spent the early years of the war effort in a basement, hand calculating firing tables: small, printed books shipped out with every new weapon sent to the front lines. Soldiers used these books to determine precisely at which angle to fire their guns—“basically Angry Birds,” as one historian of the ENIAC has pointed out—in order to hit their target. As with the arc of Angry Birds projectiles, external factors like weather and the drag placed on the shell by air resistance affected the point of impact, and these variables were accounted for by the female computers calculating mathematical models back on the home front.
It took a human computer about forty hours to calculate a single ballistics trajectory in all its variations. This meant that during the war, the U.S. Army was dispatching weapons faster than it could produce instructions on how to use them. The demand for human computers was ceaseless, and when the army’s Ballistics Research Lab ran out of female math majors in the Philadelphia area, it began a national hiring search. One recruitment ad reached Betty Jean Jennings through a supportive calculus teacher in northwest Missouri; Ruth Lichterman caught one on a bulletin board at Hunter College in New York. Once at Penn, they joined the women scribbling the imaginary arcs of distant artillery shells for the boys on the front.
The Moore School women worked using pencil, paper, an
d a giant analog calculator called a differential analyzer—an onerous tabletop machine based on a design from 1920, which used gears and shafts to provide an analogy to the problem. The analyzer was fairly inaccurate, so the women interspersed its results with their own hard-won hand calculations, smoothing out the differences to create the final firing table. It was an imperfect system: arduous, fallible, and certainly far too slow for such a quickly developing, modern war. Although the computers worked six days a week, in two shifts, they could never keep up with demand. Folks around the Moore School began to entertain other possibilities.
Around this time, in 1941, the army sponsored an intensive, ten-week electrical engineering course at the University of Pennsylvania. Grace Hopper had taught a similar kind of course at Barnard before enlisting: it was tuition-free, geared toward practical applications in defense, and open to anyone with a math or engineering degree. One of the students in the Penn course was a physics professor from nearby Ursinus College named John Mauchly, a genial tinkerer who would, in his later years, sport horn-rimmed glasses and a puckish goatee. While in the class, he began to kick around the idea of a computing machine that used vacuum tubes. He discussed it with the course’s laboratory instructor, J. Presper Eckert, or “Pres.” Pres wasn’t a star student, but he was known around the Moore School as a capable and inventive engineer. He’d shown promise early, bumming around the Philadelphia lab of Philo Farnsworth, the inventor of the television, as a kid; by the time he was an undergraduate, professors consulted him on circuit designs.