<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Soumitra Saha Blogs</title><description>Software engineering blog by Soumitra Saha, a senior software developer from Siliguri, West Bengal, India. Articles on web, mobile (React Native, Flutter), and backend (TypeScript, Rust) development, architecture, and design.</description><link>https://soumitrasaha.com/</link><language>en-us</language><managingEditor>contact@soumitrasaha.com (Soumitra Saha)</managingEditor><webMaster>contact@soumitrasaha.com (Soumitra Saha)</webMaster><item><title>GPT-6 Astra: A new generation of intelligence</title><link>https://soumitrasaha.com/my-reads/openai-gpt-6-astra/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/openai-gpt-6-astra/</guid><description>OpenAI&apos;s GPT-6 Astra launch is worth reading for its computer-use gains, alignment evaluations, and a cybersecurity jump that changes what defenders must do.</description><pubDate>Sat, 05 Sep 2026 18:30:00 GMT</pubDate><category>OpenAI</category><category>GPT</category><category>Frontier Models</category><category>Agents</category></item><item><title>Why I Still Choose Static-First Websites in 2026</title><link>https://soumitrasaha.com/blogs/why-i-like-static-first-websites-in-2026/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/why-i-like-static-first-websites-in-2026/</guid><description>I explain why I keep choosing static-first for blogs, docs, and portfolios, what it costs, and when I pay for a server instead.</description><pubDate>Fri, 04 Sep 2026 18:30:00 GMT</pubDate><category>Astro</category><category>Static Sites</category><category>Performance</category><category>SEO</category></item><item><title>ZGateway: Learnings from Putting a Proxy in Front of ZippyDB</title><link>https://soumitrasaha.com/my-reads/meta-zgateway-zippydb-proxy/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-zgateway-zippydb-proxy/</guid><description>Why Meta put a stateless proxy in front of its most-used key-value store, and how that one tier absorbed connection storms, hot keys, and noisy neighbors.</description><pubDate>Fri, 04 Sep 2026 18:30:00 GMT</pubDate><category>Meta</category><category>Caching</category><category>Databases</category><category>Distributed Systems</category></item><item><title>The Developer Roadmap Nobody Gives You: Junior to Senior Software Engineer</title><link>https://soumitrasaha.com/blogs/junior-to-senior-developer-roadmap/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/junior-to-senior-developer-roadmap/</guid><description>The skills that move engineers from junior to senior aren&apos;t just technical. Here&apos;s what engineering culture research actually shows about leveling up.</description><pubDate>Tue, 01 Sep 2026 18:30:00 GMT</pubDate><category>Career Development</category><category>Software Engineering</category><category>Code Review</category><category>Technical Leadership</category><category>Mentoring</category></item><item><title>How I Would Learn Full-Stack Development If I Started Again</title><link>https://soumitrasaha.com/blogs/learn-fullstack-development-again/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/learn-fullstack-development-again/</guid><description>I lay out the learning path I&apos;d follow from scratch: the specific order, what to spend time on, what to skip, and where AI tools actually fit in.</description><pubDate>Sat, 29 Aug 2026 18:30:00 GMT</pubDate><category>Full-Stack Development</category><category>JavaScript</category><category>TypeScript</category><category>React</category><category>Learning Path</category></item><item><title>The August 17 Outage, and the Work Ahead</title><link>https://soumitrasaha.com/my-reads/github-august-17-outage/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/github-august-17-outage/</guid><description>GitHub&apos;s 7-hour-47-minute outage on August 17 had no bad deploy to blame — it was a capacity failure, the second such incident in two weeks, and GitHub&apos;s CTO explains what comes next.</description><pubDate>Thu, 27 Aug 2026 18:30:00 GMT</pubDate><category>GitHub</category><category>Postmortem</category><category>Incident Review</category><category>Reliability</category></item><item><title>How Hackers Attack Web Applications — XSS, CSRF, SQL Injection Explained</title><link>https://soumitrasaha.com/blogs/how-hackers-attack-web-apps/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/how-hackers-attack-web-apps/</guid><description>I walk through XSS, CSRF, and SQL injection from the attacker&apos;s side — the mechanics, the targets, and the code patterns that signal an exploitable application.</description><pubDate>Wed, 26 Aug 2026 18:30:00 GMT</pubDate><category>Web Security</category><category>XSS</category><category>CSRF</category><category>SQL Injection</category><category>Attack Patterns</category></item><item><title>Moving EVE Online&apos;s 2.4 Million Lines to Python 3</title><link>https://soumitrasaha.com/my-reads/eve-online-python-3-migration/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/eve-online-python-3-migration/</guid><description>EVE Online begins migrating its 23-year-old Python 2 codebase to Python 3 using a dual-compatibility stage that keeps Tranquility running while automated syntax fixes clear the way for the harder semantic review.</description><pubDate>Wed, 26 Aug 2026 18:30:00 GMT</pubDate><category>Fenris Creations</category><category>Python</category><category>Migration</category><category>Runtime</category></item><item><title>MetaRoCE: A New RDMA Transport Built for AI-Scale Ethernet</title><link>https://soumitrasaha.com/my-reads/meta-metaroce-rdma-ai-ethernet/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-metaroce-rdma-ai-ethernet/</guid><description>Meta&apos;s MetaRoCE abandons the lossless-fabric assumption and rebuilds RDMA transport from scratch for Ethernet, pushing all intelligence to the NIC so the fabric can stay simple at million-GPU scale.</description><pubDate>Tue, 25 Aug 2026 18:30:00 GMT</pubDate><category>Meta</category><category>Networking</category><category>RDMA</category><category>AI Infrastructure</category></item><item><title>JWT Authentication Is Probably Not Working the Way You Think</title><link>https://soumitrasaha.com/blogs/jwt-authentication-misconceptions/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/jwt-authentication-misconceptions/</guid><description>I break down five JWT misconceptions — localStorage risk, short expiry, revocation, algorithm confusion attacks, and the statelessness myth — and show when session tokens win.</description><pubDate>Sun, 23 Aug 2026 18:30:00 GMT</pubDate><category>JWT</category><category>Authentication</category><category>Security</category><category>Node.js</category><category>Web Security</category></item><item><title>Tailscale — Tracking Down the 16-Year-Old WAL-Reset SQLite Bug</title><link>https://soumitrasaha.com/my-reads/tailscale-sqlite-wal-reset-bug/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/tailscale-sqlite-wal-reset-bug/</guid><description>Tailscale&apos;s six-month forensic hunt for a rare SQLite checkpoint race that corrupted 19 production databases and had hidden in the engine for 16 years.</description><pubDate>Sun, 23 Aug 2026 18:30:00 GMT</pubDate><category>Tailscale</category><category>SQLite</category><category>Debugging</category><category>Storage</category></item><item><title>PostgreSQL vs MongoDB: Which Database Should You Choose for Your Next Project?</title><link>https://soumitrasaha.com/blogs/postgresql-vs-mongodb/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/postgresql-vs-mongodb/</guid><description>I compare PostgreSQL and MongoDB across data model, schema flexibility, transactions, query power, and scaling — so you can choose based on your actual situation, not the hype.</description><pubDate>Wed, 19 Aug 2026 18:30:00 GMT</pubDate><category>PostgreSQL</category><category>MongoDB</category><category>Database Design</category><category>Backend</category><category>SQL</category></item><item><title>Atproto for Distributed Systems Engineers</title><link>https://soumitrasaha.com/my-reads/atproto-for-distributed-systems-engineers/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/atproto-for-distributed-systems-engineers/</guid><description>The AT Protocol decentralizes a social network by turning a standard stream-processing backend inside out — making each internal service a public API that anyone can run — rather than relying on federation or blockchain consensus.</description><pubDate>Tue, 18 Aug 2026 18:30:00 GMT</pubDate><category>Bluesky</category><category>Distributed Systems</category><category>Networking</category><category>Algorithms</category></item><item><title>Monolith vs Microservices: Why Starting with Microservices Is Usually a Mistake</title><link>https://soumitrasaha.com/blogs/monolith-vs-microservices/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/monolith-vs-microservices/</guid><description>I argue that starting with microservices is a mistake for most teams, explain why the modular monolith is the smarter default, and show when distributed services genuinely earn their cost.</description><pubDate>Sun, 16 Aug 2026 18:30:00 GMT</pubDate><category>Architecture</category><category>Microservices</category><category>System Design</category><category>Backend</category><category>Engineering</category></item><item><title>Hugging Face State of Open Models: Summer 2026</title><link>https://soumitrasaha.com/my-reads/huggingface-state-of-open-models-summer-2026/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/huggingface-state-of-open-models-summer-2026/</guid><description>A strong open-model ecosystem read about adoption, derivatives, small models, agent users, and why Qwen has become so important.</description><pubDate>Sat, 15 Aug 2026 18:30:00 GMT</pubDate><category>Hugging Face</category><category>Open Models</category><category>AI Ecosystem</category><category>Qwen</category></item><item><title>SQLite Critical CVEs or LLM Slop? jFrog Investigates</title><link>https://soumitrasaha.com/my-reads/sqlite-cves-or-llm-slop/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/sqlite-cves-or-llm-slop/</guid><description>jFrog verified six &apos;critical&apos; SQLite CVEs and found fabricated functions, impossible line numbers, and PoCs that crash nothing — with red flags you can check.</description><pubDate>Fri, 14 Aug 2026 18:30:00 GMT</pubDate><category>jFrog</category><category>SQLite</category><category>Security</category><category>Supply Chain</category></item><item><title>Stop Writing Bad APIs: 10 REST API Mistakes Developers Keep Making</title><link>https://soumitrasaha.com/blogs/rest-api-mistakes/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rest-api-mistakes/</guid><description>I walk through ten REST API mistakes that keep showing up in real codebases — wrong methods, missing pagination, no idempotency, leaking errors — and show the concrete fix for each.</description><pubDate>Thu, 13 Aug 2026 18:30:00 GMT</pubDate><category>REST API</category><category>Node.js</category><category>Backend</category><category>HTTP</category><category>API Design</category></item><item><title>Z.ai GLM-5.3 for frontier coding</title><link>https://soumitrasaha.com/my-reads/zai-glm-5-3-frontier-coding/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/zai-glm-5-3-frontier-coding/</guid><description>GLM-5.3 is useful to track because Z.ai is competing directly in coding, agentic engineering, and efficient open-weight models.</description><pubDate>Thu, 13 Aug 2026 18:30:00 GMT</pubDate><category>Z.ai</category><category>GLM</category><category>Chinese AI Labs</category><category>Coding Models</category></item><item><title>OpenAI&apos;s builder guide to GPT-5.6</title><link>https://soumitrasaha.com/my-reads/openai-gpt-5-6-builders-guide/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/openai-gpt-5-6-builders-guide/</guid><description>A practical read on model selection, reasoning controls, multi-agent orchestration, and cost-aware AI product design.</description><pubDate>Wed, 12 Aug 2026 18:30:00 GMT</pubDate><category>OpenAI</category><category>GPT</category><category>Agents</category><category>Model Routing</category></item><item><title>10 Developer Tools That Feel Illegal to Know About</title><link>https://soumitrasaha.com/blogs/developer-tools-worth-knowing/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/developer-tools-worth-knowing/</guid><description>I walk through 10 CLI and desktop tools — from ripgrep and fzf to lazygit and Bruno — each with a concrete use case for the problems they actually solve.</description><pubDate>Sun, 09 Aug 2026 18:30:00 GMT</pubDate><category>CLI</category><category>Developer Tools</category><category>API Testing</category><category>Terminal</category><category>Git</category></item><item><title>Cloudflare is unifying Workers AI and AI Gateway</title><link>https://soumitrasaha.com/my-reads/cloudflare-ai-gateway-workers-ai-control-plane/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/cloudflare-ai-gateway-workers-ai-control-plane/</guid><description>A useful Cloudflare read about treating AI calls as traffic that needs routing, logs, billing, retries, and control from the start.</description><pubDate>Fri, 07 Aug 2026 18:30:00 GMT</pubDate><category>Cloudflare</category><category>AI Gateway</category><category>Observability</category><category>Model Routing</category></item><item><title>10 VS Code Extensions Worth Installing</title><link>https://soumitrasaha.com/blogs/vscode-extensions-worth-installing/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/vscode-extensions-worth-installing/</guid><description>A verified list of 10 VS Code extensions — from ESLint and GitLens to Error Lens and REST Client — with their actual use cases and what each one covers that VS Code&apos;s defaults don&apos;t.</description><pubDate>Thu, 06 Aug 2026 18:30:00 GMT</pubDate><category>VS Code</category><category>Developer Tools</category><category>Productivity</category><category>Workflow</category></item><item><title>Kitesurf: Cloudflare&apos;s browser for AI agents</title><link>https://soumitrasaha.com/my-reads/cloudflare-kitesurf-agent-browser/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/cloudflare-kitesurf-agent-browser/</guid><description>Kitesurf is interesting because it asks what a browser should look like when the primary user is an agent, not a human.</description><pubDate>Thu, 06 Aug 2026 18:30:00 GMT</pubDate><category>Cloudflare</category><category>Browser</category><category>Agents</category><category>Web</category></item><item><title>Cloudflare&apos;s Agent Development Lifecycle</title><link>https://soumitrasaha.com/my-reads/cloudflare-agent-development-lifecycle/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/cloudflare-agent-development-lifecycle/</guid><description>A sharp Cloudflare article about why agent-driven software needs APIs, previews, observability, and lifecycle design beyond the normal SDLC.</description><pubDate>Tue, 04 Aug 2026 18:30:00 GMT</pubDate><category>Cloudflare</category><category>Agents</category><category>SDLC</category><category>DevOps</category></item><item><title>10 GitHub Repositories Every Developer Should Know About</title><link>https://soumitrasaha.com/blogs/github-repositories-developers/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/github-repositories-developers/</guid><description>I walk through 10 GitHub repositories worth bookmarking — from interactive learning roadmaps to local AI tools — each with a specific reason to use it and how.</description><pubDate>Mon, 03 Aug 2026 18:30:00 GMT</pubDate><category>GitHub</category><category>Developer Tools</category><category>Learning Resources</category><category>Open Source</category><category>AI Tools</category></item><item><title>Qwen3.8-Max and coding cowork</title><link>https://soumitrasaha.com/my-reads/qwen-3-8-max-coding-cowork/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/qwen-3-8-max-coding-cowork/</guid><description>Qwen&apos;s newer releases are worth following because the ecosystem around Qwen models is becoming a default base for many open-model builders.</description><pubDate>Sun, 02 Aug 2026 18:30:00 GMT</pubDate><category>Qwen</category><category>Chinese AI Labs</category><category>Coding Models</category><category>Open Models</category></item><item><title>Don&apos;t Stop Early: Case-Folding Source Code at Memory Speed</title><link>https://soumitrasaha.com/my-reads/github-case-folding-memory-speed/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/github-case-folding-memory-speed/</guid><description>How GitHub&apos;s code search team removed an early-exit branch from a hot loop and gained a 15× throughput improvement — because the branch, not the work, was the bottleneck.</description><pubDate>Fri, 31 Jul 2026 18:30:00 GMT</pubDate><category>GitHub</category><category>Performance</category><category>Algorithms</category><category>Developer Tools</category></item><item><title>Rust vs Go: Which Language Should Backend Developers Learn?</title><link>https://soumitrasaha.com/blogs/rust-vs-go-backend/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-vs-go-backend/</guid><description>A practical comparison of Rust and Go for backend developers — covering performance, concurrency models, learning curve, and job market so you can choose the right one.</description><pubDate>Thu, 30 Jul 2026 18:30:00 GMT</pubDate><category>Rust</category><category>Go</category><category>Backend</category><category>Systems Programming</category></item><item><title>Zig&apos;s Creator Responds to the Bun Rust Rewrite</title><link>https://soumitrasaha.com/my-reads/zig-creator-bun-rust-response/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/zig-creator-bun-rust-response/</guid><description>The Zig creator&apos;s candid response to Bun&apos;s Rust rewrite, arguing that engineering discipline and values — not language features — decide software quality.</description><pubDate>Wed, 29 Jul 2026 18:30:00 GMT</pubDate><category>Zig</category><category>Rust</category><category>Bun</category><category>Memory Safety</category></item><item><title>Why Rust Is Becoming One of the Most Loved Programming Languages</title><link>https://soumitrasaha.com/blogs/rust-most-loved-language/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-most-loved-language/</guid><description>I look at the Stack Overflow survey streak, what the admiration score actually measures, why practitioners cite correctness over performance, and where Rust is already running in production.</description><pubDate>Mon, 27 Jul 2026 18:30:00 GMT</pubDate><category>Rust</category><category>Programming Languages</category><category>Developer Survey</category><category>Memory Safety</category><category>Systems Programming</category></item><item><title>Bun&apos;s Rust Rewrite: 535,000 Lines of Zig in 11 Days</title><link>https://soumitrasaha.com/my-reads/bun-rewriting-in-rust/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/bun-rewriting-in-rust/</guid><description>Bun&apos;s maintainer explains how he used Claude to port 535,000 lines of Zig to Rust in 11 days, and why compiler-enforced memory safety beat a style guide.</description><pubDate>Mon, 27 Jul 2026 18:30:00 GMT</pubDate><category>Bun</category><category>Rust</category><category>Zig</category><category>Runtime</category></item><item><title>HTMX Explained: Do We Really Need React for Everything?</title><link>https://soumitrasaha.com/blogs/htmx-do-we-need-react/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/htmx-do-we-need-react/</guid><description>I explain what HTMX does differently, show how hx-get and hx-swap work, and give an honest account of where it outperforms React and where it doesn&apos;t.</description><pubDate>Fri, 24 Jul 2026 18:30:00 GMT</pubDate><category>HTMX</category><category>React</category><category>Frontend Development</category><category>JavaScript</category><category>Web Development</category></item><item><title>How Our Rust-to-Zig Rewrite Is Going</title><link>https://soumitrasaha.com/my-reads/rust-to-zig-rewrite/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/rust-to-zig-rewrite/</guid><description>Richard Feldman reports on 487 days of rewriting the Roc compiler from 300K lines of Rust into Zig, with real build timings, actual memory-safety outcomes, and a frank accounting of what each language provides.</description><pubDate>Thu, 23 Jul 2026 18:30:00 GMT</pubDate><category>Zig</category><category>Rust</category><category>Runtime</category><category>Memory Safety</category></item><item><title>Bun vs Node.js: Is Bun Finally Ready to Replace Node?</title><link>https://soumitrasaha.com/blogs/bun-vs-nodejs/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/bun-vs-nodejs/</guid><description>I look at Bun&apos;s verified speed claims, Node.js compatibility as of early 2026, where it genuinely saves time, and which gaps still block a clean switch.</description><pubDate>Mon, 20 Jul 2026 18:30:00 GMT</pubDate><category>Bun</category><category>Node.js</category><category>JavaScript</category><category>Backend</category><category>Runtime</category></item><item><title>Announcing TypeScript 7.0</title><link>https://soumitrasaha.com/my-reads/typescript-7-native-compiler/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/typescript-7-native-compiler/</guid><description>TypeScript 7.0 ships the native Go port as the official npm release, delivering 8x–12x faster builds, parallel type-checking, a rebuilt watch mode, and a VS Code extension — with no programmatic API until 7.1.</description><pubDate>Mon, 20 Jul 2026 18:30:00 GMT</pubDate><category>Microsoft</category><category>TypeScript</category><category>Developer Tools</category><category>Performance</category></item><item><title>Vite vs Webpack: Why Developers Are Moving Away from Webpack</title><link>https://soumitrasaha.com/blogs/vite-vs-webpack/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/vite-vs-webpack/</guid><description>I explain why webpack&apos;s bundle-first approach gets slow at scale and how Vite&apos;s native ESM model changes the dev server experience for most projects.</description><pubDate>Fri, 17 Jul 2026 18:30:00 GMT</pubDate><category>Build Tools</category><category>Vite</category><category>Webpack</category><category>JavaScript</category><category>Performance</category></item><item><title>Rebuilding a React App with Vite: Is It Actually Faster?</title><link>https://soumitrasaha.com/blogs/react-vite-rebuild-faster/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-vite-rebuild-faster/</guid><description>I compare Vite&apos;s native ESM dev server to the bundle-first approach of webpack, explain the real performance difference, and walk through migrating from CRA step by step.</description><pubDate>Tue, 14 Jul 2026 18:30:00 GMT</pubDate><category>React</category><category>Vite</category><category>Frontend Development</category><category>Build Tools</category><category>Performance</category></item><item><title>Introducing Meerkat: An Experiment in Global Consensus</title><link>https://soumitrasaha.com/my-reads/cloudflare-meerkat-distributed-consensus/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/cloudflare-meerkat-distributed-consensus/</guid><description>Cloudflare is building Meerkat, a consensus service powered by the QuePaxa algorithm, to provide linearizable reads and writes across 330+ global data centers without the availability holes that leader-based protocols create.</description><pubDate>Mon, 13 Jul 2026 18:30:00 GMT</pubDate><category>Cloudflare</category><category>Distributed Systems</category><category>Infrastructure</category><category>Networking</category><category>Databases</category></item><item><title>Why Developers Are Obsessed with shadcn/ui</title><link>https://soumitrasaha.com/blogs/shadcn-ui-why-developers-love-it/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/shadcn-ui-why-developers-love-it/</guid><description>I explain what shadcn/ui&apos;s copy-paste model actually means, how Radix UI handles accessibility under the hood, and what changes when you own your UI code.</description><pubDate>Fri, 10 Jul 2026 18:30:00 GMT</pubDate><category>React</category><category>UI Components</category><category>Tailwind CSS</category><category>Radix UI</category></item><item><title>Postgres Transactions are a Distributed Systems Superpower</title><link>https://soumitrasaha.com/my-reads/postgres-workflow-state-colocation/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/postgres-workflow-state-colocation/</guid><description>DBOS argues that running workflow state and application data in the same Postgres database collapses the idempotency and atomicity problems that separate workflow engines introduce, by reducing distributed coordination to a local transaction.</description><pubDate>Thu, 09 Jul 2026 18:30:00 GMT</pubDate><category>DBOS</category><category>Postgres</category><category>Distributed Systems</category><category>Databases</category></item><item><title>Next.js vs React: What Should You Actually Learn?</title><link>https://soumitrasaha.com/blogs/nextjs-vs-react/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nextjs-vs-react/</guid><description>I explain how React and Next.js relate, what the framework adds on top of the library, and give you a concrete guide for which to start with based on what you&apos;re actually building.</description><pubDate>Tue, 07 Jul 2026 18:30:00 GMT</pubDate><category>React</category><category>Next.js</category><category>Frontend Development</category><category>JavaScript</category></item><item><title>Meta&apos;s AI Storage Blueprint at Scale</title><link>https://soumitrasaha.com/my-reads/meta-ai-storage-blueprint/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-ai-storage-blueprint/</guid><description>How Meta rebuilt its exabyte-scale BLOB storage layer from first principles — scrapping a multi-layer metadata chain and adding a tiered caching architecture — to eliminate GPU stalls and compress multi-hour ingestion cycles.</description><pubDate>Mon, 06 Jul 2026 18:30:00 GMT</pubDate><category>Meta</category><category>Storage</category><category>AI Infrastructure</category><category>System Design</category></item><item><title>Next.js 15: What Changed and Should You Upgrade?</title><link>https://soumitrasaha.com/blogs/nextjs-15-changes-upgrade/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nextjs-15-changes-upgrade/</guid><description>I walk through the two breaking changes in Next.js 15 — async request APIs and the new caching defaults — explain the React 19 requirement, and help you decide if it&apos;s time to upgrade.</description><pubDate>Sat, 04 Jul 2026 18:30:00 GMT</pubDate><category>Next.js</category><category>React</category><category>Frontend Development</category><category>App Router</category><category>React 19</category></item><item><title>React 19: Everything Developers Need to Know</title><link>https://soumitrasaha.com/blogs/react-19-guide/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-19-guide/</guid><description>I cover the meaningful changes in React 19 — Actions, useActionState, the use() hook, React Compiler, document metadata, ref as prop, and how to upgrade.</description><pubDate>Wed, 01 Jul 2026 18:30:00 GMT</pubDate><category>React</category><category>JavaScript</category><category>Frontend Development</category><category>React 19</category><category>Hooks</category></item><item><title>Adopting AV1 for Real-Time Communication at Scale</title><link>https://soumitrasaha.com/my-reads/meta-av1-real-time-communication/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-av1-real-time-communication/</guid><description>How Meta solved the encoding complexity, device eligibility, rate control, and error resilience problems that separate AV1 on-demand streaming from AV1 video calls — and why the RTC constraints make this a substantially harder problem.</description><pubDate>Sun, 28 Jun 2026 18:30:00 GMT</pubDate><category>Meta</category><category>Video</category><category>AV1</category><category>Performance</category></item><item><title>Why TypeScript Is Taking Over JavaScript Projects</title><link>https://soumitrasaha.com/blogs/typescript-taking-over/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/typescript-taking-over/</guid><description>I walk through the adoption data, the practical day-to-day wins, the native compiler story, and the honest cases where plain JavaScript still makes more sense.</description><pubDate>Sat, 27 Jun 2026 18:30:00 GMT</pubDate><category>TypeScript</category><category>JavaScript</category><category>Static Typing</category><category>Developer Tools</category></item><item><title>Hunting a 16-Year-Old SQLite Bug with TLA+: Is dqlite Affected?</title><link>https://soumitrasaha.com/my-reads/ubuntu-tla-plus-sqlite-bug/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/ubuntu-tla-plus-sqlite-bug/</guid><description>Canonical&apos;s dqlite team used TLA+ to model a 16-year-old data race in SQLite&apos;s WAL checkpoint code — finding a corruption path in 20 model states, proving dqlite immune because its stop-the-world checkpoint prevents the race, and confirming SQLite&apos;s one-line salt-check fix is sufficient.</description><pubDate>Sat, 27 Jun 2026 18:30:00 GMT</pubDate><category>Ubuntu</category><category>SQLite</category><category>Formal Methods</category><category>Databases</category></item><item><title>Google Gemini Nano acceleration with frozen MTP</title><link>https://soumitrasaha.com/my-reads/google-gemini-nano-frozen-mtp/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/google-gemini-nano-frozen-mtp/</guid><description>A useful on-device AI read about accelerating frozen production models with multi-token prediction instead of training a separate drafter.</description><pubDate>Fri, 26 Jun 2026 18:30:00 GMT</pubDate><category>Google</category><category>On-device AI</category><category>Gemini Nano</category><category>Inference</category></item><item><title>Is JavaScript Dying? The Truth About JavaScript Today</title><link>https://soumitrasaha.com/blogs/is-javascript-dying/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/is-javascript-dying/</guid><description>I look at State of JS 2024, Stack Overflow data, and GitHub Octoverse to explain why JavaScript isn&apos;t dying — but it is changing in ways worth understanding.</description><pubDate>Wed, 24 Jun 2026 18:30:00 GMT</pubDate><category>JavaScript</category><category>TypeScript</category><category>Web Development</category><category>State of JS</category><category>Opinion</category></item><item><title>Python Just Overtook JavaScript on GitHub — Here&apos;s Why Developers Should Care</title><link>https://soumitrasaha.com/blogs/python-overtook-javascript-github/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/python-overtook-javascript-github/</guid><description>Python topped GitHub&apos;s language rankings in 2024, ending JavaScript&apos;s decade-long run. I dig into the data, the causes, and what it actually means for JS developers.</description><pubDate>Sun, 21 Jun 2026 18:30:00 GMT</pubDate><category>Python</category><category>JavaScript</category><category>Developer Trends</category><category>AI</category><category>Open Source</category></item><item><title>How to Run an LLM Locally on Your Laptop Without Paying for an API</title><link>https://soumitrasaha.com/blogs/run-llm-locally-laptop/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/run-llm-locally-laptop/</guid><description>I walk through running open-weight language models on a laptop using Ollama, explain what GGUF quantization is, and show you which model sizes actually fit in consumer RAM.</description><pubDate>Thu, 18 Jun 2026 18:30:00 GMT</pubDate><category>AI</category><category>LLM</category><category>Ollama</category><category>Local Development</category><category>Privacy</category></item><item><title>pg_durable: Durable Execution Inside PostgreSQL</title><link>https://soumitrasaha.com/my-reads/microsoft-pg-durable-execution/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/microsoft-pg-durable-execution/</guid><description>pg_durable is a PostgreSQL extension that checkpoints SQL workflow state between steps so that long-running, multi-step jobs survive crashes, restarts, and partial failures without external orchestrators or bespoke retry logic.</description><pubDate>Thu, 18 Jun 2026 18:30:00 GMT</pubDate><category>Microsoft</category><category>Postgres</category><category>Distributed Systems</category><category>Databases</category></item><item><title>Moving beyond fork() + exec()</title><link>https://soumitrasaha.com/my-reads/beyond-fork-exec-process-creation/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/beyond-fork-exec-process-creation/</guid><description>Linux kernel developers discuss proposals to replace the fork()+exec() process creation model with a cleaner API built on the pidfd abstraction and a kernel-native posix_spawn().</description><pubDate>Mon, 15 Jun 2026 18:30:00 GMT</pubDate><category>LWN</category><category>Linux</category><category>Kernel</category><category>Performance</category></item><item><title>Claude Fable 5 and Mythos 5: When the Safety Layer Lives Outside the Model</title><link>https://soumitrasaha.com/my-reads/anthropic-claude-fable-mythos/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/anthropic-claude-fable-mythos/</guid><description>Anthropic&apos;s Claude Fable 5 and Mythos 5 share identical weights but are separated by inference-time safety classifiers, a deployment architecture that decouples capability from access control and lets governance properties evolve without model retraining.</description><pubDate>Sun, 14 Jun 2026 18:30:00 GMT</pubDate><category>Anthropic</category><category>Reasoning</category><category>Agents</category><category>Open Models</category></item><item><title>RAG Explained Simply: Build an AI That Talks to Your Own Data</title><link>https://soumitrasaha.com/blogs/rag-explained-simply/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rag-explained-simply/</guid><description>I explain how Retrieval-Augmented Generation works from embeddings to the retrieval step, then show a minimal TypeScript pipeline that chunks, stores, and retrieves your own documents before calling the LLM.</description><pubDate>Sat, 13 Jun 2026 18:30:00 GMT</pubDate><category>AI</category><category>RAG</category><category>Embeddings</category><category>Node.js</category><category>TypeScript</category></item><item><title>How to Build Your First AI-Powered App with React, Node.js, and OpenAI</title><link>https://soumitrasaha.com/blogs/first-ai-app-react-node-openai/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/first-ai-app-react-node-openai/</guid><description>I walk through building a streaming chat app end to end — Express proxies the OpenAI API key server-side, pipes SSE chunks back, and a React UI reads and renders each token as it arrives.</description><pubDate>Tue, 09 Jun 2026 18:30:00 GMT</pubDate><category>AI</category><category>Node.js</category><category>React</category><category>OpenAI</category><category>TypeScript</category></item><item><title>10 ChatGPT Prompts Every Software Developer Should Know</title><link>https://soumitrasaha.com/blogs/chatgpt-prompts-for-developers/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/chatgpt-prompts-for-developers/</guid><description>I walk through 10 tested prompt templates for debugging, code review, testing, and documentation, and explain the structure behind why each one actually works.</description><pubDate>Thu, 04 Jun 2026 18:30:00 GMT</pubDate><category>AI Tools</category><category>Productivity</category><category>Prompt Engineering</category><category>Developer Workflow</category></item><item><title>What Actually Happens When You Use AI to Build an App From Scratch</title><link>https://soumitrasaha.com/blogs/ai-built-app-what-happens/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/ai-built-app-what-happens/</guid><description>I look at documented public experiments — gpt-engineer, smol-dev, and real developer workflows — to show where AI-generated apps shine, where they fall apart, and what the job shift means in practice.</description><pubDate>Sun, 31 May 2026 18:30:00 GMT</pubDate><category>AI Tools</category><category>Software Development</category><category>Developer Productivity</category><category>Engineering</category><category>Lessons Learned</category></item><item><title>Google Research at I/O 2026</title><link>https://soumitrasaha.com/my-reads/google-research-io-2026/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/google-research-io-2026/</guid><description>A catch-up read on Google&apos;s research direction across Gemini for Science, computational discovery, Earth AI, and useful applied AI systems.</description><pubDate>Fri, 29 May 2026 18:30:00 GMT</pubDate><category>Google Research</category><category>Gemini</category><category>Science</category><category>AI</category></item><item><title>Anthropic Claude Opus 4.8 and agent reliability</title><link>https://soumitrasaha.com/my-reads/anthropic-claude-opus-4-8-agent-reliability/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/anthropic-claude-opus-4-8-agent-reliability/</guid><description>Anthropic&apos;s Opus 4.8 release is worth reading for its focus on judgment, honesty, tool use, and long-running agent work.</description><pubDate>Thu, 28 May 2026 18:30:00 GMT</pubDate><category>Anthropic</category><category>Claude</category><category>Agents</category><category>Coding</category></item><item><title>Cursor vs GitHub Copilot: Which AI Coding Assistant Is Better?</title><link>https://soumitrasaha.com/blogs/cursor-vs-github-copilot/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/cursor-vs-github-copilot/</guid><description>Here&apos;s what actually separates these two AI coding tools — context depth, agent capabilities, and pricing — so you can pick based on your workflow, not marketing claims.</description><pubDate>Tue, 26 May 2026 18:30:00 GMT</pubDate><category>AI Tools</category><category>Developer Tools</category><category>Productivity</category><category>Workflow</category></item><item><title>Postmortem: TanStack npm supply-chain compromise</title><link>https://soumitrasaha.com/my-reads/tanstack-npm-supply-chain-postmortem/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/tanstack-npm-supply-chain-postmortem/</guid><description>How an attacker chained pull_request_target abuse, GitHub Actions cache poisoning, and in-memory OIDC token extraction to publish 84 malicious npm packages in six minutes.</description><pubDate>Mon, 25 May 2026 18:30:00 GMT</pubDate><category>TanStack</category><category>Supply Chain</category><category>Security</category><category>Postmortem</category></item><item><title>Will AI Replace Software Developers? What Developers Should Actually Prepare For</title><link>https://soumitrasaha.com/blogs/ai-replace-software-developers/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/ai-replace-software-developers/</guid><description>I look at what the research says about AI and developer productivity, where certain roles are genuinely at risk, and what is actually worth preparing for.</description><pubDate>Thu, 21 May 2026 18:30:00 GMT</pubDate><category>AI</category><category>Developer Career</category><category>Software Development</category><category>Automation</category></item><item><title>How OpenAI delivers low-latency voice AI at scale</title><link>https://soumitrasaha.com/my-reads/openai-low-latency-voice-ai/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/openai-low-latency-voice-ai/</guid><description>How OpenAI rearchitected their WebRTC stack to run at 900 million weekly active users on Kubernetes, by splitting packet routing from protocol termination and encoding session ownership into the ICE username fragment.</description><pubDate>Tue, 19 May 2026 18:30:00 GMT</pubDate><category>OpenAI</category><category>Inference</category><category>Audio</category><category>Networking</category></item><item><title>My 2026 Developer Roadmap: What I&apos;m Learning Next</title><link>https://soumitrasaha.com/blogs/2026-developer-roadmap/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/2026-developer-roadmap/</guid><description>I map out four skills worth real investment in 2026 — AI tooling depth, Rust fundamentals, end-to-end type safety, and system design — with honest reasons behind each choice.</description><pubDate>Fri, 15 May 2026 18:30:00 GMT</pubDate><category>Developer Roadmap</category><category>AI Tools</category><category>Rust</category><category>System Design</category><category>TypeScript</category></item><item><title>When Idle Isn&apos;t Idle: How a Linux Kernel Optimization Became a QUIC Bug</title><link>https://soumitrasaha.com/my-reads/quic-death-spiral-fix/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/quic-death-spiral-fix/</guid><description>How Cloudflare traced a CUBIC death spiral in quiche — where the congestion window locked at its two-packet minimum after loss — to an incorrect port of a 2017 Linux kernel idle-period adjustment.</description><pubDate>Thu, 14 May 2026 18:30:00 GMT</pubDate><category>Cloudflare</category><category>QUIC</category><category>Linux</category><category>Networking</category></item><item><title>What I Learned Building Full-Stack Applications in 2025</title><link>https://soumitrasaha.com/blogs/fullstack-development-lessons/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/fullstack-development-lessons/</guid><description>Six honest lessons from 2025 — TypeScript as the new floor, the Vite tooling win, AI&apos;s productivity ceiling, and where meta-framework complexity actually lives.</description><pubDate>Sun, 10 May 2026 18:30:00 GMT</pubDate><category>Full-Stack Development</category><category>TypeScript</category><category>React</category><category>Developer Tools</category><category>Lessons Learned</category></item><item><title>Baidu ERNIE 5.1 and efficient multimodal scaling</title><link>https://soumitrasaha.com/my-reads/baidu-ernie-5-1-efficient-multimodal-scaling/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/baidu-ernie-5-1-efficient-multimodal-scaling/</guid><description>ERNIE 5.1 is worth tracking because Baidu is talking about model compression, elastic pre-training, agentic post-training, and cost-performance.</description><pubDate>Fri, 08 May 2026 18:30:00 GMT</pubDate><category>Baidu</category><category>ERNIE</category><category>Chinese AI Labs</category><category>Multimodal</category></item><item><title>Building a Better Developer Workflow with Automation</title><link>https://soumitrasaha.com/blogs/developer-workflow-automation/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/developer-workflow-automation/</guid><description>I walk through setting up npm/bun scripts, Husky pre-commit hooks, and lint-staged so your project checks code quality on every commit without slowing down the process.</description><pubDate>Mon, 04 May 2026 18:30:00 GMT</pubDate><category>Developer Tools</category><category>Git</category><category>Automation</category><category>Node.js</category><category>Workflow</category></item><item><title>Ghostty Is Leaving GitHub</title><link>https://soumitrasaha.com/my-reads/ghostty-leaving-github/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/ghostty-leaving-github/</guid><description>Mitchell Hashimoto, GitHub user #1299 since 2008 and creator of Ghostty, announced the terminal emulator project will migrate off GitHub after months of near-daily outages blocking PR review and CI.</description><pubDate>Sat, 02 May 2026 18:30:00 GMT</pubDate><category>Developer Tools</category><category>Developer Experience</category><category>Infrastructure</category><category>Reliability</category></item><item><title>Bugs Rust Won&apos;t Catch</title><link>https://soumitrasaha.com/my-reads/bugs-rust-wont-catch/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/bugs-rust-wont-catch/</guid><description>A 2026 audit of uutils found 44 CVEs in production Rust code missed entirely by the borrow checker, Clippy, and cargo-audit, revealing where Rust&apos;s safety boundary actually falls.</description><pubDate>Fri, 01 May 2026 18:30:00 GMT</pubDate><category>Corrode</category><category>Rust</category><category>Security</category><category>Memory Safety</category></item><item><title>Google Gemini Embedding 2 for multimodal RAG</title><link>https://soumitrasaha.com/my-reads/google-gemini-embedding-2-multimodal-rag/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/google-gemini-embedding-2-multimodal-rag/</guid><description>A Google Developers post about one embedding model for text, images, video, audio, and documents, which is very relevant for agentic RAG.</description><pubDate>Thu, 30 Apr 2026 18:30:00 GMT</pubDate><category>Google</category><category>Gemini</category><category>Embeddings</category><category>RAG</category></item><item><title>Logging, Monitoring, and Observability for Web Apps</title><link>https://soumitrasaha.com/blogs/logging-monitoring-observability/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/logging-monitoring-observability/</guid><description>I walk through the three observability signals — structured logs, metrics, and distributed traces — and show how to set up Pino in Node.js.</description><pubDate>Wed, 29 Apr 2026 18:30:00 GMT</pubDate><category>Node.js</category><category>Observability</category><category>Logging</category><category>Monitoring</category><category>Backend</category></item><item><title>An Update on GitHub Availability</title><link>https://soumitrasaha.com/my-reads/github-availability-update/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/github-availability-update/</guid><description>GitHub&apos;s CTO describes two April 2026 incidents — a merge queue squash regression affecting 658 repositories and an Elasticsearch overload — as symptoms of an architecture that hasn&apos;t yet caught up with the 30x scale demanded by agentic development workflows.</description><pubDate>Wed, 29 Apr 2026 18:30:00 GMT</pubDate><category>GitHub</category><category>Postmortem</category><category>Reliability</category><category>Incident Review</category></item><item><title>An Update on Recent Claude Code Quality Reports</title><link>https://soumitrasaha.com/my-reads/anthropic-claude-code-april-postmortem/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/anthropic-claude-code-april-postmortem/</guid><description>Three product-layer changes to Claude Code shipped across six weeks and produced what looked like a broad model regression — but the model API was never touched.</description><pubDate>Mon, 27 Apr 2026 18:30:00 GMT</pubDate><category>Anthropic</category><category>Postmortem</category><category>Reliability</category><category>Coding</category></item><item><title>DeepSeek V4 Preview and the 1M-context open model race</title><link>https://soumitrasaha.com/my-reads/deepseek-v4-preview-1m-context-open-model-race/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/deepseek-v4-preview-1m-context-open-model-race/</guid><description>DeepSeek&apos;s V4 Preview is another signal that Chinese AI labs are competing hard on context length, active parameters, and cost.</description><pubDate>Fri, 24 Apr 2026 18:30:00 GMT</pubDate><category>DeepSeek</category><category>Chinese AI Labs</category><category>Open Models</category><category>Long Context</category></item><item><title>Designing a Notification System: A Practical Approach</title><link>https://soumitrasaha.com/blogs/notification-system-design/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/notification-system-design/</guid><description>I walk through the architecture behind a multi-channel notification system — fan-out, templates, delivery guarantees, and user preferences — and show where the non-obvious decisions sit.</description><pubDate>Thu, 23 Apr 2026 18:30:00 GMT</pubDate><category>System Design</category><category>Architecture</category><category>Backend</category><category>Queues</category><category>Notifications</category></item><item><title>Cloudflare&apos;s internal AI engineering stack</title><link>https://soumitrasaha.com/my-reads/cloudflare-internal-ai-engineering-stack/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/cloudflare-internal-ai-engineering-stack/</guid><description>This is a strong read on how a large engineering org actually uses AI coding tools, standards, review, and platform primitives together.</description><pubDate>Tue, 21 Apr 2026 18:30:00 GMT</pubDate><category>Cloudflare</category><category>AI Engineering</category><category>Developer Tools</category><category>Platform</category></item><item><title>Designing a URL Shortener: A System Design Walkthrough</title><link>https://soumitrasaha.com/blogs/url-shortener-system-design/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/url-shortener-system-design/</guid><description>I walk through designing a URL shortener from requirements to caching, covering ID generation, the 301-vs-302 redirect decision, and scaling the read path.</description><pubDate>Sat, 18 Apr 2026 18:30:00 GMT</pubDate><category>System Design</category><category>Architecture</category><category>Caching</category><category>Database</category><category>URL Shortener</category></item><item><title>Cloudflare Browser Run for agents</title><link>https://soumitrasaha.com/my-reads/cloudflare-browser-run-for-agents/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/cloudflare-browser-run-for-agents/</guid><description>Browser Run is useful because real agents need browser control, live view, session replay, CDP access, and human handoff when the web gets messy.</description><pubDate>Fri, 17 Apr 2026 18:30:00 GMT</pubDate><category>Cloudflare</category><category>Browser Run</category><category>Agents</category><category>Automation</category></item><item><title>Load Balancers, Caches, and CDNs Explained</title><link>https://soumitrasaha.com/blogs/load-balancers-caches-cdns/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/load-balancers-caches-cdns/</guid><description>I break down what load balancers, application caches, and CDNs each do, how L4 vs L7 routing differs, why sticky sessions are a trap, and when to use Redis vs a CDN.</description><pubDate>Mon, 13 Apr 2026 18:30:00 GMT</pubDate><category>System Design</category><category>Load Balancer</category><category>Caching</category><category>CDN</category><category>Architecture</category></item><item><title>System Design Basics: Scaling from One User to One Million</title><link>https://soumitrasaha.com/blogs/system-design-scaling-basics/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/system-design-scaling-basics/</guid><description>I walk through the real arc from a single-server app to a distributed system, showing where each stage breaks and what each layer of the architecture actually fixes.</description><pubDate>Wed, 08 Apr 2026 18:30:00 GMT</pubDate><category>System Design</category><category>Scalability</category><category>Load Balancer</category><category>Caching</category><category>Architecture</category></item><item><title>Improving React Native App Performance</title><link>https://soumitrasaha.com/blogs/react-native-performance/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-native-performance/</guid><description>I walk through FlatList vs ScrollView for long lists, useCallback and React.memo for list items, InteractionManager for deferring heavy work after animations, the Hermes engine, and how to profile with React Native DevTools.</description><pubDate>Thu, 02 Apr 2026 18:30:00 GMT</pubDate><category>React Native</category><category>Performance</category><category>Mobile Development</category><category>TypeScript</category><category>Hermes</category></item><item><title>Push Notifications in React Native: The Architecture Explained</title><link>https://soumitrasaha.com/blogs/react-native-push-notifications/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-native-push-notifications/</guid><description>I trace the full path a push notification takes from server to screen — APNs, FCM, the Expo push service — and show how to handle permissions, tokens, and messages in three different app states.</description><pubDate>Sat, 28 Mar 2026 18:30:00 GMT</pubDate><category>React Native</category><category>Push Notifications</category><category>Expo</category><category>Mobile Development</category><category>TypeScript</category></item><item><title>Handling Deep Links and App Links in React Native</title><link>https://soumitrasaha.com/blogs/react-native-deep-links/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-native-deep-links/</guid><description>I explain the two React Native deep linking approaches — custom URL schemes and HTTPS universal links — and show how to wire both into React Navigation.</description><pubDate>Mon, 23 Mar 2026 18:30:00 GMT</pubDate><category>React Native</category><category>Deep Linking</category><category>Mobile Development</category><category>Expo</category><category>TypeScript</category></item><item><title>Cloudflare Workers AI now runs Kimi K2.5</title><link>https://soumitrasaha.com/my-reads/cloudflare-workers-ai-kimi-k2-5/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/cloudflare-workers-ai-kimi-k2-5/</guid><description>Cloudflare&apos;s large-model Workers AI post is useful because it connects model choice, inference cost, and agent infrastructure in one practical story.</description><pubDate>Fri, 20 Mar 2026 18:30:00 GMT</pubDate><category>Cloudflare</category><category>Workers AI</category><category>Kimi</category><category>Agents</category></item><item><title>Python 3.15&apos;s JIT: What It Actually Took</title><link>https://soumitrasaha.com/my-reads/python-3-15-jit-back-on-track/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/python-3-15-jit-back-on-track/</guid><description>CPython core developer Ken Jin documents how the JIT went from producing no speedups in 3.13 to 11-12% faster on macOS AArch64 in 3.15, through trace recording, reference-count elimination, and deliberate community design.</description><pubDate>Thu, 19 Mar 2026 18:30:00 GMT</pubDate><category>Python</category><category>Performance</category><category>Compilers</category><category>Runtime</category></item><item><title>Authentication Flows in React Native</title><link>https://soumitrasaha.com/blogs/react-native-authentication-flows/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-native-authentication-flows/</guid><description>I cover token storage security in React Native, the access and refresh token pattern, navigation-based auth guards, biometric auth as a device gate, and OAuth with Expo&apos;s WebBrowser.</description><pubDate>Wed, 18 Mar 2026 18:30:00 GMT</pubDate><category>React Native</category><category>Authentication</category><category>Expo</category><category>Security</category><category>Mobile</category></item><item><title>Building Forms and Validation in React Native</title><link>https://soumitrasaha.com/blogs/react-native-forms-validation/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-native-forms-validation/</guid><description>I cover TextInput&apos;s controlled input model, keyboard types, react-hook-form&apos;s Controller pattern, and Zod schema validation in React Native — plus the accessibility props that replace HTML label elements.</description><pubDate>Fri, 13 Mar 2026 18:30:00 GMT</pubDate><category>React Native</category><category>react-hook-form</category><category>Zod</category><category>Form Validation</category><category>Mobile Development</category></item><item><title>State Management in React Native Apps</title><link>https://soumitrasaha.com/blogs/react-native-state-management/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-native-state-management/</guid><description>I cover the four state layers in a React Native app — local state, Context, Zustand, and AsyncStorage — and show what&apos;s different from managing state in web React.</description><pubDate>Sun, 08 Mar 2026 18:30:00 GMT</pubDate><category>React Native</category><category>State Management</category><category>Zustand</category><category>AsyncStorage</category><category>Mobile</category></item><item><title>Investing in Infrastructure: Meta&apos;s Renewed Commitment to jemalloc</title><link>https://soumitrasaha.com/my-reads/meta-jemalloc-commitment/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-jemalloc-commitment/</guid><description>Meta publicly acknowledges that short-term engineering decisions drifted jemalloc away from its core principles, details the technical debt that accumulated, and commits to a concrete roadmap covering hugepage allocation, AArch64 support, and memory efficiency improvements.</description><pubDate>Thu, 05 Mar 2026 18:30:00 GMT</pubDate><category>Meta</category><category>Allocator</category><category>Performance</category><category>Infrastructure</category></item><item><title>Navigation in React Native: A Practical Setup</title><link>https://soumitrasaha.com/blogs/react-native-navigation/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-native-navigation/</guid><description>I walk through React Navigation setup in React Native — Stack, Tab, and Drawer navigators, typed params, a deep links primer, and when Expo Router makes more sense.</description><pubDate>Tue, 03 Mar 2026 18:30:00 GMT</pubDate><category>React Native</category><category>React Navigation</category><category>Mobile Development</category><category>TypeScript</category><category>Expo</category></item><item><title>React Native for React Developers: Getting Started</title><link>https://soumitrasaha.com/blogs/react-native-for-react-developers/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-native-for-react-developers/</guid><description>I map out what transfers from React to React Native — JSX, hooks, props — and what changes — native views, StyleSheet, the flexbox defaults — so you can build your first mobile screen with confidence.</description><pubDate>Fri, 27 Feb 2026 18:30:00 GMT</pubDate><category>React Native</category><category>React</category><category>Mobile Development</category><category>Expo</category><category>TypeScript</category></item><item><title>WebAssembly&apos;s Second-Class Problem Has a Solution</title><link>https://soumitrasaha.com/my-reads/webassembly-first-class-web-language/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/webassembly-first-class-web-language/</guid><description>The WebAssembly Component Model proposes native browser API binding through WIT interfaces, eliminating the JavaScript glue layer responsible for a measured 45% overhead on DOM-heavy workloads.</description><pubDate>Fri, 27 Feb 2026 18:30:00 GMT</pubDate><category>Mozilla</category><category>WebAssembly</category><category>JavaScript</category><category>Runtime</category></item><item><title>Ladybird Adopts Rust, with Help from AI</title><link>https://soumitrasaha.com/my-reads/ladybird-adopts-rust/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/ladybird-adopts-rust/</guid><description>Ladybird&apos;s decision to port LibJS to Rust using AI-assisted translation produced 25,000 lines of correct, intentionally non-idiomatic Rust in two weeks with zero test regressions across 65,000 tests.</description><pubDate>Thu, 26 Feb 2026 18:30:00 GMT</pubDate><category>Ladybird</category><category>Rust</category><category>Memory Safety</category><category>Browser</category></item><item><title>Cloudflare Outage on February 20, 2026</title><link>https://soumitrasaha.com/my-reads/cloudflare-february-2026-outage/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/cloudflare-february-2026-outage/</guid><description>A 6-hour BYOIP outage caused by an API parameter parsed as an empty string instead of a presence flag, which led an automated cleanup task to treat every customer BGP prefix as pending deletion.</description><pubDate>Tue, 24 Feb 2026 18:30:00 GMT</pubDate><category>Cloudflare</category><category>Postmortem</category><category>Reliability</category><category>Incident Review</category></item><item><title>Debugging Production Performance Problems</title><link>https://soumitrasaha.com/blogs/debugging-production-performance/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/debugging-production-performance/</guid><description>I walk through how to debug a slow API endpoint using RUM data, Node.js CPU profiles, flamegraphs, and database slow query logs — a step-by-step process for finding what&apos;s actually slow.</description><pubDate>Fri, 20 Feb 2026 18:30:00 GMT</pubDate><category>Node.js</category><category>Performance</category><category>Backend</category><category>Debugging</category><category>Profiling</category></item><item><title>Next.js Performance: Images, Fonts, and Caching</title><link>https://soumitrasaha.com/blogs/nextjs-performance-images-fonts-caching/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nextjs-performance-images-fonts-caching/</guid><description>I show which next/image props actually change what the browser downloads, how next/font eliminates layout shift by default, and how caching strategy directly controls your page&apos;s TTFB.</description><pubDate>Sun, 15 Feb 2026 18:30:00 GMT</pubDate><category>Next.js</category><category>Performance</category><category>React</category><category>Web Performance</category><category>Frontend Development</category></item><item><title>MiniMax M2.5 and cheap long-running agent work</title><link>https://soumitrasaha.com/my-reads/minimax-m2-5-cheap-long-running-agent-work/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/minimax-m2-5-cheap-long-running-agent-work/</guid><description>MiniMax M2.5 is interesting because it pushes the cost side of agentic coding and productivity work very aggressively.</description><pubDate>Fri, 13 Feb 2026 18:30:00 GMT</pubDate><category>MiniMax</category><category>Chinese AI Labs</category><category>Agents</category><category>Cost</category></item><item><title>Code Splitting and Lazy Loading in React</title><link>https://soumitrasaha.com/blogs/react-code-splitting-lazy-loading/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-code-splitting-lazy-loading/</guid><description>I explain how dynamic import() tells your bundler to split code, show how React.lazy and Suspense work together, and cover the patterns that actually improve initial load time.</description><pubDate>Tue, 10 Feb 2026 18:30:00 GMT</pubDate><category>React</category><category>Performance</category><category>JavaScript</category><category>Frontend Development</category><category>Vite</category></item><item><title>Building a C Compiler with a Team of Parallel Claudes</title><link>https://soumitrasaha.com/my-reads/anthropic-c-compiler-agent-teams/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/anthropic-c-compiler-agent-teams/</guid><description>Anthropic researcher Nicholas Carlini tasks 16 parallel Claude agents with writing a Rust-based C compiler from scratch, and documents what it actually takes to run autonomous agents without human oversight.</description><pubDate>Mon, 09 Feb 2026 18:30:00 GMT</pubDate><category>Anthropic</category><category>Agents</category><category>Coding</category><category>Compilers</category></item><item><title>React Performance: Finding and Fixing Slow Components</title><link>https://soumitrasaha.com/blogs/react-performance-slow-components/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-performance-slow-components/</guid><description>I walk through the React DevTools Profiler to find slow components, explain React.memo, useCallback, and useMemo, and show when to skip memoisation entirely.</description><pubDate>Thu, 05 Feb 2026 18:30:00 GMT</pubDate><category>React</category><category>Performance</category><category>JavaScript</category><category>Frontend Development</category><category>Hooks</category></item><item><title>Rust at Scale: Memory Safety as a Security Layer in WhatsApp</title><link>https://soumitrasaha.com/my-reads/meta-rust-whatsapp-security/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-rust-whatsapp-security/</guid><description>WhatsApp rewrote its media handling library from C++ to Rust and shipped it to billions of devices, treating memory safety as a first-class security control rather than a nice-to-have.</description><pubDate>Sun, 01 Feb 2026 18:30:00 GMT</pubDate><category>Meta</category><category>Rust</category><category>Security</category><category>Memory Safety</category></item><item><title>Managing Secrets and Environment Variables Safely</title><link>https://soumitrasaha.com/blogs/manage-secrets-environment-variables/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/manage-secrets-environment-variables/</guid><description>I walk through how to keep secrets out of git, wire them securely into CI/CD pipelines, and know when a dedicated secrets manager is worth the complexity.</description><pubDate>Fri, 30 Jan 2026 18:30:00 GMT</pubDate><category>Security</category><category>DevOps</category><category>Node.js</category><category>CI/CD</category><category>Environment Variables</category></item><item><title>Scaling PostgreSQL to Power 800 Million ChatGPT Users</title><link>https://soumitrasaha.com/my-reads/openai-postgres-800-million-users/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/openai-postgres-800-million-users/</guid><description>How OpenAI serves millions of Postgres queries per second for ChatGPT on one primary and nearly 50 read replicas, and the discipline that keeps it standing.</description><pubDate>Thu, 29 Jan 2026 18:30:00 GMT</pubDate><category>OpenAI</category><category>Postgres</category><category>Scaling</category><category>Databases</category></item><item><title>Rate Limiting, CORS, and Secure API Headers</title><link>https://soumitrasaha.com/blogs/rate-limiting-cors-secure-headers/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rate-limiting-cors-secure-headers/</guid><description>I walk through rate limiting, CORS, and Helmet security headers for Express — covering fixed windows, preflight handling, and the 13 headers Helmet sets by default.</description><pubDate>Sun, 25 Jan 2026 18:30:00 GMT</pubDate><category>Express</category><category>Node.js</category><category>Security</category><category>API</category><category>Backend</category></item><item><title>Preventing XSS, CSRF, and SQL Injection</title><link>https://soumitrasaha.com/blogs/prevent-xss-csrf-sql-injection/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/prevent-xss-csrf-sql-injection/</guid><description>I walk through the concrete defenses for XSS, CSRF, and SQL injection — output encoding, CSP, SameSite cookies, CSRF tokens, and parameterized queries — with working TypeScript code examples.</description><pubDate>Tue, 20 Jan 2026 18:30:00 GMT</pubDate><category>Web Security</category><category>XSS</category><category>CSRF</category><category>SQL Injection</category><category>Node.js</category></item><item><title>OpenAI&apos;s Codex agent loop deep dive</title><link>https://soumitrasaha.com/my-reads/openai-codex-agent-loop-deep-dive/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/openai-codex-agent-loop-deep-dive/</guid><description>This OpenAI post is a useful technical read because it explains the agent loop, context construction, model calls, and tool orchestration behind Codex.</description><pubDate>Fri, 16 Jan 2026 18:30:00 GMT</pubDate><category>OpenAI</category><category>Codex</category><category>Agents</category><category>Developer Tools</category></item><item><title>Web Security Basics Every Full-Stack Developer Should Know</title><link>https://soumitrasaha.com/blogs/web-security-basics/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/web-security-basics/</guid><description>I walk through the security mindset that underpins every defence — the OWASP Top 10 reframed for developers, threat model thinking, defence in depth, and secure defaults.</description><pubDate>Thu, 15 Jan 2026 18:30:00 GMT</pubDate><category>Web Security</category><category>OWASP</category><category>Full-Stack</category><category>Security Fundamentals</category><category>Defence in Depth</category></item><item><title>Databases in 2025: A Year in Review</title><link>https://soumitrasaha.com/my-reads/databases-in-2025-year-in-review/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/databases-in-2025-year-in-review/</guid><description>Andy Pavlo&apos;s annual retrospective on the database industry: PostgreSQL acquisitions totalling over a billion dollars, MCP replacing vector indexes as the year&apos;s checkbox feature, and a file format war that finally put pressure on Parquet.</description><pubDate>Sun, 11 Jan 2026 18:30:00 GMT</pubDate><category>Databases</category><category>Postgres</category><category>SQLite</category><category>System Design</category></item><item><title>End-to-End Testing with Cypress</title><link>https://soumitrasaha.com/blogs/cypress-e2e-testing/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/cypress-e2e-testing/</guid><description>I cover Cypress E2E setup, the core commands, data-cy selectors, cy.intercept for network stubbing, CI integration, and when E2E tests are worth writing.</description><pubDate>Fri, 09 Jan 2026 18:30:00 GMT</pubDate><category>Testing</category><category>Cypress</category><category>JavaScript</category><category>End-to-End Testing</category><category>CI/CD</category></item><item><title>API Testing with Supertest: A Practical Guide</title><link>https://soumitrasaha.com/blogs/supertest-api-testing/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/supertest-api-testing/</guid><description>I explain how Supertest sends HTTP requests to an Express app in tests, covering endpoint organization, auth header mocking, and database test strategies.</description><pubDate>Fri, 26 Dec 2025 18:30:00 GMT</pubDate><category>Node.js</category><category>Express</category><category>Supertest</category><category>API Testing</category><category>TypeScript</category></item><item><title>Writing Better Tests with Vitest</title><link>https://soumitrasaha.com/blogs/better-tests-with-vitest/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/better-tests-with-vitest/</guid><description>I walk through Vitest setup, the AAA pattern, vi.fn() mocks, module mocking, snapshot testing, and coverage — with the common mistakes that make tests brittle.</description><pubDate>Sun, 21 Dec 2025 18:30:00 GMT</pubDate><category>Testing</category><category>Vitest</category><category>JavaScript</category><category>TypeScript</category><category>Unit Testing</category></item><item><title>Goodbye Microservices: From 100s of Problem Children to 1 Superstar</title><link>https://soumitrasaha.com/my-reads/segment-goodbye-microservices/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/segment-goodbye-microservices/</guid><description>Twilio Segment collapsed 140+ destination microservices into a single monolith after the architecture that once solved head-of-line blocking became an operational weight three engineers couldn&apos;t keep running.</description><pubDate>Thu, 18 Dec 2025 18:30:00 GMT</pubDate><category>Twilio Segment</category><category>Microservices</category><category>Monoliths</category><category>System Design</category><category>Infrastructure</category></item><item><title>Testing JavaScript Apps: Unit, Integration, and E2E</title><link>https://soumitrasaha.com/blogs/testing-javascript-apps/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/testing-javascript-apps/</guid><description>I walk through the testing pyramid, explain what unit, integration, and E2E tests each verify, and share the tradeoff that decides which layer a test belongs in.</description><pubDate>Tue, 16 Dec 2025 18:30:00 GMT</pubDate><category>Testing</category><category>JavaScript</category><category>Unit Tests</category><category>Integration Tests</category><category>Test Doubles</category></item><item><title>AV1 — Now Powering 30% of Netflix Streaming</title><link>https://soumitrasaha.com/my-reads/netflix-av1-30-percent-streaming/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/netflix-av1-30-percent-streaming/</guid><description>Netflix reached 30% of all streaming on AV1 through a decade of codec co-development, hardware certification, and ecosystem coordination — and the real lesson is that superior compression alone doesn&apos;t ship; device ecosystems do.</description><pubDate>Mon, 15 Dec 2025 18:30:00 GMT</pubDate><category>Netflix</category><category>Video</category><category>AV1</category><category>Codecs</category></item><item><title>Rust in the Linux Kernel Is No Longer an Experiment</title><link>https://soumitrasaha.com/my-reads/rust-in-linux-kernel-mainstream/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/rust-in-linux-kernel-mainstream/</guid><description>At the 2025 Maintainers Summit, Linux kernel developers reached consensus that Rust support is now permanent and the experimental label will be removed.</description><pubDate>Sun, 14 Dec 2025 18:30:00 GMT</pubDate><category>LWN</category><category>Rust</category><category>Linux</category><category>Kernel</category></item><item><title>Designing Type-Safe APIs Across Frontend and Backend</title><link>https://soumitrasaha.com/blogs/type-safe-api-design/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/type-safe-api-design/</guid><description>I walk through how to share Zod schemas between frontend and backend, why runtime validation at API boundaries matters, and when OpenAPI codegen is the better fit.</description><pubDate>Wed, 10 Dec 2025 18:30:00 GMT</pubDate><category>TypeScript</category><category>API Design</category><category>Zod</category><category>Runtime Validation</category><category>JavaScript</category></item><item><title>Cloudflare Outage on December 5, 2025</title><link>https://soumitrasaha.com/my-reads/cloudflare-december-2025-outage/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/cloudflare-december-2025-outage/</guid><description>A 25-minute outage affecting 28% of Cloudflare&apos;s HTTP traffic traced to a nil dereference in a Lua killswitch, exposed when two individually tested changes intersected at a code path no one had ever hit before.</description><pubDate>Tue, 09 Dec 2025 18:30:00 GMT</pubDate><category>Cloudflare</category><category>Postmortem</category><category>Reliability</category><category>Incident Review</category></item><item><title>tRPC: End-to-End Type Safety for TypeScript Apps</title><link>https://soumitrasaha.com/blogs/trpc-end-to-end-type-safety/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/trpc-end-to-end-type-safety/</guid><description>I explain how tRPC enforces API type safety without code generation, show how routers and procedures work, and cover when to use it over REST or GraphQL.</description><pubDate>Fri, 05 Dec 2025 18:30:00 GMT</pubDate><category>TypeScript</category><category>tRPC</category><category>API</category><category>Type Safety</category><category>Node.js</category></item><item><title>Google Gemini 3 API updates for agents</title><link>https://soumitrasaha.com/my-reads/google-gemini-3-api-updates-for-agents/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/google-gemini-3-api-updates-for-agents/</guid><description>A useful Google Developers read on thinking control, media resolution, thought signatures, and structured output with grounding.</description><pubDate>Fri, 05 Dec 2025 18:30:00 GMT</pubDate><category>Google</category><category>Gemini</category><category>API</category><category>Agents</category></item><item><title>Building a GraphQL API with Node.js</title><link>https://soumitrasaha.com/blogs/graphql-api-nodejs/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/graphql-api-nodejs/</guid><description>Schema-first design with Apollo Server — type definitions, resolver arguments, the context object, mutations, subscriptions, and DataLoader to prevent the N+1 problem.</description><pubDate>Sun, 30 Nov 2025 18:30:00 GMT</pubDate><category>GraphQL</category><category>Node.js</category><category>API Design</category><category>Backend</category><category>TypeScript</category></item><item><title>OpenAI&apos;s new tools for building agents</title><link>https://soumitrasaha.com/my-reads/openai-new-tools-for-building-agents/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/openai-new-tools-for-building-agents/</guid><description>This OpenAI article is useful as a baseline for Responses API, built-in tools, tracing, evaluations, and how agent platforms are getting structured.</description><pubDate>Fri, 28 Nov 2025 18:30:00 GMT</pubDate><category>OpenAI</category><category>Agents</category><category>Responses API</category><category>Evaluation</category></item><item><title>GraphQL vs REST: Choosing the Right API Style</title><link>https://soumitrasaha.com/blogs/graphql-vs-rest/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/graphql-vs-rest/</guid><description>A practical comparison of GraphQL and REST — covering over-fetching, the schema type system, the N+1 problem, HTTP caching, and a situation-based recommendation for each.</description><pubDate>Tue, 25 Nov 2025 18:30:00 GMT</pubDate><category>GraphQL</category><category>REST API</category><category>API Design</category><category>Backend</category><category>Web Development</category></item><item><title>A Doubled Config File and Cloudflare&apos;s Worst Outage Since 2019</title><link>https://soumitrasaha.com/my-reads/cloudflare-november-2025-outage/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/cloudflare-november-2025-outage/</guid><description>Cloudflare&apos;s postmortem of its worst outage since 2019: a database permissions change doubled a bot-management feature file and panicked the core proxy.</description><pubDate>Tue, 25 Nov 2025 18:30:00 GMT</pubDate><category>Cloudflare</category><category>Postmortem</category><category>Reliability</category><category>Databases</category></item><item><title>Introducing advanced tool use on the Claude Developer Platform</title><link>https://soumitrasaha.com/my-reads/anthropic-advanced-tool-use/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/anthropic-advanced-tool-use/</guid><description>Anthropic&apos;s advanced tool use features stop tool definitions and raw results from flooding an agent&apos;s context: on-demand search, code orchestration, examples.</description><pubDate>Mon, 24 Nov 2025 18:30:00 GMT</pubDate><category>Anthropic</category><category>Agents</category><category>Tool Use</category><category>Developer Tools</category></item><item><title>OpenAI gpt-oss and the return of serious open weights</title><link>https://soumitrasaha.com/my-reads/openai-gpt-oss-open-weight-models/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/openai-gpt-oss-open-weight-models/</guid><description>OpenAI&apos;s gpt-oss release is worth tracking because it puts strong reasoning models into open-weight deployment paths with an Apache 2.0 license.</description><pubDate>Fri, 21 Nov 2025 18:30:00 GMT</pubDate><category>OpenAI</category><category>Open Weights</category><category>Reasoning</category><category>Local AI</category></item><item><title>Gemini 3: Google&apos;s Most Intelligent Model Yet</title><link>https://soumitrasaha.com/my-reads/google-gemini-3-frontier-model/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/google-gemini-3-frontier-model/</guid><description>Google&apos;s Gemini 3 launch shows where frontier modeling went next: reasoning depth, agentic coding, multimodal scores, and a same-day rollout across Search.</description><pubDate>Thu, 20 Nov 2025 18:30:00 GMT</pubDate><category>Google</category><category>Gemini</category><category>Frontier Models</category><category>Multimodal</category></item><item><title>Building Reliable Jobs with BullMQ and Redis</title><link>https://soumitrasaha.com/blogs/bullmq-redis-reliable-jobs/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/bullmq-redis-reliable-jobs/</guid><description>I walk through BullMQ&apos;s Queue, Worker, and QueueEvents APIs, show how retries and backoff work, and cover the dead-letter queue pattern for failed jobs.</description><pubDate>Wed, 19 Nov 2025 18:30:00 GMT</pubDate><category>Node.js</category><category>Redis</category><category>BullMQ</category><category>Background Jobs</category><category>TypeScript</category></item><item><title>Background Jobs and Message Queues Explained</title><link>https://soumitrasaha.com/blogs/background-jobs-message-queues/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/background-jobs-message-queues/</guid><description>I explain why background jobs exist, how the producer/consumer pattern works, and what queue semantics and delivery guarantees mean for a Node.js backend.</description><pubDate>Fri, 14 Nov 2025 18:30:00 GMT</pubDate><category>Node.js</category><category>Backend</category><category>Architecture</category><category>Async</category><category>Queues</category></item><item><title>Artificial Analysis for model, price, and provider comparison</title><link>https://soumitrasaha.com/my-reads/artificial-analysis-model-price-provider-comparison/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/artificial-analysis-model-price-provider-comparison/</guid><description>Artificial Analysis is useful because it compares models across quality, speed, latency, price, context, and provider behavior instead of only one leaderboard score.</description><pubDate>Fri, 14 Nov 2025 18:30:00 GMT</pubDate><category>Model Comparisons</category><category>Artificial Analysis</category><category>AI Models</category><category>Benchmarks</category></item><item><title>Caching Strategies That Improve API Performance</title><link>https://soumitrasaha.com/blogs/api-caching-strategies/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/api-caching-strategies/</guid><description>I walk through four application cache patterns, HTTP Cache-Control and ETags, and CDN caching — explaining when each approach genuinely helps and when it makes things worse.</description><pubDate>Sun, 09 Nov 2025 18:30:00 GMT</pubDate><category>Caching</category><category>API Performance</category><category>Backend</category><category>HTTP</category><category>Node.js</category></item><item><title>Invisible Video Watermarking at Scale</title><link>https://soumitrasaha.com/my-reads/meta-video-invisible-watermarking/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-video-invisible-watermarking/</guid><description>How Meta built a scalable invisible watermarking system for video content provenance — and why CPUs ended up outperforming GPUs once the actual bottleneck was found.</description><pubDate>Sun, 09 Nov 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Video</category><category>Security</category><category>AI Infrastructure</category></item><item><title>Arena text leaderboard for human-preference signal</title><link>https://soumitrasaha.com/my-reads/arena-text-leaderboard-human-preference-signal/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/arena-text-leaderboard-human-preference-signal/</guid><description>Arena is worth checking because blind human votes catch qualities that static benchmarks often miss, especially open-ended writing and reasoning.</description><pubDate>Fri, 07 Nov 2025 18:30:00 GMT</pubDate><category>Model Comparisons</category><category>Arena</category><category>AI Models</category><category>Evaluation</category></item><item><title>Redis Fundamentals for Backend Developers</title><link>https://soumitrasaha.com/blogs/redis-fundamentals/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/redis-fundamentals/</guid><description>I walk through Redis data structures, TTL, the four main use cases, and RDB vs AOF persistence to give you the mental model before caching strategies.</description><pubDate>Tue, 04 Nov 2025 18:30:00 GMT</pubDate><category>Redis</category><category>Backend</category><category>Databases</category><category>Node.js</category><category>Caching</category></item><item><title>SWE-bench and Aider leaderboards for coding models</title><link>https://soumitrasaha.com/my-reads/swebench-aider-coding-model-leaderboards/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/swebench-aider-coding-model-leaderboards/</guid><description>SWE-bench and Aider are both useful for coding model comparison because they test patching, editing, and multi-language problem solving in different ways.</description><pubDate>Fri, 31 Oct 2025 18:30:00 GMT</pubDate><category>Model Comparisons</category><category>Coding</category><category>SWE-bench</category><category>Aider</category></item><item><title>SSL, HTTPS, and Domains: A Practical Deployment Guide</title><link>https://soumitrasaha.com/blogs/ssl-https-domains-deployment/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/ssl-https-domains-deployment/</guid><description>I explain the TLS handshake and certificate chain, then show the Certbot workflow and nginx config to get HTTPS running on a real domain.</description><pubDate>Wed, 29 Oct 2025 18:30:00 GMT</pubDate><category>HTTPS</category><category>TLS</category><category>Nginx</category><category>DevOps</category><category>Networking</category></item><item><title>Disaggregated Scheduled Fabric: Scaling Meta&apos;s AI Journey</title><link>https://soumitrasaha.com/my-reads/meta-disaggregated-scheduled-fabric/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-disaggregated-scheduled-fabric/</guid><description>Meta&apos;s Disaggregated Scheduled Fabric (DSF) splits the traditional switch chassis into two hardware tiers coordinated in software, eliminating elephant flow and entropy problems by scheduling traffic as cells rather than routing it as flows.</description><pubDate>Sun, 26 Oct 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Networking</category><category>Data Centers</category><category>AI Infrastructure</category></item><item><title>Understanding Nginx as a Reverse Proxy</title><link>https://soumitrasaha.com/blogs/nginx-reverse-proxy/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nginx-reverse-proxy/</guid><description>I explain what a reverse proxy is, walk through the core nginx blocks, and show how to add load balancing, gzip, and rate limiting to a production config.</description><pubDate>Thu, 23 Oct 2025 18:30:00 GMT</pubDate><category>Nginx</category><category>DevOps</category><category>Backend</category><category>Node.js</category><category>Networking</category></item><item><title>Scaling LLM Inference: Innovations in Tensor Parallelism, Context Parallelism, and Expert Parallelism</title><link>https://soumitrasaha.com/my-reads/meta-llm-inference-parallelism/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-llm-inference-parallelism/</guid><description>How Meta runs Llama 3 and Llama 4 in production by attacking three separate bottlenecks — model size, sequence length, and expert count — with three independent parallelism strategies, and why all three hit the same wall: inter-GPU communication.</description><pubDate>Thu, 23 Oct 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Inference</category><category>AI Infrastructure</category><category>Scaling</category></item><item><title>10X Backbone: How Meta Is Scaling Backbone Connectivity for AI</title><link>https://soumitrasaha.com/my-reads/meta-10x-backbone-ai/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-10x-backbone-ai/</guid><description>Meta scaled its Express Backbone network 10x using pre-built metro ring infrastructure, a combination of IP platform scale-up and scale-out techniques, and ZR optical integration that cuts power per terabit by 80–90%.</description><pubDate>Tue, 21 Oct 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Networking</category><category>Data Centers</category><category>AI Infrastructure</category></item><item><title>Branching in a Sapling Monorepo</title><link>https://soumitrasaha.com/my-reads/meta-sapling-monorepo-branching/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-sapling-monorepo-branching/</guid><description>Meta introduces directory branching in Sapling — a technique that gives monorepo teams proper branch semantics scoped to a directory, while keeping the repo&apos;s commit graph strictly linear.</description><pubDate>Mon, 20 Oct 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Developer Tools</category><category>Monorepo</category><category>Developer Experience</category></item><item><title>Deploying a Node.js API to AWS</title><link>https://soumitrasaha.com/blogs/deploy-nodejs-api-aws/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/deploy-nodejs-api-aws/</guid><description>I walk through launching an EC2 instance, setting up PM2 as a process manager, and configuring nginx as a reverse proxy for a Node.js API.</description><pubDate>Sat, 18 Oct 2025 18:30:00 GMT</pubDate><category>Node.js</category><category>AWS</category><category>EC2</category><category>DevOps</category><category>Deployment</category></item><item><title>AWS for Developers: The Services You Actually Need</title><link>https://soumitrasaha.com/blogs/aws-services-developers-need/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/aws-services-developers-need/</guid><description>I walk through the seven AWS services a full-stack developer reaches for on almost every project — EC2, Lambda, S3, RDS, CloudFront, IAM, and VPC — and explain when to use each one.</description><pubDate>Mon, 13 Oct 2025 18:30:00 GMT</pubDate><category>AWS</category><category>Cloud</category><category>Backend</category><category>DevOps</category><category>Infrastructure</category></item><item><title>Introducing OpenZL: An Open Source Format-Aware Compression Framework</title><link>https://soumitrasaha.com/my-reads/meta-openzl-format-aware-compression/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-openzl-format-aware-compression/</guid><description>Meta&apos;s OpenZL achieves format-specific compression ratios and speeds without the maintenance cost of bespoke compressors, by making data structure an explicit input and decoding everything with one universal binary.</description><pubDate>Wed, 08 Oct 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Storage</category><category>Performance</category><category>Data Infrastructure</category></item><item><title>Building a GitHub Actions Pipeline for a Node.js App</title><link>https://soumitrasaha.com/blogs/github-actions-nodejs-pipeline/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/github-actions-nodejs-pipeline/</guid><description>I walk through building a GitHub Actions pipeline for a Node.js app — triggers, install steps, npm ci, caching node_modules, and environment secrets.</description><pubDate>Tue, 07 Oct 2025 18:30:00 GMT</pubDate><category>GitHub Actions</category><category>CI/CD</category><category>Node.js</category><category>DevOps</category></item><item><title>Meta&apos;s Infrastructure Evolution and the Advent of AI</title><link>https://soumitrasaha.com/my-reads/meta-infrastructure-evolution-ai/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-infrastructure-evolution-ai/</guid><description>A 21-year arc from LAMP-stack Facebook to gigawatt AI clusters, tracing the specific moments when AI workloads broke every assumption that had scaled web infrastructure for two decades.</description><pubDate>Sun, 05 Oct 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Infrastructure</category><category>AI Infrastructure</category><category>System Design</category></item><item><title>CI/CD Explained: From Git Push to Production</title><link>https://soumitrasaha.com/blogs/cicd-git-push-to-production/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/cicd-git-push-to-production/</guid><description>I walk through how a CI/CD pipeline works — from git push through build, test, and deploy stages — and explain the real distinction between continuous integration, delivery, and deployment.</description><pubDate>Thu, 02 Oct 2025 18:30:00 GMT</pubDate><category>CI/CD</category><category>DevOps</category><category>Git</category><category>Deployment</category><category>Automation</category></item><item><title>Networking at the Heart of AI Scale: @Scale Networking 2025 Recap</title><link>https://soumitrasaha.com/my-reads/meta-ai-networking-recap-2025/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-ai-networking-recap-2025/</guid><description>A recap of @Scale: Networking 2025, where engineers from Meta, Google, Microsoft, and others reported how AI workloads have fractured into a portfolio of network requirements that no single fabric design can satisfy.</description><pubDate>Wed, 01 Oct 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Networking</category><category>AI Infrastructure</category><category>Data Centers</category></item><item><title>Why AV1 Needs to Win on Mid-Tier Phones</title><link>https://soumitrasaha.com/my-reads/meta-av1-mobile-streaming/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-av1-mobile-streaming/</guid><description>A joint white paper from Meta, Google, and Vodafone makes the case to SoC manufacturers that AV1 hardware adoption is the missing link between a technically mature codec and a network that actually benefits from it.</description><pubDate>Tue, 30 Sep 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Video</category><category>AV1</category><category>Mobile</category></item><item><title>ConfigMaps, Secrets, and Environment Configuration in Kubernetes</title><link>https://soumitrasaha.com/blogs/kubernetes-configmaps-secrets/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/kubernetes-configmaps-secrets/</guid><description>I walk through ConfigMaps and Secrets in Kubernetes — how they differ, why base64 isn&apos;t encryption, and the two ways to expose them to containers.</description><pubDate>Fri, 26 Sep 2025 18:30:00 GMT</pubDate><category>Kubernetes</category><category>DevOps</category><category>Configuration</category><category>Security</category><category>kubectl</category></item><item><title>Kubernetes Basics: Pods, Deployments, and Services</title><link>https://soumitrasaha.com/blogs/kubernetes-pods-deployments-services/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/kubernetes-pods-deployments-services/</guid><description>I explain the three Kubernetes building blocks every developer needs — Pods, Deployments, and Services — and show how they fit together as a practical mental model.</description><pubDate>Sun, 21 Sep 2025 18:30:00 GMT</pubDate><category>Kubernetes</category><category>Docker</category><category>DevOps</category><category>Container Orchestration</category><category>kubectl</category></item><item><title>Containerizing a Full-Stack Application</title><link>https://soumitrasaha.com/blogs/containerize-full-stack-application/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/containerize-full-stack-application/</guid><description>I show how one Docker Compose file connects a frontend, API, and database — covering service names as hostnames, per-service env vars, and dev versus prod override files.</description><pubDate>Mon, 15 Sep 2025 18:30:00 GMT</pubDate><category>Docker</category><category>Docker Compose</category><category>Full-Stack</category><category>DevOps</category><category>Containers</category></item><item><title>Docker Compose for Local Development</title><link>https://soumitrasaha.com/blogs/docker-compose-local-development/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/docker-compose-local-development/</guid><description>I walk through building a local app-and-database stack with Docker Compose, covering the compose.yaml structure, healthchecks, volume mounts for hot-reload, and named volumes for persistence.</description><pubDate>Wed, 10 Sep 2025 18:30:00 GMT</pubDate><category>Docker</category><category>Docker Compose</category><category>Local Development</category><category>DevOps</category></item><item><title>Writing a Clean Dockerfile for Node.js Apps</title><link>https://soumitrasaha.com/blogs/clean-dockerfile-nodejs/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/clean-dockerfile-nodejs/</guid><description>I show how Docker layer caching, the COPY package.json trick, multi-stage builds, and a non-root user turn a messy Dockerfile into a lean, production-safe image.</description><pubDate>Fri, 05 Sep 2025 18:30:00 GMT</pubDate><category>Docker</category><category>Node.js</category><category>DevOps</category><category>Backend</category><category>Containerization</category></item><item><title>Docker for Developers: From Image to Container</title><link>https://soumitrasaha.com/blogs/docker-image-to-container/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/docker-image-to-container/</guid><description>I break down the image vs container mental model, walk through docker pull and the docker run flags you&apos;ll use daily, cover volumes and port mapping, and show you how to manage containers with ps, logs, stop, and rm.</description><pubDate>Sun, 31 Aug 2025 18:30:00 GMT</pubDate><category>Docker</category><category>Containers</category><category>DevOps</category><category>CLI</category><category>Backend</category></item><item><title>Error Handling and Project Structure in Go</title><link>https://soumitrasaha.com/blogs/go-error-handling-project-structure/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/go-error-handling-project-structure/</guid><description>I walk through Go&apos;s error-as-value pattern — errors.New, fmt.Errorf with %w, errors.Is, custom error types — and show how cmd/, internal/, and pkg/ structure a real Go project.</description><pubDate>Sun, 24 Aug 2025 18:30:00 GMT</pubDate><category>Go</category><category>Error Handling</category><category>JavaScript</category><category>Backend</category><category>Project Structure</category></item><item><title>Building a REST API in Go with Gin</title><link>https://soumitrasaha.com/blogs/go-rest-api-gin/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/go-rest-api-gin/</guid><description>Walk through building a working REST API in Go with Gin — routes, groups, middleware, JSON binding, and consistent error responses.</description><pubDate>Tue, 19 Aug 2025 18:30:00 GMT</pubDate><category>Go</category><category>REST API</category><category>Gin</category><category>Backend</category><category>Web Development</category></item><item><title>Federation Platform and Privacy Waves: How Meta Distributes Compliance at Scale</title><link>https://soumitrasaha.com/my-reads/meta-federation-platform-compliance/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-federation-platform-compliance/</guid><description>Meta&apos;s Federation Platform breaks privacy and security compliance obligations into typed workstreams and distributes over 100,000 tasks per year through monthly Privacy Waves batches, saving hundreds of thousands of engineering hours while keeping developer sentiment measurably high.</description><pubDate>Sun, 17 Aug 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Privacy</category><category>Distributed Systems</category><category>Security</category></item><item><title>Goroutines and Channels Explained with Examples</title><link>https://soumitrasaha.com/blogs/goroutines-and-channels/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/goroutines-and-channels/</guid><description>I explain Go&apos;s goroutine model, show how channels handle synchronization, and cover buffered channels, the select statement, and WaitGroup with code and JS comparisons.</description><pubDate>Thu, 14 Aug 2025 18:30:00 GMT</pubDate><category>Go</category><category>Concurrency</category><category>Goroutines</category><category>Channels</category><category>JavaScript</category></item><item><title>Node.js 22.18.0 — TypeScript by Default</title><link>https://soumitrasaha.com/my-reads/node-22-18-typescript-by-default/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/node-22-18-typescript-by-default/</guid><description>Node.js 22.18.0 makes type stripping the default for TypeScript files, removing the experimental flag and requiring no extra tooling to run .ts files directly.</description><pubDate>Mon, 11 Aug 2025 18:30:00 GMT</pubDate><category>Node.js</category><category>TypeScript</category><category>JavaScript</category><category>Runtime</category></item><item><title>Go for JavaScript Developers: Getting Started</title><link>https://soumitrasaha.com/blogs/go-for-javascript-developers/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/go-for-javascript-developers/</guid><description>I walk through Go&apos;s type system, variables, packages, the three-command toolchain, and multiple return values — with honest comparisons for developers who know Node.js.</description><pubDate>Sun, 10 Aug 2025 18:30:00 GMT</pubDate><category>Go</category><category>JavaScript</category><category>Static Typing</category><category>Concurrency</category><category>Backend</category></item><item><title>Rust Modules, Packages, and Crates Explained</title><link>https://soumitrasaha.com/blogs/rust-modules-packages-crates/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-modules-packages-crates/</guid><description>I break down Rust&apos;s module system — the package vs crate distinction, mod, pub, use, path visibility, and how to publish your first crate on crates.io.</description><pubDate>Sun, 03 Aug 2025 18:30:00 GMT</pubDate><category>Rust</category><category>Module System</category><category>Cargo</category><category>Systems Programming</category></item><item><title>Building Your First CLI Application in Rust</title><link>https://soumitrasaha.com/blogs/rust-first-cli-application/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-first-cli-application/</guid><description>I walk through std::env::args, clap&apos;s derive API, splitting logic across main.rs and lib.rs, reading files, and using the ? operator in main to build a working word-counter CLI.</description><pubDate>Tue, 29 Jul 2025 18:30:00 GMT</pubDate><category>Rust</category><category>CLI</category><category>Cargo</category><category>Systems Programming</category></item><item><title>How Meta Keeps Its AI Hardware Reliable</title><link>https://soumitrasaha.com/my-reads/meta-ai-hardware-reliability/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-ai-hardware-reliability/</guid><description>When hardware failures caused over 66% of Llama 3 training interruptions at Meta, the response was a detection-and-mitigation stack spanning silicon design, cluster-level diagnostics, and changes to training algorithms.</description><pubDate>Sun, 27 Jul 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Hardware</category><category>Reliability</category><category>AI Infrastructure</category></item><item><title>Collections in Rust: Vectors, Strings, and HashMaps</title><link>https://soumitrasaha.com/blogs/rust-collections-vectors-strings-hashmaps/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-collections-vectors-strings-hashmaps/</guid><description>I walk through Vec&lt;T&gt;, the String vs &amp;str distinction, and HashMap&lt;K,V&gt; with the entry API — covering the ownership pitfalls TypeScript developers hit first.</description><pubDate>Thu, 24 Jul 2025 18:30:00 GMT</pubDate><category>Rust</category><category>Collections</category><category>TypeScript</category><category>Systems Programming</category></item><item><title>Error Handling in Rust with Result and Option</title><link>https://soumitrasaha.com/blogs/rust-error-handling-result-option/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-error-handling-result-option/</guid><description>I walk through Rust&apos;s Result&lt;T,E&gt; and Option&lt;T&gt; types, the ? operator, pattern matching on error variants, and custom error types with the thiserror crate.</description><pubDate>Sat, 19 Jul 2025 18:30:00 GMT</pubDate><category>Rust</category><category>Error Handling</category><category>Systems Programming</category><category>TypeScript</category></item><item><title>Generics and Traits in Rust: A Friendly Guide</title><link>https://soumitrasaha.com/blogs/rust-generics-and-traits/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-generics-and-traits/</guid><description>I walk through Rust generics and traits — generic functions, structs, enums, trait definitions, bounds, where clauses, and the standard library traits you will use in every Rust program.</description><pubDate>Mon, 14 Jul 2025 18:30:00 GMT</pubDate><category>Rust</category><category>Generics</category><category>Traits</category><category>TypeScript</category><category>Systems Programming</category></item><item><title>Understanding Cargo and Rust Project Structure</title><link>https://soumitrasaha.com/blogs/cargo-and-rust-project-structure/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/cargo-and-rust-project-structure/</guid><description>I walk through Cargo.toml&apos;s key sections, how Rust&apos;s module system works with mod, use, and pub, how workspaces compare to monorepos, and the cargo commands you&apos;ll run every day — from a TypeScript developer&apos;s perspective.</description><pubDate>Wed, 09 Jul 2025 18:30:00 GMT</pubDate><category>Rust</category><category>Cargo</category><category>Project Structure</category><category>TypeScript</category><category>Systems Programming</category></item><item><title>Meta&apos;s Transition from C to Rust on Mobile</title><link>https://soumitrasaha.com/my-reads/meta-rust-mobile-transition/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-rust-mobile-transition/</guid><description>Meta&apos;s engineers are rewriting a decades-old C messaging library shared across Messenger, Facebook, Instagram, and AR/VR platforms in Rust, without prior Rust expertise on the team.</description><pubDate>Mon, 07 Jul 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Rust</category><category>Mobile</category><category>Memory Safety</category></item><item><title>Pattern Matching in Rust with match and if let</title><link>https://soumitrasaha.com/blogs/rust-pattern-matching/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-pattern-matching/</guid><description>I break down Rust&apos;s match expression — exhaustiveness, destructuring, guards, and if let — and compare each to the TypeScript patterns they replace.</description><pubDate>Fri, 04 Jul 2025 18:30:00 GMT</pubDate><category>Rust</category><category>TypeScript</category><category>Pattern Matching</category><category>Systems Programming</category><category>Learning</category></item><item><title>Control Flow, Structs, and Enums in Rust</title><link>https://soumitrasaha.com/blogs/rust-control-flow-structs-enums/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-control-flow-structs-enums/</guid><description>I walk through Rust&apos;s if/else expressions, three loop types, classic and tuple structs, data-carrying enums, and impl blocks — with comparisons to TypeScript interfaces and discriminated unions.</description><pubDate>Sun, 29 Jun 2025 18:30:00 GMT</pubDate><category>Rust</category><category>TypeScript</category><category>Systems Programming</category><category>Learning</category></item><item><title>Gemini CLI Is Google&apos;s Bet on the Terminal as the AI Interface</title><link>https://soumitrasaha.com/my-reads/google-gemini-cli-open-agent/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/google-gemini-cli-open-agent/</guid><description>Google&apos;s open-source terminal agent brings Gemini 2.5 Pro into a shell process with MCP extensibility, a 1M token context window, and 1,000 free daily requests.</description><pubDate>Sun, 29 Jun 2025 18:30:00 GMT</pubDate><category>Google</category><category>Agents</category><category>Developer Tools</category><category>Coding</category></item><item><title>Variables, Data Types, and Functions in Rust</title><link>https://soumitrasaha.com/blogs/rust-variables-data-types-functions/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-variables-data-types-functions/</guid><description>I walk through Rust&apos;s immutable-by-default variables, shadowing, scalar and compound types, and the expression rule that defines how functions return values.</description><pubDate>Tue, 24 Jun 2025 18:30:00 GMT</pubDate><category>Rust</category><category>TypeScript</category><category>Type System</category><category>Systems Programming</category></item><item><title>Ownership and Borrowing in Rust Explained Simply</title><link>https://soumitrasaha.com/blogs/rust-ownership-and-borrowing/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-ownership-and-borrowing/</guid><description>I break down Rust&apos;s ownership model — how single ownership, move semantics, and borrows (&amp;T and &amp;mut T) prevent memory bugs that other languages catch too late.</description><pubDate>Thu, 19 Jun 2025 18:30:00 GMT</pubDate><category>Rust</category><category>Memory Safety</category><category>Systems Programming</category><category>TypeScript</category></item><item><title>Setting Up Rust, Cargo, and VS Code</title><link>https://soumitrasaha.com/blogs/rust-setup-cargo-vscode/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rust-setup-cargo-vscode/</guid><description>I walk through installing Rust with rustup, what Cargo does, the key fields in Cargo.toml, and wiring up rust-analyzer in VS Code so you can write Rust without fighting the toolchain.</description><pubDate>Sun, 15 Jun 2025 18:30:00 GMT</pubDate><category>Rust</category><category>Cargo</category><category>VS Code</category><category>Developer Tools</category><category>Getting Started</category></item><item><title>Learning Rust as a TypeScript Developer: Week 1</title><link>https://soumitrasaha.com/blogs/learning-rust-as-a-typescript-developer/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/learning-rust-as-a-typescript-developer/</guid><description>Why I started learning Rust after years with TypeScript, what the ownership model actually means, and what to expect from this 12-part series.</description><pubDate>Wed, 11 Jun 2025 18:30:00 GMT</pubDate><category>Rust</category><category>TypeScript</category><category>Systems Programming</category><category>Learning</category></item><item><title>Database Migrations Without Breaking Production</title><link>https://soumitrasaha.com/blogs/database-migrations-without-breaking-production/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/database-migrations-without-breaking-production/</guid><description>The expand/contract pattern lets you rename or drop columns safely — I walk through the three phases with Prisma Migrate and raw SQL examples.</description><pubDate>Wed, 04 Jun 2025 18:30:00 GMT</pubDate><category>Database Migrations</category><category>PostgreSQL</category><category>Backend</category><category>Zero Downtime Deployment</category><category>Prisma</category></item><item><title>Prisma ORM: Building a Type-Safe Database Layer</title><link>https://soumitrasaha.com/blogs/prisma-type-safe-database-layer/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/prisma-type-safe-database-layer/</guid><description>I walk through Prisma&apos;s schema file, generated client, CRUD operations, and relations, with a focus on how it integrates with TypeScript to give you compile-time safety on every database query.</description><pubDate>Fri, 30 May 2025 18:30:00 GMT</pubDate><category>Prisma</category><category>TypeScript</category><category>Databases</category><category>PostgreSQL</category><category>Backend</category></item><item><title>Journey to 1000 Models: Scaling Instagram&apos;s Recommendation System</title><link>https://soumitrasaha.com/my-reads/meta-instagram-thousand-models/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-instagram-thousand-models/</guid><description>How Instagram built a model registry, launch tooling, and a stability metric to operationalize over 1000 ML models without losing track of what each one does or when one breaks.</description><pubDate>Sun, 25 May 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Recommendations</category><category>Scaling</category><category>Machine Learning</category></item><item><title>Transactions and ACID Properties Without the Jargon</title><link>https://soumitrasaha.com/blogs/transactions-acid-explained/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/transactions-acid-explained/</guid><description>I walk through what a PostgreSQL transaction actually guarantees, break down each ACID property with a plain analogy, and explain isolation levels and the pitfalls that trip up most teams.</description><pubDate>Sat, 24 May 2025 18:30:00 GMT</pubDate><category>PostgreSQL</category><category>Database</category><category>SQL</category><category>Backend</category><category>Transactions</category></item><item><title>Meta&apos;s Full-stack HHVM Optimizations for GenAI</title><link>https://soumitrasaha.com/my-reads/meta-hhvm-genai-optimizations/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-hhvm-genai-optimizations/</guid><description>How Meta&apos;s Web Foundation team created a dedicated HHVM web tenant for GenAI traffic — with a higher request timeout, enlarged thread pool, JIT pre-warming, and shadow traffic — to achieve a 30% latency improvement over the shared tier.</description><pubDate>Thu, 22 May 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Runtime</category><category>Performance</category><category>AI Infrastructure</category></item><item><title>Database Indexing: Why Your Queries Get Slow</title><link>https://soumitrasaha.com/blogs/database-indexing-slow-queries/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/database-indexing-slow-queries/</guid><description>I walk through how PostgreSQL B-tree indexes work, how to read EXPLAIN ANALYZE to confirm what the planner actually does, and the indexing mistakes that cancel out the gains.</description><pubDate>Mon, 19 May 2025 18:30:00 GMT</pubDate><category>PostgreSQL</category><category>Database</category><category>Performance</category><category>SQL</category><category>Backend</category></item><item><title>Open-Sourcing Pyrefly: A Faster Python Type Checker Written in Rust</title><link>https://soumitrasaha.com/my-reads/meta-pyrefly-python-type-checker/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-pyrefly-python-type-checker/</guid><description>Meta open-sources Pyrefly, a Python type checker built in Rust that grew out of Instagram&apos;s internal tooling and is designed around an incremental model fast enough for real-time IDE feedback at monorepo scale.</description><pubDate>Mon, 19 May 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Python</category><category>Rust</category><category>Developer Tools</category></item><item><title>SQL Joins Explained with Practical Examples</title><link>https://soumitrasaha.com/blogs/sql-joins-explained/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/sql-joins-explained/</guid><description>I explain each PostgreSQL join type with working examples, show exactly what rows each one returns, and cover the NULL pitfalls most developers hit first.</description><pubDate>Wed, 14 May 2025 18:30:00 GMT</pubDate><category>PostgreSQL</category><category>SQL</category><category>Database</category><category>Backend</category></item><item><title>PostgreSQL for Developers: Tables, Keys, and Relationships</title><link>https://soumitrasaha.com/blogs/postgresql-for-developers/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/postgresql-for-developers/</guid><description>I walk through PostgreSQL tables, data types, primary and foreign keys, one-to-many and many-to-many relationships, and basic CRUD for JavaScript developers building their first schema.</description><pubDate>Fri, 09 May 2025 18:30:00 GMT</pubDate><category>PostgreSQL</category><category>Databases</category><category>SQL</category><category>Backend</category><category>JavaScript</category></item><item><title>Enhancing the Python Ecosystem with Type Checking and Free Threading</title><link>https://soumitrasaha.com/my-reads/meta-python-typing-free-threading/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-python-typing-free-threading/</guid><description>Meta and Quansight simultaneously improved type annotation coverage in Python&apos;s scientific stack and unlocked free-threaded Python 3.13 in the libraries that matter most — two bets on different decades of Python performance.</description><pubDate>Thu, 08 May 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Python</category><category>Static Typing</category><category>Threads</category></item><item><title>JWT Authentication Done Right in Node.js</title><link>https://soumitrasaha.com/blogs/jwt-authentication-nodejs/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/jwt-authentication-nodejs/</guid><description>I walk through JWT structure, signing tokens with jsonwebtoken, writing a verify middleware for Express, the refresh token pattern, and where to store tokens safely.</description><pubDate>Fri, 02 May 2025 18:30:00 GMT</pubDate><category>Node.js</category><category>Authentication</category><category>JWT</category><category>Express</category><category>Security</category></item><item><title>Claude Code: Best practices for agentic coding</title><link>https://soumitrasaha.com/my-reads/anthropic-claude-code-best-practices/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/anthropic-claude-code-best-practices/</guid><description>Anthropic&apos;s playbook for agentic coding with Claude Code: tune CLAUDE.md, give the agent verifiable targets, run parallel sessions that check each other.</description><pubDate>Mon, 28 Apr 2025 18:30:00 GMT</pubDate><category>Anthropic</category><category>Claude Code</category><category>Agents</category><category>Coding</category></item><item><title>Authentication vs Authorization: What&apos;s the Difference?</title><link>https://soumitrasaha.com/blogs/authentication-vs-authorization/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/authentication-vs-authorization/</guid><description>I break down authentication and authorization — who you are vs what you can do — covering sessions, JWTs, RBAC, and why OAuth 2.0 naming confuses everyone.</description><pubDate>Sun, 27 Apr 2025 18:30:00 GMT</pubDate><category>Authentication</category><category>Authorization</category><category>Web Security</category><category>JWT</category><category>HTTP</category></item><item><title>Centralized Error Handling in Node.js APIs</title><link>https://soumitrasaha.com/blogs/nodejs-centralized-error-handling/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nodejs-centralized-error-handling/</guid><description>I explain how Express routes errors to a centralized handler, the difference between operational and programmer errors, and what changed in Express 5.</description><pubDate>Mon, 21 Apr 2025 18:30:00 GMT</pubDate><category>Node.js</category><category>Express</category><category>Error Handling</category><category>Backend</category><category>JavaScript</category></item><item><title>Middleware in Express: From Basics to Real-World Use</title><link>https://soumitrasaha.com/blogs/express-middleware-guide/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/express-middleware-guide/</guid><description>I explain how Express middleware works — the req/res/next signature, execution order, built-in and third-party options, and real patterns for auth and logging.</description><pubDate>Wed, 16 Apr 2025 18:30:00 GMT</pubDate><category>Express</category><category>Node.js</category><category>JavaScript</category><category>Backend</category><category>Middleware</category></item><item><title>Structuring a Production-Ready Express Project</title><link>https://soumitrasaha.com/blogs/production-express-project-structure/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/production-express-project-structure/</guid><description>I walk through the Express folder layout that scales — separating routes, controllers, services, and middleware into layers with one job each.</description><pubDate>Fri, 11 Apr 2025 18:30:00 GMT</pubDate><category>Express</category><category>Node.js</category><category>Backend</category><category>JavaScript</category><category>API</category></item><item><title>Llama 4: 17 Billion Active Parameters, 10 Million Token Context, Two Competitive Models</title><link>https://soumitrasaha.com/my-reads/meta-llama-4-herd/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-llama-4-herd/</guid><description>Meta&apos;s Llama 4 herd uses mixture-of-experts architecture and native multimodality to deliver GPT-4o-competitive performance at 17 billion active parameters, with Scout achieving an industry-leading 10-million-token context window through a new attention architecture called iRoPE.</description><pubDate>Thu, 10 Apr 2025 18:30:00 GMT</pubDate><category>Meta</category><category>Open Models</category><category>Multimodal</category><category>Long Context</category></item><item><title>Building a REST API with Node.js and Express</title><link>https://soumitrasaha.com/blogs/rest-api-nodejs-express/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/rest-api-nodejs-express/</guid><description>Set up an Express 5 server, define routes for each HTTP method, wire the middleware your API needs, and test everything without writing a frontend.</description><pubDate>Sat, 05 Apr 2025 18:30:00 GMT</pubDate><category>Node.js</category><category>Express</category><category>REST API</category><category>Backend</category><category>JavaScript</category></item><item><title>Understanding the Node.js Event Loop</title><link>https://soumitrasaha.com/blogs/nodejs-event-loop/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nodejs-event-loop/</guid><description>I walk through libuv&apos;s six phases and show exactly when process.nextTick(), setImmediate(), and promise callbacks run in the Node.js event loop.</description><pubDate>Mon, 31 Mar 2025 18:30:00 GMT</pubDate><category>Node.js</category><category>JavaScript</category><category>Event Loop</category><category>Async</category><category>Backend</category></item><item><title>Node.js Fundamentals: How the Runtime Actually Works</title><link>https://soumitrasaha.com/blogs/nodejs-runtime-fundamentals/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nodejs-runtime-fundamentals/</guid><description>I break down how Node.js works under the hood — V8&apos;s JIT compilation, libuv&apos;s async I/O, and when to choose CommonJS over ESM.</description><pubDate>Wed, 26 Mar 2025 18:30:00 GMT</pubDate><category>Node.js</category><category>JavaScript</category><category>Backend</category><category>Runtime</category></item><item><title>Python 3.14&apos;s Tail-Call Interpreter and the LLVM 19 Surprise</title><link>https://soumitrasaha.com/my-reads/python-3-14-tail-call-interpreter/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/python-3-14-tail-call-interpreter/</guid><description>Nelson Elhage&apos;s benchmark investigation into CPython&apos;s new tail-call interpreter uncovers an LLVM 19 regression that made the old baseline 10% slower, shrinking the real speedup from 10-15% to 1-5%.</description><pubDate>Sun, 23 Mar 2025 18:30:00 GMT</pubDate><category>Python</category><category>Performance</category><category>Compilers</category><category>Runtime</category></item><item><title>Route Handlers and API Design in Next.js</title><link>https://soumitrasaha.com/blogs/nextjs-route-handlers-api-design/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nextjs-route-handlers-api-design/</guid><description>I walk through how route.ts works, when to choose it over Server Actions, and the API design patterns that hold up as a Next.js app grows.</description><pubDate>Wed, 19 Mar 2025 18:30:00 GMT</pubDate><category>Next.js</category><category>API Design</category><category>TypeScript</category><category>React</category><category>JavaScript</category></item><item><title>A 10x Faster TypeScript: Microsoft&apos;s Native Port in Go</title><link>https://soumitrasaha.com/my-reads/typescript-10x-native-port/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/typescript-10x-native-port/</guid><description>Microsoft announces a native Go port of the TypeScript compiler that cuts build times by 10x, halves memory usage, and delivers an 8x faster editor load — with TypeScript 7.0 as the shipping target.</description><pubDate>Sun, 16 Mar 2025 18:30:00 GMT</pubDate><category>Microsoft</category><category>TypeScript</category><category>Performance</category><category>Developer Tools</category></item><item><title>Authentication in Next.js: A Practical Architecture</title><link>https://soumitrasaha.com/blogs/nextjs-authentication-architecture/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nextjs-authentication-architecture/</guid><description>I walk through the session-based architecture for Next.js 15 authentication — setting up Auth.js, choosing between stateless and database sessions, and protecting routes with middleware.</description><pubDate>Fri, 14 Mar 2025 18:30:00 GMT</pubDate><category>Next.js</category><category>Authentication</category><category>React</category><category>JavaScript</category><category>Web Security</category></item><item><title>Building SEO-Friendly Pages with Next.js</title><link>https://soumitrasaha.com/blogs/nextjs-seo-friendly-pages/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nextjs-seo-friendly-pages/</guid><description>I cover static and dynamic metadata in the App Router, how to generate OG images, and why JSON-LD needs a native script tag rather than next/script.</description><pubDate>Sat, 08 Mar 2025 18:30:00 GMT</pubDate><category>Next.js</category><category>SEO</category><category>React</category><category>Frontend Development</category><category>Web Fundamentals</category></item><item><title>Data Fetching and Caching in Next.js</title><link>https://soumitrasaha.com/blogs/nextjs-data-fetching-caching/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nextjs-data-fetching-caching/</guid><description>I explain the three Next.js cache layers and show which tool — fetch options, React.cache, unstable_cache, revalidatePath, or revalidateTag — fits each situation.</description><pubDate>Mon, 03 Mar 2025 18:30:00 GMT</pubDate><category>Next.js</category><category>React</category><category>Caching</category><category>Server Components</category><category>Data Fetching</category></item><item><title>Claude 3.7 Sonnet and Claude Code</title><link>https://soumitrasaha.com/my-reads/anthropic-claude-3-7-claude-code/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/anthropic-claude-3-7-claude-code/</guid><description>Anthropic&apos;s first hybrid reasoning model makes thinking a runtime parameter you tune per call, not a separate product tier — and ships a command-line coding agent in the same announcement.</description><pubDate>Thu, 27 Feb 2025 18:30:00 GMT</pubDate><category>Anthropic</category><category>Agents</category><category>Coding</category><category>Reasoning</category></item><item><title>Server Components vs Client Components in Next.js</title><link>https://soumitrasaha.com/blogs/nextjs-server-vs-client-components/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nextjs-server-vs-client-components/</guid><description>I walk through how the &apos;use client&apos; directive marks a module boundary — not a rendering flag — and give you a practical mental model for composing Server and Client Components in Next.js.</description><pubDate>Wed, 26 Feb 2025 18:30:00 GMT</pubDate><category>Next.js</category><category>React</category><category>Server Components</category><category>JavaScript</category></item><item><title>Getting Started with Next.js App Router</title><link>https://soumitrasaha.com/blogs/nextjs-app-router-getting-started/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/nextjs-app-router-getting-started/</guid><description>I explain how the App Router works in Next.js — file conventions, nested layouts, Server vs Client Components, and what changed from the Pages Router.</description><pubDate>Fri, 21 Feb 2025 18:30:00 GMT</pubDate><category>Next.js</category><category>React</category><category>Frontend Development</category><category>App Router</category></item><item><title>Forms in React: Validation, Errors, and Better UX</title><link>https://soumitrasaha.com/blogs/react-forms-validation-ux/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-forms-validation-ux/</guid><description>A practical guide to controlled inputs, validation patterns, and using react-hook-form with Zod or Yup — covering error timing, server-side failures, and the submit state that most forms forget.</description><pubDate>Fri, 14 Feb 2025 18:30:00 GMT</pubDate><category>React</category><category>Forms</category><category>Validation</category><category>JavaScript</category><category>Frontend Development</category></item><item><title>React State Management: Context, Redux, and Zustand Compared</title><link>https://soumitrasaha.com/blogs/react-state-management-context-redux-zustand/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-state-management-context-redux-zustand/</guid><description>A decision guide comparing useState, Context, Redux Toolkit, and Zustand — covering re-render trade-offs, when each tool fits, and the one Context surprise that trips up most developers.</description><pubDate>Sun, 09 Feb 2025 18:30:00 GMT</pubDate><category>React</category><category>State Management</category><category>Redux</category><category>Zustand</category><category>JavaScript</category></item><item><title>Building Reusable React Components That Last</title><link>https://soumitrasaha.com/blogs/reusable-react-components/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/reusable-react-components/</guid><description>The design principles that make a React component truly reusable: prop interfaces, the children pattern, controlled APIs, and warning signs of over-engineering.</description><pubDate>Tue, 04 Feb 2025 18:30:00 GMT</pubDate><category>React</category><category>Components</category><category>Frontend Development</category><category>JavaScript</category></item><item><title>useEffect Explained: Synchronising with the Outside World</title><link>https://soumitrasaha.com/blogs/useeffect-explained/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/useeffect-explained/</guid><description>A deep-dive into useEffect — the correct mental model, the cleanup contract, stale closures, and when to reach for something else entirely.</description><pubDate>Wed, 29 Jan 2025 18:30:00 GMT</pubDate><category>React</category><category>Hooks</category><category>useEffect</category><category>JavaScript</category></item><item><title>DeepSeek-R1: Reasoning Emerges from Reinforcement Learning Alone</title><link>https://soumitrasaha.com/my-reads/deepseek-r1-open-reasoning/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/deepseek-r1-open-reasoning/</guid><description>DeepSeek-R1 proves that chain-of-thought reasoning can emerge from pure reinforcement learning without any supervised fine-tuning as a prerequisite, then packages that result into an open-weight, MIT-licensed model family anyone can run or distill.</description><pubDate>Sun, 26 Jan 2025 18:30:00 GMT</pubDate><category>DeepSeek</category><category>Open Models</category><category>Reasoning</category><category>Open Weights</category></item><item><title>React Hooks You&apos;ll Actually Use Every Day</title><link>https://soumitrasaha.com/blogs/react-hooks-practical-examples/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-hooks-practical-examples/</guid><description>A practical walkthrough of useState, useEffect, useCallback, useMemo, useRef, and useContext — with the gotchas that cause real bugs and when each hook genuinely pays off.</description><pubDate>Fri, 24 Jan 2025 18:30:00 GMT</pubDate><category>React</category><category>Hooks</category><category>JavaScript</category><category>Frontend Development</category></item><item><title>Bun 1.2 — npm Compatibility and Built-in Cloud APIs</title><link>https://soumitrasaha.com/my-reads/bun-1-2-npm-compatibility/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/bun-1-2-npm-compatibility/</guid><description>Bun 1.2 shifts Node.js compatibility from reactive bug-fixing to running the official test suite, while adding native S3, Postgres, and a text-based lockfile.</description><pubDate>Fri, 24 Jan 2025 18:30:00 GMT</pubDate><category>Bun</category><category>JavaScript</category><category>Runtime</category><category>Developer Experience</category></item><item><title>React Fundamentals: Components, Props, and State</title><link>https://soumitrasaha.com/blogs/react-fundamentals/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/react-fundamentals/</guid><description>I explain the three mental models behind React — UI as a function of state, one-way data flow, and state colocation — through components, props, and useState.</description><pubDate>Sun, 19 Jan 2025 18:30:00 GMT</pubDate><category>React</category><category>JavaScript</category><category>Frontend Development</category></item><item><title>Five Years of React Native at Shopify</title><link>https://soumitrasaha.com/my-reads/shopify-react-native-five-years/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/shopify-react-native-five-years/</guid><description>What Shopify learned after migrating all their mobile apps to React Native over five years — including where the framework genuinely wins, where it still falls short, and why 100% React Native should be an anti-goal.</description><pubDate>Thu, 16 Jan 2025 18:30:00 GMT</pubDate><category>Shopify</category><category>Mobile</category><category>JavaScript</category><category>Performance</category></item><item><title>A Practical Git Branching Workflow for Small Teams</title><link>https://soumitrasaha.com/blogs/git-branching-workflow/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/git-branching-workflow/</guid><description>Small teams don&apos;t need Gitflow&apos;s overhead. I explain branch naming, commit discipline, rebase vs merge, and why long-lived branches—not Git—cause merge pain.</description><pubDate>Sun, 12 Jan 2025 18:30:00 GMT</pubDate><category>Git</category><category>Version Control</category><category>Team Workflow</category></item><item><title>Git Basics Every Developer Should Master</title><link>https://soumitrasaha.com/blogs/git-basics/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/git-basics/</guid><description>I explain the four places your code lives in Git — working tree, staging area, repository, remote — and the daily commands that finally make sense once you see the map.</description><pubDate>Mon, 06 Jan 2025 18:30:00 GMT</pubDate><category>Git</category><category>Version Control</category><category>Developer Tools</category></item><item><title>Utility Types in TypeScript You Should Actually Use</title><link>https://soumitrasaha.com/blogs/typescript-utility-types/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/typescript-utility-types/</guid><description>I tour the TypeScript utility types worth using daily — Partial, Pick, Omit, Record, ReturnType and friends — with the real shapes they replace and where they stop helping.</description><pubDate>Sun, 22 Dec 2024 18:30:00 GMT</pubDate><category>TypeScript</category><category>Static Typing</category><category>Web Fundamentals</category></item><item><title>Indexing Code at Scale with Glean</title><link>https://soumitrasaha.com/my-reads/meta-glean-code-indexing/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-glean-code-indexing/</guid><description>Meta open-sources Glean, a schema-first code indexing system that treats code intelligence as a queryable knowledge graph rather than a fixed-output pipeline.</description><pubDate>Sun, 22 Dec 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Developer Tools</category><category>Monorepo</category><category>Developer Experience</category></item><item><title>How We Think About Threads iOS Performance</title><link>https://soumitrasaha.com/my-reads/meta-threads-ios-performance/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-threads-ios-performance/</guid><description>How the Threads iOS team built a custom metrics framework — %FIRE, TTNC, and cPSR — to measure what users actually feel, and used deliberate latency injection to quantify exactly how much slowness users will tolerate.</description><pubDate>Sat, 21 Dec 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Mobile</category><category>iOS</category><category>Performance</category></item><item><title>Translating Java to Kotlin at Scale</title><link>https://soumitrasaha.com/my-reads/meta-java-to-kotlin-scale/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-java-to-kotlin-scale/</guid><description>How Meta built the Kotlinator — a six-phase automated pipeline around a headless J2K — to translate tens of millions of lines of Java to Kotlin without blocking their Android engineers or requiring them to click a button 100,000 times.</description><pubDate>Thu, 19 Dec 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Kotlin</category><category>Java</category><category>Android</category></item><item><title>Generics in TypeScript Without the Confusion</title><link>https://soumitrasaha.com/blogs/typescript-generics/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/typescript-generics/</guid><description>I explain TypeScript generics as functions for types — from the duplication they replace to constraints, defaults, inference, and why they vanish at runtime.</description><pubDate>Tue, 17 Dec 2024 18:30:00 GMT</pubDate><category>TypeScript</category><category>Generics</category><category>Static Typing</category><category>Web Fundamentals</category></item><item><title>Interfaces vs Types in TypeScript</title><link>https://soumitrasaha.com/blogs/typescript-interfaces-vs-types/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/typescript-interfaces-vs-types/</guid><description>I compare TypeScript interfaces and type aliases on the differences that actually matter — naming, merging, and error messages — and give a simple decision rule.</description><pubDate>Thu, 12 Dec 2024 18:30:00 GMT</pubDate><category>TypeScript</category><category>Static Typing</category><category>Web Fundamentals</category></item><item><title>Typed Python in 2024: Well Adopted, Yet Usability Challenges Persist</title><link>https://soumitrasaha.com/my-reads/meta-typed-python-survey/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-typed-python-survey/</guid><description>Meta, JetBrains, and Microsoft surveyed 1,083 developers about Python typing adoption and found that the tools work well enough to drive 88% adoption, yet the type system still breaks down at exactly the dynamic patterns Python is most known for.</description><pubDate>Thu, 12 Dec 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Python</category><category>Static Typing</category><category>Developer Tools</category></item><item><title>Inside Facebook&apos;s Video Delivery System</title><link>https://soumitrasaha.com/my-reads/meta-video-delivery-system/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-video-delivery-system/</guid><description>How Meta unified Watch and Reels into a single video stack, and the five delivery principles governing how billions of people receive video content on Facebook.</description><pubDate>Wed, 11 Dec 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Video</category><category>Codecs</category><category>Scaling</category></item><item><title>TypeScript for JavaScript Developers: Where to Start</title><link>https://soumitrasaha.com/blogs/typescript-for-javascript-developers/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/typescript-for-javascript-developers/</guid><description>I explain the contract mindset behind TypeScript&apos;s checks, the annotations worth learning first, and how to migrate a JavaScript file one rename at a time.</description><pubDate>Fri, 06 Dec 2024 18:30:00 GMT</pubDate><category>TypeScript</category><category>JavaScript</category><category>Static Typing</category><category>Web Fundamentals</category></item><item><title>Meta Andromeda: Next-Gen Personalized Ads Retrieval Engine</title><link>https://soumitrasaha.com/my-reads/meta-andromeda-ads-retrieval/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-andromeda-ads-retrieval/</guid><description>How Meta rebuilt its ads retrieval stage on the NVIDIA Grace Hopper Superchip with hierarchical indexing and a 10,000x capacity increase to serve Advantage+ automation at scale.</description><pubDate>Wed, 04 Dec 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Ads</category><category>Recommendations</category><category>Machine Learning</category></item><item><title>Common JavaScript Array Methods You&apos;ll Use Every Day</title><link>https://soumitrasaha.com/blogs/javascript-array-methods/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/javascript-array-methods/</guid><description>I explain the array methods worth knowing by the three questions they answer — transform, select, reduce — plus the mutate-in-place fault line that bites everyone.</description><pubDate>Sat, 30 Nov 2024 18:30:00 GMT</pubDate><category>JavaScript</category><category>Web Fundamentals</category><category>Arrays</category><category>Functional Programming</category></item><item><title>Introducing Anthropic&apos;s Model Context Protocol</title><link>https://soumitrasaha.com/my-reads/anthropic-model-context-protocol/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/anthropic-model-context-protocol/</guid><description>Anthropic&apos;s MCP launch post shows why AI apps stay blind to your data — every integration was custom — and how one open protocol replaces them all.</description><pubDate>Wed, 27 Nov 2024 18:30:00 GMT</pubDate><category>Anthropic</category><category>Agents</category><category>Protocols</category><category>Developer Tools</category></item><item><title>Promises, Async/Await, and the Event Loop</title><link>https://soumitrasaha.com/blogs/promises-async-await-event-loop/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/promises-async-await-event-loop/</guid><description>I explain the browser&apos;s event loop, the difference between tasks and microtasks, and how promises and async/await schedule their work on those queues.</description><pubDate>Tue, 26 Nov 2024 18:30:00 GMT</pubDate><category>JavaScript</category><category>Web Fundamentals</category><category>Promises</category><category>Async</category><category>Event Loop</category></item><item><title>Sequence Learning: A Paradigm Shift for Personalized Ads Recommendations</title><link>https://soumitrasaha.com/my-reads/meta-sequence-learning-ads/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-sequence-learning-ads/</guid><description>How Meta replaced hand-engineered sparse feature aggregations in its DLRM-based ads system with event-based sequence learning, recovering the temporal signal that aggregation was quietly destroying.</description><pubDate>Sun, 24 Nov 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Ads</category><category>Recommendations</category><category>Machine Learning</category></item><item><title>Understanding Closures in JavaScript with Real Examples</title><link>https://soumitrasaha.com/blogs/closures-in-javascript/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/closures-in-javascript/</guid><description>I explain what a JavaScript closure really captures, why returned functions still reach outer variables, and the loop bug and memory cost that catch people out.</description><pubDate>Thu, 21 Nov 2024 18:30:00 GMT</pubDate><category>JavaScript</category><category>Web Fundamentals</category><category>Closures</category><category>Scope</category></item><item><title>How Meta Built Large-Scale Cryptographic Monitoring</title><link>https://soumitrasaha.com/my-reads/meta-cryptographic-monitoring-at-scale/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-cryptographic-monitoring-at-scale/</guid><description>Meta built a cryptographic monitoring system on top of FBCrypto that tracks every key and algorithm in use across the fleet without sampling, using buffered aggregation to make zero-loss logging viable at production scale.</description><pubDate>Sun, 17 Nov 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Security</category><category>Cryptography</category><category>Privacy</category></item><item><title>JavaScript Execution Contexts Explained</title><link>https://soumitrasaha.com/blogs/javascript-execution-contexts/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/javascript-execution-contexts/</guid><description>I explain what a JavaScript execution context holds, its two phases, the scope chain and the call stack, and why hoisting falls straight out of the model.</description><pubDate>Fri, 15 Nov 2024 18:30:00 GMT</pubDate><category>JavaScript</category><category>Web Fundamentals</category><category>Scope</category><category>Hoisting</category></item><item><title>Netflix&apos;s Distributed Counter Abstraction</title><link>https://soumitrasaha.com/my-reads/netflix-distributed-counter-abstraction/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/netflix-distributed-counter-abstraction/</guid><description>Netflix built a counting service on top of their TimeSeries Abstraction that handles 75K requests per second globally by replacing real-time aggregation with an immutable-window event log and a continuous background rollup pipeline.</description><pubDate>Tue, 12 Nov 2024 18:30:00 GMT</pubDate><category>Netflix</category><category>Distributed Systems</category><category>Databases</category><category>Scaling</category></item><item><title>Responsive Design Without Fighting CSS</title><link>https://soumitrasaha.com/blogs/responsive-design-without-fighting-css/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/responsive-design-without-fighting-css/</guid><description>I explain how to build responsive layouts with intrinsic sizing, fluid spacing, and container queries instead of a growing pile of breakpoints.</description><pubDate>Tue, 05 Nov 2024 18:30:00 GMT</pubDate><category>CSS</category><category>Responsive Design</category><category>Layout</category><category>Web Fundamentals</category></item><item><title>We&apos;re Leaving Kubernetes</title><link>https://soumitrasaha.com/my-reads/gitpod-leaving-kubernetes/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/gitpod-leaving-kubernetes/</guid><description>After six years running cloud development environments on Kubernetes at internet scale, Gitpod concluded the platform is fundamentally mismatched for system workloads like dev environments.</description><pubDate>Mon, 04 Nov 2024 18:30:00 GMT</pubDate><category>Gitpod</category><category>Infrastructure</category><category>Developer Tools</category><category>System Design</category><category>Linux</category></item><item><title>Modern CSS Layouts: Flexbox vs Grid</title><link>https://soumitrasaha.com/blogs/css-flexbox-vs-grid/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/css-flexbox-vs-grid/</guid><description>I explain the core difference between CSS Flexbox and Grid, show when each one is the better choice, and cover how to use both in the same layout.</description><pubDate>Tue, 29 Oct 2024 18:30:00 GMT</pubDate><category>CSS</category><category>Flexbox</category><category>CSS Grid</category><category>Layout</category><category>Web Fundamentals</category></item><item><title>IPLS: Privacy-Preserving Storage for Your WhatsApp Contacts</title><link>https://soumitrasaha.com/my-reads/meta-ipls-whatsapp-contact-privacy/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-ipls-whatsapp-contact-privacy/</guid><description>Meta built Identity Proof Linked Storage (IPLS) to let WhatsApp users back up and restore their contacts without ever exposing them to the server.</description><pubDate>Sun, 27 Oct 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Privacy</category><category>Security</category><category>Cryptography</category></item><item><title>HTML Semantic Elements Every Developer Should Know</title><link>https://soumitrasaha.com/blogs/html-semantic-elements-every-developer-should-know/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/html-semantic-elements-every-developer-should-know/</guid><description>I cover the HTML semantic elements that replace generic divs, explain when to use each one, and show how they improve accessibility and page structure.</description><pubDate>Wed, 23 Oct 2024 18:30:00 GMT</pubDate><category>HTML</category><category>Semantic HTML</category><category>Accessibility</category><category>Web Fundamentals</category></item><item><title>How the Web Works: What Happens After You Hit Enter</title><link>https://soumitrasaha.com/blogs/how-the-web-works/</link><guid isPermaLink="true">https://soumitrasaha.com/blogs/how-the-web-works/</guid><description>I walk through every step between typing a URL and seeing a page, from DNS lookups and TCP handshakes to HTML parsing and the first paint.</description><pubDate>Thu, 17 Oct 2024 18:30:00 GMT</pubDate><category>Web Fundamentals</category><category>HTTP</category><category>DNS</category><category>Networking</category><category>Browser</category></item><item><title>Simulator-Based Reinforcement Learning for Data Center Cooling Optimization</title><link>https://soumitrasaha.com/my-reads/meta-rl-data-center-cooling/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-rl-data-center-cooling/</guid><description>Meta uses offline, simulator-in-the-loop reinforcement learning to control supply airflow setpoints in data centers, achieving a 20% reduction in fan energy and 4% reduction in water use without ever exploring inside a live facility.</description><pubDate>Sun, 15 Sep 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Data Centers</category><category>Machine Learning</category><category>Infrastructure</category></item><item><title>Noisy Neighbor Detection with eBPF</title><link>https://soumitrasaha.com/my-reads/netflix-noisy-neighbor-ebpf/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/netflix-noisy-neighbor-ebpf/</guid><description>How Netflix used eBPF hooks into the Linux scheduler to build continuous, sub-microsecond-overhead run queue latency monitoring that attributes CPU starvation to specific containers in their Titus multi-tenant platform.</description><pubDate>Wed, 11 Sep 2024 18:30:00 GMT</pubDate><category>Netflix</category><category>eBPF</category><category>Linux</category><category>Performance</category></item><item><title>Inside the Hardware and Co-Design of MTIA</title><link>https://soumitrasaha.com/my-reads/meta-mtia-hardware-software-codesign/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-mtia-hardware-software-codesign/</guid><description>How Meta built its second-generation AI accelerator by treating PyTorch&apos;s operator set and memory access patterns as hardware requirements, not as post-silicon adaptation problems.</description><pubDate>Mon, 26 Aug 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Hardware</category><category>Accelerators</category><category>AI Infrastructure</category></item><item><title>Bringing Llama 3 to Life: From Data to Inference</title><link>https://soumitrasaha.com/my-reads/meta-llama-3-training-infrastructure/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-llama-3-training-infrastructure/</guid><description>Meta&apos;s short roundup of the four AI Infra @ Scale 2024 talks behind Llama 3 — open source vision, data, training clusters, and inference at scale.</description><pubDate>Sun, 25 Aug 2024 18:30:00 GMT</pubDate><category>Meta</category><category>AI Infrastructure</category><category>Machine Learning</category><category>Inference</category></item><item><title>How Meta Animates AI-Generated Images at Scale</title><link>https://soumitrasaha.com/my-reads/meta-animating-ai-generated-images/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-animating-ai-generated-images/</guid><description>How Meta combined guidance distillation, step distillation, and regional traffic routing to cut a video diffusion model from 96 U-Net passes to 8 — then fixed the latency that model optimization alone couldn&apos;t.</description><pubDate>Sun, 18 Aug 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Video</category><category>AI Infrastructure</category><category>Scaling</category></item><item><title>A Deep Dive into CVE-2023-2163: How Google Found and Fixed an eBPF Linux Kernel Vulnerability</title><link>https://soumitrasaha.com/my-reads/ebpf-verifier-bug-cve-2023-2163/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/ebpf-verifier-bug-cve-2023-2163/</guid><description>Google&apos;s account of discovering and patching a CVSS 10.0 flaw in the Linux eBPF verifier where incorrect propagation of 32-bit register bounds to their 64-bit counterparts let a crafted program convince the kernel it was performing safe memory accesses when it was not.</description><pubDate>Fri, 09 Aug 2024 18:30:00 GMT</pubDate><category>Google</category><category>eBPF</category><category>Linux</category><category>Security</category></item><item><title>RoCE Networks for Distributed AI Training at Meta Scale</title><link>https://soumitrasaha.com/my-reads/meta-roce-ai-training-network/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-roce-ai-training-network/</guid><description>Meta&apos;s SIGCOMM 2024 paper shows how RoCEv2 over Ethernet became the backbone for training Llama-scale models across tens of thousands of GPUs — and why routing, not hardware, was the hard problem.</description><pubDate>Wed, 07 Aug 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Networking</category><category>RDMA</category><category>AI Infrastructure</category></item><item><title>Rediscovering Transaction Processing From History and First Principles</title><link>https://soumitrasaha.com/my-reads/tigerbeetle-rediscovering-transaction-processing/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/tigerbeetle-rediscovering-transaction-processing/</guid><description>How TigerBeetle discovered that row locks held across network round-trips are a fundamental throughput ceiling no amount of hardware can fix.</description><pubDate>Sun, 28 Jul 2024 18:30:00 GMT</pubDate><category>TigerBeetle</category><category>Databases</category><category>Algorithms</category><category>System Design</category></item><item><title>CrowdStrike&apos;s Falcon Content Update Outage, Explained</title><link>https://soumitrasaha.com/my-reads/crowdstrike-outage-technical-details/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/crowdstrike-outage-technical-details/</guid><description>CrowdStrike&apos;s own account of the July 2024 content update that blue-screened Windows hosts, explaining channel files, named pipes, and why it wasn&apos;t an attack.</description><pubDate>Sun, 21 Jul 2024 18:30:00 GMT</pubDate><category>CrowdStrike</category><category>Postmortem</category><category>Reliability</category><category>Windows</category></item><item><title>NVIDIA Transitions Fully Towards Open-Source GPU Kernel Modules</title><link>https://soumitrasaha.com/my-reads/nvidia-open-gpu-kernel-modules/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/nvidia-open-gpu-kernel-modules/</guid><description>With R560 and CUDA Toolkit 12.6, NVIDIA made the open-source GPU kernel modules the default for Turing and newer architectures, completing a two-year transition that started with R515 in 2022.</description><pubDate>Wed, 17 Jul 2024 18:30:00 GMT</pubDate><category>NVIDIA</category><category>Linux</category><category>Kernel</category><category>Infrastructure</category></item><item><title>Taming the tail utilization of ads inference at Meta scale</title><link>https://soumitrasaha.com/my-reads/meta-tail-utilization-ads-inference/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-tail-utilization-ads-inference/</guid><description>How Meta&apos;s ads inference team cut timeout error rates by two-thirds and squeezed 35% more throughput from the same hardware by fixing how load is measured, balanced, and predicted in a multi-tenant inference fleet.</description><pubDate>Sun, 14 Jul 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Inference</category><category>Performance</category><category>Ads</category></item><item><title>The Key to a Happy Rust/C++ Relationship</title><link>https://soumitrasaha.com/my-reads/meta-rust-cpp-interop/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-rust-cpp-interop/</guid><description>Meta&apos;s Rust adoption at scale depends on the cxx crate, which replaces unsafe FFI with typed interop boundaries that let both languages grow alongside each other without sacrificing safety guarantees.</description><pubDate>Thu, 27 Jun 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Rust</category><category>C++</category><category>Memory Safety</category></item><item><title>Cloudflare&apos;s June 2024 Incident: Cookies, Tail Calls, and Runaway CPU</title><link>https://soumitrasaha.com/my-reads/cloudflare-incident-june-2024-postmortem/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/cloudflare-incident-june-2024-postmortem/</guid><description>A careful postmortem of how one new DDoS rule, two interacting bugs, and a Lua tail-call loop burned CPU across Cloudflare&apos;s network for 114 minutes.</description><pubDate>Wed, 26 Jun 2024 18:30:00 GMT</pubDate><category>Cloudflare</category><category>Postmortem</category><category>Reliability</category><category>Incident Review</category></item><item><title>PVF: Measuring How Vulnerable AI Model Parameters Are to Silent Corruption</title><link>https://soumitrasaha.com/my-reads/meta-pvf-silent-data-corruption/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-pvf-silent-data-corruption/</guid><description>Meta&apos;s Parameter Vulnerability Factor gives hardware designers a principled way to decide which neural network layers actually need fault protection, rather than protecting all parameters equally and paying the area and performance cost everywhere.</description><pubDate>Sun, 23 Jun 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Hardware</category><category>Reliability</category><category>AI Infrastructure</category></item><item><title>MLow: Meta&apos;s Low Bitrate Audio Codec</title><link>https://soumitrasaha.com/my-reads/meta-mlow-audio-codec/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-mlow-audio-codec/</guid><description>How Meta built a new audio codec from scratch that delivers twice the perceptual quality of Opus at 6 kbps, while keeping computational complexity 10% lower — targeting the billions of calls on low-end devices that existing codecs leave behind.</description><pubDate>Tue, 18 Jun 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Audio</category><category>Codecs</category><category>Performance</category></item><item><title>How Meta Maintains AI Training Capacity at Scale</title><link>https://soumitrasaha.com/my-reads/meta-ai-capacity-maintenance/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-ai-capacity-maintenance/</guid><description>How Meta patches thousands of GPU training hosts without pausing time-critical jobs — maintenance trains, gradual rollouts, and the OpsPlanner orchestrator.</description><pubDate>Mon, 17 Jun 2024 18:30:00 GMT</pubDate><category>Meta</category><category>AI Infrastructure</category><category>Capacity Planning</category><category>Operations</category></item><item><title>How Meta Trains Large Language Models at Scale</title><link>https://soumitrasaha.com/my-reads/meta-llm-training-infrastructure/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-llm-training-infrastructure/</guid><description>A plain-English tour of Meta&apos;s LLM training infrastructure — failure modes, checkpointing, and twin 24k-GPU clusters on both RoCE and InfiniBand.</description><pubDate>Sun, 16 Jun 2024 18:30:00 GMT</pubDate><category>Meta</category><category>AI Infrastructure</category><category>Machine Learning</category><category>Scaling</category></item><item><title>Serverless Jupyter Notebooks at Meta</title><link>https://soumitrasaha.com/my-reads/meta-bento-serverless-notebooks/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-bento-serverless-notebooks/</guid><description>How Meta&apos;s Bento team used Pyodide and WebAssembly to run Python notebooks entirely in the browser, eliminating compute provisioning for lightweight workloads without changing the notebook interface.</description><pubDate>Thu, 13 Jun 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Infrastructure</category><category>Developer Tools</category><category>Microservices</category></item><item><title>Composable Data Management at Meta</title><link>https://soumitrasaha.com/my-reads/meta-composable-data-management/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-composable-data-management/</guid><description>How Meta dismantled a decade of siloed data systems by extracting Velox as a shared execution engine, aligning with Apache Arrow, and opening the path to hardware-accelerated analytics.</description><pubDate>Sun, 26 May 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Data Infrastructure</category><category>Storage</category><category>System Design</category></item><item><title>Figma&apos;s Journey to TypeScript: Compiling Away a Custom Language</title><link>https://soumitrasaha.com/my-reads/figma-typescript-journey/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/figma-typescript-journey/</guid><description>How Figma built a Skew-to-TypeScript transpiler and ran a three-phase migration to retire their custom language without disrupting developer workflows.</description><pubDate>Tue, 07 May 2024 18:30:00 GMT</pubDate><category>Figma</category><category>TypeScript</category><category>Migration</category><category>Developer Tools</category></item><item><title>Bun 1.1 — Windows Support</title><link>https://soumitrasaha.com/my-reads/bun-1-1-windows-support/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/bun-1-1-windows-support/</guid><description>Bun 1.1 ships Windows support alongside 1,700 commits of Node.js compatibility fixes, a cross-platform shell, and a thousand bug fixes.</description><pubDate>Thu, 11 Apr 2024 18:30:00 GMT</pubDate><category>Bun</category><category>JavaScript</category><category>Runtime</category><category>Performance</category></item><item><title>Why SQLite Uses Bytecode Instead of a Tree of Objects</title><link>https://soumitrasaha.com/my-reads/sqlite-why-bytecode/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/sqlite-why-bytecode/</guid><description>SQLite&apos;s original author explains why it compiles SQL into bytecode instead of walking a tree of objects, and where each approach honestly wins.</description><pubDate>Tue, 02 Apr 2024 18:30:00 GMT</pubDate><category>SQLite</category><category>Databases</category><category>Compilers</category><category>Performance</category></item><item><title>Logarithm: A Logging Engine for AI Training Workflows and Services</title><link>https://soumitrasaha.com/my-reads/meta-logarithm-logging-engine/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/meta-logarithm-logging-engine/</guid><description>How Meta built Logarithm — a hosted, serverless, multitenant logging engine — to index 100+ GB/s of AI training logs in real time and power cross-layer debugging across systems and model telemetry.</description><pubDate>Sun, 24 Mar 2024 18:30:00 GMT</pubDate><category>Meta</category><category>Observability</category><category>Logging</category><category>AI Infrastructure</category></item><item><title>How Figma&apos;s Databases Team Lived to Tell the Scale</title><link>https://soumitrasaha.com/my-reads/figma-databases-team-scale/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/figma-databases-team-scale/</guid><description>How Figma sharded its Postgres stack in place with DBProxy, hash routing, and Postgres views instead of migrating to a distributed SQL engine.</description><pubDate>Fri, 15 Mar 2024 18:30:00 GMT</pubDate><category>Figma</category><category>Postgres</category><category>Scaling</category><category>Databases</category></item><item><title>How Dropbox Rewrote the Heart of Its Sync Engine</title><link>https://soumitrasaha.com/my-reads/dropbox-sync-engine-rust-rewrite/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/dropbox-sync-engine-rust-rewrite/</guid><description>A practical account of why Dropbox rewrote its desktop sync engine in Rust, with a rewrite checklist and hard-won lessons about data models and testing.</description><pubDate>Mon, 26 Feb 2024 18:30:00 GMT</pubDate><category>Dropbox</category><category>Rust</category><category>Migration</category><category>Storage</category></item><item><title>Gemini 1.5: Google&apos;s Million-Token Long-Context Breakthrough</title><link>https://soumitrasaha.com/my-reads/google-gemini-1-5-long-context/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/google-gemini-1-5-long-context/</guid><description>Google&apos;s Gemini 1.5 announcement explains how mixture-of-experts efficiency and a million-token context window changed what models can process in one go.</description><pubDate>Sun, 18 Feb 2024 18:30:00 GMT</pubDate><category>Google</category><category>Gemini</category><category>Long Context</category><category>Multimodal</category></item><item><title>Python 3.13 Gets a JIT</title><link>https://soumitrasaha.com/my-reads/python-3-13-jit-explained/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/python-3-13-jit-explained/</guid><description>A CPython core developer walks through the copy-and-patch JIT added to Python 3.13, explaining what stencils and holes are at the machine-code level and why a 2-9% initial gain is the right starting point.</description><pubDate>Sun, 21 Jan 2024 18:30:00 GMT</pubDate><category>Python</category><category>Performance</category><category>Compilers</category><category>Runtime</category></item><item><title>Maestro: A Unix-Like Kernel Written from Scratch in Rust</title><link>https://soumitrasaha.com/my-reads/maestro-rust-kernel/</link><guid isPermaLink="true">https://soumitrasaha.com/my-reads/maestro-rust-kernel/</guid><description>A solo developer scrapped 18 months of C kernel work to restart in Rust, and has since built a bootable monolithic OS with a package manager, running bash and a working subset of GNU coreutils.</description><pubDate>Sun, 07 Jan 2024 18:30:00 GMT</pubDate><category>Rust</category><category>Kernel</category><category>Linux</category><category>Memory Safety</category></item></channel></rss>