538
you are viewing a single comment's thread
view the rest of the comments
[-] quick_snail@feddit.nl 8 points 1 day ago

the crucial 30 lines of assembly for calculating Apollo 11's navigation trajectories.

I was never skeptical we went to the moon until now.

How the hell can you do all that in 30 lines?!?

[-] HiddenLayer555@lemmy.ml 1 points 9 hours ago

I mean, the math required is basically first year college level stuff.

Making a machine that will accurately follow that trajectory and not kill you is the hard part.

[-] Buddahriffic@lemmy.world 2 points 14 hours ago

Very efficiently.

Or for a less cheeky answer, I believe the method they used at a high level was pointing a camera at a few guide stars, so the 30 lines of assembly might have been a loop that checked those cameras for any drift of those stars and did a correction pulse of the rotation boosters to keep them centered. Oh, one of the references might have been the signal strength from home, too (signal gets weaker if the antenna isn't aligned).

Unless it was an emergency, it might only need to look at 5 pixels to determine alignment and correction.

Also, just because it's assembly doesn't mean it can't call subroutines and functions, so that 30 lines might be misleading in the way those several lines in the other reply have way more going on. That said, if it's just doing a pixel brightness comparison, that's one line to read the central pixel, then for each direction one line to read that pixel, one more to compare, one line to jump to next comparison if center is brighter, one instruction to initiate correction burn, one instruction to stop it immediately after, then one instruction to return to the start of the loop... Which comes to 22 lines total, leaving 8 for logging or maybe timing the burn. And that's assuming their instruction set didn't have anything fancy like read and compare, compare and jump, or a single instruction burn pulse.

[-] Birch@sh.itjust.works 19 points 1 day ago* (last edited 1 day ago)
import MoonPy

MoonPy.LandOnMoon()

while MoonPy.OnMoon:
    print("john madden")
[-] DupaCycki@lemmy.world 3 points 20 hours ago

Just applied to NASA with this code and they accepted me. Should have posted it under AGPL.

this post was submitted on 13 Apr 2026
538 points (99.4% liked)

Open Source

46221 readers
492 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 6 years ago
MODERATORS