Finally a new podcast episode, and once again one I made while walking in the bush, describing what I've been able to build in the few days I've been able to reserve for the project since the beginning of the year.

First I talk about the changes I've made in preparation for having the blind watchmaker cause muscle movements, which involved expanding the Span class. Span describes the relationship between the ends of an interval. Now you set the span with an amount of time attached so that the span changes to the new value, but slowly. Also, and more fun, is the "perturb" method which takes the span through a number of different lengths and then back to the original. This is a muscle contraction and it can be brought on by executing blind watchmaker instructions.

But more fun is the blind watchmaker itself, because I have completely refactored it so that now it's based on Java Generics! This is effectively proof that it cannot know what it is doing, because that's the way generics works. It's proof of blindness. I'm really happy with the result of the developments so far, and the whole time it still works for building darwinathome bodies.

Just like in Java you might make a "list of chickens" with generics, here you have to create a few classes to set up a blind watchmaker evolution scenario. I am, for example, creating an evolution of "fabrics".

First there is a "body" class (whatever that might be, for me it's a Fabric) and then there's the "energy" class which is now required to be the return value of every instruction method (in my case, just an Integer). Every instruction method must return an energy object to tell the blind watchmaker what the cost was of the instruction call. After defining these and a few behavior classes (behaviors on your body class, or implementing Behavior) and an evolution should be possible. My behavior classes so far are Growth and Movement.

This is just a first crack at explaining things, so if you don't get it all yet, don't worry. I plan to write up good documentation on this "generic watchmaker" system, because I think it'll be applicable to a whole bunch of domains, not just my geometrical stuff.

Don't miss Biota Live this week because Tom Barbalet and I will be chatting about Darwin at Home.

Technorati Tags: