Reading List
This list isn’t meant to be exhaustive or comprehensive or, frankly, coherent. The idea is to include
resources that I found either insightful on their own or representative of an insightful larger body of
work. Alternatively, I list things that are under-appreciated but significant. The goal here is to have
resources that are fairly concentrated.
CS
I highly recommend reading specifications, e.g. the W3C specs, the RFCs, the Haskell Report, or the C# spec.
The Analytics library’s reading list is another good resource.
Object Capabilities
Type Theory
Computer Graphics
Concurrency/Parallelism
Programming Language Theory
Distributed Computing
Datalog
Miscellaneous
Garbage Collection
Cryptography
DBMS Implementation
Floating Point
Interval Arithmetic, Affine Arithmetic, Automatic Differentiation (Levi-Civita Field, Taylor models), Pade approximants
Digital Signal Processing
Compiler Implementation
UI/UX Design
- Bret Victor’s site
- Edward Tufte
- “The Visual Display of Quantitative Information”
- “Envisioning Information”
- “Visual Explanations”
- Scott McCloud “Understanding Comics”
Physics
Mathematics
Process/Leadership
- Characterizing people as non-linear, first-order components in software development by Alistair Cockburn
- How Complex Systems Fail by Richard Cook
- “Switch: How to change things when change is hard” by Chip and Dan Heath
- “Don’t think of an elephant: know your values and frame the debate” by George Lakoff
- “Helping” by Edgar Schein
- “Process Consultation Revisited” by Edgar Schein
- “How to win friends and influence people” by Dale Carnegie
- Valve’s New Employee Handbook
- “Thinking, Fast and Slow” by Daniel Kahneman
- “Predictably Irrational” by Dan Ariely
- John Sterman’s work e.g.
- “Resonate” by Nancy Duarte
- “Cradle to Cradle” and “The Upcycle”
- “Emotional First Aid: Healing Rejection, Guilt, Failure, and Other Everyday Hurts” by Guy Winch
- “The Squeaky Wheel” by Guy Winch
- “Influence” and “Presuasion” by Robert Cialdini
Education
Miscellaneous