Knowledge map

Each dot is an episode and each row is a series. Lines show prerequisites: learn the start of the arrow first. Filled dots are published, hollow ones are coming soon. Click a dot to open that episode.

Published Coming soon

Hover or tap a dot to see its title and where it is used in the real world.

All episodes (text version)

How Computers “Think”

  1. 1Bits and Number Bases: Binary, Hex, Two’s ComplementPublished
  2. 2Floating Point: Why 0.1 + 0.2 ≠ 0.3Coming soon
  3. 3From Logic Gates to an AdderComing soon
  4. 4Memory and Addressing: How One Byte Is FoundComing soon
  5. 5One CPU Cycle: Fetch, Decode, ExecuteComing soon
  6. 6Pipelines and Branch PredictionComing soon
  7. 7Caches: Why Sequential Access Beats Random Access by 10× or MoreComing soon
  8. 8Virtual Memory and Page TablesComing soon
  9. 9Compilers: From Source Code to Machine CodeComing soon
  10. 10OS Scheduling and Context SwitchesComing soon
  11. 11File Systems: What a File Looks Like on DiskComing soon
  12. 12Finale: From a Key Press to Text on ScreenComing soon

Data Structures and Algorithms

  1. 1Arrays and Linked Lists: Contiguous vs. PointersComing soon
  2. 2Hash Tables: Trading Space for TimeComing soon
  3. 3Bloom Filters: “Have I Seen This?” in Tiny MemoryComing soon
  4. 4Binary Search Trees and Balanced TreesComing soon
  5. 5B-Trees and B+ Trees: Database IndexesComing soon
  6. 6Skip Lists: Coin Flips Instead of RotationsComing soon
  7. 7Heaps and Priority QueuesComing soon
  8. 8LSM Trees: Turning Random Writes into Sequential OnesComing soon
  9. 9The Sorting Family: Lower Bounds and Radix SortComing soon
  10. 10Graph Search and Shortest Paths: BFS, Dijkstra, A*Coming soon
  11. 11Dynamic Programming: From Recursion to TablesComing soon
  12. 12Strings: Tries and KMPComing soon
  13. 13Finale: One Dataset, a Data-Structure ArenaComing soon

Distributed Systems

  1. 1Why Distributed: Single-Machine Limits and Failure OddsComing soon
  2. 2Clocks: Why There Is No “Same Moment”Coming soon
  3. 3Consistent Hashing: Adding or Removing Machines Moves Little DataComing soon
  4. 4Replication and Leader–FollowerComing soon
  5. 5CAP and PACELCComing soon
  6. 6Consensus: The Intuition of Paxos and RaftComing soon
  7. 7Two-Phase Commit and SagaComing soon
  8. 8Gossip Protocols and Failure DetectionComing soon
  9. 9CRDTs: Merging Without CoordinationComing soon
  10. 10Message Queues and the Illusion of “Exactly Once”Coming soon
  11. 11Rate Limiting, Circuit Breakers and BackpressureComing soon
  12. 12Finale: A Small Distributed KV Store, Kill Any NodeComing soon

Mathematical Structures

  1. 1Symmetry and Groups: The 8 Moves of a SquareComing soon
  2. 2Permutation Groups and PuzzlesComing soon
  3. 3Modular Arithmetic: Remainders on a Clock FaceComing soon
  4. 4Primes and the Intuition Behind RSAComing soon
  5. 5Graph Theory: From the Seven Bridges to Euler PathsComing soon
  6. 6Graph Colouring and the Four Colour TheoremComing soon
  7. 7Euler’s Formula V − E + F = 2Coming soon
  8. 8Topology: Why a Coffee Cup Equals a DoughnutComing soon
  9. 9Linear Algebra: A Matrix Is a Transformation of SpaceComing soon
  10. 10Complex Numbers and RotationComing soon
  11. 11The Fourier Transform: Every Wave Is a Sum of SinesComing soon
  12. 12Finale: How Groups, Graphs and Spaces ConnectComing soon

