Books
Software
Books that changed the way I think about software
- The Pragmatic Programmer: From Journeyman to Master - The best advice you can get about software development lies within the pages of this book. Everyone who designs or writes software for a living should read this book.
- Expert One-on-One J2EE Design and Development - Showed me first hand how complex problems could be solved in simple, elegant ways. The code in this book laid the foundation for the very popular open source Spring Framework.
- Design Patterns: Elements of Reusable Object Oriented Software - This book will change the way you think about, design, and write object oriented software.
Other good software books
- Programming Ruby: The Pragmatic Programmers’ Guide - Showed me that there is more to life than C++ and Java.
- Practices of an Agile Developer: Working in the Real World - More sound advice on software development in the real world.
- RESTful Web Services - Showed me how simple and scalable web services can be.
- Release It!: Design and Deploy Production-Ready Software - Good advice on how to make your software flexible enough to handle the unpredictability of the real world.
Martial Arts
- Karate-Do Kyohan: The Master Text - Master Funakoshi’s seminal text on the martial art that bears his name.
- Notes on Training - 30+ years of Tsutomu Ohshima’s notes on training, covering basics, kata, kumite, and practice in general in a very well organized package.