2009 (old posts, page 11)

Judgement matters


I think judgment matters. If you have something that you don't want anyone to know, maybe you shouldn't be doing it in the first place. If you really need that kind of privacy, the reality is that search engines -- including Google -- do retain this information for some time and it's important, for example, that we are all subject in the United States to the Patriot Act and it is possible that all that information could be made available to the authorities.

I think Google's hiding behind the Patriot Act here. A search engine company wants to hang on to data to analyze it for trends and develop predictive models that it can turn into revenue. There's a business need for the data that the company would find a way to justify, legislation or no.

The second sentence there, the one that Eric Schmidt is taking so much flak over, doesn't disturb me as much as it confuses me. Is he saying that we all need to simply drop the acts and quit keeping secrets from each other? Be more real? Let it all hang out, man? Is he using a provocative statement to check the internet community's pulse? Is it a "tell"? Is he just winding up the haters?

If you have something that you don't want anyone to know, maybe you shouldn't be doing it in the first place.

How do we keep the tyranny implied in that statement out of the "GeoWeb"?

GeoWeb: utopia or dystopia?

Somedays I have very mixed feelings about where the "GeoWeb" is going:

Example 1: Intelligent Traffic Systems

Roughly translated: A million cars idling for 10 minutes will consume some 140,000 litres of gasoline. At the same time we have serious global problems with climate change and local problems with air pollution. Why should this be the case? The problem can be seen as one in which there is a lack of communication between the vehicles and the road.

I interpret this to mean that the traffic systems should regulate the highways such that this condition does not take place, or takes place much less frequently. One of the functions of Intelligent Traffic Systems would be to minimize the pollution generated by the use of the highway system. Of course, he does not say how that might entail regulation of an individual’s actions but one can easily imagine the vehicle being told it cannot enter a particular section of the highway, or cannot even be taken out of the drive way. What is key in Wen Jiabao’s remarks is that we can use technology to help us understand the consequences of individual actions, and the relationship between those actions and physical laws (”wisdom of the earth”). We can choose to let a million vehicles idle on the highway, but in doing so we cannot avoid the consequences for air pollution, and for damage to our health and to the planet. What an intelligent traffic system might do then, at the very least, is to make the linkage between actions and consequences visible to all of us, even if it does not yet constrain those actions.

I'm all for a "planetary nervous system", but the thought that it would sooner or later be hooked up to a state-operated planetary immune system that constrains our actions is a bit chilling, no? I'm probably to the left of many, if not most, of my readers, but I'm not ready to be of the body. I suspect it's going to be constant struggle to keep the "Wisdom of the Earth" from being rigged against civil liberties.


Re: GeoWeb: utopia or dystopia?

Author: Randy George

Come on Sean, surely you already knew about the "Intelligent Traffic System?"

"The shepherd cries

The hour of choosing has arrived

Here are your tools"

Al Gore

Do you still wonder who Obama will appoint as the next Poet Laureate?

Believe me, I didn't make this up! Osip Mandelstam, Not!

Al Gore Vanity Fair

Re: GeoWeb: utopia or dystopia?

Author: Kirk Kuykendall

Oh, the irony: Chinese teaching us the lessons of Adam Smith.

ITS will allow a market place to be built where we pay for the consequences of our actions, perhaps by combining congestion pricing with cap and trade. Clearly they want us to be more efficient so we don't fall behind on our payments.

Re: GeoWeb: utopia or dystopia?

Author: Sean

Al Gore is our shepherd? Good grief; you don't have to be a believer to cringe hard at that one.

I've been meaning to follow up on your post about Atom-formatted Microsoft data, Randy. Interesting stuff, I hadn't been following that application.

Re: GeoWeb: utopia or dystopia?

Author: Tom

In many places individual vehicles are already impractical or regulated out of feasible use and replaced by public transport - which is probably more constrained than the ITS, which would probably only be useful on congested commuter routes anyway.

There is a danger in using IT-based automation to turn economic and environmental levers wholesale into a pervasive "artificial gravity" though: for one thing it reeks of trying to solve a monolithic, too-hard problem wholesale with a mixture of theory and ideology. We know how that usually goes: some significant cost is

