The Joy of Software Craft
February 2026
So I’ve been digging through the actual Apollo 11 source code. Like, the real thing. Not a summary, not a Wikipedia article - the AGC assembly listings from Hamilton’s team at the MIT Instrumentation Lab. And I keep finding stuff that makes me laugh out loud.
Because here’s the thing nobody tells you about the code that landed humans on the Moon: it’s funny. It’s got personality. It’s got Latin phrases and Wizard of Oz references and a DJ’s catchphrase and a T.S. Eliot quote and what might be the first poop joke in space.
Now — none of those comments flew to the Moon. I should be precise about that, because Hamilton would be. The assembler stripped every comment, every joke, every label name, and produced wire lists — pure binary. The rope mothers at Raytheon wove machine code through ferrite cores, one bit at a time. Not poetry. Not Latin. Just ones and zeros.
The comments were woven into something else: the memories of the people who wrote the code, the culture of the team that maintained it, and now, the history we’re still learning from. They didn’t go to the Moon, but they were a crucial part of getting there — and more importantly, getting back safely.
Here’s what that looks like. This is page 731 of the actual printed assembly listing for Luminary099 — the Lunar Module flight software. Assembled July 14, 1969, six days before the landing. Photographed at the MIT Museum by Paul Fjeld for the Virtual AGC project.

Page 731: BURN, BABY, BURN — MASTER IGNITION ROUTINE. Lines prefixed R are remarks (comments) — the address and octal columns are blank. The assembler produced nothing for them. They stayed on this page.
Here’s the same code, annotated. The distinction is clearer when you see it in color:
# BURN, BABY, BURN -- MASTER IGNITION ROUTINE # THE MASTER IGNITION ROUTINE WAS CONCEIVED AND EXECUTED, AND (NOTA BENE) # IS MAINTAINED BY ADLER AND EYLES. # # HONI SOIT QUI MAL Y PENSE BURNBABY TC PHASCHNG # GROUP 4 RESTARTS HERE OCT 04024 CAF ZERO # EXTIRPATE JUNK LEFT IN DVTOTAL TS DVTOTAL
The TC, OCT, CAF, TS instructions became octal numbers in the wire lists — you can see them on page 731: 05353, 04024, 40000, 50142. The rope mothers wove those numbers into core rope memory, and they flew. The Latin motto, the authorship note, “EXTIRPATE JUNK” — the assembler threw all of that away. But sixty years later, we’re still reading it.
BURN, BABY, BURN
Section titled “BURN, BABY, BURN”Let’s start with the master ignition routine. The code that lights the rocket engine. In any sane, buttoned-up engineering organization, you’d expect this to have some boring functional name, right?
Nope. They named it after a soul music DJ.
# BURN, BABY, BURN -- MASTER IGNITION ROUTINELuminary099/BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc
The transcription notes tell the whole story:
At the get-together of the AGC developers celebrating the 40th anniversary of the first moonwalk, Don Eyles (one of the authors of this routine along with Peter Adler) has related to us a little interesting history behind the naming of the routine.
It traces back to 1965 and the Los Angeles riots, and was inspired by disc jockey extraordinaire and radio station owner Magnificent Montague. Magnificent Montague used the phrase “Burn, baby! BURN!” when spinning the hottest new records.
So the routine that ignites the descent engine on the Lunar Module - the one that commits you to landing on the Moon - was named after a soul music DJ’s catchphrase from 1960s Los Angeles. Don Eyles and Peter Adler just… went with it. And it stuck.
But that’s not even the best part. Look at what’s hiding in the comments of that same file:
# THE MASTER IGNITION ROUTINE WAS CONCEIVED AND EXECUTED, AND (NOTA BENE) IS MAINTAINED BY ADLER AND EYLES.## HONI SOIT QUI MAL Y PENSEThat’s Latin. Well, Norman French technically. “Shame on him who thinks evil of it.” It’s the motto of the Order of the Garter, the oldest order of chivalry in England. Adler and Eyles basically said: We wrote this. We maintain this. And if you have a problem with it - shame on you.
And then, right before the ignition tables:
# NOLI SE TANGERE“Do not touch.” A warning to other programmers. Don’t mess with our ignition tables. In Latin. In the source listings for code that flew to the Moon.
The routine itself greets you on the way in and says goodbye on the way out:
P40AUTO TC MAKECADR # HELLO THERE. TC BANKJUMP # GOODBYE. COME AGAIN SOON.I don’t know why, but “COME AGAIN SOON” in all caps in an assembly language comment just gets me. It’s so human. Someone was writing code that would fire a rocket engine 240,000 miles from Earth, and they took the time to be hospitable.
Off to See the Wizard
Section titled “Off to See the Wizard”Now follow the thread. THE_LUNAR_LANDING.agc - this is the actual lunar landing code. Program 63, the braking phase. When the Lunar Module commits to powered descent. This is it. The big one.

