Slashdot Mirror


Assembly Code That Took America to the Moon Now Published On GitHub (qz.com)

An anonymous Slashdot reader writes: "The code that took America to the moon was just published to GitHub, and it's like a 1960s time capsule," reports Quartz. Two lines of code include the comment "# TEMPORARY, I HOPE HOPE HOPE," and there's also a quote from Shakespeare's play Henry VI. In addition, the keyboard and display system program is named PINBALL_GAME_BUTTONS_AND_LIGHT, and "There's also code that appears to instruct an astronaut to 'crank the silly thing around.'"

A former NASA intern uploaded the thousands of lines of assembly code to GitHub, working from a 2003 transcription made from scans inherited by MIT from a Colorado airplane pilot, and developers are already using GitHub to submit funny issue tickets for the 40-year-old code -- for example, "Extension pack for picking up Matt Damon". Another issue complains that "A customer has had a fairly serious problem with stirring the cryogenic tanks with a circuit fault present." Because this issue succinctly describes the Apollo 13 mission in 1970, the issue has been marked "closed".

3 of 74 comments (clear)

  1. Idiots. Idiots everywhere. by Anonymous Coward · · Score: 5, Insightful

    Unfortunately, with the amount of coverage that this is getting in the geek sphere, the Dunning-Kruger Effect is in full force. So far, just today, I've seen:

    - Someone trying to look into the code who had apparently never encountered a .s file before, and
    - Some (judging by his name) Indian guy who had apparently never heard of the term "attitude" in relation to flight control, and submitted a pull request to change it to "altitude".

    Idiots. Idiots everywhere.

  2. Re:good code too by Anonymous Coward · · Score: 2, Insightful

    That is, indeed, a WTF; you only need to store 45 degrees, the rest can be trivially calculated from that. Also, this means you could store the precalculated table as 16-bit (or even 32-bit) integers, yielding much more accurate results, and still save space.

    This isn't really uncommon in embedded systems.

  3. Re:good code too by Anonymous Coward · · Score: 2, Insightful

    Lame. A full circle is 256 entries, not 360.
    Allows you to add angles together without boundary check and you can easily mirror angles.
    There is no real reason to stick with 360 degrees circles, if necessary you can step up to 512.