News Roundup - July 2009

What follows is notable news and happenings that I want to purge from my bookmarks folder. It will be a combination of things you already know spiced with things you probably won’t care about. I apologize in advance.

There were a couple of interesting stories coming out of Redmond this month. First, Microsoft put C# and the CLI under it’s Community Promise, meaning anyone can freely implement those specifications without a license agreement and distribute it under any license, including the GPL. This doesn’t cover all of Mono - Miguel De Icaza is going to split Mono into an ECMA package and a ASP.NET, ADO.NET, Winforms, etc. package. There had been a lot of Microsoft conspiracy theories running rampant about Mono, but hopefully this will put some of it to rest, at least for Mono’s core. As a developer I’m not a huge C#/.NET fan on any platform, but as a user I do like some Mono apps on Linux. I can live without Tomboy or Banshee or F-Spot, you’ll rip Gnome-do out of my cold dead hands.

The second story out of Microsoft was their donation of 20,000 lines of driver code to the Linux kernel under the GPL, which lead many of us to look for the 4 horsemen of the apocalypse to make an appearance. While Microsoft made a big show of how open they were being, it turns out it looks like they had little choice - they were violating the GPL when they were distributing their Hyper-V virtualization software without providing source code due to some statically linked GPL modules. Still, it’s a historic event, and good on the Redmond folks for doing the right thing.

PostGIS 1.4.0 has been released. Included in the new release is PostgreSQL 8.4 support, new methods (ST_GeoHash, ST_LineCrossingDirection, ST_AsGeoJSON, ST_MinimumBoundingCircle, others), significant performance improvements, and lots more. PostGIS underpins a lot of our GIS enterprise, so needless to say I’m excited about this one.

From Geomusings, SpatialLite 2.3.1 and RasterLite 1.0 have been released. These libraries add spatial data storage and some geoprocessing capabilities to SQLite. If I had my druthers*, SpatialLite this would be the default portable GIS data format for all GIS software systems. It combines the advantages of a personal geodatabase (single-file format, direct SQL access), a file geodatabase (speed and size), and a shapefile (open format), and on top of that adds GEOS library integration for sophisticated spatial analysis. RasterLite is a new library that adds raster support, including tiling and multi-level pyramids. If you haven’t checked this project out, be sure to take a look.

The Google Earth Blog points to the release of Google Moon. It is really cool stuff, with lots of neat tours and video clips. Check it out:

EveryBlock is a hyperlocal news service based on location. The idea is news events and happenings are filtered by your address. It’s a great project that we worked with to provide public information (permits, inspections, etc.), and it also has a mapping/geo component. The really cool news is the source code for the site has been released, which you can grab here. From a quick look through the source code it looks like a Django (Python) site with Mapnik as the mapping engine.

I’m giving the map of the month title to a series of maps about walls. With the interesting subtitle “Human history, perhaps, was shaped mostly by walls”, I was hooked immediately. I think of cadastral features largely as human-made nonsense. If I were to hit everybody in the head with an iron pipe so as to cause amnesia and burn the tax maps while they were passed out, all of the parcel lines would instantly disappear. They’re only there because humans think they are there. Not so with a wall, as it is a cadastral feature made planimetric with some bricks and cement. Anyway, it’s an interesting view on how walls shaped the human geography around them.

Finally, check out this video. It isn’t real scenery. It’s rendered in real time by software. 4k of software. Yes, 4000 bytes did that. I can barely do Hello World in 4k. You can get to the executable here. I think I’ll watch this video every time I need to put my programmer ego in check.

*Not only have I never had my druthers, I’m not even sure what a druther is