This is the code that sent Apollo 11 to the moon (and it’s awesome)

preview_player
Показать описание
This is the source code that sent humans to the moon in 1969—and it’s even more amazing than you think! The Apollo Guidance Computer (AGC) was a true marvel of its time. I'm so glad that I learned so much about the AGC. I take a look at how this "tiny" computer achieved one of humanity’s greatest accomplishments, and why its code (complete with jokes and Shakespeare) is still legendary today...

#developer #coding

Timeline
00:00 Introduction
00:41 A Rundown of the Apollo Mission
02:29 The Apollo Guidance Computer is a beast
07:17 The Software that made it happen
11:11 The code had shakespeare
15:42 When errors happened during landing

links:

⭐️ Interested in the lego on my shelf, view my amazon store (affiliate)
Рекомендации по теме
Комментарии
Автор

Hi, thanks for watching. I incorrectly said the landing was on 29 July, it was on the 20th. I just read it wrong on my script! Also this video is getting a few moon landing deniers unfortunately. I’ll try remove the more crazy comments but please ignore (unless you really want to get into an online argument!)

codingwithdee
Автор

Even more mind blowing is that the AGC's memory was HAND WOVEN.

OneAndOnlyMe
Автор

My parents helped write the code for the AGC it was their first job after getting their masters degrees in math, (no computer science degrees back then). They worked in Houston and were working there in January 27th, 1967 when word came in from Cape Canaveral that Gus Grissom, Ed White and Roger Chaffee had died in the Apollo I capsule fire. It was devastating news as they had known them if only from afar. It is one of the clearest memories my mother still has of that time. Later they moved on to work on missile systems at White Sands Missile Range like the Patriot and Toe missiles. I still remember coloring on discarded punch cards and printouts from failed runs :) When I spoke to my dad about it years ago he talked about having to program computers with switches when he first got to WSMR, crazy stuff. Things have come a long way since then it's good to remember that we stand on the shoulders of giants.

cschenault
Автор

Once in a while I stumble across something like this that really makes up for all the other mediocre junk taking up space on YouTube that makes me say to myself, "I'm really glad I watched that!"

Dee, good job, this is pure gold👌
The content was a very fascinating little slice about this awesome historic endeavor! It invokes more appreciation for all those super intelligent people it took to make the program happen.

Youknewthatalready
Автор

Kudos for making the distinction between Assembly code and Machine code. Some today even do not know that.

What_do_I_Think
Автор

I started playing with computers around '69/70 and started programming for space systems around '80. When I began, cards were for development and paper tape was for finished code (it was more compact but really really annoying to edit). Fast forward ten years to around 1980 and terminals faster than a TTY were starting to become common, which made all the programmers happier -- even at 300 baud. That said, I was still doing a fair amount of programming with cards well into the 80s. Many programs were developed using FORTRAN to work out the algorithms and logic (C wasn't yet mainstream, nor vetted for space missions where I worked) and chase out a lot of the bugs, but in the end we were still translating that by hand into "optimized" and commented assembly (i.e. just compiling and doing an assembly dump as a shortcut wasn't an option). It was a treat when you got to use an AL you already knew from a previous computer; still, you ended up learning a lot of them.

terpcj
Автор

I have worked on Assembly language programs and it really finds out your weaknesses and forces you to learn. I am not a professional developer BTW, but I do have a passion for embedded systems.

I know why they used assembly so much back in the day. It was their only real option.

Thank goodness for really good compilers and large memories nowadays. WE ARE SPOILED.

Jenny_Digital
Автор

I just smirk when people say older people don’t understand tech. As a 14 year old, I learned about microcomputers on an Intel 8085 development kit. You would write a program on paper using the 8085 assembly instructions, and then look up the machine code for those instructions in the manual and enter them using a keypad. 8 years later at university I was using my personal 386 PC to run Mathcad etc. It is amazing how rapidly things are developing. Apparently one cellphone represents a cost beyond the total world GDP of the 60’s where it possible to construct it using valve tech from that era. Great clip about this famous computer. A testament to pushing the limits of the tech you have available and the character of the people faced with solving problems

