Mackenzie Craig software developer Hiking, running, writing code, and studying Computer Science in Vancouver, Canada.

Genome Comparison and Alignment

In the early months of the COVID-19 pandemic I worked on a tool for comparing genomes in C++. The project is named “vdiff”, after virus diff (like the unix command line tool “diff”).

The vdiff command line tool provides information about two genomes, including the number of matching strings within two genomes, and the percentage of the genomes that are matching when aligned. This information is output via command line logging, as well as optional CSV match output for graphing.

read full post

Spectrograms in C++

Generating spectrograms in C++ is a good way to learn about Fourier Transforms and working with audio file formats.

read full post

Pacific Crest Trail

Edited: 2019-09-13 (replacing old before hike post)

I am back from my hike! Here is a video from one of my favourite weeks on trail:

Dance Pants

This is a relatively long term review of “Dance Pants” as a piece of backpacking gear. Dance pants are an extremely cheap and quite effective alternative to popular ultralight wind pants. They cost under $20, which is a much better deal than the current high end ultralight offerings. They weigh in around 3oz on my scale, but this will vary with size. The pants seem to be popular with dancers for warming up before dancing, but they are simply thin ripstop nylon pants.

I am going to keep this review simple, just like this product. I have been using these pants for several months and hundreds of miles and they do their job perfectly. They do not have pockets, or really any features at all. They are held up with an elastic waist, and held down at the ankles by more elastic. They are very flexible in terms of stretch and layering. I have worn them with just underwear underneath and have been comfortable, but have also worn the pants with underwear, shorts and a base layer underneath in cold conditions and had no issues. It does not feel like you are wearing an additional waistband when you layer these pants because they are so light and the waistband is so stretchy. I forget that I am wearing these pants a lot of the time while hiking or sleeping, but they do their job of adding some warmth and reducing wind well.

read full post

Backpacking Gear

This post contains everything you might want to know about gear I use when backpacking, as well as some of my thoughts on gear choices. I have gotten some emails and messages about some items, so this is an effort to create something I can respond with. I am going to use this post as a place to link people to from other things such as future videos or posts as the one stop shop for my gear info. It will also contain some ramblings (more to come in the future) about gear and Ultralight ideas.

Like many, I follow most of the principals of Ultralight Backpacking. You will see this in some of my gear choices, but admittedly not all. I try to keep my base weight as low as possible, but it often varies between trips. Generally my base weight is under 10lbs, often much lower if conditions permit. I live in Vancouver, Canada, so weather and conditions are constantly changing. When I am out around home, I am often switching things up or taking more or less gear to suit the conditions. If you live somewhere where you can be certain it isn’t going to rain for the next 5 days, then you can adapt your gear accordingly!

read full post

Dennett Lake

This week my friend Riley and I hiked up to Dennett Lake, on Burke Mountain. The 21km hike took a total of about five and a half hours, but could be knocked down to four and a half if you were really on a mission.

We followed the same route to Munro Lake as detailed in my last post, so I won’t make a new map for this post. If you want the exact route, you can check out my gps track. Once you are at Munro lake, you should see a bare cliff on the other side of the lake. Head north (towards the cliff) from the area that the trail enters the lake, across the dried up section, and follow the edge of the lake counter clockwise until you see the trail on your left. There are some blue blazes on the first kilometer or so of this area.

read full post

The Rospe Trail

This post contains information about “The Rospe Trail” named after my friend Rospe. It mostly uses pre existing trails in Burke Mountain, and can be used to get to Munro and Dennett lakes.

If you want to hike this trail you can park at the top of harper road. There is room for about 20-30 cars, and any time I have gone it has never been full. If it is, you could probably try parking at the gun range, but I’ve never tried that.

read full post

Burke Mountain Trails

I am putting this post up to force myself to update it as I explore Burke Mountain. I hope to fill this post with all of the information that I can on long routes in Burke Mountain, cool places to get to, and good camp spots.

I will do my best to upload images, and of course will include maps of all of my routes.

read full post

ICO Concerns

With the recent Bancor Initial Coin Offering (ICO) raking in over 150 million USD in ETH, it is undeniable that ICO’s are huge. They are hyped throughout the community, and they often sell out within hours, minutes, or even blocks.

With “The DAO” incident still fresh in the memories of many, ICO’s can be a little worrying. This post will include the common concerns relating to the rapid ICO growth, and my opinion on their validity.

read full post

TF2 Stadium Tech Stack

I originally wrote this post for an open source project I worked on called TF2 Stadium. The post was originally available at I am re posting it now since the blog has been shut down. It is mostly semi technical information that was released as teaser/promotional content in the early stages of development. TF2Stadium is a Team Fortress 2 lobby website where competitive players are matched with other players for practice matches.

Original post date: 03 SEP 2015

Hello, and welcome to the first actual entry of the TF2Stadium developer blog. In this entry, we will summarize some of the technology that our site uses, as well as some of our design goals.

The programming of TF2Stadium–as well as most other sites–is split into two major groups: “frontend” and “backend”.

read full post

Hello World!

First ever post on my new website. Let’s see how this goes!