I hate squirrels
In the summer, they eat my tomatoes. In the spring, they eat my bulbs. now, they are building a nest in my barn (well, it's not really a barn, per se, it's a 8x10x12 shed with a gambrel roof that I built and stained to look like a barn).
so, now do I not only have to tape my daughter's room, sheetrock our bedroom, install 8 new doors, sheetrock and floor the two rooms downstairs (that we haven't used in the 2 years since we moved in), but I also have to waste my time removing a squirrel's nest from my barn, cut new OSB strips for under the eaves, nail them up, and stain them. then I have to go back every day to see if the squirrels (the bastards) have eaten through them again.
now, I'm covered in sawdust and mad.
but life balances out. Paul released an RFC for Apache::TaintRequest
today. This particular module is a really good example how Open Source collaboration just makes for better code.
I spent a week at the shore in September. rather, my family spent a week at the shore and I came along with my laptop and wrote all day. Anyway, by the end of the week I had this module Cookbook::PlugCSSHoles - it took me so long to write because I was working on how to intercept all possible mod_perl writes: $r->print() and print STDOUT calls, as well as the "feature" that automatically dereferences printed references. after tuning the module and coming up with a schema I liked (and is rather elegant, I think) escaping HTML was as easy as calling Apache::Util::escape_html(). The code went on like this until the final stages of the book and nobody (including me) noticed that it escaped all
data, so you couldn't print('<html>'). Once I saw this, we all felt kinda stupid, and I was all set to toss the entire thing (10 or 12 pages, IIRC) when Paul said, "hey, I have an idea" and brought Taint.pm into the mix.
The result is something rather slick, and the TIEHANDLE code became the basis for a few other modules.
The point to all this is that I spent the better part of a week working on something and was willing to toss it all when I hit a roadblock. Someone else looked at it, though, and was able to leverage my work into something even better. I have to say, that feels really good. many kudos to Paul for that.