08 Jun 2024
2 mins
I recently found myself decoding some binary data and getting results I wasn’t expecting. This caused me to review one of the most basic operations in computer science: bit shifts. My “research” led me to a great article by Lenovo on the subject. After a few experiments, I learned another...
Read on...
25 Jul 2023
9 mins
I work a lot with legacy C/C++ code. Much of it is written in a pre-C++11 style, and even when C++11 features are used, they aren’t used as effectively as they could be.
Read on...
30 Aug 2022
3 mins
CMake is a fantastic build system generator. It provides a usable, maintainable, and portable solution to one of the more complicated aspects of C++ development. That said, it’s not without its history, and it can be easy to get lost in the plethora of commands and variables used to configure...
Read on...
20 Oct 2021
3 mins
The word “agile” as applied to the creation and management of software development processes has been a buzz-word for several years now. But what does it actually mean? Why do we use the word “agile”?
Read on...
17 Nov 2020
5 mins
Clearly communicating the intent of your code is one of the most powerful skills you can acquire in software engineering. It increases productivity, reduces stress, and lowers the entry barrier for new software developers. One aspect of a software application that is oftentimes not communicated clearly is ownership. Ownership, although...
Read on...