RSSAmplifier

Blog

Ajit Singh - Software Engineering Blog

Software engineering blog by Ajit Singh covering system design, distributed systems, databases, AI, and DevOps. In-depth guides, tutorials, and tools for software engineers.

singhajit.comRSS feed ↗287 posts

Latest posts

Dev Weekly Aug 10-16, 2026: Gemini 3.7 Flash, Grok 4.6, Patch Tuesday's 400 Fixes, and Anthropic's $2 Trillion IPO

Gemini 3.7 Flash lands at half price, Grok 4.6 reaches GitHub Copilot, Microsoft patches 400 flaws including an exploited kernel zero-day, the ChainDrop worm rips through npm, and Anthropic's backers model a record $2 trillion IPO. - This was one of those weeks where the model race, the security beat, and the money story all ran hot at once. Google shipped Gemini 3.7 Flash at half the price of the…

How the JVM Works: From Bytecode to Native Code

A clear, practical walk through how the Java Virtual Machine loads, verifies, executes, and optimizes your code at runtime - You write a .java file, hit run, and a few moments later your program is alive. Between those two moments a surprising amount of machinery kicks in. Your human-readable code gets turned into a compact instruction set, loaded into memory, checked for safety, and then run by…

Dev Weekly Aug 3-9, 2026: Meta Ships Muse Code, GPT-5.6 Luna Becomes the Free ChatGPT Default, Qwen 3.8-Max Goes GA, Next.js 16.3, and a Black Hat GitHub-Issue RCE in Claude Code, Gemini CLI, and Codex

Meta's Muse Code terminal agent on Muse Spark 1.2, OpenAI's GPT-5.6 August retune with GPT-5.6 Luna as the free default, Alibaba's 2.4 trillion parameter Qwen 3.8-Max, Next.js 16.3 Instant Navigations, Claude Code auto mode going default, Kimi K3 landing in GitHub Copilot, a Black Hat supply chain security disclosure that turned public GitHub issues into remote code execution across AI coding…

Emergent Leader Pattern in Distributed Systems

How peer-to-peer clusters pick a coordinator by age, without ever running a leader election - Most distributed systems textbooks open with the same picture: a cluster of equals with one node wearing a crown. Somebody runs an election, votes get counted, and a leader is declared. But there is a whole family of systems that never hold an election at all and still end up...

Columnar Databases Explained: ClickHouse, BigQuery, and Redshift

How column-oriented storage, compression, and vectorized execution make analytical queries 10 to 100 times faster - Cloudflare runs a query that scans over a quadrillion events and returns in under two seconds. The same shape of query on a normal PostgreSQL table would still be running by the time you gave up and went for coffee. The difference is not more hardware or a clever index....

Dev Weekly Jul 27-Aug 2, 2026: Node.js Ships Emergency Security Releases, Redis Patches AI-Found Zero-Days, DeepSeek V4 Flash Gets an Agentic Upgrade, Loco 1.0, Rails Active Storage RCE

Node.js security releases 22.23.2, 24.18.1, and 26.5.1, a Rails Active Storage remote code execution patch, the Redis 8.8.1 fix after Moonshot's Kimi K3 model found 19 zero-days, DeepSeek's drop-in V4 Flash 0731 agentic upgrade, Loco 1.0 for Rust, Gemini 3.6 Flash as the default for managed agents, GitHub Copilot for JetBrains observability, the OpenAI and Anthropic Pacing the Frontier letter,…

Wide Column Stores Explained: Cassandra, Bigtable, and ScyllaDB

How the partition key, clustering key, and LSM storage make wide column databases scale to millions of writes per second - Pick almost any product that ingests a firehose of data and you will find a wide column store underneath it. Netflix tracks your viewing history in Cassandra. Discord keeps trillions of messages in ScyllaDB. Google Search indexing, Analytics, and Maps all lean on Bigtable.…

Dev Weekly Jul 20-26, 2026: Anthropic Ships Claude Opus 5 at Half the Price, Google Floods the Market With Three Gemini Flash Models, Cursor Router, OpenAI Voice-Drives Codex, SharePoint Flaw Exploited

Anthropic launches Claude Opus 5 with near-Fable 5 intelligence at $5/$25 per million tokens, Google ships Gemini 3.6 Flash, 3.5 Flash-Lite, and a restricted Flash Cyber model while its flagship 3.5 Pro stays late, Cursor launches a request-level model Router that cuts costs 30 to 60 percent, OpenAI wires full-duplex GPT-Live voice into Codex and ChatGPT Work on desktop, a public exploit for…

Request Waiting List Pattern in Distributed Systems

How a cluster node parks a client request while it collects quorum responses from other nodes, then answers at exactly the right moment - Picture a bank ledger service running on a small cluster. A client sends “transfer 100 rupees” and expects one answer: did it work or not. The node that receives the request cannot honestly answer that on its own. If it says yes and then crashes a second later,…

DDoS Attacks: How They Work and How to Protect Your App

A guide to distributed denial-of-service attacks, the three layers they hit, and the defenses that actually stop them - Your site is fine at 9:58 a.m. By 10:00 it is down, and your dashboards show traffic 500 times higher than normal, all of it garbage. None of it is buying anything. None of it is a real user. It is coming from tens of thousands of home routers, cameras,...

Dev Weekly Jul 13-19, 2026: Google's Gemini 3.5 Pro Delay Report, SpaceXAI Open-Sources Grok Build After Upload Scandal, Record 570-Flaw Patch Tuesday, AsyncAPI npm Attack, Fireworks AI Raises $1.5B

Bloomberg reports Gemini 3.5 Pro is months late over weak coding, SpaceXAI open-sources Grok Build after its CLI was caught uploading whole codebases, Microsoft's July Patch Tuesday fixes a record 570 flaws with three zero-days, a pwn-request compromise poisons four @asyncapi npm packages with the Miasma RAT, Fireworks AI raises $1.5 billion at a $17.5 billion valuation, AWS Security Hub starts…

Payment System Design: Ledger, Idempotency, and Settlement

How to design a Stripe-style payment system that never charges twice, keeps an auditable ledger, and reconciles every dollar - A customer taps Pay. The request leaves their phone, crosses a flaky mobile network, and times out. The app shows a spinner, then an error. The customer taps Pay again. Somewhere in your system, the first request actually went through. Now the card is charged twice, and…

Designing Database Isolation for B2B Multi-Tenant SaaS

Shared schema, schema-per-tenant, and database-per-tenant compared, plus how PostgreSQL RLS, tenant context, and hybrid tiers keep customer data safe - Your first enterprise prospect asks a simple question on the security call: “Can another customer ever see our data?” If your answer is “our queries always filter by tenant,” you are one forgotten WHERE clause away from a career-defining incident.…

Dev Weekly Jul 6-12, 2026: OpenAI Ships GPT-5.6 Sol Terra Luna, SpaceXAI Launches Grok 4.5, ChatGPT Work Debuts, npm v12 Locks Down Installs, Apple Sues OpenAI, Microsoft Cuts 4,800 Jobs

OpenAI takes GPT-5.6 Sol, Terra, and Luna to general availability and launches ChatGPT Work, SpaceXAI ships Grok 4.5 at $2/$6 after training with Cursor, npm v12 turns install scripts off by default, TypeScript 7 goes GA with an 8x to 12x native Go compiler, Apple sues OpenAI over alleged trade secret theft tied to hardware hiring, Microsoft cuts 4,800 jobs with Xbox hardest hit, a viral Reddit…

Request Pipeline Pattern in Distributed Systems

Why one-request-at-a-time wastes your network, and how sending many requests without waiting for replies cuts latency and lifts throughput - Here is a small experiment that surprises a lot of engineers. Write a loop that sends 10,000 tiny requests to a Redis server one after another, waiting for each reply before sending the next. Time it. Now send the same 10,000 requests without waiting, reading…

