Monthly Archives: August 2008

Love of abstractions

2-3 Turing machine

Once, when I was seven, my teacher gave the class an assignment to draw a picture of a bird. We used wax crayons and the teacher told us: “Be sure to use colors on every part of the picture. There should be no white on the paper when you finish.” I set out to draw the most beautiful bird I could, but I soon found the task Herculean. I pressed as hard as I could, but tiny spots of white always remained within the strokes of my crayon.

At the end of the lesson, I had barely managed to fill a dozen square centimeters with satisfactory saturation. The only color I had used was the blue of sky, as I had had no time to shape the bird yet.

I found it deeply unjust when the teacher disapproved my attempt, and congratulated pupils who had completed their drawings with a lighter hand.

Fast-forward twenty-two years.

I spent the last two weeks of my summer holiday at the European Go Congress. This was my first tournament in over two years, so I didn’t have high expectations. I ended up winning six games out of ten, which I was very happy about.

I adore this game. The way high-level concepts emerge from simple rules is very similar to how numbers form beautiful patterns in mathematics.

Come to think of it, this is almost the definition of fascinating: complex behavior arising from simple systems.

This is what draws people to computer science, and this is what draws them to go.

As I did twenty-two years ago, I still find it natural to start thoughts from a blank slate, with no presuppositions. When I am given a set of rules, I intrinsically consider them to be complete – even though I don’t follow all rules quite as literally as I did back then.

I am thankful that I have a hobby and a job where this trait of mine is a strength instead of a weakness.