Blog
Posts, notes, and articles.

Fair Division: Cut-and-Choose, Selfridge-Conway, Brams-Taylor, and the Mathematics of Envy-Freeness
2020-01-15A rigorous exploration of fair division—from cake-cutting protocols to envy-free allocations—and their application to cloud resource allocation and beyond.

Mechanism Design: VCG Auctions, the Revelation Principle, and the Architecture of Truthfulness
2019-12-23A deep exploration of mechanism design—the VCG mechanism, Myerson optimal auction, incentive compatibility, and how to design games where truth-telling is a dominant strategy.

Algorithmic Game Theory: Nash Equilibrium Computation, PPAD-Completeness, and the Computational Lens on Strategy
2019-11-23A rigorous look at algorithmic game theory—computing Nash equilibria, the PPAD complexity class, and how computational constraints reshape strategic reasoning.

Smoothed Analysis: Why Simplex Works in Practice and the Spielman-Teng Framework
2019-11-19An exploration of smoothed analysis—Spielman and Teng's framework that explains why the simplex method and other algorithms transcend their worst-case bounds.

Average-Case Complexity: Levin's Distributional Problems, AvgP, and Cryptographic Implications
2019-10-20A deep examination of average-case complexity—Levin's theory of distributional NP-completeness, the class AvgP, and why cryptography needs hard-on-average problems.

Descriptive Complexity: Fagin's Theorem, Logic, and an Alternative to Turing Machines
2019-10-12An exploration of descriptive complexity—where computational classes are characterized by logical definability—and Fagin's theorem that NP equals existential second-order logic.

Circuit Complexity: AC0, NC, P/poly, and the PARITY ∉ AC0 Proof
2019-09-29A rigorous journey through circuit complexity classes—AC0, NC, P/poly—and the landmark result that PARITY cannot be computed by constant-depth polynomial-size circuits.

Communication Complexity: Yao's Two-Party Model, the Rectangle Method, and Lower Bounds Galore
2019-08-18A deep investigation of communication complexity—the mathematics of information exchange between parties—and its far-reaching implications for circuits, data structures, and streaming.

When Data Centers Learned to Sleep: Energy-Aware Scheduling in Practice
2019-07-19An engineer’s chronicle of how hyperscale fleets embraced energy-aware scheduling without sacrificing latency or trust.

Sublinear Algorithms: Property Testing, Query Complexity, and the Power of Random Sampling
2019-07-07An exploration of sublinear-time algorithms—property testing, the regularity lemma connection, and how random sampling reveals global structure without reading the whole input.


Streaming Algorithms: Misra-Gries, Count-Min Sketch, AMS, and the Power of Small Space
2019-06-27A comprehensive tour of streaming algorithms—from frequency estimation sketches to frequency moments—and the space lower bounds that define what's possible.

Online Algorithms: Competitive Analysis, Ski Rental, Paging, and the Primal-Dual Method
2019-05-12A thorough examination of online algorithms—decisions without foresight—through the lens of competitive analysis, from ski rental and paging to the k-server problem.

Parameterized Complexity: FPT, the W-Hierarchy, Kernelization, and Bounded Search Trees
2019-05-11An in-depth exploration of parameterized complexity theory—how structural parameters beyond input size can tame NP-hardness through FPT algorithms, kernelization, and the W-hierarchy.

NP-Completeness: The Cook-Levin Theorem, Polynomial Reductions, and the Hardest Problems in NP
2019-05-03A deep dive into the theory of NP-completeness—from Turing machines and the Cook-Levin theorem to the taxonomy of NP-complete problems and the P versus NP question.

Linear Programming: Simplex Geometry, Duality, and the Interior-Point Revolution
2019-04-19An exploration of linear programming from Dantzig's simplex method through von Neumann's duality to Karmarkar's interior-point breakthrough that reshaped optimization theory.

Network Flow: From Ford-Fulkerson to Push-Relabel and the Max-Flow Min-Cut Theorem
2019-04-13A rigorous journey through the algorithms that solve maximum flow—Ford-Fulkerson, Edmonds-Karp, Dinic, and Push-Relabel—together with the duality that binds flows to cuts.

Implementing A Lock Free Concurrent Hash Map: From Theoretical Foundations To Practical Performance Optimization In C++20
2019-03-16A comprehensive technical exploration of implementing a lock free concurrent hash map: from theoretical foundations to practical performance optimization in c++20, covering key concepts, practical implementations, and real-world applications.

Speculative Prefetchers: Designing Memory Systems That Read the Future
2019-02-14A field guide to building and validating speculative memory prefetchers that anticipate demand in modern CPUs and data platforms.

Dynamic Programming: Bellman's Principle of Optimality and the Art of Reusing Computation
2019-01-27A deep exploration of how Bellman's recursive insight transforms exponential despair into polynomial hope across knapsack, shortest paths, sequence alignment, and reinforcement learning.

Designing A Conflict Free Replicated Data Type (Crdt) For Collaborative Text Editing: A Deep Dive Into Rope Structures, Vector Clocks, And Operational Transformation Alternatives
2019-01-01A comprehensive technical exploration of designing a conflict free replicated data type (crdt) for collaborative text editing: a deep dive into rope structures, vector clocks, and operational transformation alternatives, covering key concepts, practical implementations, and real-world applications.

Implementing A Distributed Consensus Protocol From Scratch: Raft With Leader Election, Log Replication, Membership Changes, And Cluster Reconfiguration In Go
2019-01-01A comprehensive technical exploration of implementing a distributed consensus protocol from scratch: raft with leader election, log replication, membership changes, and cluster reconfiguration in go, covering key concepts, practical implementations, and real-world applications.