Dev Weekly Jun 29-Jul 5, 2026: Claude Sonnet 5 Released, US Lifts Fable 5 Export Controls, GitHub Copilot Native in JetBrains, Meta Watermelon Catches GPT-5.5, Cloudflare Outage Hits npm

Anthropic releases Claude Sonnet 5 as a cheaper way to run agents, the US lifts the export controls that had Fable 5 and Mythos 5 offline for 19 days, GitHub Copilot becomes a first-class native agent in JetBrains IDEs, Meta says its in-training Watermelon model has matched GPT-5.5 on benchmarks, a Cloudflare network failure knocks npm and other services offline, Mastra 1.48 adds scheduled agents,…

Consistent Core Pattern in Distributed Systems

How a small, strongly consistent cluster lets a huge data cluster coordinate itself without drowning in consensus - Picture a Kafka deployment with three hundred brokers moving terabytes an hour. Somebody has to answer boring but critical questions. Which broker is the leader for partition 42? Is broker 197 still alive or did it just die? What is the current replication factor? These answers must…

CDN System Design: How Content Delivery Networks Work

How edge servers, anycast routing, and tiered caching move content close to users, cut latency, and protect your origin at global scale - Open a website hosted in Virginia from a phone in Singapore and you feel the distance. Each round trip crawls across oceans and undersea cables, and even at the speed of light, 15,000 kilometers there and back adds up. Stack a dozen of those round trips for…

How to Use Cursor: 12 Tips to 10x Your Productivity

A practical guide to using Cursor, the AI code editor: master Tab, Cmd+K, Chat, Agent, Plan Mode, Rules, Skills, and MCP to ship code faster - Most people open Cursor, use it like VS Code with a chat box bolted on, and quietly wonder what the fuss is about. They press Tab now and then, paste a question into the chat, copy the answer back, and move on. That works, but it is maybe a tenth...

Dev Weekly Jun 22-28, 2026: OpenAI Previews GPT-5.6 Sol, Anthropic Says Claude Writes 80% of Its Code, Google Ships Gemini Interactions API, Leo npm Worm, Cursor Buys Continue

OpenAI previews the GPT-5.6 family under a government-gated rollout, Google promotes the Interactions API to general availability as the front door to Gemini, Anthropic reports more than 80 percent of its merged code is now written by Claude, an attacker poisons the Leo Platform npm scope with a Shai-Hulud worm variant, Cursor quietly acquires open-source rival Continue, DeepReinforce ships the…

Cursor Skills: How to Create and Use Agent Skills

A practical guide to Cursor Agent Skills: write your first SKILL.md, scope it with paths, add scripts, and ship reusable workflows your AI agent runs on demand - You have explained the same workflow to your AI agent five times this week. How to format a commit message. Which checklist to run before a release. The exact way your team reviews a pull request. Every new chat starts from zero, and you…

Dev Weekly Jun 15-21, 2026: SpaceX Buys Cursor for $60 Billion, North Korea Backdoors 140+ Mastra npm Packages, GitHub Copilot App Goes GA, AWS Summit Kiro Mobile, OpenAI Codex Record and Replay

SpaceX agrees to buy Cursor maker Anysphere for $60 billion days after its record IPO, North Korean hackers backdoor the entire Mastra npm scope, GitHub ships the Copilot desktop app, AWS Summit New York puts Kiro on the iPhone and launches AWS Context, OpenAI adds Record and Replay to Codex, Anthropic brings Artifacts to Claude Code, DeepSeek raises $7.4 billion, Cisco and Fortinet zero-days come…

Leader and Followers Pattern in Distributed Systems

How one elected leader coordinates replication so a cluster stays consistent and survives node failures - A cluster of five database servers sounds reassuring until you ask one simple question: when two clients send conflicting writes at the same instant, which one wins? If all five servers can answer “me”, you do not have a cluster, you have five databases that happen to share a logo....

Dev Weekly Jun 8-14, 2026: Apple WWDC and Siri AI, Claude Fable 5 Launched Then Pulled, Microsoft's Record Patch Tuesday, OpenAI Files for IPO and Buys Ona, SpaceX Nasdaq Debut

