Almost a year since I've posted here. Sigh.
I spent quite a bit of the last year helping to write and edit a textbook for bioinformatics in beginning Perl. It should hopefully be published sometime later this year. The two authors I was working with were very open to my suggestions on getting the code into shape and keeping to Perl-ish idioms.
After writing and many rounds of editing, and with a looming deadline, they weren't as thrilled with my suggestion for getting a draft copy to Boston.pm. The reason for this was partly justified as Perl Mongers, like any technical group, not being the target audience for the textbook (something that came up quite a bit in the review process where skilled programmers and Computer Science professors griped about things that arguably aren't relevant to bioinformaticists who are just learning to program). I think having the book reviewed by the Perl Mongers would have been a good thing, so this was a bit disheartening.
Most of my time this past year not spent on the book was spent working on RDF::Query, my pure-perl SPARQL implementation for querying RDF data. Perl is an underdog language in the Semantic Web world, but there seem to be a few people working on keeping Perl able to wrangle RDF easily and efficiently.
Most of my recent RDF::Query work has been on compiling SPARQL queries to SQL so that the runtime of complex queries doesn't explode on large data sets. This often increases the speed of queries by an order of magnitude or more, and puts the speed of RDF::Query ahead of things like Redland, while maintaining the flexibility of user-defined query functions.
My most recent work has been on combining user-defined query functions with the underlying database features so that I can use PostGIS spatial functions directly from SPARQL queries. I believe this has great potential for using SPARQL to make location-aware queries of such things as photos, maps, restaurant reviews, etc. These queries are espeically interesting as a SPARQL endpoint can emit the query results (via XSLT) as RSS or KML which can be used as a live feed of data in applications such as Google Earth and news aggregators. Anyway, lots of fun to be had with that.