Bookshelf
This is a living list of books and other resources I return to or recommend often. I’ve always enjoyed browsing other people’s bookshelves, so consider this a small digital version of mine.
It’s also a good place to thank my friends and mentors who’ve shared this learning adventure with me.
Books
- Structure and Interpretation of Computer Programs — Harold Abelson, Gerald Jay Sussman, Julie Sussman (1979)
- UNIX and Linux System Administration Handbook — Evi Nemeth, Garth Snyder, Trent R. Hein, Ben Whaley (2010)
- Clean Code — Robert C. Martin (2008)
- Operating Systems: Design and Implementation — Andrew S. Tanenbaum (1987)
- The Art of Deception: Controlling the Human Element of Security — Kevin D. Mitnick, William L. Simon (2001)
- The Hacker Playbook 2: Practical Guide to Penetration Testing — Peter Kim (2014)
- Designing Data-Intensive Applications — Martin Kleppmann (2017)
- Release It! — Michael T. Nygard (2018)
- The Mythical Man-Month — Frederick P. Brooks Jr. (1975, later editions)
Publications
- Architectural Styles and the Design of Network-based Software Architectures (REST dissertation) — Roy Thomas Fielding. PDF
Talks
- SOLID Principles of Object Oriented and Agile Design — Robert C. Martin (2014). YouTube
- Tech Talk: Linus Torvalds on git — Linus Torvalds. YouTube
- Simple Made Easy — Rich Hickey (2011). YouTube
Courses and sites
- Open Security Training — opensecuritytraining.info
Writing and workflow
- Semantic Linefeeds — Brandon Rhodes (2012). One sentence per line