Kamaelia technical overview

I found the project Kamaelia a few weeks ago while looking for an alternative to stackless python in “regular” python. After doing a lot of digging, reading, and trying to get through my thick skull the differences between asynchronous processing and concurrent processing, I finally stumbled into the “in front of your face” option of Kamaelia.

I had a hard time sort of “getting it” – the project itself is very focused on media, so when I first saw it – that actually kind of turned me off of it. Not because I don’t like media, but just because I didn’t see quite what it was doing under the covers to solve the problems I was interested in.

Turns out one of (I think) the best technical overviews of Kamaelia is the BBC White Paper (pdf) entitled Kamaelia: highly concurrent and network systems tamed. The pieces that I’m really interested in are the lower level bits – Axon and some of the utility pieces.

I’m still groping about for a way to interact between a stateless system interface (aka “the Web”) and a system that is inherently maintaining state. Doing actions in the background from, say, a web application written in Django. Verifying that under a reasonably high load you don’t run smack into race conditions can be a real pain in the butt. I don’t know if I’m going to find some of the answer in using Axon or not, but it’ll be an interesting experiment at the very least.

(for the record, the folks on #kamaelia were exceptionally helpful in pointing me towards resources as well)