Projects

Project

Working as a professional software/firmware programmer means that most of the code I wrote is bound to some form of a non-disclosure agreement. In my free time, I’m often idly coding, but such projects never reach an adequate level for showing them.

On this page, you can find code projects that escaped the NDA (mostly because I wrote them on my own time), blog projects (i.e. series of posts on an argument), and released projects (i.e. products).

Code projects

  • Flic – a functional library for C++. After having coded so much in Scala, I tried to port some concepts and tools to C++. Sometime later, I discovered that C++20 adds the range library, which supports basically the same idioms (note: actual work is in the pre-devel branch).
  • Chef – another C++ library for helping with utilities and functional constructs in C++ projects. The goal of this library is to provide a quick start on new projects in the firmware / embedded software domain. This is currently under (slow but) active development.
  • Tydal – a language for defining types. This project came out of my frustration with using swagger to define JSON constructs. Tydal’s goal is to read the type definition and /crank out C++/Scala/Java encoders and decoders. It is not complete.
  • wonderObjects – a silly program to generate fictional names for unlikely devices. Written in … bash.
  • varorg – another silly program that generates fictional and potentially funny communication about changes in your company organization. Written in bash.
  • yadda – an acronym/abbreviation dictionary REST service. Scala 3, ZIO, Quill, Swagger, using Postgresql. Written in vibecoding using Cursor.
  • explain2 – a web application that provides a GUI for yadda. Typescript and React. Written in vibecoding using Cursor.
  • Coding Guidelines – self-developed coding standard for C and C++.
  • mambo – a simplified build system for C/C++ projects.
  • Advent of Code (2023, 2024, 2025) – my solutions to Advent of Code, written in Scala 3.

Blog Series Projects

  • Finite State Machine in Embedded Systems – a series of 4 posts published on the embedded-related website, consistently in the most popular section of the blog since their appearance in 2024.
  • Scala job interview questions and my answers – Starting from a list I found online, here’s my try at answering Scala job interview questions.
  • Is C++ Ready for Functional Programming? – A series of posts that analyze the C++ language from the functional programmer’s point of view.
  • Our Fathers’ Fault – a series of blog posts about flaws and bad design choices I encountered in my maintenance hikes through the Scala codebase I inherited at work.
  • PIC18 Software Project Survival Guide – some posts about how to deal with the idiosyncrasies of a PIC18 project and development. It may be somewhat outdated since both the IDE and compiler have changed.

Products

  • Rayman GBC – my first commercial videogame (128k+ Z80 Assembly) (play this online)
  • Donald Duck – Going Qu@ckers GBC – my preferred GameBoy Color videogame (play this online)
  • Rogue Spear GBA – isometric, 150kLines of C for ARM, pathfinding, line of sight, fog of war (play this online)
  • Tomb Raider GBA – RAD game (action) using Rogue Spear engine and tools. (play this online)
  • The Mummy GBA – RAD game (puzzle) using Rogue Spear engine and tools (play this online).
  • Beyond Good & Evil Xbox – Porting a large C++ project from GameCube. Remote team, scarce bandwidth.
  • Legrand Nurse Calling System – a distributed system for handling patient calls in hospitals.
  • Murasaki Baby PS Vita – my last commercial videogame, made with Unity and C# (and love, and pain).
  • Tecniplast DVC – the current project spans from deeply embedded (8k flash cortex chips) to the cloud (Scala, Akka, Mqtt)
  • Schindler X8 – I worked on the embedded software for this next-gen elevator while employed at Schindler.
  • Iride Nox – For the last 2 years of the development of this satellite, I worked as Lead Flight Software Engineer on the flight software system. This project is also celebrated by a Nanowar of Steel song.

(featured image derived from Banner vettore creata da vectorpouch – it.freepik.com)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.