Neil Armstrong and Buzz Aldrin touched down at Tranquility Base on July 20, 1969, fulfilling President John F Kennedy’s goal of landing man on the Moon by the end of the Sixties. Apollo 11 was launched by a Saturn V rocket from the Kennedy Space Centre four days earlier. It was the fifth crewed mission of NASA’s Apollo programme. It had three parts – a command module (CM) with a cabin for the three astronauts, a service module (SM), which supported the command module with propulsion, electrical power, oxygen, and water, and a lunar module (LM) that was used to touch down on the Moon.
When programmers at the MIT Instrumentation Laboratory set out to develop the flight software used for Apollo 11, they had to invent it, coming up with a new way to store computer programmes, called “rope memory”.
For the Apollo Guidance Computer (AGC), MIT programmers wrote thousands of lines of the esoteric code.
While it had been available to the public for a while, it was first uploaded to the Internet by tech researcher Ron Burkey in 2003, after he’d transcribed it from scanned images of the original hard copies.
“MIT got hold of the scans and put them online in the form of page images, which unfortunately had been mutilated in the process to the point of being unreadable in places.”
Mr Burkey reconstructed the illegible parts, he said, using his engineering skills to fill in the blanks.
He added: “Quite a bit later, I managed to get some replacement scans from Gary Neff for the unreadable parts and fortunately found out that the parts I filled in were 100 percent correct.”
But the code remained out of the spotlight for more than a decade, until NASA intern Chris Garry uploaded it to code-sharing site GitHub – according to Quartz.
Within hours, coders began dissecting the software.
In programming, comments are plain-English descriptions of what task is being performed at a given point, but often coders leave light-hearted jokes.
One of the source code files, for example, is called ‘BURN_BABY_BURN–MASTER_IGNITION_ROUTINE,’ and the opening comments explain why.
About 900 lines into that subroutine, the playfulness of the original programming team comes through.
In the file titled ‘LUNAR_LANDING_GUIDANCE_EQUATIONS,’ it appears that two lines of code meant to be temporary ended up being permanent, against the hopes of one programmer.
In the same file, there’s also code that instructs the astronauts to “crank the silly thing around”.
Mr Burkey told Quartz: “That code is all about positioning the antenna for the LR (landing radar).
“I presume that it’s displaying a code to warn the astronaut to reposition it.”
And in the ‘PINBALL_GAME_BUTTONS_AND_LIGHTS’ file, which is described as “the keyboard and display system programme exchanged between the AGC and the computer operator,” there is even a reference to Shakespeare.
This is thought to be because the AGC language uses predetermined nouns and verbs to execute operations.
The verb 37, for example, means “Run programme,” while the noun 33 means “Time for ignition”.
Since it was uploaded scores of developers have suggested changes and potential mistakes.
The code is believed to have been updated before future Apollo flights.