GerhardBothaWFF
Автор

I just LOVED your commentary on the moon landing computer & code. I was on a night patrol in Vietnam during the moon landing & missed watching it live. Years before that, my 1st exposure to computer programming was in 1967 as an engineering student with Fortran and punch cards. To see what they were able to do with such a small amount of memory & 'primitive' interface in real time just 2 years later was pretty amazing. I ended up switching to a career in computers about the time the 1st Apple computer came out & I did a little assembler coding before going to higher languages. If people only knew all that a computer, such as a smart phone, has to do in order to accomplish even the simplest task, they would probably find it hard to believe.

petecunningham
Автор

Curious Marc is a treasure trove channel. Going to auctions, nabbing old gear, doing hardware debugging, rebuilding display tech... Then casually piloting a landing. They are amazing.

Fred-yqfs
Автор

Margaret Hamilton was the lead software engineer of the AGC. She coined the term
Software Engineering and pioneered fault tolerance in software systems. Her ideas behind fault tolerance played a crucial role in gracefully handling of AGC overload right before landing

shantanushekharsjunerft
Автор

I went to the Smithsonian a couple of decades ago now and was absolutely stunned by the technology and computers used to go to the moon. It looked absolutely archaic in design. I literally saw soldering points on the greenboards for wires. I was told at the time they had triple redundancies because of the anticipated shaking that might loosen the wires. My respect for those astronauts only grew tenfold when I saw that capsule and those components. Now, I have heard that we have to relearn how to go to the moon, because most of those brilliant engineers are now dead and things were kept on paper. Wow. You would have thought that we would have kept and or recorded these kinds of things, even if for only posterities sake. Great video, thanks for taking the time to explain it.

jamesrizza
Автор

Fascinating. The code itself is one of the best records of the mission. I also want to point out the amazing inertia motors\sensors connected to the computer. This combination of brilliant engineering enabled the craft to remain perfectly oriented through all missions. Our phones have a similar device installed, and the Occulus Rift has a pair. A DJI Drone hovers perfectly still in all wind conditions (below 25mph) because of its precise, near weightless inertia motors. For a computer, in 1969, to observe that data and respond to it accurately is mind blowing.

claimiklv
Автор

Thank you for this video. It's really well done.
While I was writing my book, How Apollo Flew to the Moon, I contacted Don Eyles who wrote the landing routines, to have him check over my explanations. Don has an article online called "LM Tales" where he explains the alarms. It's a quite nuanced electronic funny in the LM systems, but the short form is that various systems were linked by 800Hz AC signals. the frequency was specified but the phase was not. If, on power up, the phase between two of these was near 90 or 270 degrees, garbage data was sent to the computer. Unfortunately this was the case on Apollo 11. The computer then used up 13% of its cycles dealing with this noise. That was enough to take the computer over its limit when workload was high. As you say, it just did a soft restart. Five times!

wdavidwoods
Автор

Curious Marc is bringing these machines back to life

RogierYou
Автор

I'm all for expressing a sense of humour in code comments.

cerealport
Автор

Excellent video. It's heartening to see young software developers pay homage to the giants whose shoulders all developers stand on. I was 7 years old when Apollo 11 landed on the moon. Later in high school, I read about the AGC and I was inspired to learn how to program. First course was FORTRAN with punch cards. I worked as a software engineer for 38 years and never forgot the lessons learned from those pioneers. PS I love your South African accent. Keep up the good work!

jameskranig
Автор

So cool you gave the Wizard of Oz not one but two mentions in your video. One is the "Off to See the Wizard" bit of the code and also that Margaret Hamilton is not only the MIT software engineer but another Margaret Hamilton was the Wicked Witch of the West.

holstonusa
Автор

Landing was on the 20th. Thanks for highlighting the software/hardware of the effort!

norfintorkjoe
Автор

I started learning programming when I was 19 in 83. 8086/8088 assembly code was the common language. I still use 8086 assembly as BASIC is often to limited.
I got to watch a Saturn 5 launch in 71. That is when I got the programming bug.
Thanks for this information.

cyclenut