Spent all day working on Olive, mostly indirectly. A lot of people (myself included) have been irritated by the feed polling timer hijacking their session. Desite being on a timer, and therefore not affected by anything you're doing, it has a knack for starting up just as or just after you press a key to do something for the first time in 15 minutes.
No longer. Today I delved into the guts of Curses::UI and added code to (optionally) make it track the time of last keypress and force a delay of some seconds afterwards before timer events are allowed to proceed. A patch and test script have been sent to the maintainer (but I ran the idea by him first, so it shouldn't be a big deal). It's already working in my svn repo of Olive, everyone else will have to wait a few days for b7 (and the new version of C::UI to hit the CPAN).
This will be my first contribution to an existing project of any sort. I've always been working over in a corner on my own stuff. I was fairly terrified of trying to modify the guts of C::UI because a few years ago when I tried to learn how to use Curses.pm, I failed pretty miserably, but today I was able to just look at the code and see what was going on. That was a good feeling.
Several other, smaller improvements to Olive today. b7 should be good. Sungo and obra (and eric!) want OPML support, and pointed me at usable docs instead of the horrible thing that Dave Winer claims is a spec on his website. I'm sorry, but "An OPML doc consists of some stuff, stuffed inside some other stuff, in whatever way you'd like", is not a spec.