Growing up, I really enjoyed playing with Legos.
One of my favorite Lego sets was number 6339, Shuttle Launch Pad.
Released in 1995 as part of the Launch Command series, it featured a detailed space shuttle
with an external fuel tank and solid rocket boosters, a satellite payload, a crawler
transporter, and a launch pad complete with a mission control center.
The set included four minifigures, an astronaut, a scientist, and two ground crew members.
I remember my friends and I would pretend the shuttle was flying by throwing it from the
top of the swing set.
I mean, it didn't really fly, and we had to pick up the pieces after, but it was a lot
of fun.
Today isn't about Legos, but it is about someone who helped make the trip to the moon possible.
From a small town in the Midwest, to leading the team that wrote the software for the Apollo
missions, and this episode of In The Shell.
Hey, why we're not shipping Windows 98?
Absolutely.
Mr. Jobs, you're a bright and influential man.
Here it comes.
It's sad and clear that on several accounts you've discussed, you don't know what you're talking about.
The key to success is developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers, developers.
Janice and I don't own phones.
Neither should you people, if you have any kind of common sense.
My name is Josh, and I'm able to keep this podcast independent and advertisement-free because of support from listeners like you.
If you are finding value in what I'm doing here, consider becoming a paid supporter at members.sideofburritos.com.
And as a thank you, members get early access to new videos, ad-free versions of everything, bonus content, and access to a live monthly Q&A.
Thanks for considering.
Now let's get back to the show.
Margaret Hamilton's journey to the stars began in the American Midwest.
She was born Margaret Hayfield in 1936 in the small town of Paoli, Indiana.
In college, Hamilton double majored in math and philosophy at Earlham College in Indiana, graduating in 1958.
After college, she even taught high school math for a short time,
showing a knack for explaining complex ideas, a skill that would serve her well in the years ahead.
Life took an unexpected turn when Margaret's husband, James Hamilton, enrolled at Harvard Law School.
The young family, now including a baby daughter, moved to Boston, and Margaret sought work to support them.
In 1959, she landed a job at the Massachusetts Institute of Technology, MIT,
working in the lab of Professor Edward Lorenz, the famed mathematician behind chaos theory.
There, Margaret was tasked with writing software.
to predict the weather, a cutting-edge project for its time. This was her first encounter with
computers, and she learned programming on the job. Remember that in the late 1950s,
computer science wasn't even a formal field of study. Programmers like Hamilton picked up skills
by diving into projects firsthand. By 1961, Hamilton had parlayed that experience into a
role at MIT's Lincoln Laboratory, coding for the SAGE Project, an air defense system that required
software to track incoming aircraft. In the mid-1960s, the United States was racing to land
a man on the moon, and MIT was contracted to develop the guidance computer for NASA's Apollo program.
Upon hearing that MIT needed programmers for Apollo, Margaret Hamilton didn't hesitate.
She later said that she thought, wow, I've got to go there, postponing her plans for graduate school
to be part of the moon mission. Thanks to her.
Her success on earlier projects, Hamilton became the first programmer hired for Apollo's onboard flight software.
And by 1965, this talented 20-something was heading to the Software Engineering Division at MIT's Instrumentation Laboratory.
Her team was responsible for writing and testing the code that would run on the Apollo Guidance computers in both the Command Module and the Lunar Module,
the spacecraft that would carry humans to the moon and back.
Leading this project meant venturing into uncharted territory.
There were no textbooks or courses on how to write flight software for a spacecraft.
In fact, the very idea of software engineering as a discipline did not exist.
So what did Hamilton do?
She coined the term software engineer herself to make the case that creating software was just as much an engineering discipline as building the Apollo spacecraft hardware.
At first, some of her colleagues chuckled at the grant.
sounding title. It was an ongoing joke for a long time, she recalled, of her early use of software
engineering. But Margaret persisted. She wanted the software and the people writing it to be
taken seriously. In hindsight, her insistence paid off. Today, everyone uses the term she
popularized, and software engineering is a respected profession, thanks in part to pioneers
like her. Hamilton's team had to invent many of the tools and practices of modern software development
from scratch. They were writing code for a computer with only 72 kilobytes of memory, not even enough
to store a single modern photo, which usually takes 2-5 megabytes. Everything had to be ultra-efficient
and rock-solid reliable. The programming was done in assembly language and meticulously written out
by hand. In an era before interactive computer screens, they punched their code onto stacks of
paper cards to input into room.
sized IBM machines. The team would run simulations and then pour over the printouts of the results,
literally eyeballing hundreds of pages of listings to spot bugs or confirm the code was
working as intended. It was laborious, tedious work, and absolutely critical, since an error
in the Apollo guidance software could mean the difference between life and death for the
astronauts. Once the code was verified on paper, it still had to be transferred into the Apollo
flight computers, but there were no flash drives or downloads in 1969. Instead, the final programs
were woven by hand into physical memory. Hamilton software was turned into so-called core rope
memory, where workers at a factory, many of them women who had worked as textile weavers,
threaded copper wires through tiny magnetic cores and patterns representing the ones and zeros of
the program. If a wire went through the core, that meant one. If a wire went around it, that meant zero.
The result was a braided rope of memory that could withstand the vibrations of launch.
This process was so unusual that Hamilton affectionately nicknamed the woman who did it, the LOL, short for Little Old Ladies.
And she herself earned the lighthearted title of rope mother, since she oversaw the creation of the ropes that held her code.
It was a perfect marriage of 19th century craftsmanship with 20th century computer science.
All of this effort culminated in July 1969 with Apollo 11's historic moon landing, and Hamilton software was put to a dramatic test.
As the lunar module Eagle descended to the moon's surface, its onboard computer suddenly began flashing alarm messages.
Imagine the scene.
Neil Armstrong and Buzz Aldrin are thousands of miles from Earth, about to land on the moon, and the computer starts bulking with error codes.
In Houston's Mission Control, controllers faced a razor-edge decision.
Go or no-go? Should they abort the landing?
Fortunately, Margaret Hamilton's team had designed the software to be resilient.
The Apollo computer was programmed to recognize it was overloaded
and automatically shed low-priority tasks, focusing only on the most important jobs.
And that's exactly what happened.
The radar system had been erroneously left on and was taxing the computer's limited capacity.
Hamilton's software ignored the radar data and kept the lander on track.
Trusting the software, Mission Control gave the go for landing,
and Armstrong and Aldrin safely touched down with only seconds of fuel to spare.
Okay, engine stop. We copy you down, Eagle.
Houston, Tranquility Base here. The Eagle has landed.
Later.
Hamilton explained that the software had detected the problem and was compensating for it,
allowing the mission to succeed. Hamilton's attention to detail had anticipated even the
unlikeliest of errors. In one case, before Apollo 11, she had brought her daughter Lauren to the
lab on a weekend. The little girl, playing astronaut, managed to press a sequence of
buttons on the simulator that caused a crash. Realizing an astronaut might make the same
mistake in flight, Margaret wanted to add a failsafe into the code. However, some of her
NASA superiors initially pushed back. Astronauts are trained to never make a mistake, they argued.
Fast forward to Apollo 8 in 1968, astronaut Jim Lavelle did accidentally select the wrong program
and triggered a similar crash during the moon orbiting mission. Hamilton's team had to scramble
to help the astronauts quickly recover. After that close call, no one doubted her again.
For subsequent missions, Hamilton made sure that the software was updated to prevent that error entirely.
It's worth pausing to appreciate just how different programming was in the 1960s compared to today.
Margaret Hamilton's code was written out longhand, transcribed to punch cards, and painstakingly checked on printouts.
Once finalized, changing the software was extremely difficult.
The programs were woven into hardware memory, so any update meant physically altering the ropes.
Testing was likewise a manual, exhausted process, using simulators and laboriously analyzing output by sight.
There was no version control system, no stack overflow to consult, and certainly no Google it option if you hit a snag.
Hamilton's team had to rely on creativity, discipline, and countless hours of simulation to get things right.
Contrast that with software development today.
Modern engineers...
...
to work with high-level programming languages, far removed from raw machine code,
and have interactive computers with graphical interfaces,
and now, with AI, we even have computers writing code for other computers.
After Apollo 11 and the subsequent moon landings,
Margaret Hamilton's work continued to blaze trails.
She remained with the Apollo program through the early 1970s,
contributing to the successful flights of Apollo 12, 14, 15, 16, 17,
and to the Skylab Space Station program.
In 1972, as the Apollo era wound down,
Hamilton left MIT to apply her expertise in the private sector.
She founded a company called Higher Order Software in 1976,
aiming to bring the error-reducing techniques from Apollo into general software development.
A decade later, in 1986,
she started a new venture,
Thank you.
Hamilton Technologies Incorporated, based in Cambridge, Massachusetts, and built around a
revolutionary concept she developed known as the Universal System Language, which was designed to
prevent errors in complex software systems. For many years, Margaret Hamilton was celebrated
in aerospace and computing circles, but remained relatively unknown to the general public.
That changed as the world gradually came to recognize the importance of the software and
Apollo's success. In 2003, NASA awarded her the Exceptional Space Act Award for her contributions
to aerospace software, along with the largest financial award NASA had ever given to one person
up to that time. And in 2016, she received the Presidential Medal of Freedom, one of the highest
civilian honors in the United States, bestowed by President Barack Obama. By now, Margaret Hamilton
has become something of a cultural icon as well.
In 2017, she was immortalized as a Lego figurine in the Woman of NASA collectible set.
That tiny plastic Margaret, with her glasses and 1960s hairstyle,
even comes with a stack of miniature code books nearly as tall as the figurine.
A playful nod to the famous Apollo Code photo.
Today, Margaret Hamilton is in her late 80s,
and her legacy is firmly cemented in the history of science and engineering.
She continues to serve as the CEO of Hamilton Technologies, the company she founded,
demonstrating that her passion for software has never faded.
More importantly, every time we use a piece of reliable software or trust a computer with a critical task,
we are benefiting from the groundwork laid by Margaret Hamilton and her team.
From writing code by hand that would fly humans to the moon,
to inspiring the countless software engineers who followed,
Margaret Hamilton's story is a testament to curiosity, courage, and impeccable.
code. In the shell is written, researched, and recorded by me, Ground Control. This is the final
episode of season two. I'll be taking a short break, but I'll be back soon with a new theme
for season three. If you haven't yet listened to season one, all about early computer viruses,
now is a great time to catch up. And lastly, if you're listening in an app that lets you rate
shows, please take a minute to rate this one. I would truly appreciate it. That's it. Take care,
and I'll see you next season.