Skip to content
// writing

Posts tagged #node

A mix of technical deep-dives, career reflections, and dispatches from the road.

Prompt Caching: Your Prompt's Prefix Is a Cache Key thumbnail
AIOct 30, 2026· 4 min
Prompt Caching: Your Prompt's Prefix Is a Cache Key
Prompt caching can cut repeated input costs by around 80%, but only if the stable parts of your prompt come first. Here's how it works and what breaks it.
read more →
Nuxt SSR Streaming: Faster TTFB and the Response You Can't Change Later thumbnail
developmentOct 26, 2026· 3 min
Nuxt SSR Streaming: Faster TTFB and the Response You Can't Change Later
Nuxt 4.5 can flush your HTML shell before the page finishes rendering. Here's what experimental SSR streaming speeds up and the status code rule you need first.
read more →
JSON.parse Source Text Access: Stop Losing Precision on Big IDs thumbnail
developmentOct 25, 2026· 3 min
JSON.parse Source Text Access: Stop Losing Precision on Big IDs
JSON.parse can now hand your reviver the original source text of numbers, and JSON.rawJSON writes it back exactly. Here's how to round-trip big IDs.
read more →
Structured Outputs: Stop Parsing JSON Out of LLM Prose thumbnail
AIOct 23, 2026· 4 min
Structured Outputs: Stop Parsing JSON Out of LLM Prose
Constrained decoding means the model can't return malformed JSON. Here's how structured outputs work with Zod in TypeScript, and the edge cases they miss.
read more →
Subpath Imports With #/: The Path Alias Node Actually Understands thumbnail
developmentOct 22, 2026· 4 min
Subpath Imports With #/: The Path Alias Node Actually Understands
Node 24.14 and TypeScript 6.0 allow a bare #/ prefix in package.json imports. Here's how one alias can replace tsconfig paths, Vite aliases, and build rewrites.
read more →
Dependency Cooldowns: Make Your Package Manager Wait Before It Trusts New Code thumbnail
developmentOct 12, 2026· 4 min
Dependency Cooldowns: Make Your Package Manager Wait Before It Trusts New Code
npm, pnpm, Yarn, and Bun can all refuse package versions that are only hours old. Here's how each release-age gate works, why units differ, and where CI bites.
read more →
Map.getOrInsert: Stop Writing the has/get/set Dance thumbnail
developmentOct 8, 2026· 3 min
Map.getOrInsert: Stop Writing the has/get/set Dance
Map and WeakMap now have getOrInsert and getOrInsertComputed, two methods that replace the check-then-set boilerplate every JavaScript codebase is full of.
read more →
Your tsconfig Is Still Written for TypeScript 5. Here's the Cleanup TS 7 Forces thumbnail
developmentOct 1, 2026· 4 min
Your tsconfig Is Still Written for TypeScript 5. Here's the Cleanup TS 7 Forces
TypeScript 6 flipped half a dozen compiler defaults and TypeScript 7 deleted deprecated options. Here's the tsconfig audit for the native compiler.
read more →
Node.js Type Stripping: Run TypeScript Without a Build Step thumbnail
developmentSep 28, 2026· 3 min
Node.js Type Stripping: Run TypeScript Without a Build Step
Node.js now runs .ts files by erasing types, not compiling them. Here's what that buys you, what it refuses to do, and the tsconfig that keeps you honest.
read more →
Uint8Array toBase64 and toHex: Stop Round-Tripping Bytes Through btoa thumbnail
developmentSep 24, 2026· 3 min
Uint8Array toBase64 and toHex: Stop Round-Tripping Bytes Through btoa
JavaScript can finally turn bytes into base64 and hex without the String.fromCharCode and btoa dance. Here's how Uint8Array's new encoding methods work.
read more →
// the newsletter
Don't miss the next one