The Girl Who Coded Spaceships
Houston, we have separation…
On July 20, 1969, the Apollo 11 crew was about to complete the mission and the Lunar Module “Eagle” separated from the Command Module “Columbia” and began the descent to land on the moon.
However, about two kilometres (about a mile) before touching down, the ship’s navigation and guidance computer triggered several alarms.
Definitely not the best time and place for a computer crash.
The on board computer had much less computing power than that of your usual modern-day cell phone and yet, the space mission rested on it.
And it was failing.
Due to a hardware misconfiguration, the processor was having a hard time working out all the tasks required to land the module. The landing procedure was at risk.
Think crash and burn.
What saved the day?
The programming skills of Margaret Hamilton did.
As part of an élite group of coders and project programming leader, she was in charge of implementing a complete set of recovery programs into the computer software to cope with hardware issues.
She kept thinking of things that could go wrong and tried to stay ahead, modifying the software to take them into consideration, even though at times some people thought that was something unnecessary. What could go wrong?
Hamilton had designed the code to reallocate the computing resources to the most critical tasks in case of an emergency.
And, at this point, we could safely say we were in one.
Fortunately, Hamilton was right and the software delivered. The astronauts were able to complete the mission successfully.
The coding lines are now open source and you can take a look at what the Lunar Module Apollo Guidance computer software – codenamed “Comanche 055”- looked like. Of special interest are the comments in the program. Things like YES. DON’T DO POODOO. DO BAILOUT. and PLEASE CRANK THE SILLY THING AROUND are some of them. Software developers DO have a sense of humour.
And, if you want the nitty-gritty of what happened up there and how they sorted the shortcomings out, you can head to Don Eyles paper “Tales from the Lunar Module Guidance Computer”. He was part of that team of nifty programmers.
We have gone a long way ever since, but it is always interesting to know how things – software development in this case – became the way they are now. You probably will never see your computer software the same way again. What’s your take? Any other pieces of historical software we can find online?