Perverse Incentives

I am sure others have beaten this horse before, but I just have to take a whack at it.

Oracle, ESRI and others license their server-side technology on the basis of dollars-per-processing-unit, usually in the form of Constant * NumberOfCores * Price. For example, the base price for Oracle Enterprise (which you need to do high-end processing, like, say, computing a buffer (snort)) is 0.5 * NumberOfCore * $40,000.

OK, time for the quiz-show section of our show: Let’s say you buy yourself some Oracle, and start using it. You find a particular use case that is slow, but important to you. You call up your Oracle representative, what will his answer be: (a) we’ll make it faster or (b) you need more processing power. Remember, this is not a trick question, and he does earn commissions on sales.

Take it up a level. From a strategic financial point of view, all R&D dollars spent on on performance improvements actually constitute a double cost: the cost of doing the development; and, the cost of lost revenue due to fewer upgrades. If I am the CEO, do I encourage my managers to spend money on performance tweaks, which will reduce upgrade revenue, or on new features, which will drive new sales?

Safari: SyntaxError - Parse error

I have now worked my way past this particularly opaque Safari error message twice, which is one time too many, so I am putting the explanation for my error case online. Safari seems to have a few cases where it throws up this utterly useless error message. It does include a line number reference, and double-clicking the error line in the log will take you to the offending line, but heaven help you if it is not clear what is wrong at that point.

I found another reference to this problem on the web, but it wasn’t the problem I had.

My problem was that I used “abstract” as a variable name. Because I am working on web pages for viewing presentation abstracts, this seemed natural, however I guess “abstract” is a reserved word of some kind in Safari’s Javascript implementation. Firefox showed no errors and happily ran code that Safari could not even parse.

Cognitive Dissonance

Try to hold these two concepts in my head at once… Ed Parsons, at the Open Street Map conference… Ed Parsons, at the Open Street Map conference… Ed Parsons, at the Open Street Map conference…

Just as in Hollywood, casting against type is sure to bring in the punters.


Ed Parsons, former CTO of the Ordnance Survey (organization dedicated to the monetization of proprietary data), current geospatial evangelist for Google (organization dedicated to the monetization of proprietary data), speaking to Open Street Map (organization dedicated to the free public domain data). Will there be a mud wrestling pit too?

Mass Shape File Load into PostGIS

I needed some test data to do some performance investigations, and had to load 235 shape files, all of identical schema. Here’s what I did.

First, get the table schema into the database, by loading a small file, and then deleting the data. We delete the data so we can loop through all the files later without worrying about duplicating the data from the initial file.

shp2pgsql -s 3005 -i -D lwssvict.shp lwss | psql mydatabase
psql -c "delete from lwss" mydatabase

Then use the shell to loop through all the shape files and append them into the table.

foreach f (*.shp)
foreach? shp2pgsql -s 3005 -i -D $f -a lwss | psql mydatabase

Note the “-a” switch to tell shp2pgsql we are in append mode, rather than the default create mode. Add a spatial index, and we’re done.

psql -c "create index lwss_gix on lwss using gist (the_geom)" mydatabase

Seven hundred thousand line segments, ready to play!

psql -c "select count(*) from lwss" mydatabase

(1 row)

Titanic Exhibit @ Royal BC Museum

For our reception at FOSS4G 2007 we have rented several galleries at the Royal BC Museum, for a stand-up reception amongst the exhibits. Should be very cool.

The Museum is currently hosting a “special traveling exhibit” of artifacts from the Titanic, but the cost of renting the Titanic gallery was exorbitant (more than the rest of the galleries put together), so we did not rent it. Thank goodness!

This weekend was rainy, so I took my daughter to the Museum on Sunday, and the price of getting in included the Titanic exhibit. So in we went. In fairness to the exhibitors, they did their best with what they had to work with. But let’s remember what those things are: artifacts just 100 years old, and pretty ordinary; the limited selection of things they could drag up from 2 miles under the ocean that had not been completely pulped by time.

“Wow, what an attractive chamber pot.” “Goodness, who knew they had taps back then.” “Hm, a bottle full of an unknown fluid.”

If you want a visceral experience of the Titanic… watch James Cameron’s blockbuster movie. There is also an IMAX movie with underwater shots of the wreck showing at the theater attached to the Museum, which might be a bit more impressive.

While the Titanic exhibit is garnering all the hoopla, upstairs in the First Nations gallery is where the really good stuff is (we’ve got that one rented)! 100 year old totem poles, exquisite art, great historical presentation. And, especially good right now, they have the Dundas collection of Tsimshian art, collected 150 years ago. Really magnificent stuff, very museum-worthy and worth seeing. Sadly, the Dundas is also a traveling exhibit, and by the time FOSS4G rolls into town it will have already moved on.