I finished David JC Mackay's Sustainable Energy-Without the Hot Air on the flight back from Ottawa yesterday. First response: brilliant. Second response: absolutely brilliant. A physicist, Mackay approaches the question of whether the UK can run on sustainable energy sources by doing back-of-the-envelope calculations---hundreds of them. How much precipitation falls in highland areas? How high are those areas? How much energy could that possibly give us? What fraction of that could we plausibly recover? Then turn the page, and he's doing the same kind of calculations for air travel (which, by the way, is within a few percentage points of being as efficient as it ever could be). He then sketches half a dozen scenarios for sustainability, five relying primarily on one source (wave, wind, biomass), the sixth a balanced mix.
His conclusion? We're in trouble---big trouble, especially since (as the quotes scattered through the book show) most people are either in denial or prone to indulge in wishful thinking. His book is meant to be an antidote to both.
But that's not what I like most about this book. What I like most is that he isn't just trying to lay out the options, he's trying to show us what kinds of arguments and plans we should be willing to accept. That's why I think SEWHA would be a great text for a first-year general science course: it does a better job than any book I've read since Epstein's Thinking Physics (now sadly out of print) of showing readers what practical, numerate thinking actually looks like.
It's also (to go off on a tangent) reinforced my belief that almost none of what we call "software engineering" is actually engineering. I've worked with enough civil, mechanical, and electrical engineers to know how important back-of-the-envelope reality checks are to their disciplines. Other than figuring out how many servers you need to meet a service level agreement, I don't know if such reality checks are even possible for software construction. It doesn't mean that what we study (and preach) is useless, but as many others have observed before me, "engineering" looks more and more like an inappropriate metaphor.