PETZOLD BOOK BLOG

Charles Petzold on writing books, reading books, and exercising the internal UTM


Recent Entries
< PreviousBrowse the ArchivesNext >
Subscribe to the RSS Feed

Of a Book Entitled “Mr. Turing's Computing Machine”

March 1, 2008
Roscoe, N.Y.

In 1999, as I was finishing work on my book Code: The Hidden Language of Computer Hardware and Software, I had ideas for four "spin-off" books. I prepared single-page descriptions of each of these book ideas and showed them to my agent. None of these books was "normal" in any way. One of the oddest was a book I called Mr. Turing's Computing Machine.

In researching Code, I read (or tried to read) many of the seminal books and papers that contributed to the early history of computing. One of these was Alan Turing's 1936 paper "On Computable Numbers, with an Application to the Entscheidungsproblem" in which he invents the imaginary computer now called the Turing Machine. In trying to comprehend this paper, I thought "This is such an important paper in the history of computing that somebody should really write a book explaining what's going on in here."

I think the whole concept of the book sprung into my head almost fully formed: I would take Turing's paper and annotate the living daylights out of it. At the very least, trying to write this book would let me devote the time and attention to Turing's paper that it so obviously deserved.

I have a Word file that I created on May 12, 1999 with a title page that says Mr. Turing's Computing Machine. On the next page the text begins:

In magazine writing, TK means "to come" and really means "I'm too lazy to look this up at the moment but I'll fill it in later." Notice that the paragraph suggests a publication date for the book of about 2000! Even so, I wasn't sure it was proper to begin the book with Hilbert's problems. There was some confusion in my mind about the exact relationship between Hilbert's 10th problem from 1900 (on Diophantine equations) and the Entscheidungsproblem referred to in the title of Turing's paper.

Of course, the really big question was whether I'd be able to write this book at all! I knew that I would need to understand every word in Turing's prose and every subscript and superscript in his equations. Would that even be possible? Surely everyone's prose has a little ambiguity in it. As far as I knew, nobody had ever done anything quite like this. Maybe there was an excellent reason for that!

To demonstrate to myself that I could carry off this difficult task, I knew I needed to write a good chunk of the book before going public. Only then could I show the manuscript to my agent and programmer friends. Because the book would contain Turing's complete paper, I also knew that I needed to reproduce that paper in the pages of this manuscript. I wanted my manuscript to look like the pages of a book, and for Turing's paper to look as close to the original as I could manage with a custom Microsoft Word style sheet. I knew this was not going to be easy: Turing's paper contains several different fonts and some very complex tables.

Beginning in 1999 and numerous times over the next five years, I would open up the file for Mr. Turing's Computing Machine and try to make a little progress. Inevitably I'd find myself working on the style sheet to reproduce Turing's paper. It seemed as if I couldn't bring myself to write my own annotations until Turing's paper looked correct in the Word file. Yet, it also seemed like a waste of time to design a style sheet for Turing's paper until I knew I could actually do something with it.

In September 2004 I found myself with some free time. I had been expecting to work on my untitled "Avalon Book" but Avalon had been delayed, and no one knew for how long. I decided to attack Mr. Turing's Computing Machine and to conquer my psychological blocks by doing something completely bizarre and downright perverted: I moved away from the computer.

Well, not exactly. I first used the computer to scan Turing's paper and print out the pages. Then I got comfortable on the couch with a yellow legal pad, a pen, a little pair of scissors, and tabs of clear tape in a dispenser strapped to my wrist. I'd cut out a piece of Turing's paper, tape it to a page in the yellow pad, and then hand-write my annotations.

Like most people, I gave up handwriting long ago. For me it was sometime around 1982 when I first learned WordStar on my Osborne 1. To actually hand-write large chunks of a book felt very strange, but the strategy worked. By entirely avoiding the technical word-processing problems, I could give my full attention to Turing's paper. Each little cut-out piece of the paper became the focus of my attentions. Because I was working on a pad, I could experiment with equations and illustrations with more flexibility than the computer allows.

Here are two of my handwritten pages, along with a later whole page from Turing's paper with an amusing number of notes I made:

