A funny thing happened on the way to writing this blog post.
I'd intended to serve up an enthusiastic review of A.K. Dewdney's The (New) Turing Omnibus: 66 Excursions in Computer Science. I really can't help recommending the book. It's a classic collection of short essays on essential topics on computer science, including finite automata, genetic algorithms, Karnaugh maps, Cook's theorem, and more.
I loved the original edition of this book when it came out in 1989 (there were just 61 chapters, or “excursions,” in that edition). The new version includes the full text of that book along with five bonus chapters on emerging topics, including a fascinating overview of the theory underlying computer viruses.
The (New) Turing Omnibus is intended to be a crossover book. While the writing style and approach make it accessible to those with no background in computer science (assuming they have sufficient motivation to wrestle with the mathematics, concepts, and notation), I think the book is really more useful as a sort of review or refresher for professionals. I've never written any code in the computer vision realm, but after reading Dewdney's essay on the topic I feel I have a basic understanding of the field. It's this kind of mind expansion that I expect, and receive, from Dewdney, who served for years as the author of the Computer Recreations and Mathematical Recreations columns in Scientific American.
As you can see, I think The (New) Turing Omnibus is a swell book. And under ordinary circumstances I would have no hesitation about recommending that you pick up a copy for yourself and for any nascent computer scientists in your life.
Here's my problem. In addition to the lucent writing, academic rigor, relevant topic selection, and overall terrific work in his computer-science essays, Dewdney contributes articles to an organization that has branded the terrorist attacks of September 11, 2001 a conspiracy. I spent a couple hours at the organization's Web site – I won't mention it by name here because I don't want to encourage traffic to the site – and found that it includes material I find not only wacky, but hateful.
I now face an ethical dilemma. How do I recommend that you purchase a copy of this truly good book when each sale benefits an author who holds and promotes ideas I can't accept?
I might have kept silent, choosing another book or idea as the topic for this post. But that would have deprived my readers of the knowledge of this truly admirable book, which I believe you will find both interesting and useful.
Or I could go ahead with my recommendation, despite the fact that my words indirectly benefit an author whose beliefs are contrary to my own – and, in my opinion, to both common sense and moral decency.
As you can see, I loosed this Gordian knot by choosing a third path. I've recommended the book and shared my ethical misgivings with you. Because ethical people can choose different courses of action in this circumstance, I have passed my dilemma along to you.
You're welcome.
What's your opinion? Is a good book a good book, regardless of the source? Or do ethical principles require us to evaluate the beneficiaries of our actions, and to refrain from contributing to the well-being of those whose actions harm the world? Drop me a line in the comment section below.
I look forward to hearing from you. And oh, yeah – for those of you who find my name vaguely familiar – it's great to be back. I look forward to chatting with you frequently here at SD Times.
Web recommendation: I hope to pass along the link to an interesting or useful Web site at the end of each of these posts. In this installment I recommend Coding Horror: Programming and Human Factors (http://www.codinghorror.com/blog/). Jeff Atwood's blog isn't updated as often as I'd like, but it's full of on-target observations, in-depth contemplations, and random good stuff. J.D. says check it out.
J.D. Hildebrand has written hundreds of articles for dozens of publications and online communities dedicated to software development. He recently relocated to a small town outside Belgrade – stop by if your travels take you through Serbia.