I like to make software that is fun and good looking.

October 14, 2013

Zeptomap - Maps for the Mission District

So today I woke up and decided that I’d have a crack at seeing whether I can build something like ZoomIn, but for the Mission District of San Francisco. And whether it could be built using OpenStreetMap data. Presenting… Zeptomap.

October 11, 2013

Result.success in node.js

Last night I started hacking a chat server using node.js, redis and websockets. It’s a bit of a right of passage for node developers, but I’m actually working towards building an android app I’m tentatively calling riskyclicks. Basically, it’s a public webbrowser, where you can see what pages everyone else in the app is viewing, and if you and another user are on the same domain at the same time, you can chat with them. I thought it up as a nice way to talk to people reading about WWII on wikipedia, or people reading stuff, or people reading about space.

October 03, 2013

Google maps doesnt play nice

I find it weird that Google, the company that relies on the internet having nicely-spiderable, indexable and machine-readable versions of webpages (otherwise their search engine would be useless), seems to have no intention of creating nice indexable, searchable and shareable urls from it’s own web properties.

September 30, 2013

Heroku, VPS or AWS

So last night I started hacking on a realtime data analysis tool for ZoomIn. Basically, I’m inserting a bit of javacript in the bottom of ZoomIn pages, and that javascript digs out the opengraph tags and sends the latitude/longitude of the current page off to my data analysis tool. I’m doing it so I can generate heatmaps of activity on ZoomIn, and maybe work out whether it’s trying to run my own ads on the site.

September 27, 2013

Optimizing for mobile

I did some work earlier this week on optimizing the mobile view of ZoomIn. The old one was pretty broken, it tried to layout a desktop-style display on your mobile phone and looked pretty awful. The google ads didn’t work well either.

September 24, 2013

The Possibility of a Van

This isn’t a sure thing, but I’ve been thinking about buying a van to replace my little mx5 that I use to commute to work. It’s a pretty drastic change, and considering that 90% of my use of my car is to commute down the motorway, it seems like an odd choice, to forgo top down cruising for driving around in a box on wheels. But here’s my thoughts of why a van might be cool

September 18, 2013

Named Entity Recognition

I’ve been researching ways of gathering location data from forums like /r/wellington and /r/sydney. One of my experiments was to create a javascript tool that helped you create comments with embedded geo data (via links), another one was to try and convince a reddit to mark up all place names using *stars*. Both of these don’t work very well because they require a big shift in behaviour from users.

September 16, 2013

jQuery Mentions and the Places API

So I started today with grand plans of doing some data-import work on ZoomIn, but sadly I got sidetracked. It’s a bit of a shame really, because ZoomIn needs more attention, and the traffic is starting to suffer because I’m not putting enough effort into it. Although, ironically, I’m making more money from adsense than ever before, since I’ve improved the site performance and got better at placing ad units.

September 15, 2013

Zoomin updates

I’ve been pushing a few new changes out for ZoomIn today. This is just a quick recap - but here’s what I’ve done.

September 12, 2013

Mapping a city reddit

I started working on this last night but didn’t get it to the point of making a prototype or screenshots, maybe tonight. Anyway, as part of my investigation into different models of geo-based messaging, I was wondering what it would look like if you mapped all posts on the Wellington subreddit.

September 06, 2013

Postgres as a service

I had this idea the other day while daydreaming about javascript single page apps. I thought it’d be cool to have postgres available as a json service via CORs, that you could build little javascript apps with a centralised datastore. Just write a small bit layer of ruby that takes a query, executes it on the postgres server and returns the results at json. Obviously you could only share the databases with people you trust, since anyone could run:

September 03, 2013

Script defer

So as part of my push to increase the traffic to Zoomin 4-fold (which is a crazy ambitious plan, but everyones gotta have a goal right?), I decided to try and make the site load as fast as possible. John Clegg, the former owner of ZoomIn, was always a fiend for making sites load fast, and a big proponent of using yslow, so ZoomIn was already pretty speedy, but after playing with it yesterday, I was sure I could make it faster.

September 02, 2013

Removing facebook

Well today I discovered something awesome. The facebook cross-domain framework crashes in my install of IE7. And I’m guessing it does the same in an unknown number of client browsers out there. So I tried debugging it for a while. The problem happens in fb.init(..), and I’m guess it’s because of the flash embed that Facebook uses for cross-domain communication.

August 29, 2013

Removing groups functionality

I’ve been working on ZoomIn a bit lately, trying to work out how I can grow the traffic from the current 10,000 a day, to something about twice that. It’s a huge ask, since most of the traffic to ZoomIn is just people finding it via Google search results, and once someone goes to the ZoomIn site and sees the map, they tend to leave right away (or click on a Google ad).

August 28, 2013

Dispersion, a webRTC social network

So after discovering peer.js and daydreaming about a peer to peer social network that looked like Facebook but worked like instant messaging, I had a bit of a hack at it, and it’s super early stages, but I’m calling it dispersion at the moment, since dispersion is listed as a synonym of Diaspora. ;)

August 27, 2013

New Fonts and Lines

It’s awesome having a designer sitting downstairs with us. I asked Kelly whether my blog still looked okay (since I designed it about 3 years ago). She said that I should get rid of the double lines and change the header fonts. One quick visit to google fonts later, and we’re using Open Sans for headings and all the dotted and doubled lines have been replaced with 1px solid #ccc.

August 22, 2013

Social Network over WebRTC

This idea popped into my head while playing with the peer.js demos, and as a partial response to all the GCSB / PRISM bullshit. You could build a pretty sweet little social network just using webRTC, without a central server.

August 20, 2013


I really wanted to buy a Nokia 8910i back in the day. And I still kind of want to, I mean damn, magnesium case and a shiny silver keyboard, look at it, it’s a sexy phone.

August 19, 2013

Zoomin Work

It’s monday, so I’m working on Zoomin. I spent some of the weekend trying to add ‘topic pages’ to the wiki, so that you could create a page called ‘Bohemian places in Wellington’, and then write about the bohemians of wellington, revelling in their bohemia, and have that page link to all the relevant anarchistic squats, indie cafes and alternative pubs. That work isn’t quite ready for primetime yet though, so I’m leaving it on the backburner and working on tidying up a few things.

August 16, 2013

Facebook for Cities

I think the hyperlocal nut is really hard to crack. I found this article by one of the founders of Backfence, an early attempt to build hyperlocal sites. There was also a follow saying how Backfence was beaten by the existing ad-hoc forums that had been around for years before Backfence tried to make a community site for cities and neighborhoods.