Consultant, C++ developer, CMake co-maintainer and book author. Consulting services available through my company, Crascit Pty Ltd.

Joined March 2016
Very pleased to make the public announcement that I'm now offering consulting services through my new company, Crascit Pty Ltd. Interested in having me work with you on your CMake, C++ or build/release issues? Then get in touch! crascit.com/2019/09/06/cmake…
9
13
1
70
I'd like to publicly confirm that I've transferred ownership of the CMake snap to Canonical. Thanks to Reuben Roessler for taking on the maintainership. github.com/rroessler I continue to be a CMake co-maintainer, this is a snap-only change.
8
297
If you're running Ubuntu 20 or Ubuntu 22 and you normally install CMake as a snap package, I'd welcome you testing the latest 4.4.0-rc1 release candidate. This snap switches to a newer base (core24) and I'd like confirmation that it still works fine on older Ubuntu versions.
239
I'm curious whether anyone has a rigorous legal opinion on whether copyright notices in source files that will never be distributed outside of a private company has any legal value at all? Simply stating something like "Copyright 20XX Company YYY" seems of dubious value.
2
4
505
Hot take: Pull requests that state "I vibe-coded this..." or "I put this together with AI tool XYZ..." seem to align with "I don't understand this change as well as I should", and especially with "I didn't check this change as carefully as if I wrote it myself." 🤔 I'm curious why authors feel the need to state that at all. It's used almost like an "I don't take responsibility for this change" escape hatch, as though that somehow absolves them from having to put the time in to make sure the change is correct. There are few stronger signals to a reviewer that the author isn't meeting the bar for due diligence.
2
6
456
I just mistyped "whitespace" as "shitespace" in a git commit message and now I'm wondering if that would have actually been a more accurate term.
1
8
424
The 22nd Edition of Professional CMake: A Practical Guide is now available. It has been updated for CMake 4.1 and 4.2, mostly with minor updates and incremental additions. Get it from the usual place: crascit.com/professional-cma…
3
8
33
2,363
The last line effect is real: "The probability of making a mistake in the last pasted block of code is 4 times higher than in any other block." Quoted from the following article, if you want more background: medium.com/@Code_Analysis/th…
1
333
Given the growing concerns non-US folks may have about conditions entering the US, attending conferences in the US is nearing "non-starter" status. As much as I love CppCon, what would y'all consider the premier C++ conference these days outside the US? @bretbrownjr @kobi_ca @supahvee1234 @timur_audio
3
3
734
Want some git fun? Create a branch in your repository called "prototype" or "constructor". See if your git GUI tool treats it the same as your other branches. At least one popular tool pretty much won't let you do anything with it, not even check out that branch. 🤨
1
341
This is an awesome talk! Highly recommended viewing, especially if you haven't played much with LTO or symbol visibility. I learned things, even though I've gone over most of those topics in detail before.
Check out my C++ On Sea 2025 talk - The Power and Pain of Hidden Symbols! This talk is very important for performance and binary size, and double important if you do crossplatform development! youtu.be/-hNv1-FmAec
1
9
2,399
The 21st Edition of Professional CMake: A Practical Guide is now available. It has been updated for CMake 4.0. There's a new chapter on debugging in IDEs, and important updates related to CMake 4.0 removing OLD behaviors. Get it from the usual place: crascit.com/professional-cma…
2
4
33
1,784
Anyone know of a successor to CMakeRC? github.com/vector-of-bool/cm… It seems no longer maintained (no commits in more than 2 years, no response to issues and PRs). I'm looking for active alternatives that have some consensus or strong community support.
2
3
11
769
I should also add I'm looking for something that works with C++17, maybe even C++11. That rules out the # embed work from C23.
3
316
To be clear, I have no problem with the CMakeRC maintainer choosing to go quiet. If you're not paying for support, you have no right to expect any response. My question is focused on what alternatives may be gaining traction.
4
194
The 20th Edition of the book Professional CMake: A Practical Guide is now available. It has been updated for the CMake 3.31 release. This is a relatively minor update, focusing primarily on correcting errata. crascit.com/professional-cma…
1
24
678
GCC bug: "pragma once" fails due to interaction with precompiled headers and BOM interpretation (locale settings involved). Reported: 2013 Cause explained and patch provided: 2020 Still not fixed in 2025. Anyone able to push it over the line? gcc.gnu.org/bugzilla/show_bu…
1
7
331
I often see folks question the value of code coverage. Today, I saw a while loop in test code with no iterations in coverage data. The test was effectively doing nothing, but silently passing. Would never have found that bug without coverage results.
2
1
13
2,006
Been quite the bug hunt. Found many more problems in test code just by looking for test sources without 100% coverage. Happy thanksgiving devs, I guess? 🤷‍♂️
1
6
384