Sebastian Scholz
๐ค SpeakerAppearances Over Time
Podcast Appearances
In space, you have radiation.
And so just random bits in your data and your code, in that instance,
It can just randomly fit, which can mess up the entire code flow.
So we have steps, we have code written to verify that the stored code that we have in our flash memory is correct and that can potentially even recover from errors.
So there's something called a hamming code, which means you basically reserve some extra space for redundant bits.
And you can use those bits later to detect and to recover from flipped bits.
And this kind of code, we have integration tests that uses PropIS to manually write into the flash, into memory even, and to flip some bits.
And then we let it boot, see that it handles these kind of corruptions that we introduced correctly and fixes itself, yes.
And that's also a custom solution.
Yes, I mean, this is one of the tests that we run during our integration tests.
So yes, the integration test suite has a component that allows it to write into this flash memory.
And that is developed by us.
And that's a custom solution.
So during my studies, I joined a lot of projects that do things in space.
So, for example, one of the cool things that we did back then was something called BEXOS and REXOS, which is a UMP project for students that allow you to do some sort of project, some sort of scientific mission on a small suborbital rocket or weather balloon.
that they launched from Sweden.
And so that's kind of where I got exposed to my first real space mission experience using those projects.
And we used a bunch of different languages there, though mainly C and Python.
And I must admit, before I joined Gamma and in my university days, I have never heard of or used Rust.
So I'm kind of a late joiner in that regard.