She wrote all this code by hand to take humanity to the Moon
Margaret Hamilton, NASA's lead developer for Apollo program, stands next to all the code she wrote by hand that took humanity to the moon in 1969
Margaret Hamilton, NASA's lead developer for Apollo program, stands next to all the code she wrote by hand that took humanity to the moon in 1969
She was the first software engineer who was hired for the project and did write a good chunk of the code. She was more than someone who simply delegates and leads. Hell, she is the one who coined the term software engineer. She played a hell of a role in the history of software development. Let's not try to diminish that.
He isn't trying to diminish but these misleading exaggerated titles are pretty annoying and confusing at times.
I agree that the title is misleading but simply saying she was the one directing the team without also mentioning that she absolutely did write a chunk of that is also misleading and diminishes her contribution to the code.
Similar to what happened with the first image of a black hole. The whole thing was somehow attributed to one lady in the press. Turns out, it was a whole team of scientists working together to achieve that.
The problem isn't that the whole thing was attributed to one lady. The problem was how quickly people were to discredit her and minimize her role, something that was guaranteed to never be a problem if she were a man.
Funny how the credibility of male scientists and engineers are never questioned in posts like these, and yet becomes a hot topic when that person happens to be a woman.
Funny how the credibility of male scientists and engineers are never questioned in posts like these
I haven't seen a comparable image for a guy or a girl prior to this one presenting a person as having written code when they actually just led the team that wrote the code.
I do recall Al Gore claiming that he "took the initiative in creating the Internet" when he was responsible for obtaining funding for Internet infrastructure and getting ripped pretty hard for that.
No it isn't, unless you think PMs are programmers. She was the lead developer and created the foundation for the software, then drove the project home. She wasn't a non-technical person writing requirements for engineers to work on.
But from that to the title statement of "she wrote ALL the code" is a long stretch, which is where my analogy is coming from
Also the code is much shorter than that, the pile in this picture is just everything they had laying around at that time, so maybe different revisions or just copies. The code they used is like 1-2 of those in length.
Exactly what i thought, the second i read "lead" developer. This behavior of given Teamleaders/CEOs etc credit for the work of so many ppl is annoying as fuck.
There is a saying at my research facility which Teamleaders like to use: "Under my supervision it was possible to create X"
But i would argue that most of the time they do nothing and take credit for it.
Not only that, it's all the copies of all the source codes they could find around for the photo op. This is likely several copies if the code, and the final one likely fits inside 1 of those binders.
This is a black-and-white photo which someone colorized. The real colors could be ANYTHING.
Man, I thought when we left Reddit shit was going to change?
First off, SHE didn't write all the code, she led a team (And probably wrote a decent chunk herself). It wasn't by hand it was on computers, no one writes computer code by hand, that's just blatantly a myth, even punch cards were normally done BY the computer, not "by hand".
Also something I've questioned before is if that's really "The source code" and not maybe 11 copies (There's 11 binders there) Though most reports from reputable sources say that's "Listings". AKA that's the logging, not the code itself. The code itself may be printed out but would be kept on Punch cards (Again printed by the computer, not by hand). And the final form was actually a rope. (no really)
The thing is the story of Margaret Hamilton (And in fact most programmers of the time) is incredible enough. But when you blatantly lie like this it actually diminishes her accomplishment because it's obviously false and people will tear it down or disbelieve it because it's blatant misinformation.
This is why I left Next Fucking Level, because it became misinformation and karma whoring. It became about the "Story" rather than the actual person/skill/talent/figure. But on Reddit the reason was because people wanted Karma. Shouldn't we have left the basement tier BS and lying behind as well?
I don't know how old you are but when I was first introduced to programming in the early 80s all "source code" (Mostly basic and thus interpreted where program is the source code) was referred to as "listings" (this was when the main source of games were monthly magazines where you typed in a listing from a magazine and saved it to tape E.G.. The "Program listings" (as the Smithsonian calls them) seem to be print outs of the programs for verification purposes.
The process of entering was indeed handwritten, on specially printed sheets of paper that was then handed to a punchcard operator to create the cards (again according to the Smithsonian), But the stack of paper is clearly not those sheets as it is form-feed printer paper.
It is completely accurate that Margaret Hamilton lead a team, so while there are inaccuracies I'd say this not as much of a lie as just a combination of confused concepts,
So I'm referring a number of articles that talk about it as "Listings" and "Log files". They come from relatively good sources (Smithsonian magazine) who are interviewing curators of of the Smithsonian who claim to have "Those listings" in the picture. They do however refer to it as "program listings" and then just "Listings" in the article. So who knows.
That being said I don't agree with your saying "Well she led a team"... yeah she led a team, that's like Elon Musk saying "I made a Tesla" when really he hired hundreds/thousands of people who made the Tesla. This is someone making an our right lie, there is no reason for it not to say "She and her team" or something along those lines.
So I’m referring a number of articles that talk about it as “Listings”
So am I. I read that article as well and "Program listings" is IMHO definitive, a "program listing" is a list of the instructions in the program it is a term I used to use myself, it's just fallen out of fashion. In addition this article shows form feed paper with a snippet of the actual code, one line per instruction.
Also, it's nothing like Musk, maybe you don't work in the industry but a "Team lead" is a programmer, just with additional organisational responsibilities. If you read the rest of the article I linked there are those that consider her the first professional "Software Engineer", and mistaking a team lead for the only member of the team is a common mistake, especially when they were the first programmer hired for the Apollo mission, It's a mistake, I wouldn't classify it as a lie.
I don't know where you get "listing" = "logging". It's a term (apparently archaic, today I learnt I'm old) for the text of a program.
The listings are the source code in printable form, what are you talking about? https://stackoverflow.com/questions/59678641/what-is-meant-by-listings-for-your-program
Stop spreading false information about things you know nothing about.
So random guy on Stack overflow, or the Smithsonian Magazine, interviewing the guy who handles those listings... but hey, maybe he's never looked at them because he's probably not a good curator.
Even your link mentions "All files". Ever think logs could be included in those files? Even Wikipedia mentions that "data" in a human readable form can be called a "listing".
So maybe chill out next time instead of jumping on your high horse to prove someone wrong. Words can mean more than one thing, and I'd say my source is probably a little better than Stack overflow.
She didn't write the code by herself, she led a MIT team of 8 other people.
https://news.mit.edu/2016/scene-at-mit-margaret-hamilton-apollo-code-0817
Including comments on the code with expressions like "Crank the silly thing arround", "see if he's lying", "off to see the wizard" and a sub-routine called "burnbaby". More here: https://www.sciencealert.com/the-code-that-took-astronauts-to-the-moon-is-now-on-github
She's definitely a legend.
That is cool. There is really wild stuff in here, like in the landing guidance equations
TC BANKCALL # TEMPORARY, I HOPE HOPE HOPE
CADR STOPRATE # TEMPORARY, I HOPE HOPE HOPE
If I was an Astronaut, I think I'd reconsider going up if someone told me there was even one "I Hope" in the math.
"Are you sure about that Margaret?"
"Who the fuck knows, Buzz, I'm doing my fucking best, okay?!"
Did you know that programs for the Apollo guidance computer were woven, by hand, in to Core Rope Memory modules?
Here's a really cool demonstration of using Core Rope to make a drum synthesizer. https://www.youtube.com/watch?v=zytjONYkU94
i thought you were making some weird joke.... turns out to be the most incredibly interesting thing i have read maybe ever.
awesome!
Oh that's so hardcore
edit: looking at the git repo, it looks like it was a team of seven, and she was the lead. So it isn't all her code. Still super impressive :)
The other big notable thing for assembly is that it isn't portable. Assembly is very different for every processor architecture, unlike something like C where you may have to make some adjustments between an x86 vs ARM proc, in assembly you're basically rewriting it from scratch
Also, this is an obscure assembly variant specifically for the computers in the Apollo mission. Not sure about the specifications on that, maybe there is a handbook, but I doubt it.
Rewriting the code to x86 or anything seems improbable since you'd pretty much have to guess what the instructions are actually doing.
For people unfamiliar with assembly, it's one step up from raw 1s and 0s. Just vaguely human readable abbreviations for given sets of 1s and 0s. There are no built in loops or if statements, you have to build all that shit yourself from scratch every time you want to use one. And there's exactly one built in variable you can use called the register
Nitpicks:
Assembly is a very significant step above "raw 1s and 0s" as it usually provides ways to conceptualize opcodes, registers, and even memory.
Similarly, there basically ARE "loops" if you understand those are actually conditionals and jump statements. It takes a bit of time to read that but they are there. Same with conditionals/if statements. Any time you see a label (the blurb of text at the start of a line), that is for the purpose of branching/looping/invoking.
Variable wise: I forget how big the register file on those was (I wouldn't be overly surprised if there really is only one for compute purposes, with the rest being reserved for what would be associated with the OS), but you still have the stack. Which is what is happening in a lot of modern code anyway.
Which is why the comparison to Fortran is pretty apt. Since... early Fortran is very much just a thin layer of paint to help conceptualize writing code in assembly and to have some semblance of portability. Whereas "modern" fortran (definitely 90s, arguably also 77) is just a horribly designed language that is the worst of all worlds.
A lot of the younglings tend to view assembly as hell on earth. And they are right. But mostly because they were taught in the context of more CISC-like architectures or dealing with the hell that is x86 assembly. Often times as an elective or a one week lesson after they spent years doing python. Spend time with simpler (generally RISC) architectures and you rapidly grow to understand why C and Fortran are so "low level" and can get a good understanding of what it means to "code in assembly"... and why nobody should have to anymore.
A friend and I decided, over drinks and gaming, that the best comparison is to watch the obligatory "cooking youtuber makes ramen from scratch" episode. Even they'll acknowledge it was NOT worth the effort. And it was a LOT of effort. But it is still fundamentally the same as cooking anything else and mostly just boils down to being very labor and time intensive.
Admittedly, the last time I touched real Assembly was 20 years ago.
There's a couple Zachtronics games, TIS-100 and Shenzhen I/O, both that use a limited form of Assembly, that are probably filling in the gaps in my memory.
with the hell that is x86 assembly
I soooo wish IBM had gone with the Motorola 68000 family instead of the Intel 8086 family of chips for the PC. It had a far, far nicer instruction set.
Lol Fortran; it was written in Apollo Guidance Computer assembly; I frankly wouldn't be surprised if she knew Mel Kaye
Assembly. Like most embedded systems (at least up until we had enough power to waste on higher languages)
This is why I wasn't subscribed to any of the default subreddits. Guess I'll need to do the same here.
This is the video of when she received the Medal of Freedom from Barack Obama: youtube.com/watch?v=X1PNp_YggAA
In this ceremony he gives the award to Margaret Hamilton and also Grace Hopper. Both well deserved!
She wrote code without stack overflow for her job, and the code worked as intended. That alone is worthy of respect.
I don't want to diminish her awesome in any way at all because she's a superstar.
However, while she didn't have stack overflow she did have direct access to the people that built the hardware and the interpreter.
I think the "by hand" part would be the biggest disadvantage - you can't just re-run something n times while inserting console.log('here') at different places to figure out what's going on.
The code is also remarkably far simpler than people expected. It's mostly pointing, timing and adjusting. User interaction was minimal and they weren't using unknown or hard to memorize apis from multiple different people and groups (All of which would be decided on long before this point. NASA doesn't fuck around with documentation. Look up their practices).
The feat of getting to the moon is incredible, the feat only 8 people wrote the code is amazing, the fact the computer would be unusable in the modern world and was outdated by the 80s really shows.
But the actual code isn't that complex (mostly because it couldn't be, and shouldn't be) and was written in assembly.
But it's still damn awesome, I wish they focused on that instead of the misinformation in the title.
The title is a bit misleading, this is a printout of the code that she indeed wrote into the computer first.
She also had a team of engineers who I'm sure deserve at least some of the credit. This title is bunk.
If it was printed later or written on punch cards... how much code are we actually looking at?
Each punch card/ has 80 characters.
So way less than you'd imagine, but this is also late 60s machine code (even lower than assembly), and it was mathematically proven to be correct.
Still assembly. Nasa's Apollo Guidance Computer Assembly specifically. A punch card is to translate the code into 1s and 0s that, each line of which, constitutes an instruction that is fed to a punch card reader. However, that is not what this was made for. This code didn't went on to a punch card, it went to an instruction loom. The system's read-only memory consisted of a weave of ferromagnetic rings and copper wire that is called rope core memory. As in, Nasa paid people to carefully physically weave by hand the individual 1s and 0s.
Afaik, the loom thing was just for the computer on the Apollo itself, but I could be wrong.
Each punch card/ has 80 characters.
So way less than you'd imagine, but this is also late 60s machine code (even lower than assembly), and it was mathematically proven to be correct.
But...but...someone on the internet told me that it was all handwritten and lost. So now we can't go back to the moon!
I know you're likely joking, but for those who don't know: back then, code was written onto and stored in paper punch cards.
These people should have millions of followers instead we follow kardashians. No wonder the world is going to end😥
She did computer stuff..... She's smart enough to not fuck with anything that has followers.
Hate to tell you, but like most people who do computer stuff still use social media. I mean the linux kernel has it's own lemmy instance.
What a weird comment. The world is not going to end anytime soon for some social media preferences.
Amazing. Punch cards are before my time but did she have to plot out the code before creating punch cards? I'm wondering about the " by hand " part of it.
I was a CS major in late 70s and used punch cards for Fortran programs. I’m guessing “by hand” meant writing the code with pencil/pen on paper and then typing up the punch cards for each line of code.
The "Women of NASA" Lego set includes a display of a minifig Margaret Hamilton based on this photo.
Also worth remembering: The Apollo guidance computer had less compute power than a USB charger. That thing sent us to the moon. https://www.popularmechanics.com/technology/a30916315/usb-c-charger-apollo-11-computer/
Money and pride. Back then America had something to prove, money was no object. Now it's all about how much it's going to cost.
We don't have a villainous empire like the soviets to beat there to prove we're better on the world stage. There was a lot of hand work and individual skill/knowledge that designed the rocket nozzles and those people either wrote it in notebooks or didn't write it at all so it was lost. That's what they mean when they say we lost the technology. Try asking your great grandparents for specific details about the career they had 50 years ago and see how far you get.
It's a good thing every person who invented something wrote down every detail of how to make that one exact thing or else we would have no idea how it functions or how to make it again with today's technology.
Not a whole lot of things cost a billion dollars to attempt again. We could put it all together again eventually but the amount of R&D needed to return to where we were just hasn't been worth the benefit. We have countless unmanned craft all over because getting scientific data doesn't require a dude to be there anymore.
Start with "Why should we go back?"
The fact is there's really not a reason. We've been there, done that. The cost to send people to the moon is astronomical (lol) but the value to civilization is minimal at this point.
Honestly, NASA spending more time exploring Mars has been more beneficial.. Just wish we found something more up there, but hopefully in time.
I wish we could go to the moon again too, I just don't see a purpose, and that's kind of why we did that, and stopped.
Yeah you're right. Why should we go back? The whole moon has been throughly searched through every nook and cranny and we've been there so many times it's just boring now. I can see why we don't need to go explore that hunk of shit rock anymore
You're kind of missing the point. It costs us about 4 BILLION dollars to send a person to the moon. What do you expect to find on the moon worth that? we know what the moon looks like, if we want imagery, we can send satellites for a fraction of that price, and danger. We have rocks, we have materials from the moon that are still working on.
Do you think there's a lost city? A secret civilization? A massive moon base the Nazis put there?
It's a hunk of DEAD rock. And the idea of "lunar mining" and all sorts of sci-fi stuff probably is unfeasible at those prices.