Series

Series

Long-form notes are grouped into series so you can read them in order. Start with a reading path below, or jump into any series.

Reading paths

Curated tracks across posts (not only within one series).

1. Distributed systems — zero → papers

Build intuition, then read the classics.

  1. CAP Theorem — consistency, availability, partition tolerance
  2. RAFT Consensus Algorithm — leader election and log replication
  3. Map-Reduce — batch compute at scale
  4. Google File System — distributed storage
  5. Single-node patterns — sidecar, ambassador, adapter
  6. DynamoDB Architecture — highly available key-value design
  7. Byzantine Consensus — when nodes lie

Then continue with the full Distributed Systems Papers and Designing Distributed Systems series.

2. System design interview track

Work through the case studies in publishing order.

  1. Concurrency & parallelism
  2. Failure models
  3. Rate limiter
  4. Consistent hashing
  5. Key-value store
  6. Unique ID generator
  7. URL shortener
  8. Web crawler
  9. Notification system

3. Data internals track

Storage engines and databases from first principles.

  1. Hash table internals
  2. LSM trees
  3. DDIA — Storage & retrieval
  4. Postgres isolation
  5. Postgres internals
  6. DDIA — Replication

4. Algorithms practice track

Problem sets in C++ (solutions collapsed — open when you want them).

  1. Binary Tree Problems
  2. Binary Search Problems
  3. BFS Problems
  4. Sliding window
  5. Union-Find
  6. Stack problems
  7. Game theory

All series

Distributed Systems Papers

Reading notes on classic systems papers — consensus, replication, storage, and coordination.

14 parts

  1. RAFT Consensus Algorithm — Apr 2023

  2. Amazon DynamoDB - Distributed Transactions — Jul 2023

  3. Amazon DynamoDB - Architecture — Jul 2023

  4. Introduction to Map-Reduce — Oct 2023

  5. Introduction to Google File System — Nov 2023

  6. Fault-Tolerant Virtual Machines — Nov 2023

  7. Testing Distributed Systems for Linearizability — Dec 2023

  8. Intro to Zookeeper — Dec 2023

  9. Chain Replication — Jan 2024

  10. Properties of Distributed Transaction — Jan 2024

  11. Frangipani - A Scalable Distributed FileSystem — Jan 2024

  12. Amazon Aurora DB Design Considerations — Feb 2024

  13. Introduction to Bitcoin Protocol — Feb 2024

  14. Byzantine Consensus — Feb 2026

System Design Case Studies

Interview-style designs: rate limiter, consistent hashing, key-value store, crawler, and more.

7 parts

  1. System Design - Rate Limiter — Aug 2025

  2. Introduction to Consistent Hashing — Aug 2025

  3. System Design - Design Key-Value Store — Aug 2025

  4. System Design - Design a Unique ID Generator for Distributed Systems — Aug 2025

  5. System Design - Design a URL Shortener — Aug 2025

  6. System Design - Web Crawler — Sep 2025

  7. System Design - Notification System — Sep 2025

Designing Distributed Systems

Patterns from Brendan Burns — single-node, sharding, scatter-gather, ownership, and batch compute.

5 parts

  1. Designing Distributed Systems - Single Node Patterns — Aug 2023

  2. Designing Distributed Systems - Replicated & Sharded Patterns — Aug 2023

  3. Designing Distributed Systems - Scatter-gather & FaaS with event-driven pattern — Sep 2023

  4. Designing Distributed Systems - Ownership Election — Sep 2023

  5. Designing Distributed Systems - Batch Computational Patterns — Sep 2023

Designing Data-Intensive Applications

Chapter-by-chapter notes on Kleppmann’s DDIA — reliability, models, storage, encoding, replication.

5 parts

  1. DDIA - Chap01 - Reliable, Scalable and Maintainable Applications — May 2025

  2. DDIA - Chap02 - Data Models — May 2025

  3. DDIA - Chap03 - Storage and Retrieval — May 2025

  4. DDIA - Chap04 - Enconding and Evolution — May 2025

  5. DDIA - Chap05 - Replication — May 2025

Web Security

XSS, CSRF, XXE, injection, and denial-of-service — how common web attacks work and how to stop them.

5 parts

  1. Web Application Security - Cross-Site Scripting (XSS) Attack — Oct 2024

  2. Web Application Security - Cross-Site Request Forgery (CSRF) Attack — Oct 2024

  3. Web Application Security - XML External Entity (XXE) Attack — Oct 2024

  4. Web Application Security - Injection Attack — Oct 2024

  5. Web Application Security - Denial of Service Attack — Nov 2024

PostgreSQL

Isolation levels, MVCC, and storage/index internals for day-to-day performance intuition.

2 parts

  1. PostgreSQL - Isolation Levels — Jan 2026

  2. Postgres Internals I — Mar 2026

Design Patterns

Gang of Four patterns — creational, structural, and behavioral — with diagrams and code.

4 parts

  1. Design Patterns Case Study — Jun 2023

  2. Introduction to Creational Design Patterns — Jun 2023

  3. Introduction to Structural Design Patterns — Jun 2023

  4. Introduction to Behavioral Design Patterns — Jul 2023

Docker

Containers from first principles — images, layers, volumes, and build-time concepts.

2 parts

  1. Introduction to Docker — Jan 2023

  2. Interesting Concepts of Docker — Jan 2023

Deep Learning Fundamentals

Neural nets and sequence models — loss, gradients, RNNs, and the usual failure modes.

2 parts

  1. Introduction to Deep Learning - Deep Neural Network — Jul 2025

  2. Introduction to Deep Learning - Deep Sequence Model — Aug 2025

LLM & RAG

Large language models and retrieval-augmented generation for semantic search.

2 parts

  1. Introduction to Large Language Models (LLM) — Dec 2024

  2. Use of LLM - Semantic Search — Dec 2024

Binary Tree Problems

C++ problem sets on binary tree traversals and classic tree algorithms.

2 parts

  1. Binary Tree Algorithms - Part I — Aug 2024

  2. Binary Tree Algorithms - Part II — Sep 2024

Binary Search Problems

C++ problem sets on binary search over answers, rotated arrays, and variants.

2 parts

  1. Binary Search Problem Sets Part I — Jan 2025

  2. Binary Search Problem Sets Part II — Mar 2025

BFS Problems

C++ graph BFS problem sets — shortest paths, grids, and multi-source search.

2 parts

  1. BFS Problem Sets Part I — Mar 2025

  2. BFS Problem Sets Part II — Apr 2025