Goruco Videos

Giles Bowkett

Archaeopteryx: A Ruby MIDI Generator


Archaeopteryx generates MIDI bytecodes which produce music via prosumer applications such as Propellerhead Reason. If you’ve ever wondered whether or not use cases really exist for Ruby features like lambda, eval, continuations, and higher-order functions, Archaeopteryx demonstrates not just the usefulness but the power and flexibility of these techniques. Archaeopteryx also uses statistical AI methods - specifically, probability matrices, similar to those used in naive Bayesian classifiers – to define templates for possible grooves.

An experiment in progress, Archaeopteryx currently generates techno drum rhythms and New-Agey ambient soundscapes with ease. Developing additional features by the time of GoRuCo is very, very likely. Following the pattern of all successful technology projects, Archaeopteryx targets low-hanging fruit with superior technology, and scales up from there. This presentation will feature no slides at all, and focus instead on demonstrations, explaining existing code, and writing new code live.


Giles Bowkett's programming blog is well-read in the Ruby community and occasionally gets 10,000-visit days. He has worked with Perl, PHP, Python, Java, JavaScript, ActionScript – all the usual suspects – and now spends nearly all his time coding Ruby. He’s worked on the streaming video site Hulu and contributed a patch to Rubinius, he has a recipe in the upcoming “Advanced Rails Recipes” book, he’s speaking at five conferences in three countries in 2008, he regularly checks in code before 8am on Saturdays, he kind of needs to get a life, and between December and February 2007-2008 he released 9 open source projects (with more coming). Giles studies acting with the same feverish intensity he applies to programming. He also practices meditation, which, when you consider everything else, is probably a good idea.