Joe has remarked that he finds it ironic that–in this blog–I sing the praises of using emacs and storing one’s data in plain text files, largely as part of a crusade against databases. I also am an ardent supporter of his haven project, which is basically a database project.
While I don’t think this is that contradictory, I do understand how one could make that inference, so I think it might be wise to address this issue explicitly. Lets first do a little bit of recapping:
My response to Joe’s question: how does plain text coexist with haven, in your mind.
The answer is pretty simple, really.
At its core, haven isn’t so much a database, as it is a file system. We don’t think “I’ll set up a haven repository/system for this project,” but rather “Hang on, I can put my data for this, into the haven system.” Haven isn’t a bucket that can be designed to hold anything, it’s a total system that’s meant to hold everything.
And it’s just a low level system. Joe’s work on haven is focused on a server application, and an API. Everything else are just applications that use haven. One such application would (inevitably) be a FUSE-driver which would expose a Haven system as a file system. So your objects in a haven database would be, basically plain text files.
Which kind of rocks.
Now Haven is just a concept right now, but, in general, FUSE is one of those technologies with amazing possibilities because we have so many amazing tools and mature technologies for manipulating data in file systems. FUSE abstracts the mechanics of file systems, and makes it easy to “think about” data in terms of files, even if it doesn’t make a lot of sense to store said data in files. That’s really, quite cool, and powerful for the rest of us.
I’ve seen fuse drivers for Wikipedia, a nonhierarchial file system, http (ie. the web), blogger, and structured data like RSS and other xml, all of which are really cool. I’m not sure if any or all of these systems are done, and I’m not sure that any of these creative uses for FUSE are ready for prime time, but I think it’s a step in the right direction, generally.