JSON on the Moon (nearly) #4263
Replies: 1 comment 1 reply
-
God dang hardware malfunctions ruining our perfect software systems, ain't that right? Joking aside, if being used for a space mission is not a testimony of a software well written, then I do not know what is. What I find curious is that despite the speed and memory efficiency not being the primary goals of this library it was still chosen to be run on the spacecraft. I am completely ignorant about what kind of hardware they use for such missions, but I imagined due to the resources possibly being quite constrained this being an environment where they were trying to squeeze every single byte of memory and CPU cycle they could. Does it make these other JSON libraries that sacrifice elegancy of API for some extra performance overrated? Definitely keep us informed about the future missions please, and with details if possible, as the topic of practical application of software in such a harsh and unforgiving environment is fascinating. As a matter of fact according to that article you posted there was a mission with successful landing this February! |
Beta Was this translation helpful? Give feedback.
-
Four years ago, I received a support email in which a developer reported a GCC warning. He casually mentioned that the warning occurred in a "service daemon on an embedded system that is going to the Moon in late 2021." The Moon!? Now I could understand why a warning would be an issue then. However, it was an ABI warning specific to the GCC version in use, and it could be "fixed" either by changing the compiler or by documenting that the ABI change warning is not, in fact, an issue, but purely informational.
After many delays and postponements, the embedded system - the Peregrine Moon lander - launched on a Vulcan rocket from Cape Canaveral yesterday morning. I was really excited - not just about the fact that there would be another moon landing after such a long time, but of course, because some piece of software I worked on would be actually running on the Moon!
The rocket launched successfully, bringing Peregrine into a trans-lunar injection. Unfortunately, a few hours later, a propulsion issue occurred that effectively made the planned lunar landing impossible. The new goal of the mission is now to get the lander as close to the Moon as possible before it loses its Sun-pointing position and its power is drained.
I am really sad that the mission goal will not be reached, yet I am still more than proud to have been a tiny part of Peregrine Mission One 🫡. I will try to find out whether the library remains in the lander software for future missions - who knows what the future brings...
https://en.wikipedia.org/wiki/Peregrine_Mission_One
Beta Was this translation helpful? Give feedback.
All reactions