As I've been cooking more recently and learning about the mechanics of cooking (that is, how to decipher cookbooks and follow instructions), I've found myself wanting something of a primer on the theory of cooking. And I think Jeff Potter's Cooking for Geeks is more or less what I've been looking for.
What I mean by theory of cooking is that I'd like to have better mental models about, among other things, what makes dishes taste good; when to use different kinds of heat, and in what amounts; and how to choose complementary ingredients so I can make reasonable dishes without following recipes. What it is, in a general sense, that makes dishes turn out the way they do.
Cooking for Geeks covers a lot of ground. I think the most valuable material for me was learning how to use different kinds of heat (e.g. boiling vs. pan-frying vs. baking) to obtain various tastes and textures. To a large degree, controlling taste and texture is a matter of controlling which chemical reactions occur in the food. The major way you can influence those is by changing the temperature; you just need to understand the temperature ranges of different cooking media and the temperature ranges at which certain desirable chemical reactions happen in your food, e.g. the Maillard reaction.
There are also sections in the book on choosing tastes and ingredients, baking, chemistry, and kitchen hardware hacking. The author has a lot of specific tips but also helps you to understand the physical, biochemical, agricultural, or physiological principles that are your basis for making various choices in the kitchen. In addition, there are recipes, trivia, interviews, and reference material sprinkled throughout the book.
Cooking for Geeks is a useful book to have around when you plan meals. Recommended, provided you can handle analogies between cooking and programming.