Recreational Programming
For recreation, some people like to do NY Times crosswords puzzles in ink. Me, I like tackling small, incremental, computer programming tasks. A few years ago, that was Gump, these days it is the Feed Validator. And until I wrote that sentence, it hadn’t occurred to me how similar those two tasks are: the immediate goal of each is to get consumers and producers talking about interfaces, with the ultimate goal of improving plug and play.
As it happens, this particular morning I was coding up initial Feed Validator support for Media-RSS when Tim pings me via Google Talk to discuss a few Feed Validator issues. I point to a section in an RFC, Tim points to another section, we both (re-)learn something, we both make changes, and we both deploy them. Everybody’s happy.
Along the way, I discover that ''.encode('idna')
returns '.'
in Python 2.4 and ''
in
Python 2.4.2. This is important as
urljoin(baseURI,'')
and
urljoin(baseURI,'.')
mean completely different things
if the base is
http://www.tbray.org/ongoing/ongoing.atom
.
Another lesson learned. Another lesson committed to
code. And now the Feed Validator works the same on both my
laptop and on feedvalidator.org.