By Wendy Gittleson for Galvanize
On July 21, 1969, Commander Neil Armstrong became the first person to walk on the earth’s moon. As Armstrong stepped onto the moon’s surface, a rapt audience of over 600 million people around the world heard him utter the phrase, “one small step for man, one giant leap for mankind.” Truth be told, he actually said, “one step for a man, one giant leap for mankind,” a distinction that likely only matters to grammar geeks.
Still, Armstrong was correct in calling the mission a giant leap for mankind. It’s not as though we have advanced to launching weekly luxury cruise trips to the moon — in fact, the U.S. has only sent six crews to the moon and we haven’t sent a manned crew since 1972. For geologists and astronomers, though, the moon landings were a giant leap toward understanding our solar system. The real leap, though, currently resonates throughout the entire industrialized world. The Apollo 11 launch arguably ushered in the computer age.
How big was Apollo 11’s computer?
Conventional wisdom leads us to believe that compared to today’s cell phones, and even our smart appliances, the Apollo Guidance Computer (AGC) was an intellectually limited behemoth. While we were still decades away from Google or Amazon or from carrying a terabyte of data in a pocket device that lets us make phone calls and take pictures, the AGC was surprisingly small and nimble.
It is true that in the mid-20th century, computers and vacuum tubes filled entire temperature controlled rooms. However, fitting the equivalent of seven side-by-side refrigerators and three men in a vessel that was roughly the size of a large car, wasn’t logistically possible. To make the moon landing feasible, computers had to shrink… dramatically.
Engineers at MIT worked for years on the project, and by the time NASA launched the Apollo 7, the AGC weighed just 70 pounds and it took up less than a single cubic foot of valuable space. It certainly wouldn’t have fit in a pocket, but as MIT aerospace and computing historian David Mindell once joked, the AGC began “the transition between people bragging about how big their computers (to) bragging about how small their computers are.”
That’s not to say that the surprisingly small AGC packed anywhere near the punch that even today’s smart wrist watches do. The AGC had 32 KB of RAM, a 72 KB hard drive (ROM) and a processor that ran at 43 kHz. By comparison, the latest Apple Watch, the 6, sports 32 GB of RAM (1 million times the RAM of the AGC) and a 64 bit dual processor in a thin rectangle as small as 40 mm high. Today’s cellphones have more computer power than all of NASA did in 1969, as do our smart toasters.
While the technological advances since Armstrong walked on the moon are remarkable, the Apollo program didn’t need the RAM we have come to expect today. Buzz Aldrin didn’t send gossipy texts about his colleagues. Michael Collins wasn’t downloading game apps and Neil Armstrong didn’t post moonwalk selfies on Instagram. Despite 21st century technological arrogance, our toasters can only launch toast and while our cellphones are great at directing us to a restaurant, they can’t send missions to the moon.
How was the AGC designed?
In 1969, computer scientists were still using punch cards to code. In fact, punch card programming was used well into the 70s. However, because the AGC at NASA’s headquarters and the one in the spacecraft had to communicate and run multiple tasks all at once, the AGC needed something that we take for granted today: an interface.
Fortunately, Hamilton’s team didn’t have to start from scratch. They were able to piggyback off of the U.S. Defense Department’s Polaris guided-missile system, which was made to launch nuclear weapons from submarines. Of course, that was just the start.
The team set out to boost the existing architecture with what they named “The Interpreter,” a virtualization scheme. Using just two kilobytes of memory, they were able to run five to seven virtual machines.
“The astronauts communicated with the computer through the DSKY, short for “display and keyboard.” They’d punch in numbers and get responses. It’s not easy to describe the user-interface system, but it relied on a series of program codes, as well as “verb” and “noun” codes. Verbs were things the computer could do (“78 UPDATE PRELAUNCH AZIMUTH”). Nouns were numerical quantities or measurements (“33 TIME OF IGNITION”). It was a long way from point-and-click simplicity.”
Most of the system’s memory was literally woven into the computer using rope memory, or a series of copper threads configured in a way that resembles childrens’ pot holder weaving kits.
At first, programmers began writing code using punch cards. After everything was visually scrutinized for errors, the printed codes were then sent to a Raytheon factory, where former employees, mostly women, of New England textile mills, wove the copper wires and magnetic core into a long “rope” of wire. The programs were written in the same binary code we use today. A wire through a tiny magnetic hole represented a one, and wrapping a wire around the core represented zero.
What kind of software was used on Apollo 11?
As any mechanic or carpenter will tell you, it’s not the size of the tools that matters; it’s the skill of the operator. The software that powered the AGC was remarkable, even by today’s standards.
“The Apollo Guidance Computer in the command module had two main jobs. First, it computed the necessary course to the moon, calibrated by astronomical measurements that the astronauts made in flight, with a sextant not unlike that used by oceanic navigators. They’d line up the moon, Earth, or the sun in one sight, and fix the location of a star with the other. The computer would precisely measure those angles and recalculate its position. Second, it controlled the many physical components of the spacecraft. The AGC could communicate with 150 different devices within the spacecraft—an enormously complicated task.
‘It has dozens of thrusters and all kinds of interfaces and a guidance platform and the sextant,” NASA historian Frank O’Brien said. “You start adding up all this stuff and go, Holy cannoli. This is really capable.’”The Atlantic
As with any good software, the program was able to identify hardware problems and even make up for the hardware’s limitations. Despite the fact that the computer on the lunar landing module, Eagle, was flashing warning messages shortly before landing. Margaret Hamilton, director of the 350 person Software Engineering Division of the MIT Instrumentation Laboratory, which developed on-board flight software for NASA’s Apollo program, felt confident enough in her team’s software that she gave NASA and the crew the go-ahead to land.
Armstrong is often given credit for manually seizing the piloting of the module during landing, the real story was a marvel in both teamwork and computer science. There was no manual control, so Armstrong had to tell the computer how to land, and the computer listened.
Not-so-fun fact: The original “LOL” had more to do with mockery than uproarious laughter, or as many of our mothers think, “lots of love.” It was a somewhat demeaning reference to Hamilton and her mostly female team. They were called “little old ladies,” and Hamilton was referred to as the “rope mother.” It’s safe to say that no one is laughing at them now.
Another not-so-fun fact: Hamilton was the first to coin the term “software engineer.” At the time she was accused of inflating her own worth.
In contrast to 1969, today, software engineering is among the most in-demand professions. Graduates of Hack Reactor’s coding bootcamps can earn well into six figures. At SpaceX and NASA, software engineers can make up to $170,000 per year.