I recently built a web tool to solve a simple question that comes up often in urban planning: after taking setback requirements into account, how much of lot can be built on? The answer is often surprising: for example, Vancouver’s most common residential zone only allows houses to cover about 28% of the land.

It was a fun weekend project, and a few weeks later I decided to upgrade it on a long plane ride. It’s now a neighbourhood-level simulator with many more parameters:

Alt Text

These are mobile and desktop-friendly, and the visualization is entirely done in the browser. Here’s how it all works.

AHV Letter Builder

Software for Housing, Part 1

I’m a member of a nonprofit called Abundant Housing Vancouver, and as you can probably tell, I happen to do some programming too. In 2017 I was able to spend a lot of time combining these interests which was pretty great!

Over a few blog posts I’ll briefly outline the projects I worked on – they’re all open source and who knows, they might even be useful for other housing advocacy groups someday. First up: the Abundant Housing Vancouver Letter Builder.

Japanese Apartment Hunting

Craigslist, eat your heart out

Over the past 10 years, I’ve spent a lot of time looking for apartments in both Vancouver and in Tokyo. It’s been an interesting chance to compare two very different cities.

Vancouver has a remarkably low vacancy rate, so right off the bat renters are competing for a very small pool of available homes. Apartment hunters are also usually stuck with Craigslist. Craigslist is far and away the best place for browsing apartments in Vancouver, but not because it’s a well-designed site. It’s a perfect example of network effects: it offers a poor user experience, but landlords can’t afford to ignore the large pool of renters using Craigslist and vice versa.

Things are very different in Tokyo. It seems difficult to get comparable rental vacancy data (see the numbers and caveats here), but the sheer number of rental listings available online makes me suspect that the vacancy rate is much higher than in Metro Vancouver. The tools are better too: apartments tend to be listed by brokers on a few big websites, and the experience for renters on those websites is much better than on Craigslist.

Since most North Americans don’t know what they’re missing, I’ll give a quick overview of what it’s like to look for an apartment in Japan.

Databases as file formats

The .mbtiles way

I’m building an interactive online map of all properties in Vancouver, and along the way there have been a few pleasant surprises. Most recently: the .MBTiles tileset format is surprisingly cool.

Background

Mapbox is one of the biggest players in the open source mapping space (especially now that Mapzen and Carto have thrown in the towel – Mapzen is closing and Carto is now using Mapbox tech). One of the many nice things about Mapbox is that they developed an efficient open standard for vector map tiles, appropriately named Mapbox Vector Tiles (read this if you’re not sure why vector tiles are great).

Map tiles are often pre-computed for each zoom level, and once you’ve done that you need to store them somewhere. Enter the .MBTiles tileset format.

Poking around under the hood

My first encounter with this file format occurred when I used Eric Fischer’s excellent tippecanoe tool to simplify my data set at lower zoom levels. Tippecanoe generates .mbtiles files, which are easy to serve to clients either by uploading to Mapbox, using a third party tile server, or even by rolling your own server with something like the mbtiles Node.js package.

All great… but after setting up a server my Mapbox GL JS client refused to render the tiles. I tried a few things without much luck, and then as a last resort I decided to poke around in the .mbtiles file. I was expecting to need a hex editor or similar, but then I saw this beauty in the spec:

MBTiles is a specification for storing tiled map data in SQLite databases

The files themselves are just relational databases in a known schema – how cool is that? Emboldened, I grabbed a SQLite client and opened up my .mbtiles file:

Hi there - I’m Reilly Wood, a software developer from Vancouver, Canada. This site is still under development, but I’m planning to fill it up with thoughts and impressions about software, cities, finance, and whatever strikes my fancy. Stay tuned (perhaps with the handy RSS feed).

headshot

Cities & Code

Things that don't quite fit in 280 characters.

Top Categories

View all categories

About

I'm a software engineer in Vancouver, Canada. I'm interested in databases, urban planning, computing history, and whatever else catches my fancy.

Learn More / Contact me