My name is Fabio and welcome to my GitHub repo. I'm passionate about all things related to programming languages, hardware & software, and distributed systems. As a home lab enthusiast, I also enjoy running my own infrastructure.
Professionally I am a senior architect with focus on complex distributed systems levering Kafka and a variety of different data stores like Redis, MySQL, OpenSearch, and Databricks. I use this space as a conduit to express my interests and creativity about embedded systems, hardware design, and low level programming that I don't get to do on my day job.
Miscellaneous automation and IoT projects, mainly using Rust, that have a component of embedded systems and custom PCB design. Nonetheless, it is a distributed system using MQTT to wire up its various components. The motivation behind it is to provide a level of automation to a commercial facility. Check Autosys for more details.
I like playing games and always wanted to write one myself. I tried a few times over the years but would never get past the prototype stage. Finishing things is an art. This time around I wanted it to be different. Also, that was during the pandemic and I didn't have kids at the time… Even though it is a simple game, it is a complete game with graphics, physics, audio, and an objective. My friends had a blast playing and a real hard time defeating the boss, so that alone made me feel accomplished. The game is also published to the arewegameyet website.
From the technical point of view it was also a fun challenge. Probably my first Rust program past the hello world stage. I also wanted to go for a bare-bones approach using only SDL to deal with multimedia stuff but without a full game engine. Because of this, I also had to figure out a bit of math along the way. Check super-jeff for more details.
Pandemic was in full swing, so of course I had to implement my own operating system. Never really got much further than going through the bootloader process and printing some text on the screen. Still a very interesting deep dive on the absolute mess that it is to initialize an x86 box. Check FabiOS for more details.
A quick attempt at implementing the Raft Consensus Protocol in Rust. This project is mostly for self-study purposes and, you guessed it; pandemic time activities. It doesn't actually implement the storage part; the focus was more on the leader election component. Check raft-rust for more details.
- riscv-bare-metal how to bootstrap a RISC-V microcontroller using rust and a bit of assembly.
- cfg my dot files repository.
- nvim my Neovim configuration based on LazyVim.