Another take on C/C++ x-macros Mar 31, 2019

Or how to encode “knowledge” in one place.

HSM Client/Server Audit Correlation: DINAMO CIDs Aug 12, 2018

How DINAMO HSMs deal with distributed log correlation.

Tricks of the Trade #2: amalgamating legacy C files Jul 26, 2018

On “hitchhiking” a common C++ source file through preprocessor inclusion.

A nasty libcrypto type cast Jan 27, 2018

Traps are much better than false negatives.

Tricks of the Trade #1: avoiding duplicities with C/C++ x-macros Oct 08, 2017

X-Macros are powerful code/data generation helpers.

Tricks of the Trade #0: std::vector O(1) removals Sep 16, 2017

Removing elements from unordered C++ std::vectors in constant time.

glibc select() is an accident waiting to happen Aug 26, 2017

Play it safe. Use poll() instead of select().

A Software Versioning Pattern in the Git Era Jun 15, 2017

Version numbering and DVCS uncoupling considered harmful.

C/C++ switch statements are good maintenance helpers Mar 15, 2017

It’s always good to get some leverage from compilers.

Trimming glibc malloc Nov 02, 2016

C dynamic memory allocation can be a pain in the neck sometimes.