Project showcase

Tools for seeing what your code really does, keeping a codebase healthy, and talking to industrial hardware.

C++ · Python · Web UI

DebugVision

A software oscilloscope: instrument your code with lightweight sample points and watch its runtime behaviour.

Read more →

C++ · Windows · BSL-1.0

DebugView++

A fast, filterable Windows log viewer for OutputDebugString, log files, serial ports and sockets.

Read more →

Python · TypeScript · MIT

TimeLens

Oscilloscope-style visualization of log and telemetry data — treat your telemetry streams as signals over time.

Read more →

C++ · Guidelines · MIT

C++ Default Guidelines

An opinionated starting point for writing better C++: follow the defaults, or explain why not.

Read more →

Python · CI · Static analysis

OpenCanary

The canary in your build: aggregate, prioritise and report compiler warnings and static-analysis results.

Read more →

C++ · GCC · Z80 / MSX2

C++4Z80

Modern C++ on 8-bit hardware: a GCC-based toolchain targeting the Z80 and the MSX2.

Read more →

Python · Automation · MIT

ADS Administration Tool (Beckhoff)

Discover, configure, back up and restore Beckhoff TwinCAT PLCs over ADS — from Linux, with only the Python standard library.

Read more →

Python · C++ · GigE Vision

gvcp-tools

Tools to query GigE Vision devices and verify GVCP traffic on industrial camera networks.

Read more →

Community resource

wg21.link

Short, stable links to C++ standardization papers and issues — a resource I use all the time.

Read more →

Why nullptr?

Because the best bugs hide behind a pointer to nothing. This site collects the tools I build to find them, the guidelines I use to avoid them, and notes from the C++ community along the way.

// C++ Default Guidelines, #1
// Enable your compiler warnings.
-Wall -Wextra -Wpedantic -Werror

Latest from the blog

All posts →