Skip to main content

Recently in the notebook

Return to a revised explanation, a practical guide or an experiment. Essays keep their original publication dates in Writing.

Browse essays

Revised notes

Dates describe note revisions, not independent verification of every claim. This is a list of current articles, not a change-by-change log.

  1. Speculative Decoding: Drafting, Verification, and Real Speed Gains

    Work through probability correction and timing examples, compare chains, trees, and self-speculation, and connect KV-state correctness to real speed gains.

  2. Vector Indexes: Exact Search, HNSW, and IVF

    Start with a metric and an exact baseline, then see how HNSW and IVF reduce comparisons and measure the neighbors they miss.

  3. Balanced Search Trees and Ordered Queries

    Understand search-tree queries, rotations, and successor deletion, then use red-black invariants to bound height and compare ordered containers.

  4. Graph Representations: Edge Lists, Adjacency Lists, and Matrices

    Compare storage and operation costs on one small graph, handle duplicates, self-loops, and isolated vertices, and choose a representation for each algorithm.

  5. Hash Tables: Collisions, Load, and Resizing

    Understand key constraints, collision handling, load, and expected and amortized costs through a trace with deletion and rebuilding.

  6. Following a Network Request: DNS, Connections, TLS, and HTTP

    Follow a hostname through resolution and an HTTP response, understand ports, certificates, proxies, and localhost, and diagnose failures by layer.

  7. Processes, Address Spaces, and Memory

    How processes run, use virtual memory, inherit resources, and differ from containers and virtual machines.

  8. Relational Data, SQL, and Transactions

    Use orders and inventory to connect tables, keys, joins, NULL, constraints, indexes, concurrent transactions, and external side effects.

  9. Concurrency and Asyncio: Ownership, Waiting, and Cancellation

    Choose coroutines, threads, or processes, understand cooperative scheduling and shared state, and handle timeouts and failures with a bounded queue.

  10. Constrained Optimality and Dual Certificates

    Solve a two-variable quadratic program, check its active constraints and KKT multipliers, and certify optimality with a primal–dual gap.

  11. Counting and Combinatorial Proofs

    Define the objects being counted, then use bijections, double counting, inclusion–exclusion, and pigeonhole arguments to solve finite problems and bound search and output costs.

  12. Channel Capacity: How Much a Noisy Channel Can Carry

    Derive binary channel capacities from mutual information, calculate a repetition code's rate and residual error, and understand the conditions behind the coding theorem and Gaussian capacity