We’ve all been there. You have a high-profile presentation or demonstration of anything you work on for days, weeks, or even months, and there is a long anxious moment in which you know that the thing may break or go away.
You can see that this moment is coming to you like a freight train only in the hope that you have done your job properly, giving you a guarantee that you will not be run over.
We may all have been in a situation where we had to trust our work to endure and do what was necessary, but Margaret Hamilton’s work was especially important – she was responsible for placing Neil Armstrong and Buzz Aldrin on the moon in July 1969
When the warning lights began to go out in the middle of the Eagle’s descent to the lunar surface, NASA was faced with a difficult decision: to continue landing or to stop.
As a lead computer programmer for directing the Apollo program, Hamilton knew that she and her team had planned this and had written code to deal with just that problem.
“It quickly became clear that the software not only informed everyone that there was a problem with the hardware, but that the software compensated for it.” said Hamilton on the 40th anniversary of the Apollo 11 landing. “Just minutes to go, the decision was made to land.”
Although Hamilton was only 32 at the time, NASA’s mission control staff also trusted its software. They gave Armstrong and Aldrin permission to land on the moon, and Hamilton’s error correction code ensured their success.
Early life and career
Landing humans on the moon with just over 32,000 bits of random access memory (that’s 0.004 megabytes!) Was probably not the kind of high-tech act that Margaret Heafield Hamilton imagined would grow in the Midwest. Born Aug. 17, 1936, in Paoli, Indiana, her family soon moved to Michigan, where, after graduating from high school, she attended the University of Michigan, Ann Arbor, for a time.
She soon transferred to Earlum College, in her native Indiana state, but graduated with a bachelor’s degree in mathematics, with a minor in philosophy. Hamilton credits the head of the scientific department of the college, Florence Long, for inspiring her to pursue a career in abstract mathematics.
While in Erlam, Hamilton also met her first husband, James Cox Hamilton, who was a senior in college studying chemistry. They married on June 15, 1958, and after her husband graduated from Earlham and the couple moved to Boston. There they had a daughter, Lauren, in 1959, and Hamilton was ready to enroll in a master’s program in mathematics at Brandeis University when fate accidentally took a turn.
Move to MIT
Margaret Hamilton began working with Edward Lorenz, the father of chaos theory, in the meteorological department of MIT. As part of his work there, Hamilton learned how to program using PDP-1 and LGP-30 computers to create weather forecasting models.
Since computer science and programming were not yet established areas that you could study on your own, early programmers like Hamilton had to learn more or less on the job. “Computer science and software engineering were not yet disciplines;” Hamilton said The guardian in 2019. “Instead, the programmers learned to work. Lorenz’s love of experimenting with software was contagious, and I caught the mistake.”
Soon, in 1961, Hamilton would go to the SAGE project at MIT’s Lincoln Lab, a U.S. Air Force project to help identify potential enemy aircraft. Here she continued to develop her skills as a programmer and soon others noticed her work.
“What they were doing when you joined this organization as a beginner was to assign you this program that no one could understand or start. When I was a beginner, they gave it to me,” Hamilton remembers 2001..
“And what happened was complicated programming, and the person who wrote it was happy that all his comments were in Greek and Latin. So I was assigned this program, and I actually made it work. It was even printed publishes its answers in Latin and Greek. I was the first to trigger it. “
It wasn’t long before she noticed her work began to be seen as a candidate for the role of lead software developer for NASA’s upcoming Apollo missions and eventually became director of the software division of the MIT Measurement Laboratory, later renamed the Charles Stark Draper Laboratory, which worked hard assembling the program’s control computer. Apollo. While she he had planned to begin graduate studies in abstract mathematics at Brandeis University, the U.S. space program “won her heart.” Thanks to her success at SAGE, she was the first programmer hired for the Apollo project at MIT.
The Apollo program and the work of a lifetime
While initially introduced to Draper as a programmer, Hamilton quickly moved to the lab, until she was eventually tasked with developing all the software for the Apollo command-line routing computer and later for the lunar guidance computer. Apollo device as well.
“A lot of the things that intrigued me were how to make mission software safe and reliable,” Hamilton said. “And one of the things I remember trying very hard to do was get permission to be able to put in more bug detection software.”
This additional code meant more for Draper programmers to debug, so there was initially some resistance to this during Apollo’s early missions, but in the end Hamilton succeeded.
Hamilton’s persistence in tracking bugs in Apollo Guidance Computer code also inspired a much stricter approach to programming than existed at the time.
“We started analyzing all the errors that occurred in the flight software when we were actually in validation and verification mode,” Hamilton said. “When each of the many bug reports came with a ’cause of error’ request, the engineers filled out an answer and they just said ‘bug’ and that wasn’t enough.”
“So we were very interested in how we recorded the errors, so if we understand the error, then maybe we could prevent it on the next mission. We did an in-depth analysis of the flight software, including the errors themselves, and started categorizing those errors. For example. , one category is, if you took certain steps, it would be eliminated. Another category, if you took certain steps, it would be eliminated. “
This more systematic approach to software programming inspired Hamilton to start calling it software engineering, and the term has remained since.
How Margaret Hamilton’s code saved the Apollo 11 moon landing
One of the many problems that Hamilton and her team would face is the astronauts themselves.
“So one of the things we were really worried about was what would happen if the astronaut made a mistake – we were also told that astronauts would never make mistakes because they were trained to never make mistakes,” he recalls. his Hamilton.
One such error came at a critical time in the Apollo 11 mission. About three minutes before the landing was set to touch the moon’s surface, the warning lights began flashing, indicating that the processor of the Apollo orientation computer was overloaded.
What had actually happened was that the checklist that the Apollo 11 astronauts used during the descent told them to toggle the switch to meeting radar incorrectly, which eventually flooded the CPU with external data that it did not need for landing.
Although it is almost impossible for Hamilton and her team to have foreseen something like this, they did not have to. Because Hamilton was expecting an overloaded processor, she programmed the processor to drop low-priority jobs into the processor’s queue and flush the memory and restart them, while conserving resources for high-priority tasks, such as landing on the lunar module.
Its software works just right, supporting the Eagle’s landing on Apollo 11 until it touches the surface of the moon. If her code hadn’t worked, Armstrong, as mission commander, would have had no choice but to cancel the landing, which — given their fuel consumption — would have led to the mission’s failure from time to time.
Following the program, Apollo Hamilton continues to work on space missions for NASA, Skylab utility, NASA’s first space station, as well as work on the early stages of NASA’s space shuttle program, developing software studies for operating systems, distributed processing, redundant management, error detection and recovery, and more.
In 1976, Hamilton left Draper Laboratory and co-founded a company called Higher Order Software, which focuses on software error prevention, largely inspired by her experience working on the Apollo program.
She remained CEO of higher order software until 1986, when she left to start her own company, Hamilton Technologies, which focused on promoting the pre-facto development software paradigm.
The legacy of Margaret Hamilton
There is no doubt that Margaret Hamilton is an icon of computer science, and her work has won numerous awards from academic institutions and computer science organizations over the years. She was even awarded the Presidential Medal of Freedom by President Obama in 2016.
More importantly, however, she is undoubtedly an inspiration to young girls around the world.
“What I think of when I think of Margaret Hamilton is her quote that ‘there was no choice but to be a pioneer,’ because I think that really embodies who she is and what she means in this program,” Teasel Muir Harmony, curator at the Air and Space Museum and author of the book Apollo on the Moon: History in 50 objects,, told Smithsonian Magazine in 2019. “She was a pioneer in the development of software engineering and. . . a pioneer as a woman in the workplace who contributes to this type of program by taking on this type of role. “