Hello, I'm Chris!

I'm a computer science student at the University of Waterloo. To be more well rounded, I'm completing a bachelor of business administration.

When I'm not at school in Waterloo, I'm usually working on some project or other. From programming a purely function virtual machine, to writing my own website, to working at a nifty startup in Vancouver.

Tell me more!

On the Blog

The purpose of blogging and projects

Written Dec. 4, 2018

As of late, I’ve been neglecting to update my blog. Strangely enough, that’s not for lack of writing. As I write this, I have a stack of unpublished posts half as high as the number of published posts I have.

Planning until it's painful

Written Sept. 25, 2018

When I started at my current job, I just wanted to code. However, my supervisor kept asking me all these questions. How long did I think it would take? How will I accomplish it? What if it takes longer? I tried answering them, but each answer just led to more questions. I didn’t want to plan! I just wanted to write the code, dangit! Out of frustration, I eventually wrote up a page or so of bullets that answered every possible question I could imagine being asked, and then some more.

Minor updates

Written Sept. 12, 2018

As a part of a as-of-yet unnamed overarching project, I’ve been updating my presence around the web on various sites. As a part of this I’ve found the various links that I am using are often on the longer side, making them difficult to read.

Looking for something else?

To see more, take a look at the blog archive to see all blog posts.

Recent projects


An (almost) purely functional virtual machine for emulating the MIPS Architecture. I wrote this as a way to review the code I had written for a university class. Since I couldn’t use the provided VM after the semester finished, I decided to make my own VM.

I Want That Pet!

A friend of mine reached out to me recently. Do I know of any easy way to monitor a website for changes? I knew that it would be fairly easy to do for myself. However setting up a server, cron, and a script to diff the site is not easy for someone who doesn’t have the time to learn all that.

Image Block X

This was a small project to learn the ropes of how to make web extensions. Image Block X replicates the functionality of the Firefox add-on Image Block, which was built using Firefox’s deprecated “XUL” API. Simply put, it was a toggle button to enable or disable loading images in the browser. I had found it useful when tethering to my phone during the summer, and wanted to make sure I could continue to use this functionality even after Firefox removed the XUL system.

Looking for more?

Consider taking a look at my project homepage to see all of my projects.