Over the Christmas break I did a bit of LogJam hacking to make it export to sqlite directly. I had been hacking all of this O'Caml code -- I have a simple sqlite3 bnding, and then HTTP libraries -- with the sorta eventual goal of getting a useful export of my LJ data, and then it occurred to me that LogJam already has done all of the pain of LJ exporting. Of course, doing that goes back to mucking with autoconf to conditionally depend on sqlite, etc. and it sorta tempts me to gnaw my arm off to escape. I'm also envious of the HTML, graphing, etc. widgets that .NET on Windows likely provides. Every time I have to manually construct in C what's effectively a closure I get all frustrated.
I've been especially tempted to make a good journal search. Now that I work at a Search Company it's funny that I used the term "search" for the LogJam journal-scanning functions, which actually just iterate over every entry. I haven't looked at any search-related code at work yet and I only have a vague impression of how it works -- y'know, the indexing process generates posting lists and then you intersect them to do boolean ANDs -- and I thought that'd be a fun project. But maybe it's too close to what I actually do work on (scoring, roughly) to be kosher.