weeklyfoo #149 is here: your weekly digest of all webdev news you need to know! This time you’ll find 36 valuable links in 5 categories! Enjoy!
🚀 Read it!
- Massively parallel Postgres backups: Consistent encrypted snapshots of petabyte-scale sharded Postgres every 12 hours via WAL replay and parallelism across shards by PlanetScale / postgres,database,infra / 12 min read
📰 Good to know
- Curiosity reduced the heap size by 60%: Chasing a filtered-out Ruby warning revealed OpenTelemetry force-loading 200 AWS SDK classes at boot, cutting heap 60% and boot time 36% by Mostly Obvious / ruby,performance,debugging / 4 min read
- The development pipeline is a production system: A team with a broken pipeline cannot produce software, so treat it like production by Jerry Orr / engineering,ci / 3 min read
- Next.js 16.3: Lower dev memory, faster builds, Instant Navigations and Partial Prefetching without touching application code by Vercel / nextjs,react,frontend / 15 min read
- Cloudflare Computer: A virtual file system inside a Durable Object with SQLite as authoritative state, running agent code in isolates, containers or a browser by Cloudflare / cloudflare,agents,infra / 26 min read
- keyv and cacheable compromised by a credential-stealing worm: An active npm supply chain incident with hundreds of packages affected so far by Socket / security,npm,supplychain / 13 min read
- Your JSON is lying to you: A parse and stringify round trip quietly mangles big integers, undefined and Date, so make the conversion boundaries explicit by Gabor Koos / javascript,json / 28 min read
- Cloudflare Workers adds inbound TCP connections and gRPC: Workers can now terminate raw TCP and speak gRPC, currently in private beta by Cloudflare / cloudflare,workers / 25 min read
- Stacked pull requests are now in public preview: GitHub gets native support for chaining dependent PRs by GitHub / git,github / 7 min read
- Await dictionary of Promises reaches stage three: Promise.allKeyed lets you await an object of promises and destructure the result by TC39 / javascript,tc39 / 8 min read
- Soft navigations enter the mainstream: Chrome 151 ships PerformanceSoftNavigation so SPA route changes can finally be measured properly by Chrome / performance,frontend / 23 min read
- Cloudflare Wallets: A programmable wallet giving agents a username and spending limits so they can pay for APIs on their own by Cloudflare / cloudflare,agents,payments / 25 min read
- Stateless MCP has recaptured my interest: MCP 2.0 drops the session requirement, making servers far simpler to build by Simon Willison / ai,mcp / 8 min read
- Case-folding source code at memory speed: GitHub’s Blackbird code search folds ASCII at over 45 GiB/s per core with a branch-free loop and byte-space arithmetic by GitHub / performance,search,systems / 31 min read
- How Cloudflare enforces engineering standards using AI: Codex is a governed set of standards that agents retrieve and apply at the point of work by Cloudflare / engineering,ai,cloudflare / 26 min read
- iCloud Private Relay is leaking real IP addresses: Sites that use, or merely pretend to use, passkeys can pull the address the relay was supposed to hide by MacRumors / security,privacy,apple / 13 min read
🧰 Tools
- gh stack: GitHub CLI extension for stacked PRs that automates branch creation, rebasing and PR base branches, with AI agent integration by GitHub / git,cli,github
- use-webmcp-tool: React hook exposing app functions as callable tools for browser AI agents via the experimental WebMCP spec by Google Chrome Labs / react,ai,mcp
- OpenWork: Open source alternative to Claude Cowork by different-ai / ai,agents,opensource
- TanStack Charts: Framework-neutral declarative chart grammar rendering to SVG or canvas, styled however you want by TanStack / dataviz,javascript,tools
- Virtua: Small fast virtual list and grid component for React, Vue, Solid, Svelte and Angular by inokawa / frontend,performance,tools
- Varlock: Makes your env files AI-safe without breaking your app by Theo Ephraim / tools,security,ai
- better-result: Lightweight Result type for TypeScript with generator-based composition by Dylan Mulroy / typescript,tools
- vlt 1.0: Drop-in npm alternative whose query command runs 60+ CSS-like selectors over your dependency graph by Darcy Clarke / npm,tools,cli
- anydoc: Rust library with Node and WASM bindings converting 14 document formats into Markdown, including a 1600 page PDF in under two seconds by Firecrawl / tools,documents,rust
- devalue 5.9: Like JSON.stringify but handles cyclical references, regexes, Map, Set and custom types by Svelte / javascript,tools
- Blossom Carousel: Builds on native scrolling instead of replacing it, and only loads the drag engine when a pointer device shows up by Jesper Vos / frontend,ui,tools
- ffmpeg webCLI: Browser-based video editor running 30+ operations locally through ffmpeg.wasm with no upload by Tejaswi Gowda / video,wasm,tools
- Syncular: Offline-first SQL sync giving every client a local SQLite database backed by a server-side commit log, with CRDT conflict resolution by Syncular / sqlite,sync,tools
- unbash: Zero dependency bash parser by webpro / bash,tools
- celld: Self-hosted distributed Durable Objects and Workers, one SQLite database per object, coordinated through an S3-compatible bucket by Ryan Dahl / deno,durableobjects,tools
- Base UI 1.7: Smaller component bundles for the unstyled library that is now the shadcn/ui default by Base UI / react,ui,tools
🤪 Fun
- Mow the lawn as efficiently as you can: A silly puzzle that doubles as a lesson in interactive storytelling by The Pudding / fun,dataviz / 11 min read
📺 Videos
- The largest supply chain attack just infected Go: The Shai Hulud worm jumped ecosystems from npm to Go, and what that means for both by Better Stack / security,supplychain,go
- JavaScript has a third comment syntax: Hashbang comments are real, in the spec, and shown off in two minutes by Mat Marquis / javascript
- How SQLite got its reliability reputation: Richard Hipp on the tools, practices and design choices behind it, in 50 minutes by Richard Hipp / sqlite,database,testing