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.
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.
Programming Language Theory
Interval Arithmetic, Affine Arithmetic, Automatic Differentiation (Levi-Civita Field, Taylor models), Pade approximants
Digital Signal Processing
- Bret Victor’s site
- Edward Tufte
- “The Visual Display of Quantitative Information”
- “Envisioning Information”
- “Visual Explanations”
- Scott McCloud “Understanding Comics”
- Characterizing people as non-linear, first-order components in software development by Alistair Cockburn
- “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