Apple opens WWDC 2026 with Siri AI and iOS 27, Anthropic ships Claude Fable 5 and Mythos 5 then disables both after a US government order, Microsoft fixes a record 206 vulnerabilities on Patch Tuesday, OpenAI files a confidential S-1 and acquires Ona for Codex, SpaceX pulls off the largest IPO ever, Meta goes down worldwide, and layoffs hit Shopee, Expeditors, and Veritone. - Another huge week for…

Dev Weekly Jun 1-7, 2026: Microsoft Build 2026 and MAI Models, GitHub Copilot Billing Goes Live, Anthropic Files for IPO, npm Miasma Worm, GitLab Cuts 14%

Microsoft opens Build 2026 with seven in-house MAI models and the GitHub Copilot app, Copilot token billing goes live to loud developer backlash, Anthropic files a confidential S-1 for its IPO, OpenAI brings frontier models and Codex to AWS, JetBrains open-sources Mellum2, the Miasma npm worm spreads through Red Hat packages, and GitLab cuts 14% of staff. - Another packed week for software…

Git Flow vs GitHub Flow

How each Git workflow handles features, releases, and hotfixes, and how to pick the one that fits your team - Two teams, same Git, completely different lives. One ships to production forty times a day and barely thinks about branches. The other cuts a release once a month, supports three versions in the wild, and lives by a strict branch map taped to the wall. Same tool, two very different...

Idempotent Receiver Pattern in Distributed Systems

Why clients retry, how duplicate requests sneak in, and how to build a receiver that processes the same request twice without breaking anything - A customer taps Pay once. Your payment service charges the card, then the response gets lost on the way back. The customer’s app waits, times out, and quietly retries. The same request lands on your server a second time. If your code is not careful, the…

ULID Explained: How Sortable Unique IDs Work

Why teams pick ULIDs over UUIDs for database keys, and how to generate and decode them - Every row you insert, every event you log, every order a customer places needs an ID. For years the default answer was a UUID. Generate a random 128-bit value, never think about it again. It works, but if you have ever watched a users table slow down as it grew...

Dev Weekly May 25-31, 2026: Anthropic Hits $965B, Claude Opus 4.8 Ships, Cognition Raises $1B, Glassworm Botnet Goes Down, Wix Cuts 1,000

Anthropic raises a record $65B at a $965B valuation and ships Claude Opus 4.8 with Dynamic Workflows, Cognition raises $1B at $26B for Devin, CrowdStrike and Google dismantle the Glassworm botnet, Wix lays off 1,000 staff, OpenAI brings Codex Computer Use to Windows, Cursor 3.6 ships Auto-review, and Snowflake commits $6B to AWS. - Another heavy week for the software industry. Anthropic raised 65…

Auth0 vs Okta: How to Pick the Right Identity Platform

Two products, one parent company, very different jobs. Pricing, SDKs, SSO, SAML, MFA, and when each one is the right call. - Pick the wrong identity platform on day one and you will feel it on day 800. The cheap monthly invoice from year one quietly turns into a six-figure renewal, the “we will just migrate later” assumption ages badly, and the SSO connection your biggest enterprise customer asks…

Notification System Design: Push, SMS, Email at Scale

The architecture behind Slack alerts, Uber ride pings, and every order confirmation email that lands on time - It is 7:42 AM. You open the ride app, tap Book, and the screen flips to the driver photo. Three seconds later your phone buzzes with a push notification: “Rahul is on the way, ETA 4 min.” Twenty seconds after that, an email lands confirming the booking with the pickup...

PostgreSQL MVCC and Autovacuum Explained

How dead tuples cause table bloat, why default autovacuum settings fall behind on busy tables, and how to tune it for high-traffic production workloads - You are running a production PostgreSQL database. You have an active user sessions table that logically holds about 50,000 active sessions at any given time. However, when you check the database size on disk, you notice that this tiny table takes…

Dev Weekly May 18-24, 2026: Google I/O 2026, Anthropic Buys Stainless, SpaceX and OpenAI IPO Filings, Meta Cuts 8,000, Laravel-Lang Attack

