Main Page
Contents
What is this?
XKCD comic #426 contains an algorithm that generates random coordinates across the country1 every day.
These coordinates can be used as destinations for adventures, à la Geocaching. They can also be used for local meetups.
For a little more interactive discussion consider joining the #geohashing IRC channel on Foonetic.
1. Europe/Asia date handling still under discussion, see Talk:Main Page.
How it works
Play with the coordinate calculator here: http://xkcd.com/geohashing
Every day, the algorithm generates a new set of coordinates for every region. They are randomly placed -- they could be in the forest, in a city, or on a mountain. You can use this wiki to document the coordinates (geohashes) you've been to.
Unless you can predict the stock market, you can't figure out what the coordinates will be ahead of time. You can first calculate a weekday's coordinates at about 9:30 AM (Eastern), and on Friday morning you can calculate the coordinates for each day that weekend.
If you go on Saturday afternoons, you might encounter other xkcd readers. Bring games!
When the coordinate falls somewhere dangerous or illegal to reach, use your judgment. If the coordinates are in an obviously unreachable place (e.g., ocean), the meetup is postponed until a better day. Alternatively, rent a boat.
Official Meetup
The official xkcd meetups happen every Saturday afternoon at 4:00 PM (local destination time). If the coordinates for your area are in the ocean, a military base, or somewhere otherwise unreachable, that meetup is of course postponed. Unless, of course, you own a boat, are a soldier at said military base, or are James Bond. If you can, record who's there, take pictures, and post them here.
Implementation
A sample interactive coordinate calculator can be found here: [1] A reference implementation is available here: view download
A python implementation:
import md5, datetime, struct, urllib, re date = datetime.date.today() djia = urllib.urlopen(date.strftime("http://irc.peeron.com/xkcd/map/data/%Y/%m/%d")).read() sum = md5.new("%s-%s" % (date, djia)).digest() print struct.unpack(">Q", sum[0:8])[0] / (2.**64), struct.unpack(">Q", sum[8:16])[0] / (2.**64)
There is also a Python package xkcd.geohash
which is independent of the interactive coordinate calculator (but uses Google Finance as well).
Yet another implementation in Python is here as well. It does the same as the ones above but also gives "validation" information. Lets you know if the geohash location is under water and thus if its a valid place to go party :). I'll add more terrain recognition if people like it. A webservice to access it can be found JSON Web Service and an application using the web service can be seen here Application. The code is over here Source Code
If you're looking to code your own utilities and need a source for the Dow Jones Industrial Average for a day, NuclearDog has set up a mySQL backed page to query the value that automatically updates hourly. Details on this service (and others) is available at Dow Jones Industrial Average.
Atom feed
You can subscribe to a feed that will give you updates on a daily basis:
http://staticfree.info/geohash/atom/LAT,LON
For example, here's the Atom Geohash for Boston.
Just put your coordinates in, subscribe and you'll be ready to go!
Active Graticules
- Region/Graticule pages named "City Name, Country (or state)" where "City Name" is the most major (by population) urban center contained within it.
Asia
West to East (and North to South):
Australasia
-35, 138 (Adelaide, Australia)
-38, 145 (Melbourne, Australia)
-35, 149 (Canberra, Australia)
-28, 153 (Brisbane, Australia)
-46, 170 (Dunedin, New Zealand)
-44, 172 (Christchurch, New Zealand)
-42, 174 (Wellington, New Zealand)
-38, 175 (Hamilton, New Zealand)
-37, 174 (Auckland, New Zealand)
Europe
West to East (and North to South):
55, -4 (Glasgow, United Kingdom)
50, -4 (Exeter, United Kingdom)
55, -3 (Edinburgh, United Kingdom)
54, -3 (Carlisle / Lancaster, United Kingdom)
51, -3 (Bristol, United Kingdom)
52, -2 (Birmingham East / Leicester / Coventry, United Kingdom)
51, -2 (Swindon / Oxford, United Kingdom)
50, -2 (Southampton / Portsmouth / Bournemouth / Isle of Wight, United Kingdom)
54, -1 (Middlesbrough, United Kingdom)
53, -1 (Sheffield / Leeds / Bradford, United Kingdom)
51, -1 (London West, United Kingdom)
52, 0 (Cambridge, United Kingdom)
51, 0 (London East, United Kingdom)
52, 4 Noord-West Nederland (Den Haag, Leiden, Amsterdam, Haarlem, Alkmaar, Den Helder)
51, 4 (Rotterdam / Antwerpen, Nederland / Belgium)
51, 5 (Eindhoven, Nederland - plus wat België)
52, 10 (Braunschweig, Germany)
60, 30 (St.Petersburg, Russia)
North America
West to East (and North to South):
37, -121 (San Francisco: East Bay, San Jose)
33, -112 (Phoenix West Valley, AZ)
40, -111 (Salt Lake City, Utah)
33, -111 (Phoenix East Valley, AZ)
35, -106 (Albuquerque/Santa Fe, New Mexico)
53, -105 (Prince Albert, Saskatchewan, Canada)
50, -105 (Regina, Saskatchewan, Canada)
40, -105 (Denver/Boulder, Colorado)
35, -105 (Santa Fe, New Mexico)
21, -103 (Aguascalientes, México)
35, -97 (Oklahoma City, Oklahoma)
30, -96 (College Station, Texas)
39/38, -95 (Lawrence/Topeka, Kansas)
35/36, -95/-96 (Tulsa, Oklahoma)
39, -94 (Kansas City, Missouri)
45, -93 (Minneapolis NW, Minnesota)
44, -93 (Minneapolis SW, Minnesota)
30, -92 (Lafayette, Louisiana)
30, -91 (Baton Rouge, Louisiana)
30/29, -90/-89 (New Orleans, Louisiana)
43, -87 (Milwaukee, Wisconsin)
40, -88 (Champaign/Urbana, Illinois)
39, -86 (Bloomington, Indiana)
36, -86 (Nashville, Tennessee)
42, -85 (Grand Rapids, Michigan)
35, -85 (Chattanooga, Tennessee)
36, -83 (Tri-Cities, Tennessee)
34, -82 (Greenville, South Carolina)
29, -82 (Gainesville, Florida)
35, -81 (Gastonia, North Carolina)
40, -81/-80 (Pittsburgh, Pennsylvania)
35, -80 (Charlotte, North Carolina)
43, -80 (Waterloo, Ontario, Canada)
43, -79 (Toronto, Ontario, Canada)
38, -78 (Shenandoah Valley, Virginia)
35, -78 (Raleigh, North Carolina)
38, -77 (Western Washington, DC)
38, -76 (Eastern Washington, DC)
45, -75 (Ottawa, Ontario, Canada)
41, -73 (Danbury, Connecticut)
42, -72 (Springfield, Massachusetts)
41, -72 (Hartford, Connecticut)
42, -71 (Boston, Massachusetts)
41, -71 (Providence, Rhode Island)
44, -63 (Halifax, Nova Scotia, Canada)
Central America
13, -89 (San Salvador, El Salvador)
South America
-34, -58 (Buenos Aires, Argentina)
Recent Expeditions
2008-05-21 42 -71 -- User:Xkcd and cousin Annuska reached the Boston coordinates and photographed a spider.
2008-05-17 37 -122 -- Dan, Emad, and Randall reached the San Francisco coordinates in a successful test.
2008-02-24 45 -122 -- NoTerminal and Drache reached this point as part of an early test while coming up with the algorithm.
Next Upcoming Day
2008-05-21 -- The coordinates for Wednesday, May 21st are available.
Next Saturday
2008-05-24 -- The coordinates for Saturday, May 24th will become available on Friday about 9:30 AM EDT, when the Friday Dow Jones opening price is published.
See TimeandDate.com for Dow opening time in local time zones.
Note that complications may arise due to timezones - not to mention both spatial and temporal abnormalities. (I.e. Individual results may vary.)
Related Projects
Geocaching: Global GPS cache hunt
Geodashing: Monthly points, randomly created
The Degree Confluence Project: visiting every integer latitude/longitude crossing point in the world