Re: GeoWeb: utopia or dystopia?

Author: Tom

*cough* ignored

Re: GeoWeb: utopia or dystopia?

Author: Sean

I just added "against civil liberties" to the tail of my blog post. I'd implied it from the start, but it's better made explicit.


David Rees and Get Your War On helped me weather the crazy bender the USA went on from 2001 to 2009. His short essay on Dennes Boon and the Minutemen from Christmas, 2005, is the best piece of rock and roll fan writing of all time:

The first time I heard the Minutemen--on a Saturday afternoon in 8th grade, when my friend lowered the stylus onto "Shit From An Old Notebook," and the song somersaulted out of his RadioShack speakers in an ecstasy of spasmodic guitar and drum fills--is the greatest "first time someone heard a band and their life changed for all time" of all time.


Re: Punk

Author: brad

Serious as a heart attack--that's a great essay about a great band. I was introduced through the 7 Inch Wonders of the World compilation from SST. Just listened to those songs again online, and yeah, it's all true.

Idiomatic programming

I've opined that GIS programmers should be taught to use Python idioms in the classroom. Less code, fewer bugs, efficiency, and to a smaller degree, socialization into the community of Python programmers are what I see as the happy results. I take it as a given that one wants to use and modify the code of others, share code with others, and see it all improve, which is why I value socialization. "Open Source" isn't just about the license, it's also about code as conversation. Because I've been learning Python (and computer programming in general) as I go, I've written as much clunky Python code as anyone else. Regretfully, I've even exposed some learners to clunky code in workshops. Looking back, I'd prefer to have been taught, and to have taught others, idiomatic Python.

I expect that opinions more informed than mine on the subject of language idioms are likely to appear in comments on Tim Bray's post on idiomatic Clojure.

More lessons of standardization

You can make a spec short and sweet, but there is no guarantee that it will be implemented correctly. Did my woofing about agile standardization anger the format gods, or is GeoJSON really the dribble cup of the "GeoWeb" after all? Check out this excerpt from the timeline of Bill Dollins, who writes from the countryside near Washington, D.C.:

