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.
- CAP Theorem — consistency, availability, partition tolerance
- RAFT Consensus Algorithm — leader election and log replication
- Map-Reduce — batch compute at scale
- Google File System — distributed storage
- Single-node patterns — sidecar, ambassador, adapter
- DynamoDB Architecture — highly available key-value design
- 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.
- Concurrency & parallelism
- Failure models
- Rate limiter
- Consistent hashing
- Key-value store
- Unique ID generator
- URL shortener
- Web crawler
- Notification system
3. Data internals track
Storage engines and databases from first principles.
- Hash table internals
- LSM trees
- DDIA — Storage & retrieval
- Postgres isolation
- Postgres internals
- DDIA — Replication
4. Algorithms practice track
Problem sets in C++ (solutions collapsed — open when you want them).
- Binary Tree Problems
- Binary Search Problems
- BFS Problems
- Sliding window
- Union-Find
- Stack problems
- Game theory
All series
Distributed Systems Papers
Reading notes on classic systems papers — consensus, replication, storage, and coordination.
14 parts
RAFT Consensus Algorithm — Apr 2023
Amazon DynamoDB - Distributed Transactions — Jul 2023
Amazon DynamoDB - Architecture — Jul 2023
Introduction to Map-Reduce — Oct 2023
Introduction to Google File System — Nov 2023
Fault-Tolerant Virtual Machines — Nov 2023
Intro to Zookeeper — Dec 2023
Chain Replication — Jan 2024
Properties of Distributed Transaction — Jan 2024
Amazon Aurora DB Design Considerations — Feb 2024
Introduction to Bitcoin Protocol — Feb 2024
Byzantine Consensus — Feb 2026
System Design Case Studies
Interview-style designs: rate limiter, consistent hashing, key-value store, crawler, and more.
7 parts
System Design - Rate Limiter — Aug 2025
Introduction to Consistent Hashing — Aug 2025
System Design - Design Key-Value Store — Aug 2025
System Design - Design a Unique ID Generator for Distributed Systems — Aug 2025
System Design - Design a URL Shortener — Aug 2025
System Design - Web Crawler — Sep 2025
System Design - Notification System — Sep 2025
Designing Distributed Systems
Patterns from Brendan Burns — single-node, sharding, scatter-gather, ownership, and batch compute.
5 parts
Designing Distributed Systems - Single Node Patterns — Aug 2023
Designing Distributed Systems - Replicated & Sharded Patterns — Aug 2023
Designing Distributed Systems - Scatter-gather & FaaS with event-driven pattern — Sep 2023
Designing Distributed Systems - Ownership Election — Sep 2023
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
DDIA - Chap01 - Reliable, Scalable and Maintainable Applications — May 2025
DDIA - Chap02 - Data Models — May 2025
DDIA - Chap03 - Storage and Retrieval — May 2025
DDIA - Chap04 - Enconding and Evolution — May 2025
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
Web Application Security - Cross-Site Scripting (XSS) Attack — Oct 2024
Web Application Security - Cross-Site Request Forgery (CSRF) Attack — Oct 2024
Web Application Security - XML External Entity (XXE) Attack — Oct 2024
Web Application Security - Injection Attack — Oct 2024
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
PostgreSQL - Isolation Levels — Jan 2026
Postgres Internals I — Mar 2026
Design Patterns
Gang of Four patterns — creational, structural, and behavioral — with diagrams and code.
4 parts
Design Patterns Case Study — Jun 2023
Introduction to Creational Design Patterns — Jun 2023
Introduction to Structural Design Patterns — Jun 2023
Introduction to Behavioral Design Patterns — Jul 2023
Docker
Containers from first principles — images, layers, volumes, and build-time concepts.
2 parts
Introduction to Docker — Jan 2023
Interesting Concepts of Docker — Jan 2023
Deep Learning Fundamentals
Neural nets and sequence models — loss, gradients, RNNs, and the usual failure modes.
2 parts
Introduction to Deep Learning - Deep Neural Network — Jul 2025
Introduction to Deep Learning - Deep Sequence Model — Aug 2025
LLM & RAG
Large language models and retrieval-augmented generation for semantic search.
2 parts
Introduction to Large Language Models (LLM) — Dec 2024
Use of LLM - Semantic Search — Dec 2024
Binary Tree Problems
C++ problem sets on binary tree traversals and classic tree algorithms.
2 parts
Binary Tree Algorithms - Part I — Aug 2024
Binary Tree Algorithms - Part II — Sep 2024
Binary Search Problems
C++ problem sets on binary search over answers, rotated arrays, and variants.
2 parts
Binary Search Problem Sets Part I — Jan 2025
Binary Search Problem Sets Part II — Mar 2025
BFS Problems
C++ graph BFS problem sets — shortest paths, grids, and multi-source search.
2 parts
BFS Problem Sets Part I — Mar 2025
BFS Problem Sets Part II — Apr 2025