Blog
Posts, notes, and articles.

Building A Simple Blockchain From Scratch: Proof Of Work, Merkle Trees, And Utxo Model
2025-06-13A comprehensive technical exploration of building a simple blockchain from scratch: proof of work, merkle trees, and utxo model, covering key concepts, practical implementations, and real-world applications.

Spectral Graph Theory: How Eigenvalues Reveal the Hidden Structure of Graphs
2025-06-12Explore how the eigenvalues and eigenvectors of graph matrices — adjacency, Laplacian, normalized Laplacian — encode fundamental graph properties: connectivity, expansion, mixing time, clustering structure, and more.

The Mathematics Of Backpressure: Flow Control In Distributed Stream Processing
2025-06-12A comprehensive technical exploration of the mathematics of backpressure: flow control in distributed stream processing, covering key concepts, practical implementations, and real-world applications.

Designing A Compact Trie For Autocomplete With Efficient Prefix Search
2025-06-09A comprehensive technical exploration of designing a compact trie for autocomplete with efficient prefix search, covering key concepts, practical implementations, and real-world applications.

Implementing A Snapshot Isolation Protocol For A Distributed Database (with Silo Like Optimizations)
2025-06-07A comprehensive technical exploration of implementing a snapshot isolation protocol for a distributed database (with silo like optimizations), covering key concepts, practical implementations, and real-world applications.

Understanding The Google File System: A Detailed Implementation In Go
2025-05-31A comprehensive technical exploration of understanding the google file system: a detailed implementation in go, covering key concepts, practical implementations, and real-world applications.

The Probabilistic Method and Randomized Algorithms: From Tail Bounds to Derandomization
2025-05-30Master the probabilistic method — Paul Erdős's beautiful technique for proving existence non-constructively — alongside the tail bounds (Chernoff, Hoeffding, Azuma) that make randomized algorithms practical, and the modern methods for removing randomness.

Building A Custom Allocator For Real Time Systems: Slab, Buddy, And Region Based Approaches
2025-05-29A comprehensive technical exploration of building a custom allocator for real time systems: slab, buddy, and region based approaches, covering key concepts, practical implementations, and real-world applications.

Implementing A Scalable Web Crawler With Distributed Frontier And Politeness Policies
2025-05-28A comprehensive technical exploration of implementing a scalable web crawler with distributed frontier and politeness policies, covering key concepts, practical implementations, and real-world applications.

The Inner Workings Of A Database Query Optimizer: Cost Models, Statistics, And Join Ordering
2025-05-28A comprehensive technical exploration of the inner workings of a database query optimizer: cost models, statistics, and join ordering, covering key concepts, practical implementations, and real-world applications.

From Sockets To Epoll: Building A Non Blocking Http Server In C
2025-05-27A comprehensive technical exploration of from sockets to epoll: building a non blocking http server in c, covering key concepts, practical implementations, and real-world applications.

Designing A Distributed Queue With Exactly Once Delivery Using Idempotency Keys
2025-05-22A comprehensive technical exploration of designing a distributed queue with exactly once delivery using idempotency keys, covering key concepts, practical implementations, and real-world applications.

A Deep Dive Into The Xgboost Algorithm: Gradient Boosting, Regularization, And System Optimization
2025-05-21A comprehensive technical exploration of a deep dive into the xgboost algorithm: gradient boosting, regularization, and system optimization, covering key concepts, practical implementations, and real-world applications.

Implementing A Secure Multi Party Computation Protocol (garbled Circuits) From Scratch
2025-05-21A comprehensive technical exploration of implementing a secure multi party computation protocol (garbled circuits) from scratch, covering key concepts, practical implementations, and real-world applications.

From MapReduce to Spark: The Arc of Data-Parallel Systems
2025-05-19MapReduce taught fault-tolerant batch at scale; Spark generalized it with resilient distributed datasets (RDDs) and DAG scheduling.

Error-Correcting Codes: Reed-Solomon, LDPC, and How Distributed Storage Survives Failure
2025-05-18Build error-correcting codes from the ground up: finite field arithmetic, Reed-Solomon encoding and decoding via Lagrange interpolation, LDPC codes and belief propagation, and how modern distributed storage systems use erasure coding to survive disk failures with minimal overhead.

FPGA Programming: HLS, Verilog, and the Spatial Computing Paradigm
2025-05-12How reconfigurable hardware rewires the boundary between software and silicon — from Verilog's explicit dataflow to high-level synthesis with C++, and why FPGAs are eating the inference and networking world.

The Theory And Implementation Of The Boyer Moore String Search Algorithm (with Galil’s Rule)
2025-05-11A comprehensive technical exploration of the theory and implementation of the boyer moore string search algorithm (with galil’s rule), covering key concepts, practical implementations, and real-world applications.

Building A Simple Vector Database With Ivf And Hnsw Indexing For Ann Search
2025-05-07A comprehensive technical exploration of building a simple vector database with ivf and hnsw indexing for ann search, covering key concepts, practical implementations, and real-world applications.

The Lambda Calculus and Combinatory Logic: The Minimalist Foundations of All Computation
2025-05-06Rediscover the lambda calculus as the essence of computation: Church's elegant system of function definition and application, its equivalence to Turing machines, the fixed-point combinator, and its enduring influence on programming languages from Lisp to Haskell.

Using Linearizability Checking Tools: How To Prove Your Concurrent Data Structure Is Correct
2025-05-03A comprehensive technical exploration of using linearizability checking tools: how to prove your concurrent data structure is correct, covering key concepts, practical implementations, and real-world applications.

Zero-Knowledge Proofs: From Interactive Protocols to zk-SNARKs and Practical Verifiable Computation
2025-04-24Build zero-knowledge proofs from the ground up: the simulation paradigm, Schnorr's protocol for discrete log, the transformation to non-interactive via Fiat-Shamir, and the engineering of modern zk-SNARKs for verifiable computation.

The Architecture Of A High Performance Message Broker: Design Patterns From Apache Kafka
2025-04-23A comprehensive technical exploration of the architecture of a high performance message broker: design patterns from apache kafka, covering key concepts, practical implementations, and real-world applications.

Applying Bloom Filters In Practice: From Cache Filtering To Bigtable
2025-04-20A comprehensive technical exploration of applying bloom filters in practice: from cache filtering to bigtable, covering key concepts, practical implementations, and real-world applications.