Blog

2026

John Coltrane and Ray Charles: Two Jazz Lives, One Birthday

John Coltrane and Ray Charles, both born on September 23: how a saxophone innovator and a soul pioneer each shaped jazz.

Playing Go Using Go

Compile a Go game engine to WebAssembly, call it from a Web Worker with one exported function, and keep the hot loop allocation-free.

Brewing the Perfect Chemex

A repeatable Chemex recipe: 30 g medium-coarse coffee, 500 g water at 93–96°C, a 45-second bloom and a 3.5–4 minute brew.

Bitwise Store in Go

A clean Go architecture from one generic interface, typed bit flags and a stack of wrappers: flexible storage without a framework.

Handling Transactions in Go

Wrap one-method Go stores in a SQL transaction so two tables change together or not at all, keeping the clean architecture.

One Interface, One Method

Build a Go data access layer around one generic interface with a single method, and keep it small without frameworks.

Bitwise in Go: Doing More with Less

Pack boolean flags and states into one integer with Go bit operations: set, clear and test bits, and keep structs small.