Sunday, 10 November 2013


All around the web you can find blogs which were once tended with care, day-by-day, week-by-week. Then one day ... nothing. You're left wondering what happened. Did their author literally get hit by a bus? Or what?

Rather than leave you in a similar state of puzzlement, I thought it more polite to sign-off explicitly. I have not (hopefully) been hit by a bus, but I've become a whole lot busier. I was quite surprised to see that, according to "wc" anyway, I have this year written approaching 30,000 words on this blog. But for the foreseeable future, I'm going to be rather too busy with other things to keep that up. So I think it's better for now to just stop.

I've enjoyed writing these posts, and I've enjoyed the discussions that they sparked, mostly by email behind the scenes. (Drop me a line if you have any thoughts about them. I'm sure I'll have time for that.) I think I understand agile development much better now through writing about it here. I'm glad I got various ideas about teaching programming down in black and white. I was surprised by the popularity of the robots game. I was also surprised by how hard it is to write up recipes that I cook all the time in a form that might work for other people.

And I've still got a list of things that I intended to write about but didn't: thoughts on the difference between programming languages and programming systems; an "absentee review" and retrospective on The Mother of All Demos; a development of Meta-II called "metaphor", which I've put on GitHub but not really explained. At the end of the day I think I have made some progress following up my two initial trains of thought: that we could do programming a whole lot better, and that we could learn something from another group of people who produce things every day, the people who work in kitchens. But I think there's a lot more to be said, a lot more to be discovered.

So, I hope you enjoy the posts that remain here. (They will probably make more sense if you start from the beginning.) I think I'll be back one day to add some more. But I may be some time ...

Sunday, 3 November 2013

"Film Night"

Here are videos of some interesting talks. Grab a bag of popcorn — or more healthily, a bag of pork scratchings — and settle in to enjoy ...

Recent Developments in Deep Learning
Geoff Hinton, 30 May 2013 (65 minutes)

Neural nets have been around for a long time, but people could not get them to work as well as they had hoped. The explanation for this was that learning by backpropagation would never give better results because:
  • It required labelled training data.
  • Learning time was very slow with deep nets.
  • It got stuck in local optima.
Surprisingly, every one of these statements was wrong. Deep neural nets are now practical, and they can do amazing things.

Monads and Gonads
Douglas Crockford, 15 January 2013 (49 minutes)

Yet another monads tutorial? Is it any more comprehensible than the others? It's certainly more entertaining, if only because Crockford asserts that you don't need to understand Haskell, you don't need to understand Category Theory, and if you've got the balls, you don't even need static types. (As you might expect, he uses Javascript. I really enjoyed this talk, but I found that I had to re-do his Javascript in Python to make sure I had understood it right.)

Mission Impossible: Constructing Charles Babbage's Analytical Engine
Doron Swade, 8 May 2012 (87 minutes)

This is longer than the others, but there's really no heavy-lifting in this talk. Swade outlines the very ambitious project to complete the design and construction of Charles Babbage's Analytical Engine. (If you want to support the effort, you can make a contribution at