1. A pragmatic philosophy. The cat ate my source code ; Software entropy ; Stone soup and boiled frogs ; Good-enough software ; Your knowledge portfolio ; Communicate!
2. A pragmatic approach. The evils of duplication ; Orthogonality ; Reversibility ; Tracer bullets ; Prototypes and post-it notes ; Domain languages ; Estimating
3. The basic tools. The power of plain text ; Shell games ; Power editing ; Source code control ; Debugging ; Text manipulation ; Code generators
4. Pragmatic paranoia. Design by contract ; Dead programs tell no lies ; Assertive programming ; When to use exceptions ; How to balance resources
5. Bend, or break. Decoupling and the law of Demeter ; Metaprogramming ; Temporal coupling ; It's just a view ; Blackboards
6. While you are coding. Programming by coincidence ; Algorithm speed ; Refactoring ; Code that's easy to test ; Evil wizards
7. Before the project. The requirements pit ; Solving impossible puzzles ; Not until you're ready ; The specification trap ; Circles and arrows
8. Pragmatic projects. Pragmatic teams ; Ubiquitous automation ; Ruthless testing ; It's all writing ; Great expectations ; Pride and prejudice.