9 ms·
Profile of Margaret Hamilton, programmer of the Apollo software
- dang 11y agoAlso https://hn.algolia.com/?query=margaret%20hamilton&sort=byPopularity&prefix&page=0&dateRange=all&type=story https://hn.algolia.com/?query=margaret%20hamilton&sort=byPop....
- kelvin0 11y agoAnother of my favs: https://hn.algolia.com/?query=Jeri%20Ellsworth&sort=byPopularity&prefix&page=0&dateRange=all&type=story https://hn.algolia.com/?query=Jeri%20Ellsworth&sort=byPopula...
- ourmandave 11y agoIs she a candidate for the $10 bill?
- AnimalMuppet 11y agoAnd if not, why not?
- codewritinfool 11y agoAgreed!
- MrZongle2 11y agoPolitics, of course.
- dtparr 11y agoGood point. We wouldn't even need to stop referring to spending them as 'dropping Hamiltons'.
- hoorayimhelping 11y agoExcellent chapter from the documentary Moon Machines about the Apollo guidance software (worth getting the whole thing on Amazon if you like this sort of thing), told from the point of view of the people who built the machines, rather than the astronauts. http://www.dailymotion.com/video/xxxiij_moon-machines-2008-part-3-the-navigation-computer_tech http://www.dailymotion.com/video/xxxiij_moon-machines-2008-p... http://www.amazon.com/Moon-Machines-Robert-Seamans/dp/B0026IQTR2 http://www.amazon.com/Moon-Machines-Robert-Seamans/dp/B0026I...
- deleted 11y ago[deleted]
- davegauer 11y agoA fascinating read about the incredible capabilities of the Apollo software is _Digital Apollo: Human and Machine in Spaceflight Paperback_ by David A. Mindell. Those craft were quite likely capable of a _lot_ more than they were ever allowed to do by the astronauts - though I guess we'll never know!
- TallGuyShort 11y agoSeconding the recommendation! I read it last winter and was the most enjoyable / interesting read I've had in years.
- lumberjack 11y agoOnly tangentially related but it seems to me that if you want to work on cool software that does something novel and exciting it seems like it's better to graduate with a degree in math or physics. Also interesting if you visit her company's website: http://www.htius.com/ http://www.htius.com/ It's a view into a software industry that is virtually never reported on in the news, at least not on HN. The client list is impressive. It's not really clear what they actually do? Seems to me like they maintain a developing environment and sell support contracts for it?
- nickpsecurity 11y agoIt basically solved programming: semi-automated design, auto-coding, auto-testing, real-time stuff, cross-platform... the works. The problem is the modelling language (USL) sucks and the performance did at some point. That was per a review from someone at NASA I believe. You know your modelling language needs improvement when NASA scientists have trouble with it. ;) It's also expensive. I think it might work out if they use a different language. Sugar-coat it, make it more flexible, or even build on an existing prover like Coq or HOL with a subset of its typical usage. It would make it easier for developers to pick up. It would make their end a lot harder, though, as the tool attempts to solve and integrate a series of Mega-Hard problems. Like EDA, but not binary. That she and her crew got this far is impressive. It's the standard I hope to exceed someday with more usable tools that optionally perform better.
- scott_s 11y agoA lot of novel and exciting software was, necessarily, during times when software was a new concept. During those times, computer science programs did not exist, and the people who played with computers tended to come from a range of math-heavy disciplines.
- rancur 11y agothis is why I think it's great to start with C. I worked in it for 3 years and found myself creating and utilizing abstractions. I looked back and realized I was writing Design Patterns myself. Much easier to understand bottom up.
- nickpsecurity 11y agoMany programmers talk about Ada Lovelace, who was certainly awesome, but should be talking about Margaret Hamilton. Before anyone heard of Dijkstra's work, Hamilton was straight up inventing everything from real, software engineering to properly handling fault-tolerance and human interfaces. Here's what she was doing (see Apollo Beginnings rather than USL): http://htius.com/Articles/r12ham.pdf http://htius.com/Articles/r12ham.pdf Her Wikipedia page gives her due credit and shows just how much she and her team pulled off: https://en.wikipedia.org/wiki/Margaret_Hamilton_%28scientist%29 https://en.wikipedia.org/wiki/Margaret_Hamilton_%28scientist... Also note the size of that printout of her program. Try to think about how many people make one like that which doesn't fail in the field even when parts of its environment and hardware are failing. Also while using low-level code with little to no tool support on 60's era, embedded hardware rather than a JVM, etc. Margaret Hamilton was the first in the field of high-assurance programming that I've seen. A lot of firsts. So, I give her credit where possible. The industry should even more as she wasn't a theoretical programmer like Ada Lovelace: she engineered actual software, co-invented many of the best practices for it, deployed them successfully in production, and then made a tool that automated much of that from requirement specs to correct code. While programmers and industry ignore her, at least NASA gave her positive mention as the founder of software engineering and ultra-reliable software along with the biggest check they ever cut to an innovator: https://www.nasa.gov/home/hqnews/2003/sep/HQ_03281_Hamilton_Honor.html https://www.nasa.gov/home/hqnews/2003/sep/HQ_03281_Hamilton_... Where would our systems and tools be if more attention was put into her methods, even just principles, than informal use of C? ;)
- jkot 11y agoTo be fair hardware failure tolerance comes from Antonin Svoboda. He worked on that from 1951.
- nickpsecurity 11y agoI thought I said "fault tolerance" rather than "hardware fault tolerance" to reduce confusion. I failed: inherently confusing I guess haha. To be clear, I was mainly referring to her use of the asynchronous, priority-based model. That combined with self-checking/adaptation and human-in-the-loop, priority displays. Most of what I read mention those specifically as her contributions. Do correct me if she didn't invent any of these or was merely the first wise enough to apply them to production systems. I like keeping the facts straight so right people get credit for building better parts of our field. :) Thanks for the Svoboda reference as I didn't know about him. His is our vanilla approach for reliability so he deserves credit. Might look up his papers.
- Animats 11y agoShe and Saydean Zeldin used to have a company called Higher Order Software. I met them decades ago, when they were promoting that. They have an unusual formalism which never caught on. There was a lot of interest in formal techniques in the late 1970s and early 1980s, but the technology didn't go that way.
- Torgo 11y agoPlease talk about this more.
- Animats 11y agoSee this paper rejecting the technology for the Trident missile program.[1] Also this harsh critique from Djkystra.[2] And this writeup on HN last year.[3] I encountered HOS back when I was doing proof of correctness work, and didn't really understand how it got beyond very simple problems. But I thought, at the time, that was my fault. In retrospect, it's an approach for a certain class of control problems dominated by required relationships between certain variables. That's what flight control systems are all about. Control problems are typically expressed as a set of "laws", equations which define what's supposed to be happening given the inputs and perhaps past inputs. Some of these are equations, and others are constraints. Checking those laws for contradictions and turning those laws into code is partially automatable, and that's what HOS was trying to do. HOS only seemed to work well with the founders driving it. Somehow, they were never able to express clearly what they were doing. Sometimes that happens. Norm Hardy, who came up with capability-based systems and created KeyKos, a capability-based OS for IBM mainframes, had that problem. The system worked great, but nobody understood what he was doing. He used to have an "explainer", Susan Rajunas. In both cases, the startups went bust. Trying to get people to understand a complex formal system is very hard. Harder than developing one. [1] http://www.dtic.mil/dtic/tr/fulltext/u2/a198753.pdf http://www.dtic.mil/dtic/tr/fulltext/u2/a198753.pdf [2] https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD852.html https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/E... [3] https://news.ycombinator.com/item?id=8736450 https://news.ycombinator.com/item?id=8736450
- 11y ago
- ghaff 11y agoFrom the article: >Once the code was solid, it would be shipped off to a nearby Raytheon facility where a group of women, expert seamstresses known to the Apollo program as the “Little Old Ladies,” threaded copper wires through magnetic rings (a wire going through a core was a 1; a wire going around the core was a 0). Forget about RAM or disk drives; on Apollo, memory was literally hardwired and very nearly indestructible. I was at a talk by Richard Battin, also of Draper on the Apollo program, a few years back. One of the stories he told was of a number of the Apollo astronauts visiting Raytheon (where the core memory was being "sewn") and the general gist of the visit was "be really careful with your work or these nice young boys could die."
- alexsb92 11y agoIn the "The Right Stuff" by Tom Wolfe, he mentions quite a few situations where the Mercury astronauts would visit factories and facilities in charge with building various components, and in all of these cases there was the same gist of "be really careful with your work or these nice young boys could die." So this practice existed from the very beginning of the American space program. I wonder if any of that still happens these days. Probably way less now when American astronauts hitch a ride on the Soyuz.
- RogerL 11y agoI worked a program in the early nineties. We all met the test pilots that would fly the bird. It was abundantly clear (they made it clear) that lives were at stake, and that they wouldn't step inside unless they trusted you and your work. They had the unilateral right to declare the entire program 'no go', and rightly so. This is formalized as a "flight readiness review", but of course you meet the pilots before that. This was a Navy helicopter, not space, I can't speak to what happens at NASA these days, but I can't imagine it's much different.
- oldmanjay 11y ago>why the gender inequality of the Mad Men era persists to this day Well, that's demonstrably untrue, but the narrative, it must be pushed at all costs.
- jleader 11y ago"Demonstrably untrue"? Are you arguing that there's no more gender inequality in software development?
- danso 11y agoI knew Hamilton's achievements in the Apollo program were remarkable...but I hadn't known that she had started while being as young as 24 -- and being a mother. That's just incredible. I can't even imagine going through school as a father and being able to balance my time, never mind having to carry child. Nevermind being a star programmer at MIT. And her husband was going through law school at the time, which means not only did she not have a stay-at-home husband to take over the parenting duties, she was the breadwinner.