Geonames is a project mainly written in Ruby, it's free.
Working with the GeoNames data
404: Not Found