I am extremely sorry to hear of Ms. Hamilton's passing. I will be sure to tell my daughters in the morning. I told them a bit about her. They found the life size cardboard cutout at the Computer History Museum in Roswell, GA, very interesting. They love the Apollo section of the exhibit.
I was able to meet her, and others who worked at the MIT Instrumentation/Draper Lab, as a start-up I was with received funding from a VC firm founded by other Draper Lab members from the Apollo era. I was totally out of my league talking with them. This was thirty years ago and I remember her talking about formalized control systems. It was fascinating but went totally over my head. My startup was a fairly silly multimedia CD-ROM company and I was just happy to be in the room.
I feel very sad. I always wished I could meet her and have a little talk. She'll be forever remembered thanks to that coolest badass picture of her. Om shanti!
First thing I thought of, too. "Who? ...Wait, not the cool book chick!"
Tangential: the software documented in the books next to her were likely developed with a level of rigor that consumer software can only dream of, per the seminal article on similar matters: https://www.eng.auburn.edu/~kchang/comp6710/readings/They%20...
That is an excellent article and I’d like to read more. Are there other resources about the shuttle software development or projects with a similar level of software engineering?
The term she coined for it was "man-rated". Meaning that it had been tested rigorously enough to be trusted to keep humans alive.
During the Apollo 11 descent to the lunar surface, Buzz Aldarin pressed a button to display altitude and position during the landing sequence. As it turns out, this was the 8th task the Apollo 11 lander's guidance computer was asked to run, and it was only capable of running 7 tasks in real-time. Thanks to Hamilton and her team's priority scheduler, the guidance computer threw an alarm, killed the lowest priority task, and then resumed the execution of the other 7. If that hadn't been programmed to rescue itself like that, the computer would have crashed, and the Apollo 11 lander would not likely not have been the success that it was.
She did! A few years ago I actually tracked down the source of that, which was an interview done for an obscure textbook and republished it on my blog if you are interested in learning more: https://catskull.net/interview-with-margaret-h-hamilton.html
And gate-kept by just as many. I wonder what she'd take more issue with. My understanding is she wanted to elevate people who work on software, not draw a line around it.
Quite a few practical constraints on software are imposed by the physical world and our current ability to construct devices out of it. Working within those constraints to provide value that people can depend on isn't the worst definition of engineering I've heard.
In Levy's "Hackers" there is a story about late night hacking on the TX-0 that fouled-up some weather simulation code an academic user of the computer was running. After hearing this oral history I believe Margaret was the programmer and the code was for Prof. Edward Lorenz.
I had to go to an archive site to actually read it; the link says 403 forbidden. I don't really see this as toxic masculinity just because the officially sanctioned user was female. Just an honest mistake - they did test their mod, just not enough for all possible use cases of the computer.
I don't think it justifies your claim; there's nothing in the historical sources about masculinity, just irresponsibility. It's probably true that women were not allowed to be as irresponsible as the guys who screwed up in this case, but that's not because of those guys' understanding of masculinity. It's because the sexist culture of the time afforded fewer opportunities to women, in particular, cutting them less slack for misbehavior. With a less sexist culture, we could have seen Margaret Hamilton's computational fluid dynamics project stymied by irresponsible monkeying by women instead of irresponsible monkeying by men. With a more sexist culture, we would have seen Margaret Hamilton unable to get her grievances redressed because she was a woman, and the midnight wiring club would have continued interfering with officially sanctioned users until one of them was a man.
I don't usually correct this, but in her iconic photo she's standing next to printed output of an Apollo simulator run, not the actual source code for the AGC or lunar module.
Edit: this may or may not be true. From what I can find it's probably a combination of both.
IIRC she was running the simulation side of the lab that produced the AGC and LEM guidance software at the time of Apollo 11, then the AGC side, then the unified lab when it was reorganized in 1970.
She was an excellent leader in a time when women were not commonly in leadership roles. She clearly understood coding and perhaps changed the way the field viewed the importance of software. Did she do any coding that was monumental herself? All I can find is fluff pieces. She managed a team that developed the code for Apollo 11. She did not write all the code in the famous pictures. Did she write some of it or just guide the team in the right direction?
> In the early days of this project, software was treated like an adopted child and not taken as seriously as other engineering disciplines, such as hardware engineering, and was thought of as art and magic, not science. I have always believed that art and science were involved in its creation, but at the time most people thought otherwise. Knowing this, I fought to legitimize software so that both software engineering and those who built it would receive the respect they deserved, so I began using the term “software engineering” to differentiate it from hardware and other forms of engineering. When I first started using these words, they were considered funny. It was a running joke for a long time. They liked to make fun of my radical ideas. Software eventually earned the same respect as any other discipline.
> During the early days of Apollo, software was not taken as seriously as other engineering disciplines. Though in fact we had a complex system of systems, we weren’t getting credit for what was a legitimate field. It was out of desperation I came up with the term, to say: “Hey, we’re engineering too.” It was an ongoing joke for a long time. Then one day in a meeting, one of the most respected hardware gurus explained to everyone that he agreed with me. The process of building software should also be considered an engineering discipline, just like with hardware. It was a memorable moment.
Not a direct answer to your question per se, but I would wholeheartedly recommend Frank O'Brien's "The Apollo Guidance Computer: Architecture and Operation" (ISBN 978-1-4419-0876-6).
It reads like a lead engineer walking a new hire through the codebase.
I've talked a lot about PRIDE, Milt Bryce's information-systems methodology that was perhaps the first commercially available, rigorous methodology for developing software and the first serious attempt to transform information systems development in the commercial sector from an arcane art into a proven, repeatable science. It really has few forbears.
But... Margaret Hamilton was one of those forbears. She got the ideas out there; PRIDE just commercialized them and made them palatable to business IT shops.
I am extremely sorry to hear of Ms. Hamilton's passing. I will be sure to tell my daughters in the morning. I told them a bit about her. They found the life size cardboard cutout at the Computer History Museum in Roswell, GA, very interesting. They love the Apollo section of the exhibit.
I was able to meet her, and others who worked at the MIT Instrumentation/Draper Lab, as a start-up I was with received funding from a VC firm founded by other Draper Lab members from the Apollo era. I was totally out of my league talking with them. This was thirty years ago and I remember her talking about formalized control systems. It was fascinating but went totally over my head. My startup was a fairly silly multimedia CD-ROM company and I was just happy to be in the room.
I feel very sad. I always wished I could meet her and have a little talk. She'll be forever remembered thanks to that coolest badass picture of her. Om shanti!
Dang. She was a remarkable stand-out, in fields full of remarkable people.
The pic here is often people's first intro to her https://news.mit.edu/2016/scene-at-mit-margaret-hamilton-apo...
First thing I thought of, too. "Who? ...Wait, not the cool book chick!"
Tangential: the software documented in the books next to her were likely developed with a level of rigor that consumer software can only dream of, per the seminal article on similar matters: https://www.eng.auburn.edu/~kchang/comp6710/readings/They%20...
That is an excellent article and I’d like to read more. Are there other resources about the shuttle software development or projects with a similar level of software engineering?
The term she coined for it was "man-rated". Meaning that it had been tested rigorously enough to be trusted to keep humans alive.
During the Apollo 11 descent to the lunar surface, Buzz Aldarin pressed a button to display altitude and position during the landing sequence. As it turns out, this was the 8th task the Apollo 11 lander's guidance computer was asked to run, and it was only capable of running 7 tasks in real-time. Thanks to Hamilton and her team's priority scheduler, the guidance computer threw an alarm, killed the lowest priority task, and then resumed the execution of the other 7. If that hadn't been programmed to rescue itself like that, the computer would have crashed, and the Apollo 11 lander would not likely not have been the success that it was.
“There was no choice but to be pioneers” is a great line.
Margaret Hamilton actually coined the term "software engineer" IIRC. Rest in peace
She did! A few years ago I actually tracked down the source of that, which was an interview done for an obscure textbook and republished it on my blog if you are interested in learning more: https://catskull.net/interview-with-margaret-h-hamilton.html
This is incredible, thanks a lot for making it available for us.
Little did she know, the term would be co-opted by guys changing the color of a button on a web site.
And gate-kept by just as many. I wonder what she'd take more issue with. My understanding is she wanted to elevate people who work on software, not draw a line around it.
IMO software is not engineering because it has nothing to with the physical sciences
It becomes engineering when the software is flying to the moon and back.
Quite a few practical constraints on software are imposed by the physical world and our current ability to construct devices out of it. Working within those constraints to provide value that people can depend on isn't the worst definition of engineering I've heard.
There is a very nice oral history the Computer History Museum produced: https://computerhistory.org/blog/margaret-hamilton-in-her-ow...
In Levy's "Hackers" there is a story about late night hacking on the TX-0 that fouled-up some weather simulation code an academic user of the computer was running. After hearing this oral history I believe Margaret was the programmer and the code was for Prof. Edward Lorenz.
Allison Parrish talks about this in some depth. Turns out toxic masculinity was an integral part of the old-school "hacker" culture from the jump.
http://opentranscripts.org/transcript/programming-forgetting...
I had to go to an archive site to actually read it; the link says 403 forbidden. I don't really see this as toxic masculinity just because the officially sanctioned user was female. Just an honest mistake - they did test their mod, just not enough for all possible use cases of the computer.
https://archive.ph/IAFai for what it's worth.
That page is 403, but I was able to get it at https://web.archive.org/web/20161220114912/http://opentransc...
I don't think it justifies your claim; there's nothing in the historical sources about masculinity, just irresponsibility. It's probably true that women were not allowed to be as irresponsible as the guys who screwed up in this case, but that's not because of those guys' understanding of masculinity. It's because the sexist culture of the time afforded fewer opportunities to women, in particular, cutting them less slack for misbehavior. With a less sexist culture, we could have seen Margaret Hamilton's computational fluid dynamics project stymied by irresponsible monkeying by women instead of irresponsible monkeying by men. With a more sexist culture, we would have seen Margaret Hamilton unable to get her grievances redressed because she was a woman, and the midnight wiring club would have continued interfering with officially sanctioned users until one of them was a man.
RIP. I'll always remember her iconic pic with the stack of printed code
her pic with the stack of printed code will always be iconic.
rest well pioneer.
I don't usually correct this, but in her iconic photo she's standing next to printed output of an Apollo simulator run, not the actual source code for the AGC or lunar module.
Edit: this may or may not be true. From what I can find it's probably a combination of both.
IIRC she was running the simulation side of the lab that produced the AGC and LEM guidance software at the time of Apollo 11, then the AGC side, then the unified lab when it was reorganized in 1970.
thanks for the correction. learnt something new.
Rest in peace, Ma'am.
Weird, I was thinking about her monumental achievement just a few hours ago.
She was an excellent leader in a time when women were not commonly in leadership roles. She clearly understood coding and perhaps changed the way the field viewed the importance of software. Did she do any coding that was monumental herself? All I can find is fluff pieces. She managed a team that developed the code for Apollo 11. She did not write all the code in the famous pictures. Did she write some of it or just guide the team in the right direction?
According to Wikiquote, she coined the phrase "software engineering": https://en.wikiquote.org/wiki/Margaret_Hamilton
> In the early days of this project, software was treated like an adopted child and not taken as seriously as other engineering disciplines, such as hardware engineering, and was thought of as art and magic, not science. I have always believed that art and science were involved in its creation, but at the time most people thought otherwise. Knowing this, I fought to legitimize software so that both software engineering and those who built it would receive the respect they deserved, so I began using the term “software engineering” to differentiate it from hardware and other forms of engineering. When I first started using these words, they were considered funny. It was a running joke for a long time. They liked to make fun of my radical ideas. Software eventually earned the same respect as any other discipline.
found another retelling: https://www.theguardian.com/technology/2019/jul/13/margaret-...
> During the early days of Apollo, software was not taken as seriously as other engineering disciplines. Though in fact we had a complex system of systems, we weren’t getting credit for what was a legitimate field. It was out of desperation I came up with the term, to say: “Hey, we’re engineering too.” It was an ongoing joke for a long time. Then one day in a meeting, one of the most respected hardware gurus explained to everyone that he agreed with me. The process of building software should also be considered an engineering discipline, just like with hardware. It was a memorable moment.
May her memory be a blessing
timmg's video explaining how the AGC worked is one of the better ones I've seen, if you actually want to understand in detail.
Is any of the original Apollo code available to read?
https://github.com/chrislgarry/apollo-11
thank you!
Not a direct answer to your question per se, but I would wholeheartedly recommend Frank O'Brien's "The Apollo Guidance Computer: Architecture and Operation" (ISBN 978-1-4419-0876-6).
It reads like a lead engineer walking a new hire through the codebase.
This is a great recommendation. And considering the code base is in assembly, I'll gladly welcome a walkthrough.
I've talked a lot about PRIDE, Milt Bryce's information-systems methodology that was perhaps the first commercially available, rigorous methodology for developing software and the first serious attempt to transform information systems development in the commercial sector from an arcane art into a proven, repeatable science. It really has few forbears.
But... Margaret Hamilton was one of those forbears. She got the ideas out there; PRIDE just commercialized them and made them palatable to business IT shops.
RIP, what a fantastic person she was.
The word legend is used too much. She absolutely qualifies.
congrats on being the 50M HN item, probably not legendary though
https://news.ycombinator.com/item?id=50000000
This feels like a black bar event. RIP Margaret Hamilton.
Absolutley does
Definitely worthy of a black bar. She was a pioneer of making software quality into a formal discipline.
Came here to say this.
https://en.wikipedia.org/wiki/Margaret_Hamilton_(software_en...
Threads:
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
This definitely asks for a black ribbon on top of HN.
What a loss!
Good Lord yes
Yes please, This is absolutely necessary
100%
Tangent: Her LEGO minifig next to the Apollo code is one of my, and my daughter’s, favorites.
https://www.lego.com/en-us/product/women-of-nasa-21312
Direct image link for those that don't want to have to click multiple modals:
https://www.lego.com/cdn/cs/set/assets/blt75c3f3f6b4cb0e7c/2...
This feels like the top honor.