Most upvoted comment
History remembers Neil Armstrong, Buzz Aldrin, and Mike Collins today, but they’re not the whole story. Meet Margaret Hamilton, the software engineer who saved Apollo 11.(r/space)
Hamilton is brilliant and contributed massively to the Apollo Guidance Computer’s development, but this comic gets things wrong.
The 1202 and 1201 errors that occurred during the Apollo 11 landing were not because of a checklist error. The “checklist error” most often cited is Buzz Aldrin’s activating the LM’s rendezvous radar prior to landing, but this was established procedure, not an error. The reason was that if the crew had to abort the landing, the rendezvous radar would be needed to find the Command Module; powering it up prior to landing meant that in the event of an abort it would already be on and the crew would have one less thing to do.
The errors were properly because of a design documentation error that resulted in the possibility of two separate pieces of equipment on the LM randomly being fed out-of-phase power, based on when a certain set of switches were toggled. The out of phase power resulted in spurious interrupts to the AGC, which resulted in it running out of temp storage areas, which resulted in the program alarms.
Although Hamilton was the Software Engineering Division boss at the MIT instrumentation lab, Hal Laning wrote most of the Apollo Guidance Comptuer’s Executive routine, which was the actual code responsible for the LM computer’s ability to restart its tasks—especially the BAILOUT, P00DOO, and FRESHSTART routines.
Not downplay Hamilton’s contributions—she designed and coded a lot of the AGC’s Interpreter program, which allowed the AGC to run a sort of “virtual machine” that could execute tasks the AGC the lacked hardware to accomplish (for example, the Interpreter let the AGC do vector math, even though its hardware couldn’t do operations on vector data types).
It’s unfortunate that this comic comes so close to getting it right, then falls back on misinformation for the truly important bits.
For a much more in-depth explanation of how and why behind Apollo 11’s almost-aborts, you can check this piece I wrote for Ars, or you can read the far more detailed (and, frankly, better!) description by Don Eyles, who was actually there when it all went down.
tl;dr – Hamilton is a brilliant engineer who wrote a lot of the code that made the moon landing possible. Her role is often sadly overlooked. But this comic at best massively oversimplifies and at worst is just flat-out wrong. A checklist error did not almost derail the first moon landing, and Hamilton did not write the Executive code that enabled the Apollo Guidance Computer to do its BAILOUT restarts. Her equally valuable contributions were elsewhere.
(edit – changed “was” to “is” because she’s still very much alive)
(edit^2 – Thanks for the gold, kind stranger! Anyone wanting to know a hell of a lot more about the amazing machine that was the Apollo Guidance Computer should consult O’Brein’s The Apollo Guidance Computer: Architecture and Operation, which is probably the most authoritative text on not just how the AGC worked, but why. You’ve probably heard people say “Oh, we flew to the moon on less power than a calculator watch!” but that’s a misrepresentation of the power of the AGC. It wasn’t a general purpose computer, not really—it was more like an extremely sophisticated embedded controller.
More to the point, the people who programmed it did so without the decades of real-time computing experience we have today. It’s one thing to create a computer that does its job so well that it handles failures gracefully even while landing on the moon; it’s another thing entirely to do it for the very first time and thereby also effectively create the entire field of modern real-time computing.