Archive for May, 2008

Geographic Queries on Google App Engine

Posted in Locality and Space, Python on May 28th, 2008 at 12:05:13

I made a post over on the MetaCarta Labs blog about doing geographic queries on App Engine:

???????? ????? ????????In this way, I was able to put together a geographic bounding box query, on top of Google App Engine, using a Geohash-like algorithm as a storage format, and use that query to power a FeatureServer Demo App Engine application, doing geographic queries of non-point features on top of App Engine/BigTable. Simply create a Geoindex object of the bounding box of your feature, and then use lower-left/upper-right points as bounds for your Geohash when querying.

Geographic Queries on Google App Engine

Probably of interest to some of the people who read this.

Wherecamp2008: Ideal Conference-Going Experience

Posted in Locality and Space on May 20th, 2008 at 22:27:16

Wherecamp is the closest thing to a perfect conference going experience I have had in my history of going to conferences. The organizers — Ryan and Anselm — did a great job of pulling everything together, but I think that the single entity most responsible for making this happen was Google, and their representatives on the ground, Nate and Dusty.

Key things to good unconferences:

  • Constant stream of food. Geeks like to eat, and eating keeps us happy, healthy, and wise. Snacks are great, both healthy and unhealthy, and drinks and so on are also good. I think this, more than anything else, is the kind of thing that a well-funded social event should try to have. The meals at Google were also great, and having the space we did for serving was super useful for avoiding frustration at lines. In general, for the number of people who were present, Google’s facilties were significantly better prepared for serving people than my experience at Where 2.0 and FOSS4G events.
  • Big open space for organization, small cozy meeting spaces for sessions. One thing that repeatedly came up was that the conference spaces we were in for sessions were full — and, believe it or not, I find sitting on a makeshift chair in the back of the room *great*. The participation in the sessions was better than at any other unconference I’ve been too, because of the close-knit situation. Occasionally things were a bit too small — the Processing talk was one example — but in general, it was a good thing to be in close quarters.
  • Great wireless. Coverage of the entire space was perfect, including outside, and given that there were 300 people sitting around banging on it, that was far more impressive. I’ve seen networks fall apart under significantly less load, even at Barcamp Boston 2, at MIT.
  • Open Space: The central auditorium and outdoor areas were great places to chill out and enjoy your time. Not having to be stuck in a hallway, or running back and forth between sessions, was a wonderful end result, and the tables/chairs/etc. setup was just great.

The last thing that can make or break any conference is the people, and I couldn’t have asked for any better. I met and hung out with a bunch of Python Geo hackers — more so than I ever have in the past. We stayed up late, hacked all night (in my case, literally) and resolved a ton of issues. I got to hang out with some of the people that I really enjoy spending time around, and meet some new ones.

Thanks to all of you who made this weekend totally worth the trip. Special thanks to the organizers, and Google for being such a great host.

Next up is FOSS4G, I hope; I hope that I can take what I learned here and make an effort to turn FOSS4G into (at least partially) the event that Wherecamp was so successfully.

Cool Processing Stuff

Posted in Locality and Space on May 17th, 2008 at 14:19:23

Notes about Processing, from, and other related things.

“Drawing images is not about telling which pixels to turn on or off, it’s about telling to draw lines.”

In addition to processing being pretty, you can draw the entire map into any unit you want. Drew a bunch of lines out in state plane projected unit system, and then cropped image.

Drawing all of the streets in King County plus all of transit lines

4d expansion of transit data — time out of the map on photo

Processing is great at generating static images; looping over a dataset and drawing lines is what processing is for.

Demoing a bunch of demos of processing from Tom Carden; cabspotting, travel time tube map, etc. etc.

Processing.js: Processing in JS, by John Resig. Uses “Processing.js is like developing Processing on a 400mhz celeron”

Source code to London Tube Map is available; Processing makes source code available by default, Google for “powered by processing” for examples.

Stamen typically does Prototype in Processing, final client in Flash.

Processing is Java; it should be possible to pull in Java libraries; can import .jar files, can drag in data (images, etc.); loading data is a one liner.

NodeBox: “Processing in Python” Processing.js GUI.

Same processing source code in browser and applet using Processing.js

Context Free Art: here

The default mode of processing is:
* Setup
* Draw function that’s called as much as possible

Going to publish cabspotting example to wherecamp wiki

Brandon demos OpenStreetMap data rendered on the fly with processing data.

NodeBox demo using a springgraph. Proxmiity fixes of local bluetooth data.

Processing is 4-5 years old now

Collaboration is typically “Copy an example, create your own, keep going”

Geohacking This Evening

Posted in Locality and Space on May 16th, 2008 at 11:40:45

Tonight, starting around 7:30, there is a plan to descend on The Dubliner, in Noe Valley, San Francisco, for beer and hackery. If the plan changes, I’ll update twitter. If you want to join us, please:

  • Comment here
  • Email me (
  • or Text or call me (603.264.2294)

Wherecamp, here I come!

Posted in Locality and Space, Wherecamp2008 on May 14th, 2008 at 08:39:13

I’m off to Wherecamp tomorrow. I’ll be in town and have no plans yet as of Friday, and I’ll be at wherecamp all weekend, planning to spend the night hacking at the Googleplex.

Who’s going to be there? Anyone interested in meeting up on Friday, or doing any hacking ahead of time or during?