
Kansas couple who live in a ‘digital hell’ sue mapping company MaxMind - microsage
http://fusion.net/story/335290/kansas-digital-hell-maxmind-ip-mapping-lawsuit/
======
mxfh
This is a follow-up to an earlier article by the author; maybe you want to
start reading up on this here:

[http://fusion.net/story/287592/internet-mapping-glitch-
kansa...](http://fusion.net/story/287592/internet-mapping-glitch-kansas-farm/)

[https://news.ycombinator.com/item?id=11466849](https://news.ycombinator.com/item?id=11466849)

------
cstross
This isn't an isolated problem; it comes up in other contexts as well.
Consider the default zero-zero GPS coordinates (and use an app for plane or
shipping tracking to look at it). It's about 200 miles off the coast of Africa
and there are thousands of dodgy transponders identifying various vessels as
being located there.

And then there was this deplorable incident (
[http://www.freerepublic.com/focus/news/653846/posts](http://www.freerepublic.com/focus/news/653846/posts)
) in which changing the batteries in a special forces' air controller's GPS
receiver caused it to reset and display its current location rather than the
previously dialled in coordinates of a target, resulting in a fatal friendly
fire incident.

Moral of story; if you're building a geolocation database or application of
any kind it's a _really good idea_ to ensure that the default values it
returns in event of a reset or a query with inadequate input parameters points
somewhere harmless or pointedly asks, "are you sure about that?"

~~~
philipov
And this is why nullable data types are important!

~~~
Filligree
Nullable types are fine. The key is to make them _explicitly_ nullable, so
that programmers are allowed to use non-nullable types as well.

Both need to be permitted. Ideally by way of sum types, but Kotlin's approach
should be okay.

~~~
sanderjd
Why do you need both? Are there use cases for null that are not covered by a
(non-nullable) type with present and absent variants?

~~~
clappski
I think the distinction between nullable types and the non-nullable types you
speak of is fairly narrow, you've just made it type safe (which isn't a bad
thing!).

~~~
sanderjd
I don't necessarily disagree, what I don't understand is the parent comment's
use of the word "need" in "Both need to be permitted". It makes me think there
is something nullable types can do that non-nullable types can't do, and I'm
just not sure what that is. Something like "it is fine to permit both" would
make sense to me.

I guess maybe it's because in a language with no value types (like anything on
the jvm), using Optionals everywhere requires a lot more objects to be
allocated, so in allocation-sensitive code it might make more sense to use
nulls instead.

------
kiehlster
I still ask the question, why use default GPS coordinates? Even after moving
the default to a nearby lake, there's still a large chance that police and
investigators are going to prowl around the lake trying to find whoever's
house lays claim to the center of the lake. Why not have defaults return
invalid or perhaps a square box instead of a point? Moving the point around
isn't going to fix the root of the problem.

~~~
funkaster
I think the problem is not that, but that the people using geolocating ips do
not understand that there is "accuracy" metadata associated with it. Or maybe
maxmind (or whoever is using maxmind) are ignoring the accuracy for that
specific location. To geolocate someone with just an ip, you should never
expect it to be more than "country level" accurate.

I can def see detective Jonhson trying to find child pornographer X with a
warrant to get their location based on an ip. The company doing the
geolocation might or might not tell them: this is the gps coords, but with an
error of a few thousand kms.

Now, if the Arnold's ever want to do something "bad", their situation could've
been the perfect cover up :-)

~~~
lucb1e
> you should never expect it to be more than "country level" accurate.

Well if we're talking about safe expectations... there are no expectations.
Pretty sure it'd not even get the planet right for browsers from the
international space station, or the continent if your IP is newly registered
(e.g. IPv6, but even for IPv4 this still happens).

Cities, in my experience, are often correct and are usually the closest you
get.

------
nullthanks
MaxMind does not say their IP info is good to even a city BLOCK level, much
less an address. Law enforcement is using the data all wrong.

I've used max mind 5 days a week for years and have never seen this effect.

People watch too much CSI. That's not Maxminds fault.

LEO _should_ be contacting the ISP to get warrants for the customer/ip
records. The ISP should know who had what IP when. And the ISP knows where
that customer lives because of reasons.

tl;dr - maxmind did nothing wrong, LEO watches too much CSI

~~~
reustle
What do you mean maxmind did nothing wrong? If their data isn't accurate to an
address, they shouldn't be returning an address, especially to law enforcement

------
whamlastxmas
TLDR: MaxMind uses the coordinates of their home as the default view. Meaning
when law enforcement enters an address but fails to actually submit it, it
shows their home.

~~~
nojvek
$75k is not a large sum for the amount of trouble caused. I was expecting a
much larger number.

------
FrancoDiaz
This went on for 5 years? I would have hired a lawyer after the first incident
and been interrogating the cops on why this is going on.

~~~
lucb1e
Yeah whoever is coming there has some false ideas about how accurate IP
addresses map to physical addresses based on publicly available data. If
anyone could find my home address based on my IP address, you bet I'd be using
VPN 24/7.

Maxmind could have moved it to a lake or something, but other than that I see
no fault on their part.

------
marmot777
Yes, and I hope to god they win!