Probability, Statistics and Information

  1. 1Probability Traps: The Birthday Paradox and Monty HallComing soon
  2. 2The Law of Large Numbers and the Central Limit TheoremComing soon
  3. 3Bayes’ TheoremComing soon
  4. 4Random Walks and Brownian MotionComing soon
  5. 5Markov Chains and PageRankComing soon
  6. 6Monte Carlo: Computing π with Random NumbersComing soon
  7. 7Hypothesis Tests and the p-value TrapComing soon
  8. 8Regression and OverfittingComing soon
  9. 9Entropy: Measuring InformationComing soon
  10. 10Compression: Huffman CodingComing soon
  11. 11Error-Correcting Codes: Hamming CodesComing soon
  12. 12Finale: How Information Theory Ties Together Compression, Communication and Machine LearningComing soon

The Limits of Computation

  1. 1What Is an Algorithm? A Turing Machine You Can RunComing soon
  2. 2The Halting Problem and the Diagonal ArgumentComing soon
  3. 3Gödel’s Incompleteness, IntuitivelyComing soon
  4. 4Complexity: From O(n) to Exponential Blow-upComing soon
  5. 5P and NP: Easy to Check, Hard to FindComing soon
  6. 6NP-Completeness and Reductions: 3-SATComing soon
  7. 7The Travelling Salesman and ApproximationComing soon
  8. 8Randomized Algorithms: the Miller–Rabin TestComing soon
  9. 9Chaos and Unpredictability: the Logistic MapComing soon
  10. 10Cellular Automata: Life and Rule 110Coming soon
  11. 11Kolmogorov Complexity: Defining RandomnessComing soon
  12. 12Finale: Quantum Computing, a First LookComing soon

The I Ching × Math and Computing

  1. 1Sixty-Four Hexagrams = Six BitsComing soon
  2. 2Shao Yong’s Order: Binary Counting in DisguiseComing soon
  3. 3The Six-Dimensional Cube: Distance Between HexagramsComing soon
  4. 4Different Orderings: How Many Lines Change Between NeighboursComing soon
  5. 5Complement, Reversal and Nuclear Hexagrams: Bit OperationsComing soon
  6. 6Changing Lines and Probability: Yarrow Stalks and Three CoinsComing soon
  7. 7Leibniz and BinaryComing soon
  8. 8Two Cycles of the Five Phases: Generating, Overcoming and Directed GraphsComing soon
  9. 9The Luoshu and Magic SquaresComing soon
  10. 10Counting Rods and Decimal Place ValueComing soon
  11. 11The Symmetry Group of Hexagrams: Flipping Lines Is a GroupComing soon
  12. 12Finale: Sixty-Four Hexagrams as a State MachineComing soon

System Design

  1. 1Client and Server: The Journey of a Request (HTTP, DNS)Coming soon
  2. 2API Design: REST and RPCComing soon
  3. 3Load Balancing: Spreading Traffic Over Many MachinesComing soon
  4. 4Caching and CDNs: Hit Rate Versus FreshnessComing soon
  5. 5Database Basics: SQL and NoSQLComing soon
  6. 6Message Queues: Smoothing Peaks and DecouplingComing soon
  7. 7Security Basics: Authentication, Authorization and TLSComing soon
  8. 8Functional and Non-Functional RequirementsComing soon
  9. 9Capacity Estimation: Back-of-the-Envelope MathComing soon
  10. 10Latency Numbers: A Ruler Drawn to ScaleComing soon
  11. 11Data Modeling: Normalized or DenormalizedComing soon
  12. 12Sharding: Shard Keys and Hot SpotsComing soon
  13. 13Replication by Design: Lag, Failover and Lost WritesComing soon
  14. 14Transactions and Isolation LevelsComing soon
  15. 15Search and the Inverted IndexComing soon
  16. 16Availability and the NinesComing soon
  17. 17Rate Limiting: Token Bucket and Leaky BucketComing soon
  18. 18Levels of ConsistencyComing soon
  19. 19Failure and Recovery: RPO and RTOComing soon
  20. 20Observability: Logs, Metrics and TracesComing soon
  21. 21Case Study: A URL ShortenerComing soon
  22. 22Case Study: Designing a Distributed Rate LimiterComing soon
  23. 23Case Study: A News FeedComing soon
  24. 24Case Study: A Chat SystemComing soon
  25. 25Case Study: Cloud Storage and Multi-Device SyncComing soon
  26. 26Case Study: A Video PlatformComing soon
  27. 27Case Study: Search AutocompleteComing soon
  28. 28Case Study: Nearby FriendsComing soon
  29. 29Capstone: Assembling the Parts Into a Whole SystemComing soon