ROB TOM ROE
  • Home
  • Blog
  • Projects
  • Virtex Edge
  • Contact
February 7, 2017 by rtroe

Historic Source Code

Historic Source Code
February 7, 2017 by rtroe

(this post was originally from a separate blog of mine months ago, i’m reposing it here for consolidation).

It’s been almost 45 years since the last man stepped on the moon, a day shy of 15 years before I was even born. The technology that has advanced since then is phenomenal. There’s that old meme of how the computer in our phone was more powerful than the computer they took to the moon. In fact it’s been compared more to a current day graphing calculator than even a handheld mobile.

https://s-media-cache-ak0.pinimg.com/736x/0e/f5/f4/0ef5f49e0c2d398f51dfe4d774a96249.jpg

But recently, a bit of that history was released out publicly on Github. The source code for the Apollo 11 Guidance Computer for both the Command Module and Lunar Module, both referenced as Comanche055 and Luminary099, were recently uploaded to the code sharing site by NASA intern Chris Garry.

The code its self had been available for almost 15 years now, it’s the first time it’s been available in a format such as one Github. Originally scanned by pilot Gary Neff, MIT obtained the scans, where in 2003, researcher Ron Burkey transcribed the original hard copies manually line by line.

But now that it’s available in such clear format to the masses, Reddit/githubers/the internet at large have been pouring over the source code, written 100% in Assembly, and realizing there’s more to the code than just commands. it turned out the original engineers who wrote the code had a bit of a sense of humour, peppering the code with references, jokes and quotes through out.

Burn Baby Burn

For example, The Master Ignition Routine has prefaced with ‘Burn, Baby, Burn’ along with an explanation of it.

https://i0.wp.com/data.qz.com/2016/static-images/nasa1.png

Later own though, they even quote shakespear.

A Reddit user noted that there’s more to the quote though, and that the Nouns and Verbs mentioned are actually a reference to the way in which the commands were named based off of how they were entered into the computer system.

Rule 1 of Aerospace, Hope is not a Method

Some bugs and issues were found in the thousands of lines of code. One which being two commands that were hoped to be kept temporary, but eventually made their way into the final product.  I can only assume what ever IDE they used didn’t have //TODO: tracing.

https://i0.wp.com/data.qz.com/2016/static-images/nasa3.png

One user on Github even took to noting an issue with stirring the cryogenic tanks with a circuit fault present. A nod to the Apollo 13 incident. It was noted that the bug was fixed in a later release (Apollo 14).

Programmings Changed, Programmers Haven’t

To find comments such as these is not something new though. The original source code of the Windows 1.0 OS, which was released recently, had similar easter eggs and references to Shakespear, as well as some less elegant yet more modern vocabulary. To be fair, I’ve heard Shakespear invented that word as well. You can find the collection of the easter eggs over here.

https://www.neowin.net/images/uploaded/wtacvxy.jpg

Leave it to the Internet

The /r/ProgrammerHumor subreddit has a running commentary and insight into the Apollo 11 code its self and is worth a good read. And as proof it all works; The original Quartz post on the code has a video of an Apollo Guidance Computer emulator running the code its self.

It’s amazing to see under the hood of such a piece of history, and to look upon the engineering methodologies and results of a generation ago which accomplished something so tremendous. And despite all our advances, at the end of it all, this proves that from the 60’s, through the 80’s and into now,not everything has changed with programmers.

Related

Previous articleVertices Engine Optimizations - Encapsulating Post ProcessorsNext article Colour Index Encoding Selection in WebGL

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

About The Blog

Nulla laoreet vestibulum turpis non finibus. Proin interdum a tortor sit amet mollis. Maecenas sollicitudin accumsan enim, ut aliquet risus.

Recent Posts

Game Jam – GatewaysApril 25, 2021
Game Jam – Frequency SyncJanuary 29, 2019
Shader Series – Screen Space ReflectionsJune 26, 2018

Categories

  • 3C – Capture Crop Create
  • 3D Laser Scanner
  • Arduino
  • Asia
  • Chrome Addins
  • Dev Blog
  • DIY
  • Game Jam
  • Metric Racer
  • MonoGame Tutorials
  • Music
  • OpenCascade
  • Programming
  • Quadcopter
  • Shader Series
  • Shaders Tutorials
  • Space Esc8bit
  • The Chaotic Workshop
  • Traveling
  • Tutorial
  • Tutorials
  • Uncategorized
  • Vertices Engine
  • Videos
  • Virtex Dev Blog
  • Virtex Edge Design

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Tags

3D 8-Bit AdMOb Ads android Animation Apollo Apollo 11 Audio Audio Puzzle C# Editor Electronics featured Game Dev Game Development Game Engine Gaming Github GLSL Graphics HLSL Japan Javascript Linux Mobile MonoGame NASA OpenGL Optimizations Programming Projects Screen Space Reflections Shaders Source Code SSR Terrain Editor tools Transparency Tutorial Vertices Virtex Edge Design WebGL wxWidgets XNA

Recent Posts

Game Jam – GatewaysApril 25, 2021
Game Jam – Frequency SyncJanuary 29, 2019
Shader Series – Screen Space ReflectionsJune 26, 2018

Categories

  • 3C – Capture Crop Create
  • 3D Laser Scanner
  • Arduino
  • Asia
  • Chrome Addins
  • Dev Blog
  • DIY
  • Game Jam
  • Metric Racer
  • MonoGame Tutorials
  • Music
  • OpenCascade
  • Programming
  • Quadcopter
  • Shader Series
  • Shaders Tutorials
  • Space Esc8bit
  • The Chaotic Workshop
  • Traveling
  • Tutorial
  • Tutorials
  • Uncategorized
  • Vertices Engine
  • Videos
  • Virtex Dev Blog
  • Virtex Edge Design

Tags

3D 8-Bit AdMOb Ads android Animation Apollo Apollo 11 Audio Audio Puzzle C# Editor Electronics featured Game Dev Game Development Game Engine Gaming Github GLSL Graphics HLSL Japan Javascript Linux Mobile MonoGame NASA OpenGL Optimizations Programming Projects Screen Space Reflections Shaders Source Code SSR Terrain Editor tools Transparency Tutorial Vertices Virtex Edge Design WebGL wxWidgets XNA
Rife Wordpress Theme. Proudly Built By Apollo13

ROB TOM ROE

I’m an Entrepreneur, Software Developer and Mechanical Engineering Grad. I started out working in the Energy and Nuclear safety sector as well as Aircraft Design, Repair and Stress analysis. In 2015 I started Virtex Edge Design , a software and game development company.

Recent Posts

Game Jam – GatewaysApril 25, 2021
Game Jam – Frequency SyncJanuary 29, 2019
Shader Series – Screen Space ReflectionsJune 26, 2018

Categories

  • 3C – Capture Crop Create
  • 3D Laser Scanner
  • Arduino
  • Asia
  • Chrome Addins
  • Dev Blog
  • DIY
  • Game Jam
  • Metric Racer
  • MonoGame Tutorials
  • Music
  • OpenCascade
  • Programming
  • Quadcopter
  • Shader Series
  • Shaders Tutorials
  • Space Esc8bit
  • The Chaotic Workshop
  • Traveling
  • Tutorial
  • Tutorials
  • Uncategorized
  • Vertices Engine
  • Videos
  • Virtex Dev Blog
  • Virtex Edge Design