Review of 'Intuition pumps and other tools for thinking' on 'Storygraph'
4 stars
An intuition pump, in Dennett's sense, is an analogy or metaphor that helps us to think about a harder problem.
For instance imagine a whimsical jailer who goes around while the prisoners are asleep, and unlocks all the doors and leaves them that way for a few hours. Are the prisoners free to escape? The idea is not so much to answer this particular question, but to play with it and use it to help us analyze a more complex problem.
In Intuition Pumps, Dennett introduces several dozen such intuition pumps and other mental tools, as well as some pitfalls (e.g., the seductive analogy that misleads us into accepting the wrong conclusion), forming a good introduction to philosophy for the interested amateur.
He does concentrate on three areas: evolution, consciousness, and free will. Make of this what you will: he might be flogging his personal interests, or he might just be trying to avoid mistakes by presenting students with examples from the areas he knows best. I tend to lean toward the latter, but if you're bored silly by the very idea of discussions on free will, you may want to just skip Chapter VIII.
All in all, this book is a good and lucid introduction to philosophy, including why it matters, and why even lay people can and should engage in it: when done correctly, and not just as an exercise in navel-gazing with five-dollar words, it's basically a way of thinking straight, and avoid reasoning errors.
ETA: The section on computing and Turing machines is at best inaccurate and at worst misleading. The central message, that modern computers don't do anything that a Turing machine couldn't do, is correct. Yes, virtual machines are a real, and even useful, thing. And yes, a Turing machine can run a virtual version of your desktop PC and do everything it does, albeit at a ridiculously low speed.
I think Dennett confuses virtualization with abstraction. Virtualization is the process of making one computer behave like another one. For instance, if you wanted to play your old Apple II games, you could set up a virtual Apple II on your desktop PC. That is, a program on your PC would pretend to be an Apple II, so that that virtual Apple II could run your old games.
Abstraction, on the other hand, is, roughly, the process of hiding the low-level details from the programmer, who can ignore the small stuff and get on with making the program do what she really wants. As time goes on, more and more things are considered low-level.
To hear Dennett explain it, though, you might think that programmers pile virtual machine upon virtual machine, rather than abstraction upon abstraction.