Re:Kansas couple who live in a ‘digital hell’ sue mapping co...
by willvarfar on Friday September 23, 2016 @09:09AM
(#12564270)
> about 200 miles off the coast of Africa
Re:Kansas couple who live in a ‘digital hell’ sue mapping co...
by rmc on Monday September 26, 2016 @10:51AM
(#12582286)
> 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.
There actually is a weather bouy at 0, 0. It's mapped in OpenStreetMap with a note of "This is actually here, it's no a bug"
https://www.openstreetmap.org/node/3815077900
Re:Kansas couple who live in a ‘digital hell’ sue mapping co...
by philipov on Friday September 23, 2016 @09:02AM
(#12564228)
And this is why nullable data types are important!
Re:Kansas couple who live in a ‘digital hell’ sue mapping co...
by Filligree on Friday September 23, 2016 @09:06AM
(#12564257)
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.
Re:Kansas couple who live in a ‘digital hell’ sue mapping co...
by sanderjd on Friday September 23, 2016 @11:02AM
(#12565118)
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?
Re:Kansas couple who live in a ‘digital hell’ sue mapping co...
by clappski on Friday September 23, 2016 @11:49AM
(#12565494)
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!).
Re:Kansas couple who live in a ‘digital hell’ sue mapping co...
by sanderjd on Friday September 23, 2016 @07:42PM
(#12568691)
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.
And then there was this deplorable incident ( 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?"