Google I/O 2026 brings Gemini 3.5 Flash, Antigravity 2.0, Gemini Spark, and Gemini Omni, Anthropic acquires Stainless for SDKs and MCP tooling, SpaceX files its S-1 with $18.7B in 2025 revenue, OpenAI moves on a confidential IPO filing, Meta begins 8,000 layoffs, and a Laravel-Lang Composer compromise hits 700+ versions. - A week of massive transitions in the software industry. Google I/O 2026…

Lease Pattern in Distributed Systems Explained

How time-bound leases give cluster nodes exclusive access without holding it forever when things go wrong - Distributed systems break in funny ways. A node boots up, sends heartbeats, takes a lock, and then disappears for twelve seconds because the JVM ran a stop the world garbage collection. From its point of view nothing happened. From the rest of the cluster’s point of view, the node died,...

Dev Weekly May 11-17, 2026: TanStack npm Attack Hits OpenAI, Patch Tuesday 137 Fixes, Anthropic $900B, Cursor 3.4

TanStack npm supply chain attack hits 42 packages and OpenAI's Mac app, Microsoft Patch Tuesday ships 137 fixes with no zero days, Anthropic opens talks for a $30B round at a $900B valuation, Google unveils Gemini Intelligence on Android, and Cursor 3.4 brings cloud agent dev environments. - A week defined by a single npm push. The TanStack supply chain compromise on May 11 dragged OpenAI in as…

Flash Sale System Design: Architecture, Scale, and Oversell

The architecture behind Flipkart Big Billion Days, Xiaomi drops, Alibaba Singles' Day, and every Black Friday landing page that does not melt - Twelve PM. Phone screen says launch in 5 seconds. Ten million people stare at a button. Ten thousand units of a new phone are on the other side of it. Two minutes later the sale is sold out and the product page is a screenshot in a thousand reaction…

What Is a GUID? How to Generate One in C# and SQL Server

What a GUID is, how the format works, and how to generate a GUID in .NET, SQL Server, and PowerShell - If you have worked with .NET, SQL Server, or the Windows registry, you have seen strings like 550e8400-e29b-41d4-a716-446655440000 everywhere. They show up as primary keys, COM class IDs, project identifiers, and config values. That is a GUID, and most developers copy and paste them for years…

Dev Weekly May 4-10, 2026: Anthropic-SpaceX Compute Deal, Cloudflare Cuts 1,100, AWS Agent Payments, Cursor 3.3

Anthropic signs SpaceX for the Colossus 1 supercluster, Cloudflare lays off 1,100 in an AI-first pivot, AWS ships Bedrock AgentCore Payments with Coinbase and Stripe, Cursor 3.3 brings PR review and parallel builds, and xAI launches Grok 4.3. - A heavier news week than the date alone suggests. Anthropic locked in SpaceX’s Colossus 1 supercluster on May 6 and used the new compute to double Claude…

Debezium and the Outbox Pattern: The Real Impact on Your Postgres Database

What logical decoding, replication slots, and the WAL actually cost when you stream the outbox table to Kafka with Debezium - You proposed the transactional outbox pattern for your service. The design review goes well until the DBA on the call says: “So you want me to add a third logical replica to the primary? That is going to slow the database down.” That single sentence kills more outbox…

Design TinyURL: System Design Interview Guide for URL Shorteners

How services like TinyURL, Bitly, and goo.gl turn long links into 7-character codes and serve billions of redirects a day - You paste a 200-character link into a tweet. Twitter wraps it in t.co/.... Bitly turns a marketing URL into bit.ly/3xK9aB. The original TinyURL service has been doing the same trick since 2002. The product looks trivial: long URL in, short URL out, click takes you to the…

Dev Weekly Apr 27-May 3, 2026: Microsoft-OpenAI Split, AWS Bedrock GPT-5.5, Pentagon AI Deals, Apple $111B

