Tag
Systems Programming
Systems programming concerns the construction of software that manages hardware resources directly: memory allocators, OS kernels, device drivers, network stacks, and the runtimes on which higher-level programmes run. It requires precise control over memory layout, execution order, and the interaction between software and hardware. Rust occupies the frontier of this space, providing the resource control of C with memory safety guaranteed by the type system. Key topics include memory models (ownership, lifetimes, the borrow checker), async runtimes (Tokio, async-std), SIMD and GPU compute, and the FFI bridge to C and Python.
Blog
June 20, 2026
Causal Models of Concurrency
From labelled transition systems and bisimulation through Mazurkiewicz traces and event structures to happens-before, logical clocks, and the observability coefficient: a mathematical account of what it means for a concurrent system to be causally intelligible.
June 1, 2026
An FFT for every GPU: ferrum-gpu and gpufft
Two Python packages, one idea: GPU FFTs that don't care whose GPU you own. gpufft wraps cuFFT and VkFFT for cross-vendor transforms today (NVIDIA, AMD, Intel, Apple); ferrum-gpu writes the kernels in pure Rust, compiled to PTX by cuda-oxide, within 1.3-3.7× of cuFFT. Both on PyPI.
March 24, 2026
Rust, from first principles
Types, ownership, operational semantics, async, and the FFI bridge: a graduate-level treatment of Rust from mathematical first principles.