
Today’s issue: Proof-of-life blog posts, Cheeto-flavored DynamoDB, and 700,000 GPU hours of automated red teaming.
Welcome to #499.


Developers finding their Node.js happy place
When Bun came into the picture in 2021 and we were riding the high of becoming Dogecoin millionaires, it was hard not to be excited about the idea of an alternative to Node that was faster and easier to use. But over time, reality tends to sink in and you realize that you’re actually down $680 on meme coins and your company uses Node, so you can’t play with the shiny new toys.
Fortunately, Colin McDonnell (the creator of Zod, tRPC, and former Bun core team member) saw this gap and decided to build nub.js, an all-in-one toolchain that “augments Node.js instead of trying to replace it.” If you’re not Bun-pilled, you might be wondering what an all-in-one toolchain even means and why you would want it.
Why nub.js:
Node has done a lot of work collapsing the number of tools you need to be productive, but most devs still depend on a number of external tools, including npm, which, last time I checked, is still owned by m*****ft. Nub uses some of the recent Node.js extension mechanisms to provide a toolchain that includes the following components:
.ts, .tsx, and .jsx files (with full TS support, not just type stripping) and automatically loads your .env and .tsconfig.nub run is 24x faster than npm run and supports workspaces and pnpm lifecycle hooks.nubx is 19x faster than npx and automatically executes binaries in node_modules/.bin without using a Node process.pnpm and can read and write whatever npm, pnpm, or Bun lockfile format your project uses..npmrc or .node-version and provides a built-in replacement for nvm or fnm.Bottom Line: By giving developers “everything but the runtime” for building with Node, Nub is already crushing the infallible metric that all developers care about (GitHub stars), and I won’t be surprised if it becomes the de facto way to season your Node.js app.


Build workflows that let work flow
From routing leads and triaging incidents to running async standups and approving campaigns, Slack connects to 550+ tools so you can automate the work that slows your team down.
Companies like Sony, Wayfair, and Canva have already saved tens of thousands of hours. And for developers who want to go deeper, Slack’s APIs, CLI, and SDK let you build custom workflow steps, create internal apps, and integrate proprietary systems — all in the place your team already works.
3 million workflows run in Slack every day. Are you ready to build yours?
Explore 30 ways to automate your work with Slack.

Orkes shared how they taught Claude, Cursor, and Copilot to build agentic workflows without hallucinating.
const people = [
{ firstName: "Aaron", lastName: "Smith" },
{ firstName: "Émile", lastName: "Zola" },
{ firstName: "Charlotte", lastName: "Brown" },
{ firstName: "Beyoncé", lastName: "Knowles" },
{ firstName: "Ólafur", lastName: "Arnalds" },
{ firstName: "David", lastName: "Jones" },
{ firstName: "Zoë", lastName: "Deschanel" },
];
function sortAlphabetically(arr) {
return arr.sort((a, b) => {
if (a.firstName < b.firstName) {
return -1;
}
if (a.firstName > b.firstName) {
return 1;
}
return 0;
});
}
sortAlphabetically(people);

The Flow team at Meta sent the developer community another “proof of life” blog post about how Flow has been ported from OCaml to Rust.
Fabian Hiller announced the release candidate for Formisch v1, the type-safe form library. Formisch is German for “Formik”.
Companies like Supabase, Clerk, and Mintlify run CI on Blacksmith: a drop-in replacement for GitHub runners that’s 2x faster and 60% cheaper. [sponsored]
Deno just released version 2.9, which means you can now use deno desktop.
Lambros Petrou created a new database on top of Cloudflare’s Durable Objects, which some are calling a “Cheeto-flavored DynamoDB.”
Dan Abramov got a little too lonely on Bluesky, so he decided to join his homies at Vercel and helped ship Instant Navigation, a new feature that fixes caching for Next.js.
Amazon Devices Builder Tools for AI-Powered Development gives your coding agent full context for building Fire TV apps. From onboarding to crash analysis, you can finally ship your React Native app to the big screen without rage-Googling remote control focus management at 2 a.m. Learn more. [sponsored]
Rspack 2.1 is out with support for TypeScript 7, the Rust-based React Compiler, and a dim sum platter of other new features.
GitHub just released an update that lets you run GitHub Actions steps in parallel.
Be the dev who actually shipped the thing: write the React, then let Expo handle the builds, submissions, and live updates. [sponsored]
Iheanyi Ekechukwu built a git worktree manager called grove that does all the dirty work of cloning dependencies and managing dev servers.
OpenAI announced a preview of GPT-5.6 Sol, and in an effort not to get Dario’d by the U.S. government, they did 700,000 GPU hours of “automated red teaming.”
const people = [
{ firstName: "Aaron", lastName: "Smith" },
{ firstName: "Émile", lastName: "Zola" },
{ firstName: "Charlotte", lastName: "Brown" },
{ firstName: "Beyoncé", lastName: "Knowles" },
{ firstName: "Ólafur", lastName: "Arnalds" },
{ firstName: "David", lastName: "Jones" },
{ firstName: "Zoë", lastName: "Deschanel" },
];
function sortAlphabetically(arr) {
return arr.sort((a, b) => {
if (a.firstName < b.firstName) {
return -1;
}
if (a.firstName > b.firstName) {
return 1;
}
return 0;
});
}
sortAlphabetically(people);
By default, string comparison in JavaScript is not language-sensitive, which means it doesn’t account for language-specific rules or special characters like accents. That can produce a sorted list that’s technically sorted by code points, but not alphabetically in the way users expect.
The solution is to use Intl.Collator, which gives us language-sensitive string comparison.
function sortAlphabetically(arr) {
const collator = new Intl.Collator("en", { sensitivity: "base" });
return arr.sort((a, b) => collator.compare(a.firstName, b.firstName));
}