Converting latitude and longitude to timezones

If you've fought it out with localization(l10n) of timezones then you know it can be a pain in the ass.  Further, suppose your localizing arbitrary information where all you've really been given is an address.  The relevant information isn't necessarily in your system and the user might be in the wrong timezone anyway, so no sense in using that. Here's a quick Ruby means to convert latitude and longitude into a timezone ActiveSupport recognizes.  This snippet only relies on Hpricot and the freely available Geonames API: GMT offsets are a convenient way for moving time data in and out of UTC as well as for not having to deal with arbitrary string names.