pnpm vs npm vs yarn vs bun: The Real Comparison Nobody Gives You in 2025
I used all four in real projects. One wrecked a monorepo at 3am. Another saved my ass in production. Here's the unfiltered truth about every major package manager in 2025.
I used all four in real projects. One wrecked a monorepo at 3am. Another saved my ass in production. Here's the unfiltered truth about every major package manager in 2025.
Copy Fail hit #1 on Hacker News with 977 points. I reproduced it in my Next.js stack and found something the viral post never mentions: when the clipboard fails silently during a password or token copy, the user has no idea. That's not a UX bug. It's a human error vector with real consequences.
I built a public lab with reproducible benchmarks to measure TypeScript 7 native preview against TypeScript 6 on real repos. The results are interesting, but the more useful story isn't the speedup: it's understanding when it matters, what breaks during migration, and how to test it without exposing private code.
Discriminated unions, branded types, satisfies, infer, Result<T,E>, type predicates, and mapped types — the type system patterns that make entire categories of bugs impossible to write.
I reproduced the tiny LLM experiment that blew up on Show HN: Gemma running in the browser, no API keys, inside my usual stack. Here's everything that broke — and the little that actually worked.
Discriminated unions, branded types, advanced generics, and how I actually think about types when I code. Not an academic tutorial — this is what I use in production after years of fighting TypeScript.
32 years in the dev trenches. Here I write what I learned, what I broke, and what nobody tells you in the tutorials.
No spam. Unsubscribe anytime.