Page 789: THE LUNAR LANDING. Three famous comments on one page — “PLEASE CRANK THE SILLY THING AROUND,” “SEE IF HE’S LYING,” and “OFF TO SEE THE WIZARD… BURNBABY.” All stayed on this page. The octal words next to them flew.
First, the computer needs the astronaut to reposition the antenna. Here’s how the code asks:
CAF CODE500 # ASTRONAUT: PLEASE CRANK THE TC BANKCALL # SILLY THING AROUNDLuminary099/THE_LUNAR_LANDING.agc:245-246
“Please crank the silly thing around.” Written in the margins of the lunar landing code.
And the next line, after checking if the astronaut actually did it?
TCF P63SPOT3 # PROCEED SEE IF HE'S LYING“See if he’s lying.” The computer doesn’t trust the astronaut. Haha. I mean, fair enough - you’re landing on the Moon, maybe double-check.
Then, once the landing radar is initialized, the code jumps to the ignition sequence:
TC POSTJUMP # OFF TO SEE THE WIZARD... CADR BURNBABYLuminary099/THE_LUNAR_LANDING.agc:254-255
“Off to see the wizard.” And where does it go? BURNBABY. The soul music DJ routine. So the Lunar Module is Dorothy, the ignition routine is Oz, and the whole thing was named after Magnificent Montague.
I want to emphasize: this is THE code path. The one that actually fires the descent engine. The one Armstrong and Aldrin actually executed on July 20, 1969. Wizard of Oz references and all.
The Names We Give Things When Things Go Wrong
Section titled “The Names We Give Things When Things Go Wrong”This is where it gets really interesting. Because the humor in the Apollo code isn’t random - it maps almost perfectly to levels of severity. The worse things get, the more creative the naming.

Page 1383: ALARM AND ABORT. WHIMPER, POODOO, MR.KLEAN, and CURTAINS — the entire escalation ladder of abort severity — all on one page.
WHIMPER CA TWO AD Z TS BRUPT RESUME TC POSTJUMP # RESUME SENDS CONTROL HERE CADR ENEMAPOODOO INHINTWHIMPER - a soft restart. “Not with a bang but a whimper” - that’s T.S. Eliot, “The Hollow Men.” When the system needs to reset gently, it whimpers. And whimpering leads to…
ENEMA - the full system flush. In FRESH_START_AND_RESTART.agc, ENEMA is the routine that cleans everything out and starts fresh. Medical metaphor. The comment even uses it as a verb:
# THE FOLLOWING ENEMA WILL REMOVE THE# DISPLAY INERTIAL DATA OUTBIT.Luminary099/P70-P71.agc:168-169
POODOO - P00-DOO, as in “DO Program 00.” The hard abort handler — when things are really bad, return to the idle program. P00 (pronounced “pooh”) is the AGC’s reset state, and the people who maintained it were literally called the “POOH People” (see FRESH_START_AND_RESTART.agc: “DO NOT USE GOPROG2 OR ENEMA WITHOUT CONSULTING POOH PEOPLE”). Called from all over the codebase. And then there’s the subroutine that orchestrates the cleanup:
TC BANKCALL # TERMINATE GRPS 2, 4, 1, 3, 5, AND 6 CADR MR.KLEAN # (I.E., GRP 4 LAST) TCF WHIMPERMR.KLEAN. Of course.
CURTAINS - when it’s really, truly over:
CURTAINS INHINT CA Q TC ALARM2Luminary099/ALARM_AND_ABORT.agc:182-184
And then there’s this absolute gem buried in FRESH_START_AND_RESTART.agc, line 353:
# DO NOT USE GOPROG2 OR ENEMA WITHOUT CONSULTING POOH PEOPLE.“Consulting Pooh People.” I have so many questions. Who are the Pooh People? Is this a Winnie the Pooh reference? Is it related to GOTOPOOH (which appears all over the codebase as the “go back to idle” destination)? I don’t know. Nobody alive seems to know for sure. But it’s in the flight code. In the restart logic. For the computer that flew to the Moon.
”TEMPORARY, I HOPE HOPE HOPE”
Section titled “”TEMPORARY, I HOPE HOPE HOPE””This one might be my favorite. Deep in LUNAR_LANDING_GUIDANCE_EQUATIONS.agc:

Page 801: LUNAR LANDING GUIDANCE EQUATIONS. “TEMPORARY, I HOPE HOPE HOPE” — said twice, on lines 0133–0134. The plea stayed here. The instructions shipped in rope.
TC BANKCALL # TEMPORARY, I HOPE HOPE HOPE CADR STOPRATE # TEMPORARY, I HOPE HOPE HOPELuminary099/LUNAR_LANDING_GUIDANCE_EQUATIONS.agc:179-180
Some programmer wrote a temporary fix. They knew it was temporary. They REALLY knew it was temporary. They said it three times. The assembler stripped the plea, but the temporary fix itself? That shipped. In rope. To the Moon.
If you’ve ever written a TODO comment and found it still in production two years later, this is your patron saint moment. The instructions your TODO described went to the Moon. They went TWICE — they’re in both Comanche (Command Module) and Luminary (Lunar Module).
Pinball Game Buttons and Lights
Section titled “Pinball Game Buttons and Lights”The entire human interface for the Apollo Guidance Computer - the DSKY, the display and keyboard, the thing the astronauts actually interacted with - was officially titled “PINBALL GAME BUTTONS AND LIGHTS” in the source code. Thousands of lines of user interface code. Named after an arcade game.

