Blog
Thoughts, tutorials, and insights on software engineering, architecture, and technology
Making MobX @computed Lazy: A 97-Line Patch with a Surprising Amount of Care
Open SourceMobX was eagerly allocating a ComputedValue for every @computed getter on every instance — even ones that never get read. This is the story of issue #4616, the lazy fix that landed in PR #4639, and the quiet contracts that made it harder than it looks.
How an E-Paper Display Keeps Time: The RMT Peripheral Story
EmbeddedE-paper displays need microsecond-accurate electrical pulses to move ink particles. This is the story of how the ESP32 RMT peripheral generates those pulses, and what broke when Espressif rewrote the driver API.
The Byte That Froze My Display
DebuggingA single malformed UTF-8 byte froze an entire e-ink display. No crash, no error — just an infinite loop. This is the story of how a bare continuation byte exposed a parser bug in embedded firmware.
From ASCII to UTF-8: How Text Learned Every Language
HistoryFrom 128 characters in the 1960s to every writing system on Earth. The history of text encoding, why UTF-8 won the internet, and what happens between bytes and the pixels you read.