this post was submitted on 22 Apr 2024
563 points (99.0% liked)
science
14779 readers
25 users here now
A community to post scientific articles, news, and civil discussion.
rule #1: be kind
<--- rules currently under construction, see current pinned post.
2024-11-11
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I was hoping they would say in this article what they did to fix it!
The actual news release has a bit more information.
Source: https://www.jpl.nasa.gov/news/nasas-voyager-1-resumes-sending-engineering-updates-to-earth
That's incredible. It also reminds me of the episode of Star Trek Deep Space 9 where they need to find space to store a bunch of people's transporter patterns, so they just dump them into the stations computer, replacing everything that used to be there lol
NASA engineers, man.
It interesting that the memory is so discrete that it can be reprogrammed when a single ROM fails. And it’s really neat that they made the whole thing accessible to a radio controlled boot loader. The planning that went into building and maintaining Voyager is really incredible.
I wonder if we could still build one as robust these days?
Wait how did they do all that WITHOUT contact?
The problem was that Voyager sent junk data back to us due to a memory fault. It was still responsive to receive updates from Earth and to pings.
Pinging Voyager 1 takes about 2 days, so testing updates is naturally quite slow.
Not only round trip time, the hardware only supports bandwidth of 160bps at this range. Down from the 21.6kbps at launch.
Im guessing it could still listen just not talk back
Edit read the article
It's simple rocket science
This Satelite must offer option to install software updates over the air, so they modified software and slowly uploaded it to the satelite.
rust programmers couldn't imagine the memory hacks smh
I know that this is supposed to be a joke, and I do find it funny, but I also find it sad that it carries a large dose of truth. C is such a "low-level" high-level language that it makes you deal directly with memory allocation and management as well as pointer arithmetic to advance addresses in the stack, which in my opinion is very important for programmers to gain an understanding of the actual hardware and architecture their programs are running on, because I feel that many don't have that understanding. Should Rust replace C in many applications, especially low-level, I fear that we will ultimately end up with worse code because of that. (BTW I know that Voyager's program is not written in C, this is just purely about your statement on Rust.)
C will never fully go away.
Constrained environments will always remain in C.
But RUST offers the best trade off today. It is way better than C++.
C IMO is not comparable to RUST.
Can we appreciate how they can basically change software of this 45y/o satelite over the air? Original designers thought everything through
That was awesome!