Systems Programming
The layer where a program stops being a description and starts being a machine. These articles are about the decisions that only exist at that level: how work is handed to threads and what it costs when they contend for it, how data is laid out and why the layout is usually the performance story, what the compiler is permitted to do to arithmetic, and how to measure any of it in a way that survives being repeated on another machine.
2 articles
A parallel for over one atomic counter
Splitting an uneven render into eight contiguous blocks reached 2.95x on eight threads. Handing rows out from one atomic counter reached 6.16x, on the same work
PolyBLEP: two samples that fix oscillator aliasing
A naive sawtooth at 1199.71 Hz puts alias energy 15.15 dB under its harmonics. A two-sample polynomial correction pushes it to 31.71 dB, for six flops
Related topics
Demoscene
Demos written in C with no assets at all: every pixel and every audio sample computed at runtime, and the techniques that make that possible offline.
Audio DSP
Sound synthesised from arithmetic: band-limited oscillators, state variable filters, envelopes and reverb, and the aliasing that decides how they sound.
Scientific Computing
The implementation layer beneath engineering analysis: floating-point determinism, memory layout, sparse data structures and the C that carries a solver.