97 Things Every Programmer Should Know is a collection of short essays on many programming topics – coding, testing, pair programming, and more.
You can get a full list of the essays, as well as the full content. It was a bit surprising how much shorter and less readable they seem in this format, compared to the MOBI file.
The essays are somewhat useful, but most of them cover subjects that any good programmer should already have seen elsewhere, and thus were not very useful to me.
That said, while the amount of notes that I took in this book is way below average, it still contains plenty of interesting content.
Some of the essays I found useful or interesting:
38. How to use a Bug Tracker
39. Improve Code by Removing it
41. Interprocess Communication Affects Application Response Time
52. Let Your Project Speak for Itself
56. Make the Invisible more Visible
57. Message passing Leads to Better Scalability in Parallel Systems
64. Pair Program and Feel the Flow
66. Prevent errors (using Undo logging to review error prone section)
73. Resist the Temptation of the Singleton Pattern
76. The Single Responsibility Principle (separating classes for how they change)
90. Verbose Logging will disturb your sleep
Overall I'd say that the book is worth the money and time – but just barely.