Today’s issue: Burning Remix CDs for my crush, refusing to be governed by SemVer, and getting JetBrains to pay for my hair transplant.
Welcome to #432.
Did somebody say Rails?
Bun dropped their biggest release ever last Friday – which came with dozens of new features, a 13,000-word announcement post, and a launch video with more cameos than a Wes Anderson movie. AI nerds celebs like Boris Cherny, Cheng Lou, and Ryo Lu all made appearances, and I’m 90% sure I saw Bill Murray in the background during the Hot Module Replacement demo.
But the biggest takeaway from all the hype is clear: Bun is trying to build Rails for JavaScript.
And unlike past attempts like Meteor.js and Adonis that mostly just bolted frameworks onto Node, Bun is going for something deeper — a world where your runtime, dev server, database client, package manager, and bundler all speak the same native language.
Here’s how they’re building it out:
Full-stack in one process – bun serve()
now handles frontend and backend together: HTML, React, API routes, WebSockets, cookies, and CORS, all hot-reloading in a single runtime. And with commands like bun init --react=shadcn
, Bun can scaffold a React + Tailwind + shadcn/ui app in one shot.
Databases without npm install – Built-in clients for Postgres, MySQL, SQLite, and Redis mean you can query a database out of the box with zero extra drivers and setup.
Rails-style builds & deployment – Bun can now compile your entire project (frontend, backend, assets) into a standalone executable with cross-platform support and code signing. Just run bun build
to ship a single binary with no Node, no npm, and no container.
Package management with opinions – bun install
isolates dependencies per workspace new dependency catalogs keep versions in sync across monorepos, and built-in security scanning now flags sketchy packages before they land in your repo.
Bottom Line: Bun isn’t just trying to replace Node anymore, it wants to absorb the entire JS toolchain, get millions of developers to buy into its Rails-for-JavaScript vision, and (eventually) make millions of dollars for its VC investors.
That all might sound like a long shot, but as Royal Tenenbaum said, “You can’t raise boys to be scared of life. You gotta brew some recklessness into them.”
![]() ![]() ![]() ![]() |
My test suite might be flaky, but it's also slow
That’s exactly what QA Wolf does by assigning each one of their agents a specific task – like outlining tests, writing code, or verifying results (this video shows how they built it).
Then, their human reviewers check the agents’ work to make sure nothing slipped through the cracks. This gets you:
Get a personalized demo for your team – and see why one Napster’s Engineering Director said, “We started seeing results in less than a month… and it takes no work on our end.”
They wrote this step-by-step guide to generating TypeScript interfaces with AI, so you can automate converting JSON schemas and API responses into robust, type-safe interfaces.
How many times is the reducer
function invoked?
const nums = [2,4,6]
const reducer = (prev, current) => {
console.count('invoked')
return prev + current
}
nums.reduce(reducer)
At last week’s Remix Jam 2025, Ryan Florence and Michael Jackson teased Remix v3, handed out physical CDs with the software on it, and swore off React forever.
MAML is a minimal JSON alternative that’s human-readable, machine parsable, and warm-blooded.
Rocket is a full-stack vibe coding platform that can handle frontend, backend, auth, DB schemas, server config, and everything else you need to instantly build and ship a production-ready application. It’s pretty wild. [sponsored]
Jovi De Croock busted three of the most common GraphQL myths and simultaneously created a full season of TV for the Discovery Channel.
Nitro v3 (alpha) is a new server-side Vite plugin that enables full-stack Vite apps without needing a full metaframework.
Mitchell Hashimoto wrote about vibe coding a non-trivial, real-world Ghostty feature. It’s not fair that this guy is also better than us all at vibe coding.
Datadog created this frontend monitoring best practices guide that shows you how to monitor three key aspects of your single-page apps to optimize your performance and UX. [sponsored]
VS Code shipped version 1.105 bringing new agent tools, a built-in MCP marketplace, and the boldest resistance we’ve seen to SemVer in years.
Den Odell wrote about how the <output>
tag is HTML’s best kept secret.
Sam Cooper broke down how a bug caused by the Turkish alphabet plagued Kotlin for almost a decade. I volunteer to fly to Istanbul and investigate, but only if JetBrains promises to cover the cost of my hair transplant.
How many times is the reducer
function invoked?
const nums = [2,4,6]
const reducer = (prev, current) => {
console.count('invoked')
return prev + current
}
nums.reduce(reducer)
Answer: Twice
If an initial value isn’t supplied, the first element in the array will be used as the initial value and the first invocation of the reducer function will be skipped.