null program

null program

Chris Wellons

My name is Chris Wellons, though I sometimes use the handle skeeto. I am a professional software engineer with a passion for developing precise and efficient software. On this blog, ongoing since 2007, I explain topics that I’ve recently learned, share software development techniques I’ve discovered or even invented, showcase cool demos, and discuss my contributions to open source.

Latest Posts

I have officially retired from Emacs

null program · 3d

This past Tuesday I typed C-x C-c in Emacs for the last time after 20 years of daily use. Though nearly half that time was gradually retiring it, switching to modal editing,...

My brave new code-signing world

null program · 4d

The new w64devkit release two weeks ago is the first to be code-signed with my identity, verified by Microsoft’s certificate chain. Currently only the release packaging is...

dcmake: a new CMake debugger UI

null program · 3w

CMake has a --debugger mode since 3.27 (July 2023), allowing software to manipulate it interactively through the Debugger Adaptor Protocol (DAP), an HTTP-like protocol passing...

2026 has been the most pivotal year in my career… and it's only March

null program · 1mo

In February I left my employer after nearly two decades of service. In the moment I was optimistic, yet unsure I made the right choice. Dust settled, I’m now absolutely sure I...

Frankenwine: Multiple personas in a Wine process

null program · 3mo

I came across a recent article on making Linux system calls from a Wine process. Windows programs running under Wine are still normal Linux processes and may interact with the...

WebAssembly as a Python extension platform

null program · 3mo

Software above some complexity level tends to sport an extension language, becoming a kind of software platform itself. Lua fills this role well, and of course there’s...

Freestyle linked lists tricks

null program · 3mo

Linked lists are a data structure basic building block, with especially flexible allocation behavior. They’re not just a useful starting point, but sometimes a sound foundation...

Unix "find" expressions compiled to bytecode

null program · 4mo

In preparation for a future project, I was thinking about at the unix find utility. It operates a file system hierarchies, with basic operations selected and filtered using a...

Closures as Win32 window procedures

null program · 4mo

Back in 2017 I wrote about a technique for creating closures in C using JIT-compiled wrapper. It’s neat, though rarely necessary in real programs, so I don’t think about it...

Speculations on arenas and non-trivial destructors

null program · 6mo

As I continue to reflect on arenas and lifetimes in C++, I realized that dealing with destructors is not so onerous. In fact, it does not even impact my established arena usage!...

More speculations on arenas in C++

null program · 6mo

Update October 2025: further enhancements. Patrice Roy’s new book, C++ Memory Management, has made me more conscious of object lifetimes. C++ is stricter than C about lifetimes,...

Hierarchical field sort with string interning

null program · 7mo

In a recent, real world problem I needed to load a heterogeneous sequence of records from a buffer. Record layout is defined in a header before the sequence. Each field is...
Search Random