Recent Posts

Mysterious Memset
11 May 2022
Where did that memset come from?
co_resource<T>: An RAII coroutine
30 Dec 2021
A handy idiom with coroutines, borrowed from Python
Using Catch2 v3 in CMake with DDS and PMM
13 Nov 2021
It can be easy
Stringy Templates
22 Oct 2021
Combining strings and templates. What could go wrong?
A Macro-Based Terse Lambda Expression
20 Apr 2021
Using C++20 for my Dream C++ Feature
Fun with Concepts: Do You Even Lift, Bool?
26 Oct 2020
In which I write a stronger boolean type
A New Approach to Build-Time Library Configuration
04 Oct 2020
In which I present a novel, portable, and nonintrustive approach to build-time configuration
A Buffers Library for C++20: Part 1
29 Aug 2020
In which I talk about buffer-oriented operations in a new decade of C++
An iterator_facade in C++20
13 Jun 2020
In which I remake an old library in a new era
A New Decade, A New Tool
06 Jan 2020
In which I present a new tool that I hope will be useful
Eliminating the Static Overhead of Ranges
21 Oct 2019
In which I discuss two of my pet proposals for the C++ language, and how they might benefit ranges.
Understanding C++ Modules: Part 3: Linkage and Fragments
07 Oct 2019
In which cover the rest of C++ module syntax
Misbehaving Signals
23 May 2019
Understanding C++ Modules: Part 2: export, import, visible, and reachable
31 Mar 2019
In which I go over C++ Modules In-Depth - Exporting Entities
Understanding C++ Modules: Part 1: Hello Modules, and Module Units
10 Mar 2019
In which I go over C++ Modules In-Depth - Module Units
Are C++ Modules Dead-on-Arrival?
04 Mar 2019
In which I check the vitals of C++ Modules
C++ Modules Might Be Dead-on-Arrival
27 Jan 2019
In which I discuss a modules problem that is being ignored
Building Like (a) Ninja [Pt1]
20 Dec 2018
In which I discuss how one of my favorite build tools conceptualizes the build graph
Stop with the CTAD FUD!
11 Dec 2018
In which I over-react to other people and talk about why I like CTAD
Smart Pointers Make Bad APIs
02 Dec 2018
In which I bemoan using smart pointers at public API boundaries
Levelling the try/catch Mountain
08 Nov 2018
In which I informally propose a radical C++ language addition
The Dumbest Allocator of All Time
06 Nov 2018
In which a silly joke made in a chatroom becomes a serious contender for a good idea
Now I Am Become Perl —
31 Oct 2018
In which I discuss my "wildest dream" feature for C++, and why terseness isn't something to fear
A Package Manager Manager
15 Oct 2018
In which I announce a peculiar CMake module that I hope will make people's lives easier, and encourage more package management use
Project Layout - Survey Results and Updates
16 Sep 2018
In which I discuss the results of the project layout survey and how they will be taken into consideration in the future
Paths: Taxonomy, Terminology, and Myths
19 Aug 2018
In which I attempt to formalize some of the language used when talking about paths
Announcing: How to CMake Good
12 Aug 2018
In which I announce my YouTube channel and a CMake educational series
CMake Tools 1.1.0 - Sorry to Keep You Waiting
20 Jul 2018
In which I announce some important changes for CMake Tools 1.1.0
C++ Can't Abandon Raw Pointers
27 Feb 2018
In which I bemoan the use cases for raw pointers, and talk about "optional references"
On the Way to CMake Tools 1.0
15 Dec 2017
In which I get a bit sappy about some of my open source work
Partial Specialization and Tags
12 Aug 2017
In which I talk about how to emulate partial specialization of function templates and talk about why we actually want to partially specialize function templates
Complex != Complicated
19 Feb 2017
In which I make a small rant trying to distinguish two (seemingly) equivalent terms
A Resource Compiler with CMake and Standard C++
21 Jan 2017
In which I try my hand at (mildly) literate programming, but also make something pretty cool in a single CMake script file
The Curious Case of std::in_place [Outdated]
30 Oct 2016
In which I talk about an obscure proposed C++ feature that never came to fruition