Skip to main content

Code

2020

Vulkan Enum Stringifier Project - Quick Postmortem
·1408 words·7 mins
Code Vulkan C/Cpp Postmortem
A better present from a worse past. Also odd Vulkan spec anomalies.

2019

Parsing command-line arguments in a bash script
·162 words·1 min
Code Bash
There eventually comes a time where figuring out how to flexibly parse command-line options becomes necessary. Here’s two easy ways to do so.
Colouring Shell Output
·150 words·1 min
Code Bash
Adding in colours to make certain output from running items can help with readability and make certain things stand out, or otherwise make at-a-glance output scanning easier.
EntityID - Using one value to share many
·693 words·4 mins
Code Entity-Component-System C/Cpp
One of the most fundamental items in any system, software or otherwise, is to be able to identify something uniquely.
Simplifying the C/C++ dependency graph (with CMake)
·457 words·3 mins
Code Cmake
Sometimes, you’ll come upon a set of libraries that just decide to include everything directly, always. This can help minimize and visualize those dependencies.

2018

Using CMake to help build Catch2 tests
·653 words·4 mins
Code Cmake C/Cpp
Using CMake to automatically detect, or clone fresh, and even pre-compile Catch for you.
CMake script suite - Making CMake work for you
·1051 words·5 mins
Code Cmake
Built over some time now, is a fair sized suite of tools and utilities to improve the CMake compilation experience.
The Alternate Compilers of Windows
·1232 words·6 mins
Code Windows C/Cpp
While Microsoft’s MSVC may be synonymous with Windows development, there are others.
Collecting scalar values together in C++11
·983 words·5 mins
Code C/Cpp
Making life easier through enum flags, structs and offsets, and recreating Fallout’s SPECIAL reliably, quickly, efficiently, and safely.
Integrating Sanitizer tools into CMake builds
·990 words·5 mins
Code Cmake C/Cpp
Previously we added tools for code coverage and static analysis via clang-tidy. Now comes the ability to perform better runtime testing through GCC and Clang’s sanitizer tools, and integrating them with CMake.