Me at Cave and Basin National Historic Site of Canada
Hi, I'm Nicholas. I'm studying computer science because of the endless possibilities for building cool and important things, and because I think theoretical CS is fascinating, and even beautiful. I love hiking in the mountains, visiting new places — the awesome and the bizzarre — and following links in web pages. Last year, I came to Montreal to study at McGill University. I grew up in a little village called Slocan Park, in rural British Columbia. 

Chemlogic

A Logic Programming Computer Chemistry System

CWSF 2014, 2015

Chemlogic is a system that helps users solve chemistry problems. It can be applied as a study tool for high school chemistry and as a calculation tool in the lab. Chemlogic is available on the Web and on Android.

Balancing a chemical equation

libseat

Find library seats every time with a simple app

Presented at MHacks 9

libseat is a solution for library seat occupancy tracking that provides students with information on availability at nearby libraries, as well as a floor plan showing free seats. Computer vision is used to track presence, and only camera coverage of a space is required to implement the system.

Minervac

A command-line client for Minerva

September 2016

The Minerva client is a CLI for Minerva, McGill's student information system. Tasks such as course registration or viewing one's course schedule can easily be performed. This project aims to provide an efficient alternative to the frustrating experience of using Minerva as a student.

A timetable generated with Minervac

alpine-backup

A system for implementing backups in complex environments

TTP 2011

alpine-backup is a backup system designed for implementing complex backup scenarios. Synchronization between backup servers, status monitoring and support for various services are all built in. rsync is used to perform incremental backups.

Alarmist

My hilariously over-engineered alarm clock

Winter 2015/2016

One day, I overslept and lost 5% of my grade. To prevent this from ever reoccurring, I built my own alarm clock: Wake up times are determined from my course schedule. Alarms can only be silenced by presenting my McGill ID. Configurable from my phone.

STM Data Analysis

Working with Montreal public transit datasets

Winter 2016

As a daily user of public transit, I'm always interested in discovering cool facts about the transit network, and building tools to save me time in planning my commute. Starting from the STM's open datasets, I developed next bus, and current location displays.