DHDan Holloraningrimicorn.hashnode.dev·2d ago · 5 min readUint8Array toBase64 and toHex: Stop Round-Tripping Bytes Through btoaEvery codebase that touches binary data has the same little helper buried in a utils folder. It takes a Uint8Array, spreads it into String.fromCharCode, hands the result to btoa, and hopes for the bes00
DHDan Holloraningrimicorn.hashnode.dev·5d ago · 4 min readimport defer: Lazy Modules Without Going AsyncEvery codebase has that one import. A syntax highlighter, a PDF renderer, a date-formatting library with a locale table the size of a small novel. It sits at the top of a file, it gets evaluated the m00
DHDan Holloraningrimicorn.hashnode.dev·6d ago · 5 min readTurbopack's Persistent Build Cache Only Helps If Your CI Keeps ItYou upgrade to Next.js 16.3, read that Turbopack's persistent file system cache is now on by default for next build, see a chart claiming up to 5.5x faster builds, push to CI, and watch your pipeline 00
DHDan Holloraningrimicorn.hashnode.dev·Sep 19 · 5 min readCSS reading-flow: Fix the Tab Order Your Layout BrokePut a card grid on a page, give one card grid-row: 1 / 3 so it sits up top as the hero, and the layout looks exactly right. Then press Tab. Focus lands somewhere in the middle of the page, jumps back 00
DHDan Holloraningrimicorn.hashnode.dev·Sep 15 · 5 min readWebNN: The Only Web API That Can Reach Your NPUThere is a piece of silicon in your laptop that your web app has never once used. If you bought a machine in the last couple of years, it almost certainly has an NPU: a small, power-efficient accelera00