Here's the weekend story, with it's sad ending, too:

"How cool would it be if I could capture visitor IPs for a certain url and plot them on a map, like Google maps?," I thought to myself.  "Very cool," myself responded.  Grab the IP from, say, the IIS logs or whatever and do a lookup.  No problem, right?  Wrong.  Innumerable ips to look up, lots of DNS, stupid IIS permissions.  "How about a javascript that calls a simple page to record the host ip and the datetime?," I said to myself.  Slightly concerned that I was going crazy, I replied tentatively, "Sure, that sounds good."

I grabbed the raw delegation ranges text file that ARIN has mirrored for RIPE, LACNIC, and APNIC (RIPE has AFRINIC's mirrored) and stuck them in a db (there're only about 70,000, a lot less than the max amount of ipv4 ips), made an IP address to IP number conversion utility, a quick lookup utility to get the IP block of a particular IP number and, finally, a little whois'er that queries the block registries (not domain registrars) and grabbed city and country name.  The last little bit was manually adding geocoords (lat,lon) to each city in the city table, but that's easy.  (I'm thinking about how to automate that bit, too.)   Phew!  Technical mumbo-jumbo aside, I get the visitor's city and plot on map.


The final result looks sweet. (Petah Tiqwa, Israel?) For example, this blog's hits come from all over, see here.

This morning, as I'm perusing some news I see that Google's releasing their analytics product for free (Free Web site therapy, Reuters, 11/14/2005; Google Press Release).  Yay!  I like Google.  Then it hits me:  I've just been housed!  Granted, they've probably had the idea for a lot longer, more resources than just one guy and a weekend, and much, much more data, but check out the neat picture from their main page:

It's (of course) got a map to track visitors! (Their map is Flash, though.  Odd, I thought, when they have a map tool. Seems like this analytics suite was bought/enhanced from some company called 'Urchin5'?  May have to look into it, may not care so much, either).  It uses a simple little javascript to ping their servers. It has pie charts.  Everyone knows that pie charts are the end-all-be all of cool.  Google:1, Me: 0.

Of course, I'm not competing with their product or even into "analytics," I'm just experimenting.  I learned a whole bunch, too.  For instance, NET 1.1 (which I used instead of Java, for kicks, or 2.0, which looks pretty neat, too) is pretty straightforward, once you get used to its quirks.  I dislike how it reformats HTML and how it doesn't compile in the background like Eclipse.  Parsing registry data into a db's easy, lookup reconciliation's not too bad, and generating javascript for the Google maps is a snap.  I'll keep playing around with my app, trying to make it more efficient and automated, but I'm going to stick on the Google Analytics' javascript on a few urls.  Since they're (Google, collectively) smarter than I am (and have a patent on address geocoding), I'll be interested to see how well my data tracks.

[Edit: here's a story about how Google's liberation of the Urchin product effects analytics firms: WebSideStory Stock Falls on Google Plans, AP, 11/14/2005.
Urchin, also a San Deigo company, was acquired by Google in March 2005 and was, apparently, big news in the SEO community.  Urchin's service was a $199/mo.]

[Edit: replaced the link to the Google patent on USPTO with a link to Google's patent search on the patent. Neat!]