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

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.

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

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.

Whyfi

A minimalist wireless connection manager

September 2016

Most network managers for Linux seem to malfunction frequently, yet wpa_supplicant is somewhat more stable. Whyfi is a minimalist network manager that can connect to networks, save changes and restart the interface. It's also less crashy, so far.

Web Platform for Mount Sentinel School

Powered by two overheating Pentium IV towers

2010--2013

I designed and implemented my high school's website, student portfolio system, LMS and digital signage system. These applications served over 300 users. I maintained uptime by implementing database replication and automatic failover between the two servers. I also implemented SSO using LDAP, Drupal Bakery and Moodle Mnet.