It looks like you're new here. If you want to get involved, click one of these buttons!
The role of women programmers in space exploration, specifically the role of Margaret Hamilton (MIT Instrumentation Laboratory) in the development of software for the Apollo Guidance Computer (AGC), is the subject of this thread.
Navigation and guidance for the Apollo mission were controlled by the AGC Software, under contract to the MIT Instrumentation Lab (later the Charles Stark Draper Laboratory, where Hamilton was Director of the Software Engineering Division). Awarded in August 1961, this was the first Apollo Program contract that NASA issued. At the time of the Apollo 11 mission in July 1969, Hamilton had led the onboard in-flight software team since 1965.
This thread will focus on Margaret Hamilton's role as director for the AGC onboard in-flight software and on her use and development of software engineering methods in this project. We will also address the role of women programmers in NASA missions. Although there were glass ceilings, for instance, the 1960's rejection of the Mercury 13 woman astronauts (Ackmann, 2003); extraordinary work was done by black women mathematicians/computer programmers at NASA Langley, including Dorothy Vaughan, Mary Jackson and Katherine Johnson (Shetterly, 2016), as well as by the women mathematicians and computer programmers at the Jet Propulsion Laboratory (JPL), including Barby Canright, Susan Finley, Janez Lawson, Helen Ling, Sylvia Lundy, Barbara Paulson, and Victoria Wang (Holt, 2016).
Hamilton's role as programming leader for the onboard in-flight software and specifically for the COLOSSUS software, is documented by the source code uploaded to GitHub by Chris Garry. The title page is as follows:
#************************************************************************
# *
# THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS: *
# *
# *
# COLOSSUS 2A *
# *
# *
# THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED *
# IN REPORT R-577. THIS PROGRAM WAS PREPARED UNDER DSR *
# PROJECT 55-23870, SPONSORED BY THE MANNED SPACECRAFT *
# CENTER OF THE NATIONAL AERONAUTICS AND SPACE *
# ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE *
# INSTRUMENTATION LABORATORY, MASSACHUSETTS INSTITUTE OF *
# TECHNOLOGY, CAMBRIDGE, MASS. *
# *
#************************************************************************
SUBMITTED: MARGARET H. HAMILTON DATE: 28 MAR 69
M.H.HAMILTON, COLOSSUS PROGRAMMING LEADER
APOLLO GUIDANCE AND NAVIGATION
APPROVED: DANIEL J. LICKLY DATE: 28 MAR 69
D.J.LICKLY, DIRECTOR, MISSION PROGRAM DEVELOPMENT
APOLLO GUIDANCE AND NAVIGATION PROGRAM
APPROVED: FRED H. MARTIN DATE: 28 MAR 69
FRED H. MARTIN, COLOSSUS PROJECT MANAGER
APOLLO GUIDANCE AND NAVIGATION PROGRAM
APPROVED: NORMAN E. SEARS DATE: 28 MAR 69
N.E. SEARS, DIRECTOR, MISSION DEVELOPMENT
APOLLO GUIDANCE AND NAVIGATION PROGRAM
APPROVED: RICHARD H. BATTIN DATE: 28 MAR 69
R.H. BATTIN, DIRECTOR, MISSION DEVELOPMENT
APOLLO GUIDANCE AND NAVIGATION PROGRAM
APPROVED: DAVID G. HOAG DATE: 28 MAR 69
D.G. HOAG, DIRECTOR
APOLLO GUIDANCE AND NAVIGATION PROGRAM
APPROVED: RALPH R. RAGAN DATE: 28 MAR 69
R.R. RAGAN, DEPUTY DIRECTOR
INSTRUMENTATION LABORATORY
The number of people working on Apollo 11 software is estimated as 350 (Hoag, 1976) . The size and the team nature of the project have led to various ways of crediting, and until recently much documentation has favored the men. (That there was at least one other woman on Hamilton’s AGC team is confirmed by Time, (Rothman, 2015). Identifying other women on her team is of interest.
This thread will also explore “software engineering”: how it applies to Hamilton's work and her influence on contemporary computing. Her use of a software engineering approach in the AGC project and her coining of the term are documented. (McMillan, 2015, Rayl, 2008, and Hamilton, 2008). However, the Wikipedia entry on Software Engineering does not mention her.
The code for the AGC and its keyboard and display interface (DSKY) is written in AGC assembly language, which GitHub observes is difficult to understand. We will address the code in a separate code critique: “COLOSSUS and LUMINARY: The Apollo 11 Guidance Computer (AGC) Code” (and, if needed, in additional threads). These critique(s) will address authoring language and code, as well as use of commented code in the Command Module COLOSSUS 2A code and the Lunar Module LUMINARY 099 code. A few of the programmers’ comments are listed on Slate (Smith, 2016).
The hardware for the AGC was under the direction of Raytheon, where a group of women worked on the core rope memory (Fildes, 2009). Fairchild was the contractor for the microchips, and in the course of the Apollo mission, the 75 AGCs that were built, each used 5,000 microchips. In The Innovators, Isaacson (2014) observes that the first chip for the AGC cost $1000, but over the course of the Apollo mission and other government projects that utilized microchips, the price went down to $20 apiece, opening the market for solid-state consumer products. What the AGC hardware looked like, how it worked, and how it was constructed (including footage of the women who worked on the core rope memory) is documented in a 1965 MIT Science Reporter TV program.
This discussion welcomes input on Hamilton's role as project director for the onboard in-flight software; on her creation of a software engineering environment; and on the role of women programmers in the creation of NASA software. Using her work as an example, but also including the work and environments of the women at the NASA Langley Research Center and JPL, we will address the role of women programmers in NASA space exploration. Primary questions are:
Comments
I was thinking about how to analyze someone's reputation, especially in its omission.
One place we might look for a discussion of the reputation of Hamilton is the talk section of her Wikipedia page.
As I searched around for posts about Margaret Hamilton, I found a fair amount that emphasizes her role in the Apollo project. That and the Wikipedia page, which was mentioned as the beneficiary of an intervention, gave me the impression that she is famous, but if I can steal the phrase from a current Showtime program, she is not "man famous." Hamilton’s intervention in systems and software seems on the level of a Knuth, Kay, or Dijkstra to me, though when I asked computer scientists in my life, they were unfamiliar with her work on Apollo and her later work.
What interests me is how she uses the Apollo experience as a springboard for her later work and how she weaves that experience into the ensuing narratives about those projects. Hamilton takes her experience on this project and creates the Development Before the Fact paradigm, the programming language 001Axes (“derived and evolved from lessons learned based on an empirical study of the Apollo on-board flight software effort”), and then ultimately Universal Systems Language (developed by Hamilton Technologies, following up her experience trying to respond to errors), which she calls, “a complete new way to think about systems and software.”)
Interestingly, her work on these later projects overshadows the men she collaborates with on these later projects, because hers is the continuous story back to Apollo 11 and, in the case of Hamilton Technologies, hers is the name on the company.
That said, both Hamilton’s work and her story should be better known. And, given her work on error prevention, if she were better known. I think we might have a fewer problems with our software.
Source: Hamilton, Margaret H., and William R. Hackler. Universal Systems Language for Preventative Systems Engineering. 2007.
@markcmarino writes
My sense is that Hamilton was sparsely credited until recently.
Has the success of Margot Lee Shetterly's Hidden Figures has been primarily in
revealing the history of women in space exploration technology?
If so, it is important that black women have led the way.
Other black women programmers that I know of include Janez Lawson at JPL.
One thing we need to do is to document how Margaret Hamilton was credited in earlier publications. I've ordered a used copy of David A. Mindell, Digital Apollo: Human and Machine in Spaceflight. Cambridge, MA: MIT Press, 2008 but it hasn't arrived yet.
I wonder if such gaps might call for an Wikpidia edit-a-thon intervention at some point -- perhaps at the end of the week, or at the end of the working group. A page not mentioning a pioneer credited with coining the term is a pretty egregious problem.
But it would also be useful to see if there's documentation about when the information about Apollo was added - on Wikipedia at least.
another interesting, first-hand historical account of Hamilton's experience at NASA is here: https://authors.library.caltech.edu/5456/1/hrst.mit.edu/hrs/apollo/public/conference1/hamilton-intro.htm
It also provides interesting insights in women's presence in this industry. Striking is the difference between the SAGE project at Lincon Labs and the Apollo's at NASA
I'm struck here by the highly specific nature of error prediction and the role of the astronauts in this design. As she says,
This certainly isn't unique, but there's an interesting symbiotic relationship between the design of the software and the training of the astronauts. The astronauts-don't-make-mistakes line strikes me as telling about a whole set of power and institutional dynamics.
@punday wrote:
Yes, and there were a number of accounts I read about what went wrong that attribute the error on Apollo 11 to documentation -- or rather, the astronaut followed faulty documentation which led to the 1201 and 1202 alarms. (I'll get the reference and update).
I understand that this protects our sense of astronauts as heroes who do not make mistakes, but read another way, it makes the astronauts to be another machine processing lists of instructions, communicating as they were with numbers for nouns and verbs, flipping switches according to directives, et cetera. I'm reminded of @gtorre's ironic test of machinic sentience and of course the dangers of flight-by-wire.
dtic.mil has a bunch of papers that are authored by Hamilton:
https://publicaccess.dtic.mil/psm/api/service/search/search?&as_epq=margaret+hamilton&site=default_collection&as_ft=i&as_filetype=&as_occt=any&num=10&sort=relevance&start=0
Thanks @ebuswell !
As an archival note:
the Smithsonian National Air and Space Museum Apollo Flight Guidance Computer Software Collection [Hamilton] 1965-1972
has substantial holdings on Margaret Hamilton
From their catalog listing
The curator is Paul Ceruzzi
In the National Air and Space Museum collection, I particularly like
this photo of Margaret Hamilton at Draper Labs!
@JudyMalloy (or any participants): Any suggestions on how to go about finding other women who worked in this area who might not yet be identified? What if we crowdsource it?
If we go through the source code and extract all the names credited there, and then search for those names adding keys words such as "Apollo Guidance Computer" , we might be able to identify a few women.
Paul Ceruzzi might also be helpful in this respect. He wrote the chapter on "The Personal Computer and Social Media" for Social Media Archeology and Poetics. I'll ask him if the archives contain any information on other women who worked with the project.
It might be helpful to start a separate topic where we just informally record the names of the programmers on the topic who we have documented so far.
We should also be looking The Apollo Guidance Computer History Project, led by David Mindell
I found this document presenting an incredibly detailed account of the people that worked on the Apollo : https://history.nasa.gov/SP-4104.pdf
For gender distribution see page 205.
Some women found in the text (but haven't scanned fully):
Pamela Donaldson - engineer
Marylyn Goode - engineer
An intersting quote that gives an idea of the times is at page 39:
The document is full of biographical details, comments, first-hand quotes.
I am sure a lot can come out of this.
This is such a rich document. I was intrigued the observation about how some of these professional roles were still fluid: "Hank Martin, one of the younger engineers interviewed, made an unusual effort to understand historically the vocational identities of scientists and engineers. He, too, as a high-school student, 'pictured a scientist as someone who works in a laboratory.' What has changed since then has been the profession of engineering and our understanding of it. "Engineering," he suggests, 'back in the '50s ... was an emerging profession....'"
Thank @gtorre . I'm looking forward to reading this soon! Meanwhile, guests are about to arrive for lunch
Would someone please identify the piece of the codebase that Hamilton contributed to? I think I read somewhere that she had written emergency execution commands for "P-01" but I can't find that part of the code in the Github repository.
I'm excited to dig into Hamilton's code and comments, and read her documentation style.
Separate from Hamilton's work on NASA, I'm also very interested in learning more about the ways used to systemically identify and measure gender and other biases written into algorithms and code that play a growing role in our lives, such as predictive policing and disparate impact in bail determination and health policies -- I hope to learn from other members in this group.
I wonder about what contributions from feminist epistemology, may have for understanding algorithmic fairness, and how to more fairly conduct machine learning (feminist machine pedagogy?) For example, how do neural networks account for the standpoint of the data they are being trained on -- are there ways to account for an "intersectional lens" on evaluating data -- how does early training bias later training in neural networks, in much the same way that humans are impacted by early childhood prejudice and systems follow a pattern of path dependency? How can we take a feminist "intersectionality" approach to machine learning/AI, and create/archive feminist praxis of coding / software engineering that questions what it really means for a machine to "know" or "learn", borrowing ideas from a feminist epistemology "ways of knowing"?
These questions may just be somewhat speculative or metaphorical at this point. I really hope to learn from others who are more experienced and deeply immersed in this field.
Yes, I think that would be the priority display code. But where you see her name in the code is:
Apollo-11/Comanche055/SERVICER207.agc
As well as here:
Apollo-11/Comanche055/ERASABLE_ASSIGNMENTS.agc
Page 53
That seems to refer to the priority display that Hamilton writes about (and is attributed to her) later, and this file seems to have a lot of code that deals with priority displays. I think "See Hamilton" might mean literally "go talk to Margaret Hamilton," but it reads like a reference to a document. (Code? Article?) Hamilton also gets credited with the prioritization of tasks, which saved the mission and consequently the astronauts, though while Hamilton no doubt was guiding the design, that code itself has been attributed to someone else.
Come over to the Colossus thread for more talk of individual lines of code.
It is great to see so many responses to this thread!
Since there is now a lot of information here, this is a good time to revisit some of the information that introduced the two Week 1 threads on the AGC software.
Hamilton's role as programming leader for the onboard in-flight software
and specifically for the COLOSSUS software,
is documented by the source code uploaded to GitHub by Chris Garry. The title page is as follows:
And here is a primary citation for Hamilton's role in the AGC software:
COLOSSUS 2A, p.1
http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/0001
Margaret Hamilton is credited as COLOSSUS Programming Leader
@gtorre writes:
Thanks for this useful resource!
My concern after reading NASA Engineers and the Age of Apollo is that it doesn't present a total picture. Quite a few of the of woman who worked on NASA missions during the age of Apollo are not included in this report. Reasons for this could be that at the time of its writing (1992), their work was not known or was not considered because they had not been given engineer titles or because the report is generally specific to NASA facilities -- not NASA contractors.
That said, it is still a useful document. In addition to the the two mentioned by @gtorre
Pamela Donaldson - engineer
Marylyn Goode - engineer
below are a few that I picked out from the text.
Note that these are rough notes and should be verified
Sandra Jensen
Lewis Research Center
boundary layer research
Elizabeth Mueller
Goddard Space Flight Center
flight software/ground software
Sarah McDonald
Army Ballistic Missiles Agency
trajectory analysis
@JudyMalloy, glad to hear the link was useful!
This thread on Gendering the Apollo 11 Onboard In-Flight Software began with these words and questions:
As CCSWG18 progressed, the focus on Margaret Hamilton and the AGC code was discussed primarily in the COLOSSUS and LUMINARY: The Apollo 11 Guidance Computer (AGC) Code thread. Since we are looking at the AGC code from a humanist POV, this did make sense, and in retrospect I should have combined these two threads. That said, some of these questions are addressed in the COLOSSUS and LUMINARY code critique, as well as in the main thread for Week 1, co-authored by @lizlosh and @JacqueWernimont .
A big question (that we have not talked about enough here) was contributed in backstage talk by @markcmarino
As we look through the material collected in this year's CCSWG, this is a good question to keep in mind! And, as the extraordinary #critcode (where else on social media do such interesting discussions occur?) comes to close, if anyone wants to address this question, your words are welcome!