year old British Linux nerd from Amsterdam.
I program things I think are cool sometimes.
Mostly in C or C++, but I also use some other languages like Python.
Yes, yes, I am planning to learn Rust at some point soon -calm down Rustaceans-.
InfiniTime is an open-source smartwatch operating system written in C++, specifically for the PineTime. I've been working on improving the user experience by adding features I believe to be useful since October 2021. I'm also working on improving the development experience by improving things like the continuous integration systems. In February 2023, I met up with the project lead, JF, at FOSDEM, a yearly meet-up in Brussels for many different free and open-source projects. A couple of weeks later, he asked if I would like to join the InfiniTime team!
For my thesis to finish off secondary school, I worked together with David to make three different renderers for volumetric objects. We used the direct volume rendering, marching cubes and texture slicing algorithms as a base for our renderers. We programmed them on the GPU using OpenGL using the glad loader for C. The one based on direct volume rendering is the most realistic, but it uses the most resources and is the slowest of the three. Our renderer based on marching cubes is very fast because it uses traditional rastering to render, but it doesn't have transparency. The texture slicing one is relatively accurate and quite fast, but the slices do need to be regenerated every time the camera moves, meaning that it is harder to integrate with other 3D objects.
In my fifth year of secondary school, I took a course on fuzzing, using automatically generated inputs to try to find vulnerabilities in software, from the Vrije Universiteit Amsterdam.
It sparked an interest in learning about low-level code, such as assembly language.
As part of the course, I wrote a custom fuzzing algorithm for the fuzzer called AFL++.
It was really fun to do, even if the lack of quality documentation did frustrate me sometimes.
Like really, no matter how good your code is, you shouldn't have to read it to find out how to use it!
Back in year 4, I wrote a racetrack simulator with self-driving cars!
The goal was to have cars that can learn to drive around a racetrack all by themselves.
By using an evolutionary algorithm to teach the cars by trial and error, they can get quite good quite quickly.
It ranks the cars based on how far they'd got before they crashed, and then mutates the best to populate the next generation.
It is written in JavaScript, using the p5.js library for graphics and the Toy-Neural-Network-JS library for the neural networks.
You can see it in action for yourself by looking right here.