<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Shailesh Mishra - Engineering Notebook</title>
    <link>https://www.shaileshmishra.info/</link>
    <description>Notes and references on the systems, languages and tools I work with - grouped so you can read a whole subject rather than a feed.</description>
    <language>en</language>
    <atom:link href="https://www.shaileshmishra.info/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>23 - Case Studies</title>
      <link>https://www.shaileshmishra.info/blog/system-design/23-case-studies.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/23-case-studies.html</guid>
      <description>Four systems designed end to end - URL shortener, chat, news feed, key-value store - putting every part of the series to work at once.</description>
    </item>
    <item>
      <title>22 - Deploys &amp; Rollback</title>
      <link>https://www.shaileshmishra.info/blog/system-design/22-deploys-rollback.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/22-deploys-rollback.html</guid>
      <description>Blue-green, canary and rolling compared by blast radius, the mixed-version problem all three create, and why deploying is not releasing.</description>
    </item>
    <item>
      <title>21 - Observability</title>
      <link>https://www.shaileshmishra.info/blog/system-design/21-observability.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/21-observability.html</guid>
      <description>Monitoring versus observability, the three pillars and the four golden signals, and why you alert on symptoms rather than causes.</description>
    </item>
    <item>
      <title>20 - Distributed Locks</title>
      <link>https://www.shaileshmishra.info/blog/system-design/20-distributed-locks.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/20-distributed-locks.html</guid>
      <description>Pessimistic versus optimistic locking, what happens when a lock expires while the work is still running, and why fencing tokens are the fix.</description>
    </item>
    <item>
      <title>19 - Consensus &amp; Leader Election</title>
      <link>https://www.shaileshmishra.info/blog/system-design/19-consensus-leader-election.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/19-consensus-leader-election.html</guid>
      <description>How a quorum makes split-brain impossible, what electing a leader actually involves, and when a system genuinely needs consensus.</description>
    </item>
    <item>
      <title>18 - Rate Limiting</title>
      <link>https://www.shaileshmishra.info/blog/system-design/18-rate-limiting.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/18-rate-limiting.html</guid>
      <description>Token bucket versus leaky bucket, where the limit gets enforced, what the client sees when it trips, and what to key the counter on.</description>
    </item>
    <item>
      <title>17 - Idempotency</title>
      <link>https://www.shaileshmishra.info/blog/system-design/17-idempotency.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/17-idempotency.html</guid>
      <description>Why a retried request bills the customer twice, what idempotent really promises, which HTTP methods honour it, and how keys cover the rest.</description>
    </item>
    <item>
      <title>16 - Queues</title>
      <link>https://www.shaileshmishra.info/blog/system-design/16-queues.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/16-queues.html</guid>
      <description>What putting a queue in the middle actually buys you, queue versus pub/sub, the delivery guarantee you have to pick, and poison messages.</description>
    </item>
    <item>
      <title>15 - Consistent Hashing</title>
      <link>https://www.shaileshmishra.info/blog/system-design/15-consistent-hashing.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/15-consistent-hashing.html</guid>
      <description>Why naive mod-N hashing collapses on resize, how the ring fixes it, what virtual nodes add, and what it still doesn't solve.</description>
    </item>
    <item>
      <title>14 - Sharding</title>
      <link>https://www.shaileshmishra.info/blog/system-design/14-sharding.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/14-sharding.html</guid>
      <description>Partitioning strategies, the hot shard problem, what cross-shard queries cost, and how to pick a shard key you won't regret.</description>
    </item>
    <item>
      <title>13 - Transactions &amp; Isolation</title>
      <link>https://www.shaileshmishra.info/blog/system-design/13-transactions-isolation.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/13-transactions-isolation.html</guid>
      <description>ACID, the four classic anomalies, what each isolation level actually stops, and locking versus MVCC in real databases.</description>
    </item>
    <item>
      <title>12 - Consistency Models</title>
      <link>https://www.shaileshmishra.info/blog/system-design/12-consistency-models.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/12-consistency-models.html</guid>
      <description>What a reader is actually guaranteed to see - linearizability, eventual consistency, the middle ground, and what CAP forces during a partition.</description>
    </item>
    <item>
      <title>11 - Replication</title>
      <link>https://www.shaileshmishra.info/blog/system-design/11-replication.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/11-replication.html</guid>
      <description>Synchronous versus asynchronous from the client's point of view, replication lag, failover when the leader dies, and the topologies between.</description>
    </item>
    <item>
      <title>10 - Indexing</title>
      <link>https://www.shaileshmishra.info/blog/system-design/10-indexing.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/10-indexing.html</guid>
      <description>Full scan versus index lookup, B-tree versus hash, the write cost every index charges, and why the planner sometimes skips yours.</description>
    </item>
    <item>
      <title>09 - What Actually Happens During a Write</title>
      <link>https://www.shaileshmishra.info/blog/system-design/09-what-a-write-actually-does.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/09-what-a-write-actually-does.html</guid>
      <description>The write path step by step: why the WAL comes first, sync versus async acknowledgement, and what breaks mid-write.</description>
    </item>
    <item>
      <title>08 - CDN &amp; Edge</title>
      <link>https://www.shaileshmishra.info/blog/system-design/08-cdn-edge.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/08-cdn-edge.html</guid>
      <description>Why distance is the enemy, origin pull versus push, what belongs at the edge, and what being everywhere costs you.</description>
    </item>
    <item>
      <title>07 - Caching</title>
      <link>https://www.shaileshmishra.info/blog/system-design/07-caching.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/07-caching.html</guid>
      <description>The cache hierarchy, read and write strategies, eviction policies, and the stampede that takes your origin down at the worst moment.</description>
    </item>
    <item>
      <title>06 - Load Balancers</title>
      <link>https://www.shaileshmishra.info/blog/system-design/06-load-balancers.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/06-load-balancers.html</guid>
      <description>Health checks, L4 versus L7, the algorithms behind each routing decision, and where a balancer sits in the request path.</description>
    </item>
    <item>
      <title>05 - Stateless vs Stateful</title>
      <link>https://www.shaileshmishra.info/blog/system-design/05-stateless-vs-stateful.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/05-stateless-vs-stateful.html</guid>
      <description>Where the state actually goes when you make a service stateless, and why sticky sessions are a trap rather than a solution.</description>
    </item>
    <item>
      <title>04 - Vertical vs Horizontal Scaling</title>
      <link>https://www.shaileshmishra.info/blog/system-design/04-vertical-vs-horizontal-scaling.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/04-vertical-vs-horizontal-scaling.html</guid>
      <description>Bigger box or more boxes - the ceiling you hit with each, what horizontal scaling really costs, and the signals that decide it for you.</description>
    </item>
    <item>
      <title>03 - What a Server Actually Runs Out Of</title>
      <link>https://www.shaileshmishra.info/blog/system-design/03-what-a-server-runs-out-of.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/03-what-a-server-runs-out-of.html</guid>
      <description>CPU, memory, disk, network and file descriptors - the finite resources behind most outages, and how to tell which one gave out.</description>
    </item>
    <item>
      <title>02 - Failure Taxonomy</title>
      <link>https://www.shaileshmishra.info/blog/system-design/02-failure-taxonomy.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/02-failure-taxonomy.html</guid>
      <description>How distributed systems actually break: partial versus total failure, why &quot;slow&quot; is harder than &quot;dead&quot;, and the fault-tolerance toolkit for each.</description>
    </item>
    <item>
      <title>01 - Latency, Throughput &amp; Percentiles</title>
      <link>https://www.shaileshmishra.info/blog/system-design/01-latency-throughput-percentiles.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/system-design/01-latency-throughput-percentiles.html</guid>
      <description>Why an average response time hides the experience most users actually get, and how p95 and p99 put it back on the table.</description>
    </item>
    <item>
      <title>Introduction to System Design</title>
      <link>https://www.shaileshmishra.info/blog/overview/system-design.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/overview/system-design.html</guid>
      <description>What system design actually asks of you: turning an ambiguous product need into something reliable, scalable and explainable. Start here.</description>
    </item>
    <item>
      <title>Load Balancer &amp; API Gateway - The Complete Guide</title>
      <link>https://www.shaileshmishra.info/blog/deep-dives/standalone--load-balancer-api-gateway-guide.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/deep-dives/standalone--load-balancer-api-gateway-guide.html</guid>
      <description>Everything that sits between a client and your services: L4 versus L7, the routing algorithms, the gateway patterns, and which to reach for.</description>
    </item>
    <item>
      <title>Caching - The Complete Guide</title>
      <link>https://www.shaileshmishra.info/blog/deep-dives/standalone-cache-complete-guide.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/deep-dives/standalone-cache-complete-guide.html</guid>
      <description>The whole of caching in one place - where caches live, the read and write paths, TTL, eviction, and why invalidation is the hard part.</description>
    </item>
    <item>
      <title>Caching - The Investigation Board</title>
      <link>https://www.shaileshmishra.info/blog/deep-dives/standalone-caching_investigation_board.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/deep-dives/standalone-caching_investigation_board.html</guid>
      <description>One overworked database worked like a case file: why the problem exists at all, how caching closes it, and where the trail goes cold.</description>
    </item>
    <item>
      <title>System Design Concepts &amp; Patterns - The Complete Guide</title>
      <link>https://www.shaileshmishra.info/blog/deep-dives/system-design-concepts-and-patterns.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/deep-dives/system-design-concepts-and-patterns.html</guid>
      <description>The whole vocabulary in one place: non-functional requirements, estimation, scaling, caching, SQL versus NoSQL, and the patterns built on them.</description>
    </item>
    <item>
      <title>Messaging &amp; Asynchronous Systems - The Complete Guide</title>
      <link>https://www.shaileshmishra.info/blog/deep-dives/messaging-async-systems-guide.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/deep-dives/messaging-async-systems-guide.html</guid>
      <description>Queues, pub/sub and event-driven architecture end to end - RabbitMQ against Kafka on their real differences, and which one a problem wants.</description>
    </item>
    <item>
      <title>Security in System Design - The Complete Guide</title>
      <link>https://www.shaileshmishra.info/blog/deep-dives/security-in-system-design-guide.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/deep-dives/security-in-system-design-guide.html</guid>
      <description>Authentication versus authorisation, what a JWT does and does not prove, encryption, rate limiting, and the design habits that prevent the rest.</description>
    </item>
    <item>
      <title>DNS - The Complete Guide</title>
      <link>https://www.shaileshmishra.info/blog/deep-dives/dns-complete-guide.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/deep-dives/dns-complete-guide.html</guid>
      <description>How a name becomes a connection: the resolution chain, record types, why caching keeps the root idle, and GeoDNS as a load-balancing tool.</description>
    </item>
    <item>
      <title>Databases - The Investigation Board</title>
      <link>https://www.shaileshmishra.info/blog/deep-dives/database_investigation_board.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/deep-dives/database_investigation_board.html</guid>
      <description>One machine that ran out of room, worked like a case file - where the data goes next, and what each escape route costs you.</description>
    </item>
    <item>
      <title>Networking &amp; Communication - The Investigation Board</title>
      <link>https://www.shaileshmishra.info/blog/deep-dives/networking_investigation_board.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/deep-dives/networking_investigation_board.html</guid>
      <description>Two machines a thousand miles apart and one lost message: the layers side by side, and who really stands where among proxies and gateways.</description>
    </item>
    <item>
      <title>AI Systems Field Guide - 17 Topics, One Project</title>
      <link>https://www.shaileshmishra.info/blog/ai/ai-systems-study-guide.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/ai/ai-systems-study-guide.html</guid>
      <description>Seventeen topics built as one project - embeddings, chunking, context engineering, agents, guardrails, evals - each with runnable code and a cost lens.</description>
    </item>
    <item>
      <title>The Retrieval Brain - Embeddings, Chunking, Vector DBs &amp; RAG</title>
      <link>https://www.shaileshmishra.info/blog/ai/the-agentic-ai-roadmap.html</link>
      <guid isPermaLink="true">https://www.shaileshmishra.info/blog/ai/the-agentic-ai-roadmap.html</guid>
      <description>What lets a model use your own data: how embeddings encode meaning, why chunking is the real quality lever, and where vector search fits in RAG.</description>
    </item>
  </channel>
</rss>
