21 Feb 2003 dto   » (Journeyer)

I'm typing this from my brother's house, babysitting for his two insane dogs. I've got a chihuahua named "Ocho" on my lap--she's hiding from Otto the spastic Italian greyhound. What a perfect opportunity to update my advodiary.

School. Still waiting to hear back from those graduate CS programs I applied to--I don't expect to know for another month or so. Sucks having to wait just to see where I'll be in September; will I be living in Amherst, or Boston, or what? Whatever happens, I can't stand living in the towering shadow of Worcester, Massachusetts anymore. Where we had 20+ inches of snow the other day in the space of a few hours.

Code. So I've been doing a little research to finalize the application protocol for Octal. Or rather, I've been reading other people's research papers via CiteSeer. There's an interesting research project called W/Aura [paper] whose underlying message-passing-style object model I really like. The salient point seems to be that objects do not obtain information (i.e. propertly values) from another object by invoking synchronous "get" methods; instead they receive the information asynchronously, possibly in response to a request, possibly not. Not only does this neatly sidestep the RPC ontology quagmire, it also looks like a natural model for low-latency server design---asynchronous interaction means you never have to block.

Berkeley CNMAT's OSC doesn't overtly aspire to the status of an object model, but the general idea is implicit in what I gather of OSC's semantics. What OSC does bring to the table is an abstract, hierarchical namespace with slash-separated paths; it supports dynamic discovery and update of "addresses" within the namespace. I would like to support OSC, as I see no reason for the continued existence of the limiting Atari-5200-era wire protocol known as MIDI--other than for plugging a keyboard into your computer.

I've decided on the general flavour of what I had been calling the "wavetable." I wanted the general functionality but didn't want to restrict the model to just storing loop points and fine-tune. I'd been interested from the start in allowing musicians to define more complex arrangements of samples while still supporting mainstream features such as velocity cross-switching in a straightforward way. An interesting idea from the world of speech synthesis seems to fit my desire: [paper]

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!