{ ...,

For all the bloggage, not a single geo pundit has noticed that there's a problem. Do you?

Update (2009-11-25): Chris Schmidt summarizes the GeoJSON coordinate order debate.

Update (2009-11-26): To be fixed in the next version of the Twitter API (via Andrew Larcombe and Bill Dollins).


Re: More lessons of standardization

Author: daryl

it has y x and not x y ?

Re: More lessons of standardization

Author: Christopher Schmidt

Either that, or he's mapping Antarctica.

Re: More lessons of standardization

Author: Brandon

No spatial reference? I know we can assume it, but it isn't explicitly stated.

Re: More lessons of standardization

Author: STH

Projection and Datum?

Re: More lessons of standardization

Author: cwhelm

"geo" should also be "geometry"

Re: More lessons of standardization

Author: cwhelm

and "id" belongs in the properties

Re: More lessons of standardization

Author: Sean

Coordinate order is the only problem. I don't think developers necessarily have to buy in to features and feature collections from the standard GIS model, but we all have to agree on coordinates.

Re: More lessons of standardization

Author: Paul Ramsey

Somewhere, Dale Lutz's head is exploding. Let your X be your X, your Y be your Y, anything else is the work of the Evil One.

Re: More lessons of standardization

Author: STH

Well, what is correct? X,Y or Y,X - in Norway we have the official Y X instead of the "international / US / UK" X Y.

Should all countries also ride the car on the right side of the road and not the left side?

Re: More lessons of standardization

Author: Sean

If all of our national roads were mapped into the same transit space, intertwined, without any borders or gates -- so that US-40 (for example) connected to France's A9 (the Languedocien), and also connected to almost any other major road in the world -- you'd certainly want to prevent systemic and massive accidents by forming a global consensus on traffic direction. This is the situation on the World Wide Web. Whether GeoJSON coordinates should be [easting, northing] or [northing, easting] (or [westing, southing]) is, to some degree, arbitrary. The benefits of agreement are not arbitrary. Global consensus allows global interoperability.

Design gap

It's odd that Jeroen would mention this huge design gap and in the next breath invoke SDI and standards-based internet GIS (note that Jeroen, in his blog, often espouses rethinking SDI in light of the web).

GIS/SDI architecture design is to web architecture design as 18-button mouse is to "magic mouse". Buttons vs. gestures. A multitude of complex, specialized, rigid protocols vs. one dumb protocol that can channel different, complex, emergent interactions.

(Of course, it's hard to imagine that Apple is going to make it easy for mere mortals to create their own gestures, but hacks should be forthcoming.)

Itertools to the rescue

I'm waist deep in a messy data wrangling project with two preliminary conclusions: that Inkscape and the Gimp do not equal the best platform for collecting group control points for imagery, and that itertools has some great functional programming recipes.

I'm collating vertices of simple paths drawn in each application. Inkscape's SVG expresses the paths in the simplest fashion: M(ove to) X Y L(ine to) X Y .... Gimp exports them – pointlessly in this case – as curves:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"

<svg xmlns="http://www.w3.org/2000/svg"
     width="109.417in" height="36.4722in"
     viewBox="0 0 7878 2626">
  <path id="0102"
        fill="none" stroke="black" stroke-width="1"
        d="M 349.00,512.00
           C 349.00,512.00 475.00,1245.00 475.00,1245.00
             475.00,1245.00 481.00,2054.00 481.00,2054.00
             481.00,2054.00 3792.00,2108.00 3792.00,2108.00
             3792.00,2108.00 7555.00,2127.00 7555.00,2127.00
             7555.00,2127.00 7618.00,1528.00 7618.00,1528.00
             7618.00,1528.00 7738.00,588.00 7738.00,588.00
             7738.00,588.00 3743.00,550.00 3743.00,550.00" />

It's full of duplicate vertices: couplets at the ends and triplets in the middle of the path. Itertools provides a handy recipe for getting just the unique vertices:

from itertools import groupby, imap
from operator import itemgetter

def unique_justseen(iterable, key=None):
    "List unique elements, preserving order. Remember only the element just seen."
    # unique_justseen('AAAABBBCCDAABBB') --> A B C D A B
    # unique_justseen('ABBCcAD', str.lower) --> A B C A D
    return imap(next, imap(itemgetter(1), groupby(iterable, key)))

Without having to think hard at all, I can get a list of locally unique pairs of numbers like [(349.00, 512.00), (475.00, 1245.00), (481.00, 2054.00), ...]. If you're using Python 2.5 (or older), without the builtin next() function, you'll need to replace it with an equivalent function like lambda x: x.next(). The itemgetter function from the operator module recasts Python's sequence item accessor in functional form:

>>> itemgetter(1)('ABCDEFG')
>>> itemgetter(1,3,5)('ABCDEFG')
('B', 'D', 'F')
>>> itemgetter(slice(2,None))('ABCDEFG')

The collated output I'm after looks like -gcp 349.0 512.0 723.90418 2348.0269 0.0 ... . You can probably see where I'm going with this.

NSF funding for historical GIS

Wow, indeed (via @brettbobley):

It isn’t often the National Science Foundation funds a project from a humanities discipline with a history professor as a principal investigator, but that is exactly what happened earlier this fall when ISU history professor J.B. “Jack” Owens received an award for a project titled “Understanding social networks within complex, nonlinear systems: geographically-integrated history and dynamics GIS.” About $1.3 million of the four-year grant will go to ISU, with about $471,000 to go to the University of Oklahoma and co-principal investigator May Yuan.

That's big money for digital humanities. It's the first I've heard of their project. Good news for MapWindow, perhaps?

Can't happen here

Says Paul Ramsey in comments on Paul Bissett's great post about disruption of the data and navigation business:

Right, a black hole isn’t “evil”, but that doesn’t change the fact that it massively distorts the shape of space-time everywhere it goes, which can be a bummer for any object in its immediate neighbourhood.

Thank the gods that Digital Classicism isn't GIS. It can't happen here.