Free time

In my free time, I enjoy building prototypes, honing my craft, and solving programming katas.

I also enjoy building tools and Bash scripts.

My choice of Linux distribution is Arch, so I can learn more about the components of an operating system and experience the joy of putting a system together piece by piece.

I am fascinated by everything compile-time and looking forward to what we can achieve with Reflections in C++26/29.

My view on tests is that they are a great tool to ensure that the software behaves as it should and reduce the chance of regression bugs. The TDD practice in particular forces the developer to stop for a moment before implementing a class or function and think about how it can be tested; therefore, the unit is written with its usability in mind. The coverage is a metric for developers only; it says nothing to clients, sales, or managers, so the coverage level should not be set by any of them!

When a measure becomes a target, it ceases to be a good measure.

Products I like

Sublime Text is a great lightweight text editor that I love to use for text editing and working on small projects.

Sublime Merge is a graphical Git client that I use with almost every project I work on, especially at work. It not only allows me a better view of the Git history but also makes committing only parts of a file a breeze too!

And their licensing is also incredibly nice. With an active license, I get updates for 3 years. Once the license expires, I get to keep using the last version indefinitely (as long as I don't update it)! And I get to use their products on any of my computers, even at the same time!

While their products demand more (in terms of costs, disk storage, and memory), their products work right out of the box.

The CodeIntel makes autocomplete helpful and pretty accurate in every project size I've thrown at them, no matter if it's C, C++, PHP, or JavaScript.

With database integrations, it can even do accurate autocompletion in SQL!

Also makes debugging, test running, and coverage visualization easy.

I am fascinated by the community-driven Pine64 devices. I own multiple pieces of hardware from them, and I have a small number of pull requests to them.

For the PinePhone Desktop Environment called Phosh, I fixed the sorting of applications with non-English characters in the name.

For the PineTime, I implemented a history feature for the step counter, so yesterday's step counter is still available after it resets automatically at midnight.

For the PineTab, PineNote, and the RockPro64 Single Board Computer, I have no patches yet, but I also enjoy tinkering with them.

Video games

Outside of programming, I enjoy video games. While I have a particularly high number of hours in Team Fortress 2 and Final Fantasy XIV, I enjoy "nerding out" in Satisfactory with my friends too.