Bookshelf
things i've read, am reading, or have queued up.
A book makes it here only if it changed something about how I write code or
look at a problem. Annotations are kept short on purpose.
systems & performance
-
read
Computer Systems: A Programmer's Perspective . Bryant, O'Hallaron
Single best mental model of the machine I have read.
-
read
Effective Modern C++ . Scott Meyers
Made me stop writing C++03 in disguise.
-
reading
Designing Data-Intensive Applications . Martin Kleppmann
Distributed systems vocabulary, finally concrete.
-
queue
The Linux Programming Interface . Michael Kerrisk
For when I need to know exactly what a syscall is doing.
-
queue
What Every Programmer Should Know About Memory . Ulrich Drepper
The cache hierarchy paper, read as a slow book.
markets & microstructure
-
reading
Trading and Exchanges . Larry Harris
Slow, careful, canonical. Where market microstructure starts.
-
queue
Algorithmic and High-Frequency Trading . Cartea, Jaimungal, Penalva
Bridge from microstructure intuition to working math.
-
queue
Inside the Black Box . Rishi Narang
For the shape of a quant firm, not the math.
algorithms & cp
-
read
Competitive Programmer's Handbook . Antti Laaksonen
Where I started. Free PDF, still the best on-ramp.
-
read
Competitive Programming 4 . Halim, Halim
Reference more than read-through. Topic by topic.
off-topic
-
read
The Art of Doing Science and Engineering . Richard Hamming
On taste, persistence, and choosing what to work on.
papers
-
2019
Langdale, Lemire . Parsing Gigabytes of JSON per Second
The simdjson paper. Worth reading twice. Worth implementing once.
-
2013
Lemire, Boytsov . Decoding Billions of Integers per Second
Clean entry to thinking in SIMD throughput, not scalar steps.
-
2011
Thompson et al. . Disruptor: High Performance Alternative to Bounded Queues
LMAX. Required reading for anyone who wants to move events fast.