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.
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.
If I had the option I would prefer the term "engineer" be gatekept.
Terminology can help elevate something that's often overlooked, but if every programmer gets called a "software engineer" there's no way to distinguish the special stuff.
It is not a protected title in the U.S., China, or India, and yet you could say those are three countries most responsible for writing the software that the rest of the world uses. I would argue there is some connection.
It is easy to see how gatekeeping is particularly valuable for those with the means to distinguish themselves. But for the rest of us, people who want to work on or consume a product, does a field benefit more from having an open gate or closed?
So are you okay with actual engineers having a problem with the term used in software since you support gatekeeping? Engineer is a term that was used far before software was a thing. So if you support gatekeeping, you should let engineering refer to "actual work" not "code" and find a new term that doesn't engulfs the "original meaning".
Or just accept terms change as society and technology does.
> Engineer is a term that was used far before software was a thing. So if you support gatekeeping, you should let engineering refer to "actual work" not "code"
This is so jumbled. You mean to say that before software, all work was physical? Nah, engineers spent and spend a lot of time at the drawing board, too. It's just that they're not sitting at the plastic table with a sticker of a dog with a toolbox on it.
If you don't follow rules and practices that are external to you and your employer, as you might in aviation or nuclear reactor software, there's not even a chance it's engineering. It can be "software engineering", sure, just the same way "software architect" is not an "architect".
> NCEES will discontinue the Principles and Practice of Engineering (PE) Software Engineering exam after the April 2019 exam administration. Since the original offering in 2013, the exam has been administered five times, with a total population of 81 candidates.
If you don't want the same rigor, if you can't handle the same rigor, you don't get the same respect. Because you don't deserve it.
That's just your opinion. If you support gatekeeping, you support retaining the original meaning of words. The original meaning of engineering did not include software.
So it is a contradiction if you support gatekeeping but also only when its convinient to you.
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 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.
On Margaret Hamilton from Chapter 5 of Hackers by Steven Levy
"She was well aware of the hackers’ playfulness around the ninth floor, and she was moderately friendly with some of them, even though they would eventually blend into one collective personality in her memory: one unkempt, though polite, young male whose love for the computer had made him lose all reason."
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.
Her story and her work is so inspiring. And I feel a bit sad reading about it...
When I started working on this field I dreamt of working on things like that. Not sending anything to the moon, but code that would achieve difficult stuff, challenging tasks, things I would be proud of.
Today I mostly do silly APIs, and with AI is worse and worse... I wonder if there are still jobs where you have to do novel stuff, new algorithms, more like a scientific approach to the code, instead of just deploy the same thing every other company has already done.
Some people hate palantir, but that is their philosophy. That smart people should be helping to solve problems for the government rather than just working on selling more ads.
Yes, there are still jobs where you have to do novel and interesting things. It is hard to compare these to the work the Draper Lab did, but that was an exceptional moment in time that an exceptional group of people were able to do because they were at the right place at the right time.
Much of the interesting stuff I was able to do in the past was a result of being at the right place at the right time, but others were because I took some wild chances. I realize it can be a privilege to take wild chances and it isn’t an option for many.
When I read this site, or the media in general, AI exuberance and/or doom and gloom is everywhere. I also felt like the opportunities you are thinking about are vanishing. My current job is actually pretty exciting to me; building a new distributed audio software and hardware solution. The hardware element makes it very real; there are no endless cloud compute resources to help out. I guess what I am saying there still seems to be interesting and challenging tasks out there, but the green fields do seem to be vanishing.
At the dawning of the technological age that would change the word in some many ways. Like the quote infers, everything they did was something nobody had before.
You think of the immense advantages we have now whereas back then, they had none. Which makes her contributions as a scientist that much heavier and important.
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...
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.
That does not seem like particularly notable example of foresight & robustness, given that it’s such a low number of maximum tasks, and such a fundamental & frequently used element of its operation.
Like it wouldn’t even be describable as a “rescue itself” if the response was simply “No. Too many jobs running. Please kill one to continue”
The Apollo Guidance Computer had 4KB of RAM and 16KB of ROM. Can you write a scheduler that would execute 8 programs related to landing on the moon in 4KB?
An asynchronous scheduler with task priority, interrupts, and real-time response. That goes on a spaceship with less than 70 Watts of power available for the computer. That weighed about 70 pounds. When there has never been that sort of a multi-tasking computer controlled avionics before.
At a time when the contemporary computer systems that used asynchronous, priority-scheduled multitasking operating systems were things like IBM OS/360 mainframes and DEC PDP-6/PDP-10 minicomputers.
It was like having an Apple II in mid 1960s with double the word size.
And with a ROM that had to be hand sewn. No flash updates, just "little old ladies" working in a former bra factory for a defense contractor (and huge tax payer expense if any mistakes needed to be debugged).
I mean, the implementation can be incomprehensibly impressive, but as an example of “man-rated” — being sufficiently robust — rejecting the request would be sufficient and I suspect this was an obvious place to have some kind of handling for. If there were no handler of any kind in this position, it’d be unforgivable in modern, far less robust software.
The kind of example for man-rated I was expecting would be dealing with really nutty edge cases (perhaps like correctly operating under arbitrary bitflips) or the LISP recovery system from Deep Space 1.
Handling an expected error condition under normal operation is not, in my mind, a good example of man-rated robustness. It might be a good example of other things.
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 pic here is often people's first intro to her
Why link to an article instead of an actual picture?
The page you linked failed to show any image without JS enabled (although my ad blocker might share some of the blame, there are a handful of trackers on that site) and the article doesn't link directly to it either. I'm guessing you mean the pic here: https://www.thetechoutlook.com/wp-content/uploads/2023/01/Ma...
Hamilton invented the idea of error handling in software, and that error handling in the Apollo computer is why Buzz Aldrin was able to handle the error 1201/1202 in the minutes before the Eagle landed on the moon, instead of having to abort the mission.
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!
I think there's truth she gets too much credit for the priority task system (Hal Laning designed it in 62-63, Hamilton did not join until '65), but as far as I can tell the twitter poster is simply wrong:
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.
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?
She assumed management of the team after most of the code was written. She probably did something cool, but almost certainly not as much the praise articles of the last 15(?) years would like you to believe.
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.
> 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.
Every time I hear some idiot say we couldn’t have gone to the Moon because the computers weren’t powerful enough I’m reminded just how many men are dumber than Margaret Hamilton.
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.
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.
There are a number of hobbyists who specialize in restoring components of the Apollo computer systems. They do some very impressive work and there are lots of cool demo videos on Youtube.
For years, I took piano lessons from an incredible teacher in Seattle who actually happens to be Margaret Hamilton’s sister. Looking back, I had no idea just how deeply she would impact both me and my family.
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.
Related:
Margaret Hamilton Led the NASA Software Team That Landed Astronauts on the Moon - https://news.ycombinator.com/item?id=36720448 - July 2023 (32 comments)
Margaret Hamilton oral history (2017) - https://news.ycombinator.com/item?id=30668338 - March 2022 (7 comments)
An interview with Margaret Hamilton - https://news.ycombinator.com/item?id=20453737 - July 2019 (12 comments)
Grace Hopper and Margaret Hamilton Awarded Presidential Medal of Freedom - https://news.ycombinator.com/item?id=12991524 - Nov 2016 (70 comments)
Profile of Margaret Hamilton, programmer of the Apollo software - https://news.ycombinator.com/item?id=10379904 - Oct 2015 (58 comments)
Margaret Hamilton, lead software engineer, Project Apollo - https://news.ycombinator.com/item?id=8735912 - Dec 2014 (94 comments)
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
out of curiosity, how'd you get your hands on the textbook?
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.
If I had the option I would prefer the term "engineer" be gatekept.
Terminology can help elevate something that's often overlooked, but if every programmer gets called a "software engineer" there's no way to distinguish the special stuff.
It is a protected title in some countries but not the UK (and I don’t think the US either?).
I believe in some European countries you’re not allowed to call yourself any kind of “Engineer” without being a member of a professional body?
So ironically if that was the case Margaret Hamilton would not have been allowed to coin the term
It is not a protected title in the U.S., China, or India, and yet you could say those are three countries most responsible for writing the software that the rest of the world uses. I would argue there is some connection.
It is easy to see how gatekeeping is particularly valuable for those with the means to distinguish themselves. But for the rest of us, people who want to work on or consume a product, does a field benefit more from having an open gate or closed?
Well, there couldn't be a school to become a software engineer if she was the one coining the term.
So are you okay with actual engineers having a problem with the term used in software since you support gatekeeping? Engineer is a term that was used far before software was a thing. So if you support gatekeeping, you should let engineering refer to "actual work" not "code" and find a new term that doesn't engulfs the "original meaning".
Or just accept terms change as society and technology does.
> Engineer is a term that was used far before software was a thing. So if you support gatekeeping, you should let engineering refer to "actual work" not "code"
This is so jumbled. You mean to say that before software, all work was physical? Nah, engineers spent and spend a lot of time at the drawing board, too. It's just that they're not sitting at the plastic table with a sticker of a dog with a toolbox on it.
If you don't follow rules and practices that are external to you and your employer, as you might in aviation or nuclear reactor software, there's not even a chance it's engineering. It can be "software engineering", sure, just the same way "software architect" is not an "architect".
https://ncees.org/wp-content/uploads/Software-Engineering-ex...
> NCEES will discontinue the Principles and Practice of Engineering (PE) Software Engineering exam after the April 2019 exam administration. Since the original offering in 2013, the exam has been administered five times, with a total population of 81 candidates.
If you don't want the same rigor, if you can't handle the same rigor, you don't get the same respect. Because you don't deserve it.
That's just your opinion. If you support gatekeeping, you support retaining the original meaning of words. The original meaning of engineering did not include software.
So it is a contradiction if you support gatekeeping but also only when its convinient to you.
That is the point I am making.
And then other guys made frontend dev tooling so complicated that it does actually require a software engineer to change the color of a button.
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...
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.
On Margaret Hamilton from Chapter 5 of Hackers by Steven Levy
"She was well aware of the hackers’ playfulness around the ninth floor, and she was moderately friendly with some of them, even though they would eventually blend into one collective personality in her memory: one unkempt, though polite, young male whose love for the computer had made him lose all reason."
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.
I will forever keep the image in my mind of her standing next to the Apollo program code books.
https://news.mit.edu/2016/scene-at-mit-margaret-hamilton-apo...
Her story and her work is so inspiring. And I feel a bit sad reading about it...
When I started working on this field I dreamt of working on things like that. Not sending anything to the moon, but code that would achieve difficult stuff, challenging tasks, things I would be proud of.
Today I mostly do silly APIs, and with AI is worse and worse... I wonder if there are still jobs where you have to do novel stuff, new algorithms, more like a scientific approach to the code, instead of just deploy the same thing every other company has already done.
Some people hate palantir, but that is their philosophy. That smart people should be helping to solve problems for the government rather than just working on selling more ads.
Yes, there are still jobs where you have to do novel and interesting things. It is hard to compare these to the work the Draper Lab did, but that was an exceptional moment in time that an exceptional group of people were able to do because they were at the right place at the right time.
Much of the interesting stuff I was able to do in the past was a result of being at the right place at the right time, but others were because I took some wild chances. I realize it can be a privilege to take wild chances and it isn’t an option for many.
When I read this site, or the media in general, AI exuberance and/or doom and gloom is everywhere. I also felt like the opportunities you are thinking about are vanishing. My current job is actually pretty exciting to me; building a new distributed audio software and hardware solution. The hardware element makes it very real; there are no endless cloud compute resources to help out. I guess what I am saying there still seems to be interesting and challenging tasks out there, but the green fields do seem to be vanishing.
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...
“There was no choice but to be pioneers” is a great line.
At the dawning of the technological age that would change the word in some many ways. Like the quote infers, everything they did was something nobody had before.
You think of the immense advantages we have now whereas back then, they had none. Which makes her contributions as a scientist that much heavier and important.
They were standing on the shoulders of giants too.
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...
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.
That does not seem like particularly notable example of foresight & robustness, given that it’s such a low number of maximum tasks, and such a fundamental & frequently used element of its operation.
Like it wouldn’t even be describable as a “rescue itself” if the response was simply “No. Too many jobs running. Please kill one to continue”
At that time running that many concurrent tasks on such anemic hardware was a small miracle. This wasn't your average linux kernel.
It is infinitely harder to be first. Once it is known that viable path exists, the task becomes a lot easier
You’re forgetting this had never been done before.
The Apollo Guidance Computer had 4KB of RAM and 16KB of ROM. Can you write a scheduler that would execute 8 programs related to landing on the moon in 4KB?
An asynchronous scheduler with task priority, interrupts, and real-time response. That goes on a spaceship with less than 70 Watts of power available for the computer. That weighed about 70 pounds. When there has never been that sort of a multi-tasking computer controlled avionics before.
At a time when the contemporary computer systems that used asynchronous, priority-scheduled multitasking operating systems were things like IBM OS/360 mainframes and DEC PDP-6/PDP-10 minicomputers.
It was like having an Apple II in mid 1960s with double the word size.
I used san RTOS written in assembly for the Atmel AVR. AvrX (by John Barello)
You can look at the code here.
https://github.com/kororos/AvrX
Compiles down under 2k.
The thing is while actually doing that isn't crazy hard, they did that with hardly any existing examples to go by. And without modern tools.
And with a ROM that had to be hand sewn. No flash updates, just "little old ladies" working in a former bra factory for a defense contractor (and huge tax payer expense if any mistakes needed to be debugged).
I mean, the implementation can be incomprehensibly impressive, but as an example of “man-rated” — being sufficiently robust — rejecting the request would be sufficient and I suspect this was an obvious place to have some kind of handling for. If there were no handler of any kind in this position, it’d be unforgivable in modern, far less robust software.
The kind of example for man-rated I was expecting would be dealing with really nutty edge cases (perhaps like correctly operating under arbitrary bitflips) or the LISP recovery system from Deep Space 1.
Handling an expected error condition under normal operation is not, in my mind, a good example of man-rated robustness. It might be a good example of other things.
And it ran at 0.043 MIPS. Each task would get maybe 5000 instructions per second, minus scheduler overhead.
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?
she was a straight up fox too, and I can't imagine she'd be offended by that, I mean call me a fox I promise I won't be offended.
also, she should not be confused with the other Margaret Hamilton you might recall
https://facts.net/wp-content/uploads/2024/11/35-facts-about-...
[flagged]
> The pic here is often people's first intro to her
Why link to an article instead of an actual picture?
The page you linked failed to show any image without JS enabled (although my ad blocker might share some of the blame, there are a handful of trackers on that site) and the article doesn't link directly to it either. I'm guessing you mean the pic here: https://www.thetechoutlook.com/wp-content/uploads/2023/01/Ma...
Hamilton invented the idea of error handling in software, and that error handling in the Apollo computer is why Buzz Aldrin was able to handle the error 1201/1202 in the minutes before the Eagle landed on the moon, instead of having to abort the mission.
> invented the idea of error handling in software
No. Obviously not.
Assume it’s not obvious and offer an interesting contribution, such as an alternative.
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!
I previously made a short comic about Margaret Hamilton and her work on the Apollo flight software: https://fosscomics.com/posts/5.%20The%20Beginning%20of%20Sof... Sharing it again in her memory. May she rest in peace.
Great thread on her accomplishments
https://x.com/AnechoicMedia_/status/1629315139169075200?s=20
wow, that's a lot of hate and presumption.
"presumption"... or evidence?
I think there's truth she gets too much credit for the priority task system (Hal Laning designed it in 62-63, Hamilton did not join until '65), but as far as I can tell the twitter poster is simply wrong:
https://github.com/chrislgarry/Apollo-11/blob/master/Comanch...
> # MOD NO. 00 BY M.HAMILTON DEC.12, 1966
https://www.ibiblio.org/apollo/Documents/mit_dev_plan_meetin...
Here is her name in '67 management meeting, not sure how she can be an "entry level hire" in '68, when she's in management meetings in '67?
https://www.ibiblio.org/apollo/Documents/ApolloOrg-Group-23B...
And this has her in charge of CSM Programming on 9/30/68, almost three months before Apollo 8 flew.
Vale.
One of the founders of our industry.
An absolute titan, a true pioneer. RIP.
"Because software was a mystery, a black box, upper management gave us total freedom and trust."
If only!
RIP. I'll always remember her iconic pic with the stack of printed code
mission critical software: plan for the impossible to keep the possible running smoothly
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.
May her memory be a blessing
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?
She assumed management of the team after most of the code was written. She probably did something cool, but almost certainly not as much the praise articles of the last 15(?) years would like you to believe.
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.
It is Dr. Margaret Hamilton, she has earned it.
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.
Every time I hear some idiot say we couldn’t have gone to the Moon because the computers weren’t powerful enough I’m reminded just how many men are dumber than Margaret Hamilton.
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.
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.
Also see this great presentation by Robert Wills on the AGC - https://www.youtube.com/watch?v=B1J2RMorJXM
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.
There are a number of hobbyists who specialize in restoring components of the Apollo computer systems. They do some very impressive work and there are lots of cool demo videos on Youtube.
Rest in peace, Ma'am.
https://en.wikipedia.org/wiki/Margaret_Hamilton_(software_en...
Threads:
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
RIP legend.
Noting Ada Lovelace Day was a few days ago also https://findingada.com/.
RIP, what a fantastic person she was.
NYT obit: https://www.nytimes.com/2026/10/07/obituaries/margaret-hamil...
NXVI
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.
Definitely worthy of a black bar. She was a pioneer of making software quality into a formal discipline.
Absolutley does
Came here to say this.
This definitely asks for a black ribbon on top of HN.
What a loss!
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.
Cannot agree more! What a loss for all CS!
Yes please, This is absolutely necessary
Good Lord yes
For years, I took piano lessons from an incredible teacher in Seattle who actually happens to be Margaret Hamilton’s sister. Looking back, I had no idea just how deeply she would impact both me and my family.