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.

CherryPy-only HTTP and HTTPS app serving Sep 02, 2016

Serving CherryPy apps over HTTP and HTTPS, without extra proxies.

Programming getting into the way May 15, 2016

json, Json, JSON… fail.

The Best Optimizer Is between Your Ears” Apr 07, 2016

The human side of software development can’t be over emphasized.