A young scribe worked day and night on his scrolls. Some of his scrolls required many changes, and he laboriously copied the content of each scroll onto a new scroll whenever even the tiniest bit had to be changed.

Once, at supper, the scribe professed how exhausted he was by keeping track of all versions of a single document. Upon hearing this, the abbot told him to use one of the sacred version control systems used by the monastery.

With a strained voice, the scribe responded "I do not have time to learn even one of these systems. I have so many scrolls to copy." The abbot did not respond, but elected to wait.

The two monks had the same conversation repeatedly. Each time, the young scribe exclaimed that he had no time to learn. Finally, one day, the abbot sent for Master Darcs.

Master Darcs invited the scribe to eat supper with him. They both filled their bowls with nourishing and clear soup. Master Darcs sat down, selected a fork, and began to eat his soup. The young scribe sat and ate in silence. Long after the scribe had finished his soup, the master was still eating his.

Finally, the young scribe dared to ask a question. "Forgive me, master," spoke the scribe, "but why do you not use a spoon? Even a small one would surely be better than this."

"I do not have time to learn even one of these instruments," responded Master Darcs calmly.

Hearing this, the scribe was enlightened.

Posted Tuesday night, September 10th, 2013 Tags:

I had tremendous fun being the local expert for the movie Codebreaker that was shown as a part of the 1st Heidelberg Laureate Forum. The folks at the Klaus-Tschira Foundation set up a film festival at Heidelberg's Karlstorkino. The idea was to show a film and get an expert to answer audience questions later on. This Tuesday, I was the expert. At first, I felt slightly out of my depth–the things I don't know about cryptography fill multiple volumes. Still, I was able to engage the audience in a very nice discussion.

The discussion was too short to cover all the material I wanted to talk about. I thus decided to write down my thoughts. This post is more a stream of consciousness than a stringent account of things. My apologies.

The film

As far as I could tell, the film gave a very accurate portrait of the life of Alan Turing. The directors found the ideal balance between drama and information. The mathematical aspects were covered correctly (insofar as they were any). There was one glaring mistake, though: The movie depicted a Turing machine that was unable to write data. But being able to write and read data is the whole point of the machine!

Furthermore, the film mentioned an official apology of the British government concerning Turing's treatment in the 1950s. I thought that this was still an ongoing effort, so I searched for some reports:

Also, the film slightly misrepresented how the Enigma was deciphered. It was not solely Turing's genius, but a team effort of Polish scientists that ultimately led to the machine's downfall. I guess the film tried to convey that Turing's work was superb and without equal, so it makes sense to present the audience the one codebreaker. Don't be fooled, though–even Turing collaborated with other scientists.

A last grievance of the film is the portrayal of the scientific community as such. The film used descriptions such as “a bunch of eccentric mathematicians” and talked about some Turing's eccentric behaviour (wearing a Gas mask because of his hay fever, hiding silver etc.). This narrative device is a nice way of getting a chuckle out of the audience, a sort of comic relief maybe. But it is also very, very trite. These sorts of descriptions seem to strike a nerve with me. If people (whatever their profession) are characterized as brilliant, outstanding, and so on, there seems to be the tendency to ascribe them negative traits such as eccentric, insane, and so on. Is this a crude way of trying to balance the scales somehow? Something like "Turing was brilliant, but his genius came with a large price! (insert dramatic sound here)". Here's my protip for all directors: If you stop painting characters larger-than-life, you won't have to resort to these cheap tricks.

To be fair, the movie does not do this a lot, so I am definitely overreacting here. Still, if you, dear reader, watched that movie without knowing many mathematicians or computer scientists, please don't believe this simple characterization. As Neal Stephenson put it: We are all geeks now

Would you like to know more?

This is where the homework starts. I can recommend several books on Turing and cryptography. They are covered in no particular order:

Neal Stephenson: Cryptonomicon

This is by far my favorite book and in the past 10 years, I have read it numerous times. I even borrowed the Tolkien characterization of people. But I am getting ahead of myself. Without too many spoilers, Cryptonomicon takes you on a joyride through time and space. There are at least three different stories, all connected by pivotal events in the book. The main theme is about cryptography and mathematics. In the dawn of World War II, some mathematicians (including Turing, of course), talk about the future of mathematics. A young man decides to join the marines. War erupts and in general, all hell breaks loose. Fast forward 50 years. Two high-tech entrepreneurs want to install high-speed submarine communications cable in the Philippines.

It does not sound remotely believable, but Neal Stephenson manages to mash these stories into a consistent narrative: Characters you can relate to, science, technology, history, ...

A fair warning: Neal Stephenson likes to digress. A lot. You think you know digressions (maybe from reading this blog?), but compared to Neal Stephenson, everything else I have every read so far pales. So go buy the book already!

George Dyson: Turing's Cathedral

This book covers the historical perspective quite well. It's a heavy read if you are unfamiliar with the material, but it's well worth it in my opinion. The book does not solely focus on Turing, but more on the history of computers in general. Contrary to the title, the main "character" is John von Neumann.

Charles Petzold: Code

By far the most readable and accessible explanation of how computers actually work. This book is really hands-on. Charles Petzold has the remarkable talent of explaining the basic concepts of computers to anyone. I am not a hardware guy myself and even I was tempted to build my own mechanical computer afterwards. This is the book I am forcing people in my family to read so that they can understand that there is nothing magical about computers after all (for balance, I am reading car manuals in order to understand that there is nothing magical about cars).

Simon Singh: The Code Book

This book focuses on cryptography. Simon Singh does a very good job of covering the history of this science, starting from simple substitution ciphers, and ending with quantum computing. There is also a good explanation of the RSA algorithm.

Taking it to the next level

If you are really, really serious about doing cryptography, nothing beats the two bibles written by Bruce Schneier: Applied cryptography and Practical cryptography. However, these books require a solid understanding of imperative programming languages, preferably C or C++. Nothing for the faint of heart. A more accessible introduction to cryptographic algorithms is the CipherSaber project. Here, your goal is to create your own implementation of the RC4 algorithm. Give it a try!

Shameless self-promotion

You might want to take a look at CipherDagger, my own implementation of the CipherSaber algorithm. I wrote this a long time ago and should probably rewrite it, but it might be a good starting point for your own implementation.

Also, if you can read German, why not take a look at my slides about cryptography. The target audience for this talk did not have any in-depth mathematical knowledge, so I tried to keep everything very accessible.

I will probably update this post if I remember anything else that might be of interest. Thanks for bearing with me!

Edit: As a sort of belated Christmas present, I was made aware (thanks, Lutz!) that Alan Turing has finally been pardoned. See this article on the Universal Machine blog.

Posted Monday night, September 23rd, 2013 Tags: