Any resemblance to reality is pure coincidence. This story has nothing to do with my current or previous employers. I wouldn’t look for such troubles. A notification popped up in the top-right cor...
Limit the number of library dependencies
First, let’s discuss what a dependency is. When we talk about dependencies, we can talk about different approaches. When hearing the word “dependency”, many people first think about dependency inj...
The limits of `[[maybe_unused]]`
The codebase I work with defines a utility macro called UNUSED. Its implementation is straightforward, it takes a variable (let’s call it x) as a parameter and expands it as ((void)x). The reason w...
C++23: chrono related changes
Let’s continue with what is changing in C++23. This time, let’s look at the three changes related to the chrono library. The first two are related to std::format and using locales, and the last one...
Do engineering teams really resemble sports teams?
“We are one big family!” - so many developers have heard that at various workplaces. Some people like the comparison, but probably many more don’t. And no matter whether you like it or not, it’s si...
Two cases when forward declaring is not enough
Let me share two cases when I had to include some header files instead of just using forward declarations. I was surprised by both at first. As you will see, one was a simple overlook, but the othe...
Quo vadis this blog?
I’ve been writing this blog since the end of 2016. After about half a year, I found my ideal schedule. At least one article per week. That means that I’ve been publishing a post for about 350 weeks...
When and how variables are initialized? - Part 4
For the last couple of weeks, we’ve been learning about the different forms of initializations in C++. As a reminder, we covered so many different forms of initializations. In part 1, we covered th...
When and how variables are initialized? - Part 3
For the last couple of weeks, we’ve been learning about the different forms of initializations in C++. This quest is motivated by a bug I discovered after a compiler update in a code base that I ma...
When and how variables are initialized? - Part 2
During the last two weeks, we saw a bug related to uninitialized values and undefined behaviour, we listed the different kinds of initializations in C++ and we started to more detailed discovery wi...