Making it
"If you want something to get done, ask a busy person to do it." I haven't been accomplishing much lately, so obviously I'm not busy enough.
There are several seemingly-unrelated projects going on in the household
at the moment: I'm starting my next album, the
They're all more closely related than one might think.
You see, I'm a geek. I think nothing of writing a big pile of Makefile templates and Perl scripts to cobble an album, a songbook, and multiple websites together from the same set of sources. The Cat is emphatically not a geek, she wants to be able to type recipes in, maybe to a text editor or a blog client, and have them magically assembled into a cookbook. And a website, of course. Hmmm.
Meanwhile, I've been dissatisfied with the available "content management
systems" (a category which includes blogs and wikis as well as monstrous
enterprise document management systems like Alfresco (which is pretty damned
cool, but then I like monsters, not just ponies and monkeys. But
I digress). Partly this is because most of them don't let me use my own
version-control tools and my own editor, and essentially none of
them take advantage of make
.
Not even ikiwiki and blosxom, which probably come closest to what I've been working on.
I like my tools. They pull together metadata from a variety of places, including (for example) song lyric files, recording projects, and local metadata files, and build CD masters, ripped files, playlists, annotated track listings, and multiple web pages. They could do that for cookbooks, too. Or blogs.
What make
is, fundamentally, a program for working out
dependencies and following rules to run the commands that rebuild
whatever depends on the files that changed since the last time you did
it. This is just what ikiwiki and blosxom do, only they do it with massive Perl
scripts that rumble over your directory tree and figure out what's been
changed and follow rules to... Right. Why reinvent make
?
The tools have to allow varying degrees of participation: public comments similar to blogs, but also more intense collaboration on editing and recording. I'm not going to be shipping pre-order bonus disks this time around: I want to sell subscriptions to the development process.
... So that's the plan: to refactor my CD, concert, and web tools so that they work for assembling books and blogs as well, publish to hardcopy as well as on multiple websites, and do it in a way that's extensible (with plug-ins), collaborative, and simple enough to be used by non-geeks.
I'm probably going to need a lot of help with that last part.