Page 390: PINBALL GAME BUTTONS AND LIGHTS. Every line on this page is prefixed R — the entire page is comments. Not a single machine instruction. The assembler produced nothing for it. But it documents the verb/noun interface that astronauts used to fly to the Moon.
Luminary099/PINBALL_GAME_BUTTONS_AND_LIGHTS.agc
And there’s an amazing backstory here. Ramon Alonso, one of the original AGC developers, explained that nobody had actually written interface requirements when they needed to demo the computer. So the coders threw something together using a verb/noun concept - type a verb number, type a noun number, execute. Whimsical. Quick. A hack for a demo.
And then it survived into the flight software. Nobody got around to replacing it. The objections came in: “it’s not scientific,” “it’s not dignified,” “astronauts won’t understand it.” But the coders had already built it, people were familiar with it, and it worked. So it flew.
OK, I have to talk about this one. Because all the humor and personality in this code exists alongside something dead serious, and that contrast matters.

Page 1107: EXECUTIVE. At the very bottom — “NO CORE SETS AVAILABLE. OCT 1202.” This alarm fired three minutes before landing on July 20, 1969. The comment stayed here. The alarm code flew — and saved the mission.
CA Q TC BAILOUT1 # NO CORE SETS AVAILABLE. OCT 1202Line 207-208. This is the 1202 alarm. “No core sets available.” The executive - the task scheduler, the thing that decides what runs when - has run out of memory slots for programs.
On July 20, 1969, about three minutes before landing, this alarm fired. Then a 1201 alarm - “NO VAC AREAS”:
CA Q TC BAILOUT1 OCT 1201 # NO VAC AREAS.The rendezvous radar was flooding the computer with interrupts. The computer was overloaded. It literally did not have enough room to do everything it was being asked to do.
In any lesser system, that’s a crash. That’s a reboot. That’s “abort the landing.”
But Hamilton’s team had designed the software with priority-based scheduling. When the executive ran out of resources, it didn’t freeze - it shed the lower-priority tasks and kept running the critical ones. Guidance. Navigation. Control. The stuff that keeps you from crashing into the Moon at 3,000 miles per hour.
The computer said “I’m overloaded” and kept flying. It said it several more times. And it kept flying every time.
Steve Bales in Mission Control made the call: “We’re GO on that alarm.” And they landed.
That architecture - that decision to build a system that could triage its own workload under stress - that was Margaret Hamilton’s team. That was the engineering discipline underneath all the jokes and Latin and Wizard of Oz references. The personality didn’t come at the expense of rigor. It existed alongside it.
What It All Means
Section titled “What It All Means”So here’s where I could get all preachy about What This Teaches Us and deliver some neat little lesson wrapped in a bow. But I’m not gonna do that, because the code already made the argument better than I could.
Look at what we’ve got here. 130,186 lines of assembly code across two spacecraft (65,348 for Comanche055, 64,838 for Luminary099). Written by a team led by a 33-year-old woman who had to invent the job title “software engineer” because the discipline didn’t exist yet. Signed off by Margaret H. Hamilton, “Colossus Programming Leader, Apollo Guidance and Navigation,” March 28, 1969. Woven into copper wire by hand. No undo. No hotfix. No deployment pipeline. One shot.
And the people who wrote it named their ignition routine after a soul DJ. Called their abort handler POODOO. Hid Latin phrases in the comments. Said “Off to see the wizard” right before committing to the lunar descent. Left a note saying a temporary fix was TEMPORARY, I HOPE HOPE HOPE.
They did this because they were human beings doing extraordinary work, and human beings bring their whole selves to the things they care about. The humor wasn’t unprofessional. The personality wasn’t a liability. It was evidence that real people - people who laughed and made references and had inside jokes - were pouring themselves into this code. And that code saved the mission.
Margaret Hamilton built a culture where people could name things ENEMA and CURTAINS and WHIMPER, and also build priority-based executive schedulers that could shed non-critical tasks under overload conditions and keep flying. Those aren’t contradictions. That’s what a healthy engineering team looks like.
The best code has always had fingerprints on it. It’s always had personality. The people who tell you to strip all that out, to make everything sterile and corporate and “professional” - they’re missing something important. They’re confusing seriousness of purpose with seriousness of tone. Hamilton’s team was dead serious about getting astronauts to the Moon and back alive. They were not at all serious about what they named things along the way.
And that, I think, is the joy of software craft.
All file paths reference the chrislgarry/Apollo-11 repository. Go read the source code yourself. It’s public domain. The machine instructions flew to the Moon. The comments — the jokes, the Latin, the humanity — never left Earth, but they’re woven into the memories of the people who built it, and now woven into history.
P.S. - If you find more Easter eggs in there, I want to know about them. I’ve barely scratched the surface of 130,000 lines.