# Turing's Centenary

I'm disappointed by today's Google doodle. A marvellous idea, of course, to commemorate the centenary of Turing's birth with a model of a Turing machine. And as you'd expect, it looks good. The font used on the tape has a nice 1930s feel. But it is a triumph of form over content.

The machine starts off with a binary counter, which I rather like. But this simple Turing Machine is closed source! Where is the state description that drives it? That's the interesting bit. I've peered a little bit at the Javascript that drives it, but it's minified, so even after running through an indenter it's fairly impenetrable. More closed source.

It's interesting to ponder what Turing himself would have made of the open vs closed source debate. He touched both extremes: wide open as an academic, closed tight as a military intelligence officer.

The binary counter is an extremely ironic Turing Machine. (I'm not going to say why, it took me a while to realise. Think about it!) I don't know if that was deliberate, as there's no clue given anywhere that I can see. I hope that tomorrow they will post some more explanation to the doodle archive.

Anyway, when you click on the counter, it changes to something else. Now we do have a state description, well, sort of. It's nothing like the set of 5-tuples that describe a real Turing Machine; each tuple is (current symbol, current state, new symbol, new state, left-or-right move).

In the Google version you get a movement, *or* a change of symbol,
*or*... the state is implictly represented by a kind of program counter,
normally “incremented” but with branches and loops available. It's like
they've stuck an anachronistic von Neumann architecture over it!

And what they've done with this odd Turing-like machine is a series of
puzzles. Set the machine up so that it can change `01011` into
`00011`. Now change `11011` into `01011`. They remind me of
railway shunting puzzles that I enjoyed as a kid.

But why? What's the point? The point of the Turing Machine is that it
embodies an *algorithm*, and the reason for studying algorithms is that
they can do useful things, like adding two numbers together. Could
something like that not have been incorporated?

And of course, *really* the point of Turing Machines is that we can
build a Universal Turing Machine, thus proving that algorithms are
subject to Gödelization, and that **code is data**. I grant it might
have been difficult to get the idea across in 487 x 229 pixels.

Oh well. At least the Google doodle got me thinking, and I took a look
at *On Computable Numbers, With An Application To The
Entscheidungsproblem* for the first time in over 20 years. Here are
three different versions: images of the original publication,
digitized but unmodified, and tidied up with footnotes and
corrections.

And Turing was, finally, lucky. The birth centenaries of Alonzo Church and Kurt Gödel went by in the last few years entirely unmarked by Google.