One More Cup of Cocoa 'Fore I Go

Well, the Summer of Code is winding down, and I'm going to be spending the next few days whipping up a wiki and a code repository. I just want to make one more quick change before it all comes crashing...

Configuration Shuffling

In order to make the headless CocoaBugs actually useful for most models, we want the ability to set a range of random values for a simulation to assume. Then, researchers can build a model, decide on a range of values...

ALife XI

The ALife conference was amazing. Our research, though there is still a world of work to do, was very well-received by the audience, and we have many new ideas for directions to take it in. (As if we didn't have...

Still busy!

Alright, so, I haven't done much the past few days, and won't be doing much for at least a week. A few colleagues and I are scrambling to prepare our presentation at ALife XI in Winchester, UK (leaving on Friday),...

Headless Cocoa Bugs

...is a good name for a rock band. Last time, we saw how to create nice friendly configuration files for CocoaBugs. Today, I'll be talking about how to use those config files to run ALife simulations headlessly in a new...

Busy!

Sorry about no posts for a while--I'm so bad about that. I've been super-swamped the past few weeks helping out a Portland company with their iPhone app. Rest assured that I am on track. I'll post tomorrow about some first...

Saving and opening files

Previously, we saw how we could build a framework GUI to translate the configuration options for a given ALife model into a configuration window that could provide an NSDictionary of key-value pairs to give to our ALife models. That was...

Plugin Configuration: An Adventure in GUIland

So, we've got plugins, but we don't have any way to actually run them yet. For that, we need a GUI. Implementing all this in a relatively sane way required a fair amount of work and classes, so I won't...

Bugs Plugins

In the last post, I intimated that moving our models out into their own plugins was going to be really, really easy. It turns out that that's absolutely true! How nice. We already had several models, loosely coupled with the...

Express Abstractionism

The last few posts have gone into detail on some techniques to reduce the coupling between different parts of the CocoaBugs framework. Specifically, we want to move towards a plugin-based solution for running different ALife models. Plists and key-value observation...

Cocoa Mystery of the Moment

Cocoa gets a little too helpful with missing methods...?

What's the deal with .plists?

In the last entry we talked about one way to abstract away the differences between ALife models (specifically, differences in relevant statistics) by connecting classes with key-value observation. However, the solution was a little constricting and nonextensible. Let's leverage the RAW POWER OF XML to make our job a little easier...

Module configuration

CocoaBugs aims to provide a framework for user interface, statistics gathering, and generation of configuration files for headless operation on cluster nodes for a variety of artificial life models. Facilitating all of these options requires intimate knowledge of the models which will be, one hopes, written for CocoaBugs in the future; managing this sort of knowledge in a flexible, scalable way is a significant challenge...

Back from WWDC

Time to hunker down on the bugs...

Welcome!

This is my summer of code blog. There are many like it, but this one is mine.