This won’t be a long post, I promise. I decided to post more often, and I realized my posts require exponentially long time to write, correct, and more importantly convince myself they’re good enough and won’t contain too many mistakes (and inevitably I end up finding another couple of mistakes just after hitting “Publish”). Ok, …

Continue reading Modules!

There’s this annoying thing I’ve seen this in many codebases, and I’ve wrote it myself during the years. You have a function, no good default thing to do, but a bunch of specialization, so you end up writing something along these lines: Which in normal situations works fine. Unfortunately, when unknown specializations are used produces …

Continue reading Are you experiencing “Undefined reference” errors at link time because of missing specializations?

Recently, a C++ committee meeting happened in Wroclaw. The safety study group (SG23) spent almost three days processing papers, and in this discussion, The growing interest in C++ safety is caused by the frequent classification of C++ among memory-unsafe programming language, as expressed in multiple official documents from different US agencies,,. The latter, in particular, …

Continue reading Safer C++ or Safest C++?

Also available in Italian On Twitter recently someone posted this picture: Ok, that’s C#, but we can (and will, in a few lines) rewrite it in C++. In the twitter responses, many people made fun of the code, or complained that the function is full of magic numbers, some others that it’s too long (implying …

Continue reading 10 Balls

I’ve been testing GitHub Copilot recently, to see how far it can be pushed, and I must say that, for C++ applications alone, I’m happy with the results, but not too impressed. This is the opinion I formed after just after a few hours playing with it, and on a very specific problem (DX12 programming), …

Continue reading A coding interview with GPT-3

This post is also available in Italian. Recently I did a batch of interviews for three positions in my team, and part of my standard interview is a coding question. I tend to focus on problems that will take at most 50% of the time I have, so the ideal question for me is apparently easy, …

Continue reading The Coding Interview

I begun to write this two years ago at the beginning of the pandemic, but then forgot to read, and hit publish. I think today is a good day to update, clean up, and publish. You might not be stranded at home anymore, but I think most of the things I wrote are still valid, …

Continue reading On studying C++

This code has been compiling for the last several years, despite the fact we have the perfect tool to make this foolish code stop compiling. Adding an ampersand at the end of every copy-assignment and move-assignment operator (or operators of the form <op>=). Why isn’t this best practice already? Or if it is, why isn’t …

Continue reading Should this stop compiling?