Blog

Writing & Notes

Technical write-ups, tutorials, and the occasional deep dive into graphics programming.

Iris: reconstructing a street as 3D Gaussian splats

One twenty-second nuScenes drive - six cameras and a 32-beam LiDAR through Boston - rebuilt into a navigable 3D world. LiDAR for geometry, cameras for colour, a Depth-Anything-V2 prior to fill the gaps, SegFormer masks to delete the sky and the traffic, PCA-oriented Gaussians sliced into geo-anchored tiles, and a three.js/WebGL2 viewer you can fly through at 60 fps. Plus an honest account of what's still rough.

Gaussian Splatting3D ReconstructionLiDARComputer Vision
Read article →

neural deferred shading: shading Sponza at 64 FPS with an 11k-parameter network, in Metal

A from-scratch Apple Metal path tracer becomes a data factory for neural rendering: cast one primary ray per pixel, keep the cheap G-buffer, and let a tiny MLP - compiled into a Metal compute kernel - synthesize the fully globally-illuminated frame at frame rate. Plus a screen-space U-Net, temporal reprojection, and a directly-measured "one ray ≈ 68 samples" amplifier.

Apple MetalNeural RenderingPath TracingSwift
Read article →

aircoder: a local coding agent that externalizes its memory to disk

How a nine-crate Rust agent drives a small local LLM through hour-long coding tasks by treating the model as stateless and a content-addressed SQLite ledger as its working memory - bounded context, crash-resumable, fully auditable.

RustLocal LLMAgentsSystems
Read article →

metalstream: running a 31B model on a 16 GB laptop

A drop-in MLX add-on that streams model weights off NVMe so an 18.4 GB model produces tokens on a 16 GB M4 Air - plus the phase-by-phase investigation, with real benchmarks, that proved every step before taking it.

PythonMLXApple MetalLLM Inference
Read article →

Mandelbrot Fractals in OpenGL

Rendering Mandelbrot fractals using the OpenGL Core Profile - covering the math, the shader implementation, and the GPU-accelerated results.

OpenGLC++GLSLMath
Read article →