PhD Student at the University of Victoria
Researcher and student at the University of Victoria


Aspect Oriented Programming (AOP) is a mechanism intended to concretely implement cross cutting concerns in a modular way.

SCOPE: Scalable Clustered Objects with Portable Events

This is the work from my Masters thesis. SCOPE is a Linux user-level library intended to help a C++ developer create highly concurrent objects for SMP systems. Writing truly concurrent software is hard, scaling software to fully utilize hardware is one of the reasons why. One abstraction for increasing the scalability of systems software is clustered objects. Clustered objects is a proven method of increasing scalability.

The Jam-o-lizer: Garbage Collection Visualization for JamVM

The Jam-o-lizer is a garbage collection visualization system for the JamVM, that allows JamVM to be used with GCSpy. The Jam-o-lizer was created by Chris Matthews, Jen Baldwin, and Bill Gallop as a project for a class at the University of Victoria under the supervision of Dr. Horspool.

How to read a Computer Science research paper.

There are five things you should know about every paper you read.  When you read a research paper (or write one) it is important to understand the overall meaning of the paper. This normally means that you have to go beyond technical details, into the whys and hows. A tip that was given to me is to answer the following questions about the paper:

C Tricks

C is a relativity old and simple language compared to most of the other heavily used languages. Over time lots of little tricks have developed to solve certain problems that arise when programming in such a simple language.

Devloping GCC in Eclipse

Eclipse is a powerful development environment. Unfortunately, setting up Eclipse as an environment to develop gcc is non-trivial. This page details the steps I have used to get gcc running in my own workspace.

Automated Backups of AVImark

AVImark contains a lot of information that is critical to any veterinary practice. It doesn't take much to see that it is necessary to do regular backups of Avimark. But for anyone who has tried to simply copy the Avimark folder and run the new copy, they know that this doesn't work. This document details some of the tricks we have used to get a reliable nightly automated backup of Avimark working.