Microsoft and OpenAI end exclusivity, AWS ships GPT-5.5 and Codex on Bedrock, the Pentagon signs eight AI vendors, Cursor opens a TypeScript SDK, and Apple posts its best March quarter ever. - A heavy week even by 2026 standards. The biggest story is structural. Microsoft and OpenAI rewrote their partnership on April 27 in a way that ends Microsoft’s exclusivity, removes its revenue share to…

How Git Stores Data Internally: The Object Model Explained

A practical walk through blobs, trees, commits, the index, refs, and pack files, with hands-on commands you can run today - If you have used Git for years you have run thousands of git add, git commit, and git push commands without thinking about what is happening on disk. The commit returns. The branch points at the new SHA. The push succeeds. It feels like magic. It is not magic. Git...

Vector Database Deep Dive: How They Actually Work

An engineer's guide to embeddings, ANN search, HNSW, IVF, and choosing between pgvector, Pinecone, Qdrant, Weaviate, and Milvus - A few years ago, “find similar things” meant writing custom Lucene queries or stitching together a recommendation pipeline. Today it usually means one HTTP call to a vector database, and the answer comes back in single-digit milliseconds even when you are searching…

Saga Pattern Explained: Distributed Transactions for Microservices

A practical guide to choreography, orchestration, compensating transactions, and the production traps that come with running sagas at scale - A customer hits Book Trip. Behind that one click your system has to charge a card, reserve a hotel room, hold a flight seat, and put a rental car on hold. Four services. Four databases. Four ways for the request to fail. If the flight reservation fails after…

Dev Weekly Apr 20-26, 2026: Tim Cook Steps Down, GPT-5.5, Vercel Breach, Anthropic-AWS $100B

Tim Cook steps down as Apple CEO with John Ternus named successor, OpenAI ships GPT-5.5 for agentic coding, Vercel discloses a Context.ai supply chain breach, Anthropic commits over 100 billion dollars to AWS, and Google Cloud Next 2026 ships Gemini 3.1 and an Enterprise Agent Platform. - The biggest story of the week did not come from an AI lab. Apple announced on April 20 that Tim Cook is…

How GitHub Stores and Serves Git Repositories

Inside Spokes, the three-replica system that keeps half a billion repositories online for a hundred million developers - If you have used GitHub for a year you have done a few thousand git push and git clone operations without ever thinking about what happens behind the URL. The push returns. The clone finishes. The branch protection rule fires. It feels like magic. It is not magic. It is...

PostgreSQL Internals: How Queries Actually Execute

From the moment SELECT leaves your app to the row that lands back, what really happens inside Postgres - You write a SELECT. You hit enter. A few milliseconds later, rows come back. Most of the time it just works, and you move on. Then one day a query that used to return in ten milliseconds takes ten seconds. Or a JOIN you wrote a year ago suddenly chooses...

Lamport Clock in Distributed Systems

The 1978 logical clock that taught distributed systems how to order events without a shared wall clock - Distributed systems sound like they should be easy. You have a few servers, they pass messages, jobs get done. Then someone asks a simple question. Which event happened first? The order in which user U paid for the cart, the inventory service decremented stock, and the email service sent a...

Dev Weekly Apr 13-19, 2026: Claude Opus 4.7, Codex Computer Use, Patch Tuesday Zero-Day, Snap Layoffs

Claude Opus 4.7 retakes the coding lead, OpenAI Codex desktop gets Computer Use, Microsoft patches an actively exploited SharePoint zero-day, and Snap cuts 1,000 jobs citing AI. - The big AI labs spent the week trying to outdo each other again. Anthropic shipped Claude Opus 4.7 and took back the top spot on most coding benchmarks. OpenAI gave its Codex desktop app the ability to control your…

Hybrid Logical Clock in Distributed Systems

The HLC pattern that combines wall clock time with a logical counter to give you causal ordering and human readable timestamps - Picture a globally distributed database with three nodes. One in New York. One in London. One in Tokyo. A transaction starts in New York at 12:00:00.500. It writes a row, then sends a message to Tokyo to write a related row. The Tokyo node receives the message at…