To coincide with 100 years of (some) women getting the vote in the UK, we've been celebrating the #Vote100 milestone by publishing a series of blog posts that feature truly remarkable lives and inventions of women in STEM. Our third in a series of four focuses on Margaret Hamilton...
You may or may have not heard of Margaret Hamilton, but you’ll certainly know about the fantastic achievement she helped to make possible! That’s because Margaret played a key role in developing the computer code for the command and lunar lander modules used on the Apollo missions to the moon in the late 1960s and early 1970s.
After her graduate degree Margaret had planned to study abstract mathematics at Brandeis University but instead ended up working at the Massachusetts Institute of Technology (MIT) to support her husband while he attended Harvard Law School. At MIT she did postgraduate work in meteorology and began developing software to predict the weather. She then joined the Charles Stark Draper Laboratory at MIT, which was engaged in developing software for the Apollo space programme that had been launched by John F Kennedy in 1961.
Surprisingly, at least from today’s perspective, the original documents setting out the engineering requirements for the Apollo missions didn’t even mention software. But as time went by, it became evident that software would play a crucial role in the project. So, in 1965, Margaret found herself leading the team that was developing the onboard flight software on for the Apollo missions. She coined the term ‘software engineer’ to describe her job, but if this conjures up an image of shiny powerful computers with multiple screens and convenient keyboards, things couldn’t be further from the truth.
In the 60s, programming for the lunar missions meant punching holes in stacks of cards, which would be processed overnight in batches on a giant Honeywell mainframe computer that simulated the Apollo lander’s onboard systems.
After testing on the mainframe, the programs were ‘written’ to the hardware that would be used onboard the Apollo modules by a team of ‘seamstresses’ who threaded copper wires through and around an array of tiny ferrite rings. A wire going through a ring was a logical 1; a wire going around a ring was a logical 0. This meant that the memory used on Apollo was literally hardwired and very nearly indestructible. The system stored more than 12,000 words in its permanent memory – the copper threads put in place by the seamstresses – and had 1,024 words of temporary, erasable memory (RAM).
While working on the project, Margaret realised that, under certain conditions, the computer could run out of RAM and stop working properly. She pushed for the code to make provision for this, but her superiors were not sympathetic, as they believed that the conditions she was concerned about could never occur in reality. Nevertheless, Margaret stood her ground and was eventually allowed to incorporate code that meant, under overload conditions, the computer would drop low priority tasks, freeing resources for essential tasks.
It is as well she did, because on July 20, 1969, just minutes before Apollo 11 touched down on the Sea of Tranquillity to make the historic first ever moon landing, the onboard computer started spitting out worrying error messages. A fault in a radar system power supply was generating multiple error messages. As a result, the computer was overloaded, just as Margaret had foreseen, and it looked as if it might not be able to handle the computational tasks necessary for a safe landing.
However, Margaret’s prescient programming detected the problem and handled it effectively, allowing the lunar landing to proceed. If she had not stuck to her guns or if her software had not functioned correctly, the moon landing might not have happened.
In later years Margaret went on to start her own tech companies in Cambridge Massachusetts. She received the prestigious NASA Exceptional Space Act Award in 2003 and was awarded the Presidential Medal of Freedom in 2016 by President Barack Obama. But most notably, Margaret will be remembered as the creator of the concept of software engineering, which has over the years found its way from NASA moon landings to nearly every aspect of human life.