`

Musings on a Sankey diagram of FSGP/ASC 2018

On my flight back to Waterloo for my CS convocation ceremony, I was thinking about all the things I've accomplished throughout my undergraduate career at the University of Waterloo. One of the things I'm…

(Almost) Every Single Shell Command I've Used Since 2017

Ever since 2016, I started keeping track of my dotfiles. In my dotfiles, I had configured my ~/.bash_history file to keep an unlimited number of lines of history. Sometime in 2017, I reformatted my laptop…

Padding and alignment: How I fixed a bug and learned this 1 GCC trick

While working with the python-can library, I ran into a problem with the SocketCAN interface that ended up with me looking into why the periodic backend wasn't working as expected, finding an incorrect…

Decoding CAN messages with DBC files

DBC files are a proprietary Vector file format that encodes information about how data is packed into a CAN frame, allowing you to pack and unpack the data. The open source equivalent is the KCD file used…

Bisecting git with git

Recently, I was talking to a friend about how great git-bisect is, and our conversation reminded me about this one time I used git-bisect to bisect a problem with an old version of git that was being used…

noclobber and the >| redirection operator

I recently encountered an issue in a project I started working on where it wouldn't build correctly. This wasn't too unexpected or concerning, since I had just set up the build environment, and as I've…

git checkout a GitHub Pull Request

Sometimes, reviewing code is easier done with the full diff in front of you. Web UIs like GitHub, Phabricator, or Stash all have their strengths, but often times I find myself opening up my editor and…

Letters From Feridun

Our university president Feridun Hamdullahpur seems to send a lot of emails. But does he really send that much? That was a question that came to my mind one day as I was taking the bus home from work.…

Continuous Integration and Solar Cars

At the University of Waterloo, the Midnight Sun Solar Rayce Car Team makes use of Travis CI to test our embedded software that powers our open source solar vehicle. Writing code for embedded systems is…

Jobmined, Part II (ish) [2]

This is a continuation of my previous post. Let's take a look at the posting breakdowns by faculty. There were 94 unique disciplines represented during the first weekend of JobMine postings. This all goes…