At ACCU on Sea 2026 I sat in on Nicolai Josuttis’ talk Taming C++23: The things about C++23 you do not know. One of his examples was the zip+sort: sorting two separate collections together by zipping them and sorting on a projection. It’s a very good demonstration of how std::views::zip and the ranges algorithms compose. It also reminded me of a pattern I’ve now reached for and used in two dif...
We’ve been incrementally adopting C++20 modules at Memgraph (source) since late 2025. The compiler side has been surprisingly smooth. The tooling side, less so. While working on partially modularised code, I hit a series of issues with clangd, ccache, CMake, and clang-tidy. I use CLion day-to-day, where most of these issues either don’t surface or are masked enough that they didn’t impact my w...
The Problem with Clever Code The Gilded Rose kata is a beloved refactoring exercise. You inherit a small inventory system for a fantasy shop. The code works, but the logic is impenetrable. Your task is to add a new feature, and the code is fighting you. As you refactor, you might get to a fragment that looks like this: quality = std::min(quality + 1, 50); sellIn = sellIn - 1; if (sellIn <...
I’ve been meaning to do this for years. I’ve given talks, built side projects, and spent countless hours deep in C++ internals, but I’ve never really written any of it down publicly. That changes now. Not because I think the world needs another tech blog, but because I keep having conversations where I wish I could point someone at a write-up instead of explaining the same thing from scratch. ...