I live in Toronto, and write desktop and mobile web applications using Ruby, JavaScript, HTML, and CSS. I also study political science and philosophy at the University of Toronto.

If you want to get in touch, send an email to You can also find me on GitHub.

Projects

Listcase

Simple, elegant, task manager, built on the Ruby on Rails web framework, with a unique multi-column layout that maximises screen space.

cbcradio.net

iPhone OS-friendly web application, built on the Sinatra Ruby web framework, that allows users to listen to CBC Radio live streams and podcasts in the background and control playback with the headset.

Vet

Simple, lightweight, and ORM/framework-agnostic Ruby validation library that validates changes individually rather than atomically.

Paginate.js

Safari extension, Chrome extension, and Mobile Safari bookmark that adds Instapaper-style pagination click/tap zones to any page.

New Terminal Session Here

AppleScript that tells Terminal to open a new session in the directory of the frontmost Finder window.

SmartColumns

JavaScript function that intelligently arranges blocks of content of varying height into columns without leaving any vertical gaps.

URL Cleanser

Safari extension that removes many of the common tracking variables that web publishers append to URLs.

Twitter Scroller

Safari extension that scrolls to the least-recent newly-loaded Twitter message automatically.

Static Sinatra

Minimal project template for serving a completely static site using Sinatra. Includes automatic redirection to a canonical host.

Sei

Web application, built on the Sinatra Ruby web framework, that calculates and displays statistics based on a block of text.

SmartToggle

JavaScript function that adds some extra functionality to jQuery toggles.

New Text File

AppleScript that tells TextMate to open a new timestamped text file in a specified directory.

Development Setup

Instructions for setting up a Ruby web development environment on OS X 10.6.