About Me

Enthusiastic coder with over years of professional experience focusing in C++ and C#. I enjoy learning new things and working on personal programming projects.


Imagine Communications

Senior Software Developer

  • Developed web based After Effects template automation system (introduced at NAB 2014)
  • Developed 3D technology using OpenGL, shaders, particles, etc
  • HTML5/Backbone application (shown at IBC 2012): Live here
  • Dealt with custom memory managers, string tables, threading, and sockets
  • Managing team of 6 developing Nexio Insight and Nexio Motion asset management software
  • Primarily developed in C++ and C#

ALT Software

Software Developer

  • Worked on OpenGL driver that acted as a transcoder from OpenGL to Direct3D.
  • Development involved extensive OpenGL knowledge and pixel/vertex shaders
  • Experience with DO-178B Level A
  • Languages used were C/C++

University of Waterloo

Graduate Student

  • Researched automatic intelligent removal of macros from C/C++ code
  • Involved in depth understanding of C/C++ compilers, language, and architectural reverse engineering tools
  • Presented at IWPC 2004, Bari, Italy
  • Evaluated student projects in architecture and testing courses
  • Delivered tutorials on software architecture and engineering


Software Engineer

  • Developed an XPath module for Xerces-C
  • Helped develop XML scripting language
  • Applied UML to reverse engineer company product
  • Primarily developed in C++

Leitch Technology Corporation

Software Developer

  • Developed on Opus Master Control (for use in controlling TV broadcasts)
  • Created GUI for Master Control Switcher
  • Wrote tape machine / video server control for the Master Control server
  • Windows 98 and VxWorks in a hard real-time embedded system
  • Languages used were C/C++


  • C & C++
  • C# & .NET
  • Mercurial
  • HTML5 CSS3
  • AngularJS
  • OpenGL
  • Embedded
  • Real-Time
  • Threads
  • Haskell


University of Waterloo

MMath in Comp. Sci.

University of Waterloo

BMath in Honours Comp. Sci.