Sunday, 2 August 2015

Margaret Hamilton

The programmer who built the software for Apollo Guidance Computer, which was placed in both the command module and the lunar module, for navigation assistance and to control the spacecraft Apollo 11.

Hamilton's code was good — so good, in fact, that it very well might have saved the entire Apollo 11 mission. The rendezvous radar (the radar system to be used when leaving the moon and reconnecting with the control module) and the computer-aided guidance system in the lunar module used incompatible power supplies. The radar, which didn't really have a purpose in the landing portion of the mission, started sending the computer lots and lots of data based on random electrical noise. This overloaded the computer and threatened to leave no room for the computational tasks necessary for landing.
Image: In this picture, I am standing next to listings of the actual Apollo Guidance Computer (AGC) source code," Hamilton says in an email. "To clarify, there are no other kinds of printouts, like debugging printouts, or logs, or what have you, in the picture." It's just her and her code.

And that's what would have happened if Hamilton hadn't been a baller. Being a baller, she anticipated this kind of problem and made the Apollo operating system robust against it. She and her team, Digital Apollo: Human and Machine in Spaceflight author David Mindell writes, were "very proud of their 'asynchronous executive,' and when the overloads came up, this feature allowed the computer to drop low-priority tasks." The computer was also programmed to automatically and nearly instantaneously reboot, so as to flush out unimportant tasks, like dealing with the radar data. "If the software had not functioned, the moon landing might not have happened," space writer A.J.S. Rayl writes. "Instead, Neil Armstrong took that 'giant leap' for all humankind.

She's the one who coined the term "Software Engineer".

No comments:

Post a Comment