I had this article in my google reader starred items for over one year ... and for a good reason.
The different way of thinking to successfully exploit concurrency fascinates me.
In this article Kristian starts by comparing software state variables to moving parts in hardware. They might seem to be working ok, but chances are they will be the first ones to fail. Ok, it makes sense to me ...
The suggested solution is not easy to accept (as an efficient solution), basically because it is a different paradigm (functional programming) than most of us are used to.
As an alternative, for when mutating data is a must, he suggests using the active object pattern. I like that ;)
In the end, I see his solution as a trade of memory for computing speed (the oldest trick in the book?) Anyway, it's a nice point of view, and I would like to give it a shot ... when I get my hands on something with more than 4 cores ;)
Concurrency and paradigm shifts
Burn the Rope
I really needed to share this here.
Burn the Rope is a nice game, with a great sound track.
Try it!
Clutter
An experimental version of Clutter running on the iPhone.
With support from the gtk community, but not related directly, it looks like a great project to keep an eye on. I hope this plays nicely with openmoko ;) (I know it will)
On the techy side, it's nice to see it runs using OpenGL, and even nicer to see support for OpenGL ES. This means it is ready to run on a bunch of embedded OpenGL implementations!
Agile in game dev
This article at gamasutra is a very nice introduction to agile (specifically eXtreme Programming).
I am trying some of the techniques described there even though I'm not (professionally) working in an agile project (we're getting there...).
Some of the topics that got my attention:
Test Driven Development (I'm a sucker for this ;) )
Pair Programming (great Idea, bad for my last.fm stats ... )
Continuous Design (because it just makes sense)
...