Latest Posts
View all Apr 16, 2026 · 9 min read
Why Your SignalStore Spy Never Fires (and a 150-Line Fix)
Why vi.spyOn silently misses method calls inside signal-store effects, and a small tooling layer that fixes it by auto-wrapping every method at test time.
Mar 28, 2026 · 7 min read
Behind the Background: How This Site's Shader System Works
Every visit to this site runs a different animated shader in the background. Here's how the system works: WebGL and WebGPU support, Web Worker offloading, dark mode as a uniform, and a tour of the shaders themselves.
Mar 14, 2026 · 5 min read
WebGPU in the Browser: A Practical Guide
WebGPU is the successor to WebGL, bringing compute shaders and modern GPU APIs to the web. Here's how to set one up from scratch — no game engine required.