Writing a parser is annoying. I think you have to do it quite often to become good at it, because every time I sit down to write one, I make the same mistakes again and again. This, of course, means I have to learn the same lessons again and again.
I'm writing a Parse::RecDescent parser for a cleaned up version of the OODB code. Acme informs me that I should use Parse::YAPP instead, but I'm not sure I can be bothered with that (patches welcome, acme!:) It should be winging off to CPAN Real Soon Now.
This is all in an effort to get a mini-language for writing OODB queries, which means the aforementioned queries can be easily parsed, which means they can access the object indicies, which means that OODB will return objects much, much faster.
My todo list, it seems, is ever growing:
 Finish off OODB
 Attribute::Method can be modulized (see pdcawley's journal)
 Pipeline (dispatch logic and table need separating from the pipeline and segment code)
 OpenFrame should be rewritten to use Pipeline
 Various talks that I'd like to give need writing. This is to be done at an indeterminate time in the future, but its still on my TODO list.