My Reading List01 Jan 2001
My recommended readings.
The books I’ve listed here are some of the most useful and eye-opening that I’ve gone through. I’ve read everything on this list and won’t add anything here unless I’ve read it myself.
The lists are in the order they I would read them if starting from scratch.
If you have books that you think I should read or add to this list, feel free to let me know!
This is my recommended reading list for pretty much anyone.
- 1984 by George Orwell
- Economics in One Lesson by Henry Hazlitt
- The Quest for Cosmic Justice by Thomas Sowell
- The Righteous Mind: Why Good People Are Divided by Politics and Religion by Jonathan Haidt
I think every programmer should read these books, they are each so great and so important. They will take you from building a computer from the ground up, to writing clean maintainable code, designing it well, and then making it efficient. You then go on to start thinking about the kinds of problems that computers can actually solve, and what the limits are.
- CODE by Charles Petzold
- Code Complete 2 by Steve McConnell
- Design Patterns: Elements of Reusable Object-Oriented Software by John Vlissides, Richard Helm, Ralph Johnson, and Erich Gamma
- The Algorithm Design Manual, 2nd Ed. by Steven Skiena
- Quantum Computing Since Democritus by Scott Aaronson
Others that are good
- Grokking Algorithms by Aditya Bhargava
- Debugging by David J. Agans
- The C Programming Language by Brian Kernighan and Dennis Ritchie
- Neural Networks and Deep Learning by Michael Nielsen
- Team Geek by Brian Fitzpatrick and Ben Sussman
- An Introduction to Programming with Threads by Andrew Birrell
- Algorithms for Scalable Synchronization on Shared Memory Multiprocessors by John M. Mellor-Crummey and Michael L. Scott
- MapReduce: Simplified Data Processing on Large Clusters by Jeffrey Dean and Sanjay Ghemawat
There are a few web resources that are worth taking a look through.
This course by UAlberta on Design Patterns is really helpful for understanding how to structure clean software, and you should take it before you write code for anyone.
it’s really hard to find physics books that don’t feel like they’re going over the same concepts again and again.
- A Brief History of Time by Steven Hawking
- Six Easy Pieces by Richard Feynman
- Six Not So Easy Pieces by Richard Feynman
- QED by Richard Feynman
- The Apology by Plato
- The Practicing Stoic: A Philosophical User’s Manual by Ward Farnsworth
- The Re/public by Plato
- Meditations by Marcus Aurelius
- Groundwork of the Metaphysics of Morals by Immanuel Kant
- Tom Sawyer by Mark Twain
- Huckleberry Finn by Mark Twain
These are books that I thought were really interesting, a good learning experience, or just a fun read.
- On Liberty by John Stuart Mill, specifically chapter 2. Some of the best arguments on free speech ever written.
- Improvise by Mick Napier
- The Enchiridion by Epictetus
It reads sort of like a set of lessons that Epictetus put together. There are certain points where it feels more like an instagram post then greek philosophy, but hey.
- The Indisputable Existence of Santa Claus
Hannah Fry attempts to use fun math puzzles to trick us into believing that Santa Claus exists. The “proofs” are a fun read nontheless.
- The United States of Absurdity by Dave Anthony and Gareth Reynolds
just a hilarious book with great illustration.
- Thus Spoke Zarathustra by Friedrich Nietchze
- A People’s History of the Supreme Court by Peter Irons
- Born a Crime by Trevor Noah
it’s a surprisingly fun book. Trevor’s endearing voice finds a fun way to tell you stories all about South africa and what his life was like. While the cover says it’s about his life, the book seems to really be a beautiful testament to his mother.
- Gaming the Vote: Why Elections Aren’t Fair by William Poundstone*
Before you get start attacking me, this is a book about the mathematics of voting systems and how they can be improved upon.
- The Euthyphro by Plato
This is just the classic socratic method. Such a fun little read if you get the right translation.
- The Federalist Papers by Alexander Hamilton, James Madison, and John Jay
In the federalist papers I recommend specifically:
[10, 28, 29, 71, 78, 79, 80, 81]. Those are the most important ones.
- Classical English Rhetoric by Ward Farnsworth
A very interesting coffee table piece, it contains rhetorical devices used all throughout english literature.
These are the MOOC’s I’ve taken that I think are worth going through. Feel free to pick and choose, I recommend everything here.
- Learning How to Learn
Completely changed how I thought about the process of learning, and gave me an informed way to measure the quality of my learning and change my techniques for studying new information.
- Introduction to American Law
Really important overview of the basics of a few different types of law. Everyone should take this course.
- Introduction to Key Constitutional Concepts and Supreme Court Cases
I found it interesting, and a fun overview of the history.
- Design Patterns
This is a GREAT course if you’ve never really done (or been forced to do) proper object oriented programming before Lots of widely used terms and an understanding of good design patterns is great.
- Software Architecture and Service Oriented Architecture
Not terribly useful if you already have some experience but it filled a few gaps in my knowledge
- How To Ask Questions The Smart Way by Eric Steven Raymond
the most important article you can find about asking questions in the field of technology.
- Teach Yourself Programming in Ten Years by Peter Norvig