Margaret Hamilton, Apollo 11, and the the LGP-30
Margaret Hamilton, and a host of other computer pioneers, got her start with a very modest machine.
An LGP-30, from General Precision Librascope. 113 Vacuum Tubes! Hexadecimal arithmetic! Drum Memory! Flexowriter I/O!
We’re all familiar with the famous phot of Margaret Hamilton, a programmer at Draper Labs, standing next to a heap of printout of listings of programs for the Apollo missions to the Moon. The photo lay dormant in the files at MIT, until someone discovered it, uploaded it to a web site, and then .. well… such is fame in the Internet age.
In the mid-1980s, while I was working at the National Air and Space Museum, a debate was raging about the famous “1201 - 1202” error messages that flashed on the Apollo Guidance Computer as Neil Armstrong and Buzz Aldrin approached the Lunar surface. Was that the result of poor programming at Draper Labs, where the AGC software was developed? Or did the program do exactly what it was supposed to do—restarting the computer and guiding the crew to a safe landing?
The “1201 - 1202 ‘ error indicated that the computer was overloaded trying to manage too many tasks as the Lunar Module approached the surface. Neil Armstrong: “Give us a reading on the 1202 alarm.” Mission Control: “ We’re ‘Go’ on that alarm.”
The debate still simmers. Back then around 1989, I talked to a programmer at Carnegie Mellon, who told me, “You have to go talk to Margaret Hamilton. She was on the Apollo team, and her programming was critical to the success of the mission.”
Margaret had a business, Higher Order Software, run out of a house on Inman Square in Cambridge. She invited me in, and I saw team of programmers (mostly young men) hunched over high-end SUN workstations. Computers had come a long way since 1969. Higher Order Software
We had a pleasant afternoon. Our conversation touched on a variety of topics, not just the Apollo 11 landing at the controversy. I asked her how she got started in computing, and she said she had access to a small computer, “…an L - something…”
An LGP-30?
YES!
You can look at the Wikipedia entry for it. Wikipedia Possibly the smallest machine ever built that one could call a genuine stored-program electronic computer. She wasn’t the only one who learned how to program on one of them. Don’t want to overhype it, but programming an LGP-30 gave you a sense of building a system, a few bits at a time. By the time of the Mercury & Gemini missions, NASA was using large IBM 7090 mainframes, which were featured in the book and movie “Hidden Figures.” For Apollo, NASA adopted the more capable IBM System/360. The Draper Labs programmers wrote the software on the 360, and then “cross-compiled” it into the Apollo Guidance Computer.
Back to the interview. (A transcript is kept at the Archives of the National Air and Space Museum in Chantilly, VA.) NASM Archives
I asked her how they verified the software. She said “We used the Auge Kugel Method.” The what? The German word for “eyeball”: you looked at the code and tried to follow the sequence to see it it was valid. Today we call it Program Review or some such euphemism. Years later, after she became famous, I gave a talk at a history conference in Germany, where I mentioned the phrase. They told me that it was meaningless; the German word for eyeball is “Augapfel” (“eye-apple”) They had no idea what I was talking about. The rest of my presentation went badly, I am sorry to say. I and the Draper Labs people shared a poor knowledge of German.
One final note. At the time of our meeting, Higher Order Software was busy developing software that they could claim to be error-free. A controversial topic at the time, less so today. On the floor of one of the rooms was a pile of printouts from the Apollo programming. She told me to take whatever I wanted. I had to catch Amtrak back to DC, so I took only a few. The Archives at the Air and Space Museum has them now, and I suspect the MIT Museum has more.
(This looks to me to be a simulation run of the Apollo 8 mission, flown in December 1968.) Credit: NASM