I’m hacking on Minara again. Undo, transformations, and the pan&zoom tools are taking shape.

Undo is a double-linked list of undo/redo actions attached to each buffer. Hopefully it’s efficient and robust. I need a way for functions to tell the method calling them to stop without returning a value and without being passed a function to call. Oh, and without using globals. Easy, huh? 🙂

Transformations I’m going to cheat and use OpenGL transformation matrices for: other renderers and the export filters can interpret calls to push and pop the transformation stack and do whatever they need to.

Pan & Zoom use transformations, and have their own buffer at the bottom of the buffer stack. The current Pan & Zoom data is stored in buffer variables and the buffer is regenerated as needed. This is a nice example of how Minara’s design philosophy gets a simple, transparent implementation of something that would otherwise be entangled with the guts of the system, hidden away from the user.

I think I’m going to use FLTK for the UI basics. It’s too much effort for too little reward to write anything myself at the moment. File load/save and CMYK colour dialogs will help make Minara feel much more usable.

One this round of development is done, next it’s picking and copy/paste. Then a decent pen tool and Minara is ready for 0.1!


Federico Carraro blogged me:



Agent Emotions

Modelling emotions is an important component of artificial intelligence art. Not because of any outmoded romantic ideas about tortured genius, but because curiosity, boredom, excitement and satisfaction direct art better than infinite recursion.

Emotions For Believable Agents

Howard R. Barnhart

Via the ever wonderful DataIsNature:

Howard R. Barnhart

Free Culture Roundup


Publishers and learned societies are fighting a last ditch action to stop the research findings of thousands of British academics being made freely available online.


why can’t DRM be made open source?

Microsoft abandons its customers AND copyright to kiss up to Hollywood

DRM apologists claim that DRM can be used to model the preponderance of fair uses, but this is completely untrue. Fair use almost always hinges on intention — there isn’t any software that is capable of reading a user’s mind and determining intention.

Architecture and Copyright: Order Without Law

The only way to avert the problem of plagiarism is to be a moving target. If your work is copied and that upsets you, it means you waited too long to move on.

Open DRM = Dry Water

That's the consensus at EFF after we took a look at Sun Microsystem's plans for an open DRM project perplexingly called “Open Media Commons”

GPLed Bear

Via Make:


But you’ll have to provide the source with the binaries. 🙂


OK, where can I get these in the UK?


Berlin Virtual Library

Lots of interesting material on and by Isaiah Berlin, includes some downloadable PDFs of work:

The Isaiah Berlin Virtual Library


A software art project where drawings draw themselves:



Booorn Freeee

I switched my iBook to Debian GNU/Linux as its main OS on Sunday after finally getting the ASUS wireless dongle working (Airport doesn’t work under GNU/Linux). I’ve kept MacOS X Tiger on another partition, but the only time I’ve booted it since Sunday was to quickly get my RSS subscriptions out of NetNewsWire.

I’m using BloGTK for blogging, GAIM for instant messaging, Firefox & Firebird for web & mail, and Liferea for RSS.

I’m still using Emacs, Inkscape and Gimp. They’re better under GNU/Linux than under the X11 system on MacOS X.

The user interface isn’t as good as MacOS X, but with GNU/Linux that’s up to me. Freedom and responsibility, it’s a groovy combination baby, yeah!