/blog · technical notes

Technical notes on software, systems, tools and anything else I find useful.

I write about C++, Linux, Android, open-source tools, software development, embedded problems and more. Notes live in .org or .md and are transformed into static HTML during the build.

17/17 ENTRIES · 2024-2026 Subscribe via RSS · /feed.xml ↗
2026-06-27
Scope guard in C++

How to use RAII for local rollback, early exits and conditional cleanup.

4 min
2026-06-23
non_null in C++

How to distinguish a mandatory pointer from an optional value directly in a function signature.

4 min
2025-07-18
C++23 Strong Type

An introduction to strong types in C++, starting from an easy mistake to make.

3 min
2024-09-11
C++20 Ranges and Views

An example of how C++20 ranges and views make collection algorithms easier to read.

4 min
2024-08-25
C++20 Concepts

An introduction to C++20 concepts: what they are, when they help and how to use them without making the code heavier.

4 min
2024-08-01
openSUSE Tumbleweed review

My experience with openSUSE Tumbleweed: rolling releases, KDE, stability and a few everyday trade-offs.

6 min
2024-07-13
Auto-updates straight from the source

How I use Obtainium to update open-source Android apps directly from their official sources.

5 min
2024-06-29
Migrating to open-source apps on your phone

After moving to GrapheneOS, I started replacing my main apps with more privacy-respecting alternatives.

5 min
2024-06-07
GrapheneOS: my favorite smartphone operating system

After months of daily use, GrapheneOS became my favorite smartphone operating system.

6 min
2024-05-20
Kill switch for wg-quick and nftables

How I moved kill-switch rules from iptables to nftables inside a wg-quick configuration.

1 min
2024-05-10
iptables vs nftables

Why nftables makes firewall rules easier to organize than separate iptables and ip6tables configurations.

2 min
2024-04-24
Header guards vs pragma once

A comparison between header guards and pragma once, with benefits and limits of both options.

4 min
2024-04-15
Undoing the last Git commit

The difference between git revert and git reset when you need to undo the last commit.

1 min
2024-04-09
How to check a package version on GNU/Linux

A quick way to check an installed package version without running the binary directly.

1 min
2024-04-01
Signals and Slots

Starting from Qt's signal/slot model, I build a small modern C++ implementation.

4 min
2024-03-28
How to structure a C++ project

A tidy C++ project structure with separate libraries and applications, and a build that is easier to follow.

6 min
2024-03-26
Prelude

The first note on the site: why I decided to start writing publicly.

1 min