(2.7 megs) (2.2 megs) (0.6 megs)

For a couple months I worked like this, enjoying the process immensely. After I had about 110 handwritten pages, I felt much more confident that I could make the whole book work. Only then did I go back to the computer and work on the style sheet that would reproduce Turing's paper in my manuscript. I then typed in my handwritten pages, giving each yellow page a big red check mark as it went into the file.

Sometime around the beginning of 2005, I received an alert from Amazon.com about a forthcoming book by B. Jack Copeland entitled Alan Turing's Automatic Computing Engine. This book was about the ACE computer and had almost no overlap with my book, but the title was too close to my title Mr. Turing's Computing Machine for my comfort. I changed my title first to Alan Turing's Amazing Imaginary Computing Machine and then to The Amazing Imaginary Computing Machine of Mr. Alan M. Turing with the subtitle A Guided Tour through Alan Turing’s Historic Paper on Computability. I liked the old-fashioned sound of the new title, somewhat reminiscent of the 1965 movie Those Magnificent Men in Their Flying Machines.

By the early summer of 2005, the first 11 chapters (about 200 pages) of the book were ready to be read. I sent copies to my agent and several friends in the computer industry. Although the book was "mostly" finished — I anticipated another 100 or perhaps 150 pages to cover the last 40% of Turing's paper — further work had to stop because WPF was now coming. From September 2005 through July 2006 I worked full-time on what we called "The Avalon Book" but which became Applications = Code + Markup. In the fall, I wrote my online book .NET Book Zero and then started 3D Programming for Windows in December 2006, finishing that in June 2007.

I didn't want to wait any longer to finish what I was now calling just "The Turing Book" (the complete title was just too fatiguing) and also to try to find a publisher. (I didn't think my longtime publisher Microsoft Press was a good fit for this book.) With a brazen blog entry I found a courageous publisher in John Wiley & Sons. Right before Chris Webb and I began negotiating the contract, I came up with the title

The Annotated Turing

A Guided Tour Through Alan Turing's
Historic Paper on Computability
and the Turing Machine

and it stuck.

I still have some work to do on The Annotated Turing, but it's mostly just reviewing edits and (eventually) pages. It looks like the scheduled publication date for the book is now June 10, 2008 — more than nine years after I first created a Word file for the manuscript. Sometimes these projects take some time.

Coming June 10, 2008!

Available for Pre-Ordering
Wiley Amazon US Barnes & Noble
Amazon Canada Amazon UK Amazon Deutsch
Amazon Français Amazon Japan Blackwell

Comments:

I'd like thinking that behind every great book, there is a great story that most of the times is not published.

Because I think that this is a bijective relation, I'm convinced that I will be buying this book ASAP.

I hope I'll enjoy reading it.

Thanks, Mr. Petzold.

penyaskito, Sat, 1 Mar 2008 20:32:51 -0500 (EST)

This sounds like it's going to be a really good book. I'm going to have to check it out once it's published!

Bret Patterson, Sun, 2 Mar 2008 11:37:17 -0500 (EST)

i'm really looking forward to reading this.

secretGeek, Mon, 3 Mar 2008 17:46:56 -0500 (EST)

Hey Charles, can you explain (perhaps in an nice, pedantic article?) how iterators created with yield return construct in C# 2.0 really works? I heard that these iterators internaly use some kind of state machine (your post about Turing machine reminded me that i don't completely understand that "yiels" stuff!

— Boris, Wed, 5 Mar 2008 08:36:27 -0500 (EST)

Congratulations, Mr. Petzold! I thoroughly enjoyed "Code" and shall look forward to "The Annotated Turing" with great anticipation.

— BH, Thu, 6 Mar 2008 20:33:42 -0500 (EST)

I throughly enjoyed 'Code' and I am looking forward to this books release.

Vinod Nair, Fri, 14 Mar 2008 15:31:23 -0400 (EDT)


Recent Entries
< PreviousBrowse the ArchivesNext >
Subscribe to the RSS Feed

(c) Copyright Charles Petzold
www.charlespetzold.com