Have you ever wondered how NASA updates Voyager’s software from 15 billion miles away? Or how Voyager’s memories are stored? In this video, we dive deeper into the incredible story of how a small team of engineers managed to keep Voyager alive, as well as how NASA could perform a software update on a computer that’s been cruising through space for almost half a century.

  • Redkey@programming.dev
    link
    fedilink
    arrow-up
    46
    arrow-down
    1
    ·
    edit-2
    1 year ago

    This is a short, interesting video, but there’s really nothing here for any competent programmer, even a fresh graduate. It turns out they they update the software by sending the update by radio (/s). The video hardly goes any deeper than that, and also makes a couple of very minor layman-level flubs.

    There is a preservation effort for the old NASA computing hardware from the missions in the 50s and 60s, and you can find videos about it on YouTube. They go into much more detail without requiring much prior knowledge about specific technologies from the period. Here’s one I watched recently about the ROM and RAM used in some Apollo missions: https://youtu.be/hckwxq8rnr0?si=EKiLO-ZpQnJa-TQn

    One thing that struck me about the video was how the writers expressed surprise that it was still working and also so adaptable. And my thought was, “Well, yeah, it was designed by people who knew what they were doing, with a good budget, lead by managers whose goal was to make excellent equipment, rather than maximize short-term profits.”

    • lysdexic@programming.dev
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 year ago

      (…) there’s really nothing here for any competent programmer, even a fresh graduate. It turns out they they update the software by sending the update by radio.

      How they send the payload is hardly the hard part of applying a software update. The hard part is stuff that you need to do after you have the payload: ensure the payload is valid, have the infrastructure in place to roll it out without bricking the hardware, be able to roll back faulty changes if some problem occurs after rolling stuff out, etc.

      I can tell you with absolute certainty that this stuff is challenging for the majority of competent programmers out there, and they have the luxury of falling back to telling users to reboot or reinstall the app.

      • Redkey@programming.dev
        link
        fedilink
        arrow-up
        6
        ·
        edit-2
        1 year ago

        I completely agree. And the video didn’t discuss how any of that actually happens, except to say that they send the update over radio, and to give a brief description of how the storage system on Voyager works (physically, not logically). That’s what I meant by “really nothing here”, “here” meaning “in the video”, not “in how the Voyager probe works and updates are carried out”.

        That next line, “It turns out they they update the software by sending the update by radio,” was meant to be a bit sarcastic, but I know that isn’t obvious in text, so I’ve added a signifier.

  • ruffsl@programming.devOP
    link
    fedilink
    English
    arrow-up
    12
    arrow-down
    2
    ·
    1 year ago

    I was thinking of cross posting this to a Fortran community, but it looks like we don’t yet have one.

    • lysdexic@programming.dev
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      1 year ago

      I was thinking of cross posting this to a Fortran community, but it looks like we don’t yet have one.

      I’m sure everyone is still in comp.lang.fortran telling all kids to get off their lawns.

    • threelonmusketeers
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      2
      ·
      1 year ago

      but it looks like we don’t yet have one.

      Be the change you want to see in the world.

      • ruffsl@programming.devOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        The only experience I have with working with Fortran would be setting up gfortran when building SciPy from source, and perusing its codebase to see how it’s FFT functions were so optimized. Not enough to diligently mod I’m afraid.