Imagine that it’s the mid-1960s, and NASA has hired you to help put a man on the moon.
Flying a spacecraft is incredibly complicated. If the trajectory is even one degree off during reentry, everyone on board could die. Human error is a serious risk. So what do you do?
Simple: You write some software to fly it for you.
And, because your team has a sense of humor, you call the ignition sequence “BURN, BABY, BURN,” and quote Shakespeare’s “Henry VI” in the code.
These and other bizarre quirks are coming to light, thanks to a former NASA intern’s decision to re-post Apollo 11’s guidance computer code to the Internet last week. You can check it out here, mostly unchanged from when it was crammed into 36 kilobytes of glory. (For the sake of comparison, if this article were a Microsoft Word document, it would be 72 kilobytes.)
But first, it might help to know a bit about the computer.
Apollo 11’s onboard guidance computer had a processing speed of 1 MHz, and had about 4 kilobytes of reusable memory. The original Nintendo Game Boy, released in 1989 a mere 20 years after the first moon landing, was four times faster at 4MHz and had double the memory.
Or, put another way: the iPhone 6S is at least 1,800 times faster — and has 500,000 times more memory — than the computer that guided Neil Armstrong and Buzz Aldrin on their history-making expedition.
But for the time, Apollo 11’s computer was pretty sophisticated and compact, weighing in at a bit over 70 pounds. Here’s the leader of the project, Margaret Hamilton, posing next to a printout of the code:
But you don’t need to rely on the comments section for jokes.
For example, the code that helped the Lunar Module land contains a request for the astronaut to “PLEASE CRANK THE SILLY THING AROUND,” then quotes “The Wizard of Oz.”
There’s also a strange line from Shakespeare’s “Henry VI” about “such abominable words as no Christian ear can endure to hear” in the program for the interface, which is called “PINBALL_GAME_BUTTONS_AND_LIGHTS.”
Why the name?
Apparently, the programmers threw together some code for a demonstration unit that would impress tourists who visited the lab — perhaps like a light-up pinball machine.
But then, as one of the programmers explained, time passed, and “nobody got around to inventing an improvement for the user interface, so the coders simply built it into the flight software.”
The final result worked something like this replica:
One of the original programmers has confirmed that it was also a reference to protest movements, noting that “the two biggest news stories were Viet Nam and Black Power, the latter including [black activist] H. Rap Brown and his exhortations to ‘Burn Baby, Burn’ — this was 1967, after all.”
(Which makes you wonder — if this code were written today, what kind of movements would get a name-check?)
If you’d like to read more about the system that guided Apollo 11 to the moon and back, read the source code here, check out this documentary here, or watch a guided tour through the paper manual here.
Follow me @dexdigi for more on the intersection of culture and the Internet.
MORE IN SCIENCE