August 2018 – Present
Seattle Area, WA

Hardware Engineer


May 2013 – August 2013
Pittsburgh, PA

Research Assistant

Carnegie Mellon University

My work focussed on improving methods for inference in Bayesian probabilistic graphical models, specifically, grid-like Markov random fields. I explored a variety of improvements to inference algorithms from the point of view of hardware implementation.
May 2011 – July 2011
Montreal, QC

Research Assistant

Ecole de Technologie Superieure

My work involved designing and prototyping a multi-touch user interface for network visualization. Most of my work focussed on designing new and innovative gestures for network layout manipulation. I also conducted experiments to develop empirical laws predicting speed and accuracy of pointing and tossing gestures using a mouse.

Recent Publications

We present Versatile Inference Processor (VIP), a highly programmable architecture for machine learning inference. VIP consists of 128 …

Maximum a posteriori probability (MAP) inference on Markov random fields (MRF) is the basis of many computer vision applications. …

Vertex-centric graph computations are widely used in many machine learning and data mining applications that operate on graph data …

Recent Posts

More Posts

CMake is cross-platform build and configuration system for C and C++ code, which also happens to be my favourite build system. In this …

I’ve seen way too many projects that supply a makefile that requires the user to run make clean and make every single time they …

Today, my website displays a banner to join the fight for an open internet. My message to the FCC follows.

Four pictures of the third of July fireworks in Ithaca to celebrate the fourth of July.

I’m back from the 44th International Symposium on Computer Architecture, and this is a perfect time for me to summarise my …


LDPC decoding using residual BP

A study of the effects of residual belief propagation as applied to LDPC decoding

High-level synthesis of a belief propagation accelerator

Using Vivado-HLS to rapidly prototype and test accelerators


Emotion detection from images

Active noise-cancelling headphones

Low-cost analogue active noise cancelling headphones


Car make and model detection

Text-independent speaker verification

Artificial neural networks to identify users from speech

Text-dependent speaker verification

Matching spoken text to identify users on an Atmel AVR microcontroller