00 Explorable explanation · with Node internals
What a Buffer really is —
and why a stream splits the € in two.
A Buffer is a view over raw memory. A stream moves it in byte-sized chunks. Put those two facts together and a single three-byte character can be sliced across a chunk boundary — producing mojibake the instant you decode each chunk on its own. Press play to trace the string "café €99" through the seam, click any node, and open “under the hood” for the Node internals and the Unicode rules they implement.
Press play to trace the bytes
Each frame highlights one stage. Amber lanes are raw bytes — pure storage. Teal lanes are decoded text — meaning you impose. Red is corruption.
01–11 The mental model · as a clickable tree
Start with one idea — storage vs interpretation — and branch outward.
Everything below hangs off a single split: bytes store, lenses interpret. Open a branch, then click any card to unpack it — definitions, the “why it matters”, the Node internals, and the live diagrams all live inside.