Seeing Structure First
A reflection on eleven explorations in generic programming—how algorithms arise from algebraic structure.
Browse posts by tag
A reflection on eleven explorations in generic programming—how algorithms arise from algebraic structure.
18-part lecture series on efficient programming. Covers the intellectual foundations behind STL.
Collected notes on programming philosophy. Free PDF.
Blends discrete mathematics with analysis and algorithm design.
Rigorous foundations of generic programming. Connects algebra and algorithms. Stepanov’s magnum opus.
History of mathematical ideas underlying generic programming. More accessible than EoP.
Broad coverage of numerical algorithms in science and engineering. Classic cross-topic numerical algorithms.
Classic talk on recognizing algorithmic patterns. ‘No raw loops’ - shows how rotate solves many problems elegantly.
AlgoGraph brings functional programming elegance to graph algorithms with immutable data structures, pipe-based transformers, declarative selectors, and lazy views.
A C++17 header-only library implementing Computational Basis Transforms - a unified framework for understanding how FFT, logarithmic arithmetic, and Bayesian inference are all instances of the same pattern.
I have a fairly broad interest in problem-solving, from problems in statistics to algorithms. Over the years, I’ve accumulated a collection of problem sets from graduate coursework and independent study. These represent solutions to challenging …
The Miller-Rabin primality test demonstrates how probabilistic algorithms can achieve arbitrary certainty, trading absolute truth for practical efficiency.
The Russian peasant algorithm teaches us that one algorithm can compute products, powers, Fibonacci numbers, and more—once we see the underlying algebraic structure.
One of the most elegant ideas I encountered during my CS masters work is the Bloom filter—a data structure that gives you probabilistic membership testing with extraordinary space efficiency.
A Bloom filter can tell you two things: …