This is so Neal Stephenson!
I agree that that was probably the idea, but then they need some way of managing the precision of their answer. Don’t pretend to have specific coordinates when you don’t.
And in-band special values end in tears far too often.
Aside from the “Move fast and break things(for other people) because why care more?” attitude; is anyone else’s significant-digits-and-related-practical-epistemology training causing them to cry out in horror at the depraved, degenerate, sickness of mind that would cause someone to handle cases of uncertainty or absence of data by returning a completely fictitious; but syntactically-indistinguishable-from-all-other-results, value?
I’m not even asking for some sort of elegant formalization of the extension of the concept of ‘confidence interval’ to 2 or 3 dimensional GIS applications here(though extra credit is available): but ‘act precisely as though you have a high-confidence answer; but return garbage’ is about the most dysfunctional possible behavior in this situation. Why would you do this?
In which case it should say, “unknown location, USA.” (etc.) If you don’t know what state something’s in, you would never give a specific street address for a specific town, which is the equivalent of what’s going on here.
Who’s looking forward to sea levels reshaping the continent? THESE GUYS.
Why the programmer?
This is the sort of case where the programmer asks “What do I do in this case?” And it’s an executive decision to default to the center of the country.
Programming is full of cases where there’s no perfect default behavior, so management is asked how it should be handled.
I just looked up the ip address from my home on Maxmind and it gave me ordinates to a school more than 5 miles from my home.
I tested the address for the mail server at the company I work for and it gave me the wrong city.
I also tested the ip address of our vpn server and it is off by 300 miles.
How do they get away with giving coordinates???
Because they are not using a default location. Apparently their software returns the lat-long of the location. However, that is not what information it actually discovers. What the software seems to do is find the lowest level human defined location, whether it be an individual building number, street, township, or whatever. It then translates that human defined area to a global coordinate point. Translating an area to a point necessarily involves loss of information. In some cases that loss is huge. What it should be doing is also telling the user how accurate that information is.
I’ve run massive sets of IPs from firewall logs against the MaxMind database before. It’s useful for getting a rough idea for where attacks are coming from by country or state. It also becomes pretty obvious that there’s a default location for when they don’t have good data, and it isn’t some large datacenter hidden under a farm.
ETA: There’s also a pretty good clue when it is returning such a record, as most of the fields return “None”.
Here is a default record:
{‘city’: None, ‘region_code’: None, ‘area_code’: 0, ‘time_zone’: None, ‘dma_code’: 0, ‘metro_code’: None, ‘country_code3’: ‘USA’, ‘latitude’: 38.0, ‘postal_code’: None, ‘longitude’: -97.0, ‘country_code’: ‘US’, ‘country_name’: ‘United States’, ‘continent’: ‘NA’}
Here is one with more specific info:
{‘city’: u’Sunnyvale’, ‘region_code’: u’CA’, ‘area_code’: 408, ‘time_zone’: ‘America/Los_Angeles’, ‘dma_code’: 807, ‘metro_code’: ‘San Francisco, CA’, ‘country_code3’: ‘USA’, ‘latitude’: 37.42490000000001, ‘postal_code’: u’94089’, ‘longitude’: -122.00739999999999, ‘country_code’: ‘US’, ‘country_name’: ‘United States’, ‘continent’: ‘NA’}
Even a default location is useful. Probably the most common use of IP geolocation is streaming media services by YouTube, Netflix, Comedy Central and others. Their rights are determined by country. And so a default location - so long as its within the right country - is all they need.
They should return two sets of coordinates, defining the N/S/E/W bounds of the area that the IP address is within. That’s the only truthful way to answer the question “Where is this IP address physically located?”
You can tell by whether or not it has city or region codes.
Sure. Whether the programmer checked with the manager or not, it is still a defect placed in the system by a human being. It is probably a “design defect” but “programmer malpractice” gets your attention. I realize that nothing is ever the programmer’s fault, but it is a place to start. As long as you continue to use words like “glitch” or “bug” no one will ever be held responsible.
My cell phone and iPad give a set of coordinates plus a radius within which the actual location will be found.
But neither is good enough for streaming media services like YouTube, Netflix, Comedy Central and others. Their rights are determined by country. N/S/E/W bounds of the area that the IP address is within - if it’s mainland US - would include most of the population of Ontario, Quebec, New Brunswick and Nova Scotia. Include Alaska, and you include almost all of Canada. A default location for the country works better.
If the country is the important thing, then a country code, WITHOUT a set of lat/lon coordinates, is much better, as it doesn’t convey false information.
Well, sure. But if it’s a web service promising to return a set of coordinates, a country code isn’t an option. Not without breaking whatever pages already depend on it.
Ideally there would be a second web service for that.
It seems that MaxMind is not actually making any claims about the address though. It’s the people who hire them who have their own suspicions of what those with a given IP address may or not have done. A company asks “Where is 000.000.000.000?” and the company says “They seem to be around here.”
Still, people shouldn’t believe random data from the internet, or anywhere else. An IP address by itself is hardly evidence of anything.
Thank you MaxMind!
But our spammer is in another castle!
When law enforcement agents asked companies like Google and Facebook for
the IP addresses used by suspected criminals and then mapped them using
tools like this that relied on the MaxMind database, it pointed at the Taylor house.
Well that’s just stupid. Does MaxMind actually advertise that they can pinpoint a house with their data set? It seems to me like this is a case of people not understanding the relevance of the data and expecting miracles from it.
Because they didn’t want to allow NULLs in their database?