Live data from Hacker News

47-year-old Voyager 1 fired up thrusters it hasn't used in decades

cnn.com

41–50 of 91 posts

Re: 47-year-old Voyager 1 fired up thrusters it hasn't used in decades

#41
post #24

You can agree with me or not, but Voyager 1/2 is a top technological achievement of the humankind. A piece of hardware so good that it survived working correctly 47 years in a hostile environment, driven by a computer with the power of modern car key. Amazing.

Agreed, and to me as a electronics/software engineer it serves as a constant reminder that if you want things to be reliable, sometimes less of the right stuff can indeed be more.

Re: 47-year-old Voyager 1 fired up thrusters it hasn't used in decades

#42
post #6

A radio signal takes more than 22 hours to reach Voyager 1. And it would take the same to get a response back. Incredible. And imagine the patience needed to send commands and wait for the outcome on the part of the engineering team. You can't afford to send a wrong command and have the luxury of undo. Also, I wonder how many generations of engineers must have worked on the project by now.

You characterize every single piece of equipment on platform so you can do somewhat accurate simulations. The shuttle flew most of the critical phases of their missions on the ground before ever uploading the code into an actual shuttle computer. The simulation system was continuously updated with real world performance information so it's accuracy continually improves. You also have a command processor on the spacec…

> You characterize every single piece of equipment on platform so you can do somewhat accurate simulations. The shuttle flew most of the critical phases of their missions on the ground before ever uploading the code into an actual shuttle computer. The simulation system was continuously updated with real world performance information so it's accuracy continually improves.

This is not true of the Voyager probes:

> Newer NASA missions have hardware and software simulators on the ground, where engineers can test new procedures to make sure they do no harm when they uplink commands to the real spacecraft. Due to its age, Voyager doesn't have any ground simulators, and much of the mission's original design documentation remains in paper form and hasn't been digitized.

https://www.wired.com/story/nasa-repair-voyager-1-spacecraft...

Re: 47-year-old Voyager 1 fired up thrusters it hasn't used in decades

#43
post #24

You can agree with me or not, but Voyager 1/2 is a top technological achievement of the humankind. A piece of hardware so good that it survived working correctly 47 years in a hostile environment, driven by a computer with the power of modern car key. Amazing.

It's incredible. The engineers who designed and built those spacecraft were brilliant. I'll raise a glass to their work!

Re: 47-year-old Voyager 1 fired up thrusters it hasn't used in decades

#44
I've often thought that simpler technology tends to be more robust because it has fewer moving parts.

This might be an apples-to-oranges comparison, but I've noticed that writing vanilla PHP or JavaScript code, while harder at first, results in more robust and easier-to-debug applications. On the other hand, using frameworks, ORMs, and other abstractions can make the codebase feel brittle and harder to maintain.

Re: 47-year-old Voyager 1 fired up thrusters it hasn't used in decades

#45
post #8
post #6

A radio signal takes more than 22 hours to reach Voyager 1. And it would take the same to get a response back. Incredible. And imagine the patience needed to send commands and wait for the outcome on the part of the engineering team. You can't afford to send a wrong command and have the luxury of undo. Also, I wonder how many generations of engineers must have worked on the project by now.

You can't afford to send a wrong command and have the luxury of undo. Indeed. We used to do this all the time. Cars without OTA updates, games and software shipped on disk or floppy or cd, all very make or break.

To be fair OTA updates aren't "low risk" - the trick is that you make your OTA system rock-solid so a failure results in a device you can still OTA too.

Re: 47-year-old Voyager 1 fired up thrusters it hasn't used in decades

#46

I've often thought that simpler technology tends to be more robust because it has fewer moving parts. This might be an apples-to-oranges comparison, but I've noticed that writing vanilla PHP or JavaScript code, while harder at first, results in more robust and easier-to-debug applications. On the other hand, using frameworks, ORMs, and other abstractions can make the codebase feel brittle and harder to maintain.

Simplicity at one layer might mean more complexity on others - I prefer vanilla JS when possible (and modern browsers are quite good at that), but the conceptual simplicity of PHP pushes some complexity into the template rendering, and using database APIs directly do couple you to a certain way of storing data.

Re: 47-year-old Voyager 1 fired up thrusters it hasn't used in decades

#47
post #37

Earlier quoted context omitted.

>It's astonishing to me that Voyager knows where Earth is at all It's not that astonishing when you realize astral navigation is what sailors hundreds of years ago did to navigate the seas. Just look at the stars with a sextant and with some basic trigonometry you'll know where you are exactly. The Apollo space crew had to do that by hand and eyes using a sextant too when the astral navigation computer failed.

Knowing your longitude is very difficult without a clock... Can't do it with just stars iirc.

I think you can, with the Moon and where it is in relation to the Sun.

Re: 47-year-old Voyager 1 fired up thrusters it hasn't used in decades

#48

I've often thought that simpler technology tends to be more robust because it has fewer moving parts. This might be an apples-to-oranges comparison, but I've noticed that writing vanilla PHP or JavaScript code, while harder at first, results in more robust and easier-to-debug applications. On the other hand, using frameworks, ORMs, and other abstractions can make the codebase feel brittle and harder to maintain.

This is mostly because when you write from scratch you have to understand the whole control flow.

Frameworks encourage learning stuff on "as-needed" basis, and you often don't know what you should know. So you do stuff on layer 3 because you can (and you already worked nearby), when it's already handled by layer 1 and reprocessed in layer 5. So you debug to see why you can't see changes and "fix" it on layer 7. And it seems to work.

Repeat this over 100 changes and you create crazy mess.

I've seen code that gets a list from the framework (already can't be null), checks if it's null, checks if it's empty. Makes it null if it's empty, then passes it through several more layers with null and emptiness checks on some of them, and then fails with NPE because there was no null check at n-th layer :)

The person writting this code was in the proccess of adding another null check at the NPE line to "fix the problem" :) The solution was to remove all the custom code except for the final destination of that list :)

I've written similarly bad code in some more complicated scenarios without realizing.

Re: 47-year-old Voyager 1 fired up thrusters it hasn't used in decades

#49

Earlier quoted context omitted.

100 kg apparently, supposedly providing fuel until 2034. Those are just very small puffs.

About 680 thousand puffs so far (40 x 365 x 47). Also, "When the team initially switched Voyager over to the trajectory correction thrusters six years ago, the tube opening was 0.01 inches (0.25 millimeters) across".

    $ qalc
    > 100 kg / 680e3
    approx. 147.06 mg
Each puff would be (Not sure what the USA weight unit is, stones or something? DDG says that's 0.000024 stones)

Re: 47-year-old Voyager 1 fired up thrusters it hasn't used in decades

#50
post #46

I've often thought that simpler technology tends to be more robust because it has fewer moving parts. This might be an apples-to-oranges comparison, but I've noticed that writing vanilla PHP or JavaScript code, while harder at first, results in more robust and easier-to-debug applications. On the other hand, using frameworks, ORMs, and other abstractions can make the codebase feel brittle and harder to maintain.

Simplicity at one layer might mean more complexity on others - I prefer vanilla JS when possible (and modern browsers are quite good at that), but the conceptual simplicity of PHP pushes some complexity into the template rendering, and using database APIs directly do couple you to a certain way of storing data.

Agreed, but I think there's something to be said for allowing light coupling sometimes. Anathema to "proper" design, but not uncommonly the overall complexity of a proper design makes maintenance harder, not less. I'd rather change a hardcoded SQL query than three layers of abstraction, myself; centralisation beats having to follow a trail of classes, and you always need a good test suite anyway.
Post reply on HN