All 1021 animated visualizations, grouped by topic. Prefer a plain list? See the text index.
Algorithms & Data Structures
Basics 13
Basics Mind Map
Big-O Growth Race
Stack: Array Implementation
Stack: Linked List Implementation
Queues: Array Implementation
Queues: Linked List Implementation
Dynamic Array: Double When Full
Linked List: Singly and Doubly Linked
Disjoint Sets
Big-O, Omega, Theta
Array vs Linked List
Deque: Double-Ended Queue
Infix to Postfix
Recursion 13
Recursion Mind Map
Factorial
Reversing a String
Towers of Hanoi
N-Queens Problem
Permutations / Combinations / Subsets
Tail Calls and Tail-Call Optimization
The Recursion Tree and the Master Theorem
Recursion to an Explicit Stack
Flood Fill
Sudoku Solver: Backtracking
Karatsuba Multiplication
Closest Pair of Points
Indexing 41
Indexing Mind Map
Linear, Binary and Interpolation Search
Binary Search Trees
AVL Trees
Red-Black Trees
AVL vs Red-Black Tree
Splay Trees
Skip List
Open Hash Tables
Closed Hash Tables
Closed Hash Tables, using buckets
Separate Chaining vs Linear Probing, side by side
Extendible Hashing
Bloom Filter
HyperLogLog
LRU Cache
Cache Eviction: LRU vs LFU vs FIFO vs CLOCK vs OPT
Trie
Radix Tree
Trie vs Hash Map
Ternary Search Tree
B Trees
B+ Trees
B-Tree vs B+Tree
Quadtree vs Geohash: Restaurants Near Me
KD-Tree vs R-Tree: Spatial Indexing
Fenwick Tree / Binary Indexed Tree
Segment Tree
Reservoir Sampling
Count-Min Sketch
Segment Tree vs Fenwick Tree, side by side
Cuckoo Hashing
Robin Hood Hashing and Swiss Tables
Treap
Interval Tree
Persistent Trees: Path Copying and Structural Sharing
2-3-4 Tree as a Red-Black Tree
Order-Statistic Tree
Linear Hashing
Sparse Table, range minimum in O
MinHash and LSH
Sorting 18
Sorting Mind Map
Comparison Sorting
Quick Sort vs Merge Sort
Heap Sort vs Quick Sort
Quickselect: the k-th Smallest Element
Lomuto vs Hoare Partition
Sorting Race
Insertion vs Selection vs Bubble Sort
Bucket Sort
Counting Sort
Radix Sort
Comparison Sort Lower Bound
Heap Sort
TimSort
Sorting Networks: Bitonic Sort and Odd-Even Merge Sort
Three-Way Quicksort
Bottom-up Merge Sort
Median of Medians: Linear-Time Selection
Heap-like Data Structures 14
Graph Algorithms 38
Graph Algorithms Mind Map
Adjacency Matrix vs Adjacency List
Breadth-First Search
Depth-First Search
BFS vs DFS
Connected Components
Strongly Connected Components
Kosaraju vs Tarjan
Bridges and Articulation Points
Euler Path and Circuit
Dijkstra's Shortest Path
Bellman-Ford Shortest Path
A* Search
Dijkstra vs A*
Dijkstra vs Bellman-Ford
Floyd-Warshall vs Johnson
Floyd-Warshall
Prim's Minimum Cost Spanning Tree
Kruskal Minimum Cost Spanning Tree Algorithm
Prim vs Kruskal
Topological Sort
Topological Sort
Graph Coloring
P vs NP: Checking vs Finding
Maximum Flow
Grid Pathfinding
Grid Pathfinding Side by Side
Grid Replanning: A* from Scratch vs D* Lite
Any-Angle Path Planning: A* vs Theta*
Maze Generation Side by Side
Lowest Common Ancestor: Binary Lifting
Bipartite Matching and the Hungarian Algorithm
Stable Matching: the Gale-Shapley Algorithm
Shortest Paths in a DAG, relax edges in topological order
Dinic's Max Flow
0-1 BFS
PageRank
Louvain Community Detection
Dynamic Programming 32
Dynamic Programming Mind Map
Calculating nth Fibonacci number
Making Change
Longest Common Subsequence
0/1 Knapsack
Coin Change
Greedy vs DP Coin Change
Plain Recursion vs Memoization vs Tabulation
Top-Down vs Bottom-Up DP, side by side
Edit Distance
Matrix Chain Multiplication
Longest Increasing Subsequence
House Robber and Climbing Stairs
DP on Trees: Maximum Weight Independent Set
Weighted Interval Scheduling
Kadane's Algorithm: Maximum Subarray Sum
Grid Paths: Unique Paths and Minimum Path Sum
Subset Sum and Equal Partition
Rod Cutting
Maximal Square of 1s
Word Break
Longest Palindromic Subsequence and Substring
Optimal Binary Search Tree
CYK Parsing
Needleman–Wunsch vs Smith–Waterman
Wildcard and Regex Matching DP
Egg Dropping Puzzle
Held–Karp Travelling Salesman DP
Longest Path in a DAG, DP as a path over subproblems
Stock Trading State Machine DP
Rolling Array Space Saving in DP
Bitmask DP over Subsets
String & Greedy Algorithms 20
String & Greedy Algorithms Mind Map
Knuth-Morris-Pratt
String Search Race
Z-Algorithm String Matching
Huffman Coding
Base64 Encoding & Decoding
Rabin-Karp Rolling Hash Search
Interval Scheduling
Fractional Knapsack
Interval Partitioning
Suffix Array
Manacher's Algorithm, Longest Palindromic Substring
Aho-Corasick Multi-Pattern Search
LZ77 and DEFLATE
Gap Buffer vs Rope vs Piece Table
Burrows–Wheeler Transform
Scheduling to Minimize Lateness: Earliest Deadline First
Suffix Tree, Ukkonen's Algorithm
LZW Compression
Sliding Window Substrings
Geometric Algorithms 20
Geometric Algorithms Mind Map
2D Rotation and Scale Matrices
2D Rotation and Translation Matrices
2D Changing Coordinate Systems
3D Rotation and Scale Matrices
3D Changing Coordinate Systems
Fourier Series and the FFT
Sampling and Aliasing: Nyquist and the Wagon Wheel
Convex Hull: Graham Scan vs Gift Wrapping
Delaunay Triangulation: Bowyer–Watson and Edge Flips
Point in Polygon: Ray Casting vs Winding Number
Segment Intersection: Sweep Line vs Brute Force
Voronoi Diagram: Nearest-Site Cells
Bézier Curves
JPEG Compression: DCT and Quantization
Rasterization: Edge Functions and the Z-Buffer
Ray Tracing vs Rasterization
Ear Clipping: Cutting a Polygon into Triangles
Bresenham's Line Algorithm
Phong Shading: Ambient, Diffuse, Specular
Mathematics
Number Theory 19
Number Theory Mind Map
Number Bases and Two's Complement
Euclidean Algorithm
Sieve of Eratosthenes
The Ulam Spiral: Primes on Diagonals
Modular Exponentiation and Toy RSA
Fermat's Little Theorem and Euler's Theorem
The Times-Table Circle: i → k·i mod N
The Sunflower Spiral: Vogel's Model and the Golden Angle
Extended Euclid, Modular Inverse and Toy RSA
Prime Factorization
Chinese Remainder Theorem
The Collatz Conjecture: 3n + 1 Hailstones and the Collatz Seaweed
Hamming Code
Reed-Solomon Erasure Coding
Primality Testing: Fermat and Miller–Rabin
Linear Diophantine Equations
How the Primes Thin Out: π
Continued Fractions: Best Rational Approximations
Algebra & Functions 31
Algebra & Functions Mind Map
Function Transformations
Function Composition and Inverses
Linear Functions: Slope and Intercept
Quadratic Equations
Systems of Equations
What a, b and c Do to a Parabola
Polynomial Division
Cubic Functions: What a, b, c, d Do
Types of Asymptotes
Rational Functions: What a, b, c, e, f Do
Exponentials and Logarithms
Exponential Graphs: What a, b, h, k Do
Damped Oscillation: What A, γ, ω, φ Do
The Heart Curve: a Sine Wave Filling a Heart
A Wave in Any Envelope: h
Driven Oscillator: Resonance, Phase Lag and Q
Spring Oscillator: What m, k, A, ω, f, T Do
Simple Pendulum: What L, g, m, θ₀ and T, f, ω Do
Elastic and Inelastic Collisions: What m₁, m₂, v₁, v₂, e Do
Collisions in 2-D: What m₁, m₂, v₁, b, e Do
Ballistic Pendulum: What m, M, v, L Do
Projectile Motion: What v₀, θ, g and h Do
A Block on a Ramp: What θ, m, μs, μk Do
Orbital Motion: Circles, Ellipses, Escape and Kepler's Laws
Bernoulli's Principle: Fast Fluid, Low Pressure
RC Circuit: Charging and Discharging a Capacitor
Lens Ray Diagrams: Where the Image Forms
Arithmetic vs Geometric Sequences: Add a Step or Multiply by a Ratio
Linear Inequalities: Shade the Side That Makes It True
Absolute Value and Piecewise Functions
Trigonometry & Geometry 35
Trigonometry & Geometry Mind Map
The Pythagorean Theorem
Proofs Without Words
Circle Theorems
Triangle Centres
The Law of Sines and the Law of Cosines: Solving Any Triangle
Right-Triangle Ratios: SOH CAH TOA
Euler's Formula V − E + F = 2
The Unit Circle: sin, cos, tan
Angle Addition Identities: sin
Sine Waves: What a, b, c, d Do
Cosine Waves: What a, b, c, d Do
Wave Interference: Two Coherent Sources
Standing Waves on a String: What n, L, T, μ Do
Transverse and Longitudinal Waves: a Rope, Sound and Water
Group Velocity and Phase Velocity: Beats, Wave Packets, Dispersion
The Doppler Effect: Why a Passing Siren Changes Pitch
Tangent Graphs: What a, b, c, d Do
Polar Coordinates
The Rose Curve r = cos kθ: Petals as k Goes from 0 to 10
The Lemniscate of Bernoulli
The Maurer Rose: Straight Lines Across a Rose
Lissajous Figures: Two Sine Waves Drive One Pen
Harmonograph: a Pen Driven by Damped Pendulums
Spirograph: Hypotrochoids and Epitrochoids
The Butterfly Curve: Six Laps of a Polar Pen
The Superformula: Gielis Shapes from Four Numbers
Ellipse: What a, b, h, k Do
Parabola: Focus, Directrix and What p, h, k Do
Hyperbola: What h, k, a, b Do
Conic Sections: What A, B, C, D, E, F Do
Conics by Eccentricity: r = ep/
Inverse Trig Functions: Restrict the Domain, Then Flip
Archimedes' π: Polygons Inside and Outside a Circle
The Cycloid: a Point on a Rolling Wheel
Quadric Surfaces 25
Quadric Surfaces Mind Map
Quadric Surfaces
Ellipsoid
Hyperboloid of One Sheet
Hyperboloid of Two Sheets
Elliptic Paraboloid
Hyperbolic Paraboloid
Elliptic Cone
Level Surfaces x² + y² − z² = k
Elliptic Cylinder
Hyperbolic Cylinder
Plane Equation
Surfaces of Revolution
Quadric Classification
Tangent Plane and Normal to a Quadric
Surfaces by Degree: Planes, Quadrics, Cubics, Quartics
Monkey Saddle
Cubic Surface x³ + y³ + z² = 1
Cayley's Nodal Cubic
Quartic Surface x⁴ + y⁴ − z⁴ = 1
Kummer Surface
Degenerate Quadrics: Plane Pairs, a Line, a Point, or Nothing
Where Two Quadrics Meet: Steinmetz, Viviani and the Triple Integral
Dandelin Spheres: Why a Cone's Cut Is an Ellipse
Parametrizing Quadric Surfaces
Linear Algebra & Complex Numbers 32
Linear Algebra & Complex Numbers Mind Map
2D Vectors and the Dot Product
Span, Linear Independence and Basis
Determinant: how a 2×2 matrix scales area
Gaussian Elimination
Eigenvectors & Eigenvalues
Complex Numbers
Conformal Maps: Complex Functions Bend the Plane
Matrix Multiplication
Linear Transformations
Rotation Matrix
Reflection Matrix
Scaling Matrix
Shear Matrix
Projection Matrix
Squeeze Mapping
Composing Transforms
Affine Transforms: Translation as a 3×3 Matrix
Inverse Matrix
Diagonalization: A = P D P⁻¹
Column Space and Null Space
Gram–Schmidt and QR
3D Rotation Matrix
3D Reflection Matrix
Projection Matrix in 3D
3D Shear Matrix
Quaternions
Perspective Projection: the Pinhole Camera
Least Squares as Projection
SVD and PCA in 2D
LU Decomposition
The Cross Product in 3D: Perpendicular, Length = Area
Calculus 44
Calculus Mind Map
Limits & Continuity
Derivative as a Limit
Local Linearity: Zoom In
Derivative Rules as Pictures
f, f′, f″: Reading Derivative Graphs
Optimization Problems: the Box and the Fence
Critical & Singular Points
Mean Value Theorem
Related Rates: Ladder, Balloon and Cone Tank
Accumulation: Rate → Amount
Riemann Sums
Numerical Integration: Riemann vs Trapezoid vs Simpson
Geometric Series
Taylor Series
Infinite Series for π: Leibniz to Ramanujan
Polynomial Interpolation vs Splines
Fourier Series, Harmonic by Harmonic
Fourier Epicycles: Drawing a Shape with Spinning Circles
The Weierstrass Function: Continuous Everywhere, Differentiable Nowhere
Newton's Method
Root Finding: Bisection vs Newton vs Secant
The Chain Rule
Fundamental Theorem of Calculus
Integration by Parts and Substitution
Volumes by Slicing
Improper Integrals
Six Types of Integrals
Euler's Method
Runge–Kutta vs Euler
Phase Portraits of Linear Systems x′ = Ax
The Heat Equation: Diffusion Step by Step
The Logistic Map: from a Fixed Point to Chaos
The Lorenz Attractor: Deterministic Chaos
The Double Pendulum: Normal Modes and Chaos
The Laplace Transform
Level Curves and Contour Maps
Gradients and Lagrange Multipliers: ∇f = λ∇g
Implicit Differentiation
L'Hôpital's Rule: 0/0? Compare the Slopes
Series Convergence Tests: Does the Sum Settle?
Arc Length: a Sum of Tiny Hypotenuses
Partial Derivatives and the Tangent Plane
Divergence and Curl: Spread vs Spin
Fractals 11
Fractals Mind Map
The Mandelbrot Set: z → z² + c, Zooms and Orbits
Julia Sets of z → z² + c
The Chaos Game: Random Jumps Draw the Sierpinski Triangle
The Barnsley Fern: Four Affine Maps Picked at Random
Fractal Curves: Koch Snowflake, Dragon Curve, Hilbert Curve
Box-Counting Dimension: Halve the Boxes, Count Again
L-Systems: String Rewriting and Turtle Graphics
The Cantor Set and the Menger Sponge: Cut the Middle Thirds
Newton Fractals: Which Root Does Each Start Find?
Midpoint Displacement: Fractal Terrain by Split, Nudge, Halve
Physics & Circuits 21
Physics & Circuits Mind Map
RLC Circuits: Charging, Ringing and Resonance
Ohm's Law and Kirchhoff's Laws: Solving a Resistor Network
Diodes and Rectifiers: AC In, DC Out
The Ideal Op-Amp: Two Rules, Four Circuits
Faraday's Law: Electromagnetic Induction and Lenz's Law
Electric Field Lines: Coulomb's Law and Point Charges
A Charge in a Magnetic Field: the Lorentz Force
Electromagnetic Waves: E, B, c and Polarization
A Dipole Antenna: How Radio Waves Are Sent and Received
Polarizers and Malus's Law: Linear, Circular and Unpolarized Light
Refraction: Why Light Bends, Snell's Law and Total Internal Reflection
Diffraction: Single Slit, Double Slit and Gratings
The Photoelectric Effect: Light Comes in Photons
Special Relativity: the Light Clock, Length Contraction and Spacetime
Quantum Tunneling and the Particle in a Box
The Transistor as a Switch: MOSFET, BJT, CMOS NOT and NAND
The Carnot Heat Engine: Work Is the Loop's Area
Ideal Gas and the Maxwell–Boltzmann Distribution
The Electric Motor and Generator: a Current Loop in a Field
The Bohr Atom and the Hydrogen Spectrum
Probability & Statistics 23
Probability & Statistics Mind Map
Bayes' Theorem
Pascal's Triangle
Permutations vs Combinations
Expected Value and the Law of Large Numbers
Central Limit Theorem
Monte Carlo Estimation of π
Normal Distribution, z-Scores and Confidence Intervals
Mean vs Median vs Mode
Correlation and Scatter Plots, Pearson r
Variance and Standard Deviation
Markov Chains and Random Walks
Binomial vs Poisson
Hypothesis Testing with a Coin
Simpson's Paradox: Correlation vs Causation
Confidence Intervals
Frequentist vs Bayesian Inference
The Birthday Paradox
The Monty Hall Problem
PDF vs CDF
Exponential Waiting Times
Probability Tree Diagrams
The Chi-Square Test: Is This Die Fair?
Economics & Money 20
Economics & Money Mind Map
Supply and Demand: How the Price Finds Equilibrium
Circular Flow of Money: Households, Firms, Government
Flow of Funds: Who Lends to Whom
Quantity Theory of Money: MV = PY
Keynes's Liquidity Preference Theory
The IS–LM Model: Fiscal vs Monetary Policy
Monetary Transmission Mechanism
The Credit Cycle: Loans, Collateral, Minsky
Portfolio Rebalancing and Flight to Quality
Global Dollar Liquidity and Swap Lines
The AD–AS Model: Demand and Supply Shocks
The Phillips Curve and Expectations
Bank Runs: Panic, Fire Sales and Backstops
Comparative Advantage: Why Both Countries Gain from Trade
Present Value and Bonds
Taylor Rule
Exchange Rates and Parity: Rate Gaps Move the Currency
Solow Growth Model
Prisoner's Dilemma
Logic, Sets & Counting 14
Logic, Sets & Counting Mind Map
Truth Tables and Sets
Inclusion–Exclusion and the Pigeonhole Principle
Catalan Numbers
The Pigeonhole Principle
Proof by Induction as Falling Dominoes
Regex to NFA to DFA
Pushdown Automaton: a Stack Counts aⁿbⁿ
Turing Machine: Tape, Head and State Table
Karnaugh Maps
DFA Minimization
Quine–McCluskey Method
SAT Solving with DPLL
Cantor's Diagonal Argument
Systems
Databases & Storage 43
Databases & Storage Mind Map
B+ Tree as a Database Index
Clustered vs Secondary Index, side by side
LSM Tree vs B+ Tree
Row Store vs Column Store
Snowflake vs UUIDv4 vs UUIDv7
How MySQL Runs a Query
How MySQL Executes JOIN, GROUP BY and ORDER BY
How PostgreSQL Runs a Query
How PostgreSQL Executes JOIN, GROUP BY and ORDER BY
How a SELECT Runs: WHERE, GROUP BY, HAVING, ORDER BY
Relational Algebra: Tables In, Table Out
How a Query Planner Picks a Plan
MariaDB Rewrites a Query Tree, the Book's Query Q
MariaDB: Merging Views and Unnesting Subqueries
MariaDB Histograms: Where Row Estimates Come From
MariaDB Access Paths: What a SELECT Costs
MariaDB: How the Optimizer Picks a Join Order
MariaDB Cost-Based Optimization: a Worked Example
MariaDB EXPLAIN vs ANALYZE and Top-k LIMIT
MariaDB Table Elimination and Impossible WHERE
Nested Loop vs Hash Join vs Merge Join
Database Connection Pool
Connection Pool Settings in Action
The N+1 Query Problem
How MongoDB Runs a Command
MongoDB Sharding: mongos, Chunks and the Balancer
MongoDB Replica Set Elections and Rollback
MongoDB Read Concern and Causal Consistency
MongoDB Multi-Document Transactions
MongoDB Aggregation Pipeline, Stage by Stage
MongoDB Indexes: Compound, ESR, Multikey, Covered
MVCC and Isolation Levels
Optimistic vs Pessimistic Locking
Two-Phase Locking and Deadlock Detection
Write-Ahead Logging and ARIES Crash Recovery
SQLite Internals
Data Models: Relational vs Document vs Graph
Database Normalization: 1NF, 2NF and 3NF
ER Model to Tables: Keys and Foreign Keys
Inverted Index: From Documents to Posting Lists
SQL Window Functions: an Aggregate for Every Row
Timestamp Ordering Concurrency Control
PostgreSQL Internals 21
PostgreSQL Internals Mind Map
PostgreSQL Process Architecture
PostgreSQL Shared Buffers and the Clock Sweep
Inside a PostgreSQL Heap Page
How PostgreSQL Stores Big Values
PostgreSQL Free Space Map and Visibility Map
PostgreSQL pg_xact
PostgreSQL XID Wraparound and Freezing
PostgreSQL VACUUM and Autovacuum
The PostgreSQL Lock Manager
Serializable Snapshot Isolation in PostgreSQL
PostgreSQL WAL Internals
PostgreSQL Checkpoints
PostgreSQL Streaming Replication and Hot Standby
PostgreSQL Logical Decoding and Logical Replication
PostgreSQL Index Types
PostgreSQL Bitmap Index Scan and Bitmap Heap Scan
PostgreSQL Parallel Query
The PostgreSQL Executor Pipeline
PostgreSQL Base Backup and Point-in-Time Recovery
PostgreSQL Partitioning and Partition Pruning
MySQL / InnoDB Internals 22
MySQL / InnoDB Internals Mind Map
The InnoDB Buffer Pool: Midpoint LRU and Flushing
Inside an InnoDB Index Page
InnoDB Tablespace Layout: Pages, Extents and Segments
The InnoDB Change Buffer
InnoDB Adaptive Hash Index
InnoDB Doublewrite Buffer and Torn Pages
InnoDB Undo Logs, Read Views and Purge
InnoDB Isolation: Snapshot Reads vs Current Reads
MVCC in PostgreSQL vs InnoDB, side by side
InnoDB Record, Gap and Next-Key Locks
InnoDB Row Lock Structures: lock_sys Hash and Lock Bitmaps
MySQL Metadata Locks and Online DDL
InnoDB Redo Log Internals
MySQL Binlog Group Commit
InnoDB Crash Recovery
MySQL Replication Internals
MySQL Group Replication and InnoDB Cluster
MySQL Index Access Paths and EXPLAIN
InnoDB AUTO-INC Lock Modes
Physical Hot Backup with mariadb-backup
MariaDB Threads and Connections
Distributed Systems 80
Distributed Systems Mind Map
Primary–Replica Replication: Sync vs Async, Lag and Failover
Sync vs Semi-sync vs Async Replication: Side by Side
Consistency Patterns: Weak, Eventual, Causal, Strong
The CAP Theorem: CP vs AP Side by Side
How Raft Elects a Leader and Replicates a Log
Raft vs Multi-Paxos, Side by Side
etcd: the Store Behind Kubernetes
Paxos: How Three Acceptors Agree on One Value
Lamport Clocks and Vector Clocks
Hybrid Logical Clocks and TrueTime: Ordering Writes With Skewed Clocks
Lamport Clocks vs Vector Clocks: Detecting Concurrent Writes
Leader Election: Bully vs Ring
Byzantine Fault Tolerance: PBFT
Gossip and SWIM: How a Cluster Knows Who Is Alive
Chandy–Lamport Distributed Snapshot
Quorum Reads and Writes
Leader-based vs Leaderless Replication
CRDTs: Conflict-Free Replicated Data Types
Merkle Trees for Anti-Entropy Repair
Partitioning vs Sharding
Consistent Hashing
Rendezvous vs Consistent vs Mod-N Hashing
Range vs Hash Partitioning
Rebalancing Partitions: Hash mod N vs Fixed vs Dynamic
MapReduce: Word Count, Shuffle and Failures
MapReduce Joins: Sort-Merge, Skew and Map-Side Joins
Saga vs Two-Phase Commit
Two-Phase Commit
Saga: Orchestration vs Choreography
Transactional Outbox and Inbox
Idempotency Keys: Same Key Twice = One Charge
Delivery Semantics: At-most-once vs At-least-once vs Exactly-once
Event Sourcing and CQRS
Change Data Capture: Log Tailing from the WAL to Kafka
How Kafka Moves a Message
Push vs Pull Messaging: RabbitMQ vs Kafka
Log vs Queue: Kafka vs RabbitMQ, side by side
Kafka Consumer Groups: Rebalancing, Duplicates and Exactly-Once
Kafka Log Segments: How a Partition Is Stored on Disk
Kafka Replication: Fetching, the ISR, Leader Epochs and Truncation
Kafka Log Compaction
Kafka KRaft: the Controller Quorum and the Metadata Log
Kafka Zero Copy
How Redis Sentinel Fails Over a Master
How Redis Cluster Shards and Fails Over
How Redis's Keyspace Dict Rehashes
How a Redis Sorted Set Is Stored
How Redis Stores Small and Large Values
How Redis Forgets Keys: Expiry and Eviction
How Redis Saves Data: RDB Snapshots and the AOF
How Redis Replicas Sync: PSYNC and the Backlog
Redis Streams and Consumer Groups
Redis Transactions and Scripts
Distributed Locks and Fencing Tokens
Cache Strategies Side by Side
Circuit Breaker and Bulkhead
Retry, Exponential Backoff and Jitter
Monolith vs Microservices
Distributed Tracing with OpenTelemetry
Rate Limiting: Token Bucket vs Leaky Bucket
Rate Limiting with Windows: Fixed, Sliding Log, Sliding Counter
Backpressure: When the Producer Is Faster than the Consumer
Latency vs Throughput
Kubernetes Cluster Architecture
The Life of a Kubernetes Pod
How the Kubernetes Scheduler Places a Pod
How Kubernetes Talks to containerd and Docker
Kubernetes Container Lifecycle Hooks
How the Kubernetes Control Plane and Nodes Talk
Kubernetes Autoscaling: HPA and Cluster Autoscaler
Kubernetes Config and Secrets: Helm, GitOps, External Secrets, Spring Boot
Bitcoin Merkle Trees and SPV Proofs
Object Storage: How an S3-style Store Keeps a File
Proof of Work: Mining a Chain of Blocks
Two Generals and FLP Impossibility
HDFS / GFS File Layout
Chain Replication: Write at the Head, Read at the Tail
Hedged Requests
Service Discovery
Software Design 29
Software Design Mind Map
Domain Logic Patterns: Transaction Script, Table Module, Domain Model
Data Source Patterns: Who Writes the SQL
Inheritance Mapping: Single Table vs Class Table vs Concrete Table
Offline Locks: Optimistic vs Pessimistic
Remote Facade and Data Transfer Object
The Money Pattern and Value Object
SOLID Principles
Hexagonal Architecture: Ports and Adapters
MVC vs MVVM: One Click Through Each Layer
Test Doubles: Stub, Fake and Mock
The Observer Pattern vs Publish–Subscribe
Virtual DOM Diffing: How React Reconciles
Strategy and Factory Method Patterns
Inheritance vs Composition
Decorator, Proxy and Adapter: Wrappers That Share One Interface
The Command Pattern: Undo and Redo
The State Pattern
Git Three-Way Merge
Git Packfiles
Git Merge vs Rebase
Git Branches and HEAD: Pointers to Commits
Git Reset vs Revert vs Restore: Undo Side by Side
Git Objects: Blobs, Trees and Commits
Builder and Singleton Patterns
The Composite and Visitor Patterns
Chain of Responsibility
Coupling and Cohesion: One Change, One Module
Git Bisect: Binary Search for the First Bad Commit
Networking 50
Networking Mind Map
Internet Protocol Layers
Cyclic Redundancy Check
How ARP Finds a MAC Address
Subnets and CIDR: Is the Destination on My Subnet?
How a Router Forwards a Packet
Distance Vector vs Link State Routing
Hub vs Switch vs Router
Anycast and BGP: One Address, Many Sites
How NAT Shares One Public Address
How a WebRTC Call Gets Through NATs
IPv4 vs IPv6
How Docker Networking Works on One Host
How a VPN Works: a WireGuard Tunnel
Forward Proxy vs Reverse Proxy, Side by Side
L4 vs L7 Load Balancing, Side by Side
How a Device Gets an IP Address
The Life of an HTTP Request in Kubernetes
Kubernetes Service Types
How a DNS Name Is Resolved
NTP: How a Clock Sets Itself From Four Timestamps
How a CDN and Route 53 Work
How an API Gateway Handles a Request
How a Service Mesh Handles a Request: Istio and Envoy
TCP vs UDP
The Jitter Buffer in a Voice Call
ARQ: Stop-and-Wait vs Go-Back-N vs Selective Repeat
How TCP Congestion Control Works
TCP Congestion Control Compared: Reno vs CUBIC vs BBR
How an HTTP Connection Is Established
A TCP Socket in Linux
The Linux Listen Backlog
Unix Socket vs TCP on Loopback
TCP Three-Way Handshake and the Listen Queues
How an HTTPS Connection Is Established
TLS Certificate Chain and Revocation
HTTP/1.1 vs HTTP/2 vs HTTP/3
The QUIC Handshake vs TCP + TLS 1.3
TLS 1.2 vs TLS 1.3 Handshake
WebSocket vs SSE vs Long Polling
How a gRPC Call Travels over HTTP/2
REST vs GraphQL vs gRPC
How HTTP Caching Works: Browser Cache, CDN and Origin
TCP Flow Control: the Receive Window
How Traceroute Works
VLANs: One Switch, Several Networks
Wi-Fi CSMA/CA
Stateful Firewall vs a Stateless ACL
Router Queues and Bufferbloat
Adaptive Bitrate Video Streaming
Web & Security 34
Web & Security Mind Map
How Browser Cookies Work
CORS and the Preflight Request
CSRF and SameSite Cookies
XSS and Content-Security-Policy
How OAuth 2.0 Works
JWT vs Session Cookies
HttpOnly Cookie vs localStorage
How a Digital Signature Works
Email Delivery with SPF, DKIM and DMARC
How Diffie-Hellman Key Exchange Works
Salt vs Pepper: Storing Passwords
Symmetric vs Asymmetric Encryption
Encryption vs Hashing
Inside AES-128 and SHA-256
Block Cipher Modes: ECB vs CBC vs GCM
OWASP A02:2025 Security Misconfiguration
OWASP A03:2025 Software Supply Chain Failures
OWASP A04:2025 Cryptographic Failures
OWASP A06:2025 Insecure Design
OWASP A07:2025 Authentication Failures
How TOTP Two-Factor Codes Work
OWASP A08:2025 Software or Data Integrity Failures
OWASP A09:2025 Security Logging and Alerting Failures
OWASP A10:2025 Mishandling of Exceptional Conditions
OWASP A01:2025 Broken Access Control
How Kerberos Works
Mutual TLS: Both Sides Show a Certificate
Password Hashing: Fast vs Slow Hashes
Server-Side Request Forgery
Elliptic Curve Cryptography
Timing Attacks and Constant-Time Comparison
RBAC vs ABAC
Path Traversal and Command Injection
Servers & Event Loops 27
Servers & Event Loops Mind Map
How Tomcat handles an HTTP request
How nginx Handles an HTTP Request
nginx Proxy Request: Memory, System Calls and Kernel
Prefork vs Threads vs Events
Scale Up vs Scale Out: vertical vs horizontal scaling
Canary, Blue/Green and Rolling Deployments
Graceful Shutdown: Stop Accepting, Drain, Then Exit
A/B Testing
Linux epoll
select vs poll vs epoll, Side by Side
How a request is handled in Tomcat and Linux epoll
io_uring vs epoll
Blocking vs Non-blocking vs Async I/O
Reactor vs Proactor
The Node.js Event Loop
How the Browser Runs JavaScript: the Event Loop
Debounce vs Throttle vs Raw Events
Callbacks vs Promises vs Async/Await: One Task, Three Ways
How the Browser Renders a Page: DOM to Pixels
Server-side vs Client-side Rendering
Node.js Under the Hood: libuv and Where the Work Runs
How Redis Serves Many Connections with One Thread
The Python asyncio Event Loop
SO_REUSEPORT and accept: Who Gets the New Connection
Service Worker Cache
Serverless Cold Start
Operating Systems 56
Operating Systems Mind Map
How Linux Boots
systemd Units: Dependencies, Restart and Socket Activation
How a C Program Is Compiled, Linked, Loaded and Started
Little-Endian vs Big-Endian
Static vs Dynamic Linking, side by side
How a C/C++ Program Is Compiled and Run: What C++ Adds
How Linux Loads a Program
A Linux System Call, Step by Step
How Linux Delivers a Signal
How strace and gdb Work
TTY, PTY and Job Control: What Ctrl-C Really Does
What a Container Really Is
Containers vs Virtual Machines, Side by Side
seccomp and eBPF: Programs Inside the Kernel
How a Dockerfile Becomes Image Layers
Linux Context Switch
Process vs Thread, side by side
The Interrupt-Driven I/O Cycle
Kinds of Interrupts in Linux
CPU Scheduling
Linux Load Average, Explained
Preemptive vs Cooperative scheduling
Real-Time Scheduling and Priority Inversion
Disk Scheduling
Banker's Algorithm
Deadlock Detection and Recovery
Linux Virtual Memory
The TLB and the x86-64 Page Walk
Copy-on-Write fork
A Linux Process from fork
How the Shell Runs ls | grep foo
IPC: Pipe vs Message Queue vs Shared Memory
Paging and Page Replacement
Paging vs Segmentation
Direct Memory Access: How a NIC Moves Packets
How Linux Receives a Packet
How a File System Survives a Crash
Copy-on-Write File Systems vs Journaling, btrfs / ZFS vs ext4
The Page Cache: read vs mmap
How a Hard Disk Reads and Writes Data
How an SSD Reads and Writes Data
RAID 0, 1, 5 and 10
The Linux Block Layer: How a Write Reaches the Disk
What open
Hard Link vs Symbolic Link: Side by Side
Linux Permissions: uid, rwx, setuid and Capabilities
The Buddy Allocator
The Slab Allocator: How Linux kmalloc Works
Linux Out of Memory: Reclaim, kswapd and the OOM Killer
Stack vs Heap in C
glibc malloc vs jemalloc vs tcmalloc
Thrashing and the working set
Swap Out and Swap In
Monolithic Kernel vs Microkernel
How a Hypervisor Runs a VM
Concurrency 29
Concurrency Mind Map
Concurrency vs Parallelism
Race Condition: count++ and the Lost Update
Bounded Buffer / Producer–Consumer
Monitor & Condition Variables
Readers–Writers Problem
Dining Philosophers
Deadlock from Lock Order
Test-and-Set Spinlock
Peterson's Algorithm
Compare-and-Swap
Spinlock
Mutex with a Futex
Mutex vs Spinlock, side by side
How a Mutex Works: the Futex
Readers–Writer Lock
Read-Copy-Update
Semaphore
Semaphore vs Condition Variable
The Go Scheduler
OS Threads vs Goroutines
Inside a Goroutine
Coroutines: Stackful vs Stackless
Thread Pool: Java ThreadPoolExecutor
The Python GIL
Lock-Free Queue, Michael–Scott
Barrier and Countdown Latch
The Actor Model
Go Channels Inside the Runtime
Computer Architecture 36
Computer Architecture Mind Map
Levels of Abstraction in a Computer
Sequential Logic: Latches, Flip-Flops, Registers and Counters
A Latch and a Flip-Flop Built from Transistors
Timing Analysis: Setup, Hold, Clock Skew and Synchronizers
Finite State Machines: Moore, Mealy, Encodings and Factoring
Logic Gates: NOT, Buffer, AND, OR, NAND, NOR, XOR, XNOR
Combinational Logic: Gates, Adders, Muxes and the ALU
Multilevel Logic, Bubble Pushing, and the Values X and Z
From Verilog to Hardware: What Synthesis Builds
Arithmetic Circuits: Fast Adders, Comparators, Shifters, Multiplier
Number Systems: Two's Complement, Fixed Point and IEEE 754 Floating Point
Float Formats: FP32 vs FP16 vs BF16 vs FP8
Memory Arrays: DRAM, SRAM, ROM, Register Files, PLAs and FPGAs
From C to MIPS Machine Code: Branches, Instruction Formats and Addressing Modes
Translating and Starting a MIPS Program
MIPS Procedure Calls: jal, jr $ra, the Stack and Saved Registers
Building the Single-Cycle MIPS Datapath
The Single-Cycle MIPS Processor
How a Program Runs on the MIPS Datapath
Exceptions in the MIPS Processor
The MIPS Pipeline: Hazards and Forwarding
Branch Prediction on the MIPS Pipeline
Single-Cycle vs Multicycle vs Pipelined MIPS: a Performance Race
Superscalar and Out-of-Order Execution with Register Renaming
Parallel Hardware: SIMD, Multithreading and Multicore
GPU Warps and SIMT: Divergence and Latency Hiding
How a CPU Cache Finds, Misses and Replaces
One Load Through the Memory Hierarchy
DRAM Timing: Why Reading Memory in Order Is Fast
MESI Cache Coherence and False Sharing
Virtual Memory in Hardware: Page Table, TLB, Protection and Replacement
Embedded I/O: Memory-Mapped I/O, GPIO, UART, SPI, Timers and Interrupts
Register Allocation by Graph Coloring
RISC vs CISC: One C Line on MIPS and x86-64
Shift Registers and Counters
Java & the JVM 29
Java & the JVM Mind Map
Compiler vs Interpreter
How a Java Program Is Compiled and Run
How a Java Application Starts
HotSpot JIT Tiers
How V8 Runs JavaScript
Java Garbage Collectors: Parallel GC, G1, ZGC
Tracing GC vs Reference Counting
Stack vs Heap in Java
Pass by Value vs Pass by Reference: Shallow vs Deep Copy
How Java's HashMap Works
How Java's TreeMap Works
How Java's ConcurrentHashMap Works
From a Java Thread to a CPU Core
Java ForkJoinPool and Work Stealing
Spring Core: IoC Container, Bean Lifecycle, Scopes, AOP Proxies
Spring MVC Request Flow: DispatcherServlet to Handler to View
Inside a Tiny Compiler
Go's Garbage Collector
How Java Loads a Class
Java Memory Model: happens-before, volatile, synchronized
ReentrantLock and AbstractQueuedSynchronizer
synchronized Lock States: Thin Lock and Inflation
Python Garbage Collection: Reference Counting and the Cycle Collector
Java Virtual Threads vs Platform Threads
Card Table and Write Barrier in HotSpot
Java Safepoints
Lambdas and invokedynamic
Hibernate Session: Persistence Context and Dirty Checking
Machine Learning 63
Machine Learning Mind Map
Gradient Descent
SGD vs Momentum vs Adam
Linear & Logistic Regression
L1 vs L2 Regularization
Bias–Variance Trade-off and Cross-Validation
Perceptron Learning Rule
K-Nearest Neighbors
K-Means Clustering
Supervised vs Unsupervised vs Reinforcement Learning
DBSCAN Density Clustering
k-means vs Gaussian Mixture Model
PCA vs t-SNE
Decision Tree Learning
Random Forest vs Gradient Boosting
Naive Bayes Spam Filter
Precision vs Recall
ROC Curve and AUC
Neural Network Forward Pass
Activation Functions: Sigmoid vs tanh vs ReLU vs GELU
Neural Network: Recognizing Digits
Backpropagation
Backpropagation Intuition
Draw a Digit: Neural Network Math
Draw a Digit: Template Matching
Softmax & Cross-Entropy
Train a Tiny Network on Your Points
Convolution in a CNN
CNN vs Transformer: Receptive Field vs Self-Attention
Residual Connections
Recurrent Networks: RNN, LSTM and GRU
Self-Attention
Encoder–Decoder Attention: How a Transformer Translates
RoPE: Rotary vs Sinusoidal Position Encoding
Byte-Pair Encoding
How a Large Language Model Works
Decoding Strategies: Greedy vs Beam Search vs Top-p
LoRA and Quantization
How an AI Agent Works
Retrieval-Augmented Generation
HNSW Vector Search
MCP: the Model Context Protocol
BM25 vs Vector Search vs Hybrid
Diffusion Model
VAE vs GAN on 2D Points
Dropout & Batch Normalization
BatchNorm vs LayerNorm vs RMSNorm
The KV Cache
MHA vs GQA vs MQA Attention
FlashAttention: Tiles in SRAM
Continuous Batching in LLM Serving
Logistic Regression
Mixture of Experts
RLHF vs DPO
Speculative Decoding: Draft Model and One-Pass Verification
Support Vector Machine
Word2Vec
Contrastive Learning and CLIP
Hierarchical Clustering: Merge the Closest Pair
Weight Initialization: Xavier and He
Learning Rate Schedules: Warmup and Decay
Knowledge Distillation
Matrix Factorization for Recommendations
AI: Search, Games & Reasoning 18
AI: Search, Games & Reasoning Mind Map
Uniform-Cost Search vs Iterative Deepening
Minimax and Alpha-Beta Pruning
Monte Carlo Tree Search
Constraint Satisfaction: Backtracking Search
Forward vs Backward Chaining
Simulated Annealing
Travelling Salesman Heuristics
Genetic Algorithm
Value Iteration
Q-Learning in a Grid World
Bayesian Network Inference
Viterbi Algorithm: Decoding a Hidden Markov Model
Multi-Armed Bandit
Expectimax and Chance Nodes
Policy Gradient: REINFORCE
Particle Filter: Robot Localization
Sampling in a Bayesian Network