Resume

October 16, 2002 | Updated: July 2, 2011 |

Also available as: Post-Script, PDF, ASCII and HTML.

overview

Mike Warren has programmed professionally since 1998 primarly on Unix platforms. He is an extremely fast programmer + debugger, is thorough, requires minimal direction and works well with others. Mike would rather work in a small team or company. He has worked on high-volume image processing, embedded networking appliances, pipeline leak detection and various smaller projects.

skills

Mike is primarily a Linux developer, with experience developing cross-platform applications (including Windows). He enjoys learning new skills working on interesting problems.

Professional knowledge of: C/C++ (since 1998), Python (since 2003), Java (4 years); — GNU/Linux (since 1998); — Qt, boost, OpenGL, OpenMP, STL, OpenEXR, CUDA, reSIProcate, Twisted; — OO-design, design patterns, test-driven development, unit-testing, agile/scrum; — Subversion, Git, CVS; — gcc, gdb, gnuplot, graphviz, collectl, usual UNIX tools; — KVM/qemu, libvirt, augeas, Puppet, synctool, wireshark, tcpdump; — XML, XHTML/CSS, SGML, LaTeX; — Trac, Jira, Bugzilla, GNATS —

Familiar with: BASH, Perl, elisp, javascript, SQL; — virtualbox, CONDOR; — Flickr API, Python/C API; — mercurial, bzr, darcs; — IRIX, 68k assembly, AIX, Solaris, SunOS, Windows.

Mike is a very fast learner and can acquire new skills quickly. A new job is an opportunity to learn new skills in a new problem space. Take the above lists as keywords and guidelines to what he has used professionally: Mike can learn and work with any language on any UNIX-like platform in any problem space. As long as there's Emacs.

education

University of Calgary 1995-2000 Bachelor of Science in Computer Science.

Cochrane High School 1992-1995 Advanced High School Diploma with Honours.

experience

Pixelgrammetry/Northwest Geomatics

2008-present Responsible for design and coding of high-performance, cross-platform (Linux and Windows) image processing software in a small team. Northwest deals with hundreds of terrabytes of data per year.

Ditech Networks

2006-2007 Worked largely on upgrading a back-to-back user agent for a VoIP/SIP Session Border Controller in an embedded GNU/Linux system. OO design of new components, C++, some occational Python and various open-source bits (mostly reSIProcate). Used gnuplot, python and C++ instrumentation to produce graphs of memory usage and performance debugging.

Jasomi

2005-2006 Contractor responsible for adding CLI and Web interfaces to an embedded Linux Session Border Controller for SIP/VoIP (using MVC pattern, and thttpd Web server). Also worked on the back-to-back user agent (b2bua). Subsequently hired by Ditech Networks as part of a buy-out. C++, HTML, JavaScript and various open-source Linux bits.

Critical Control Systems / WNS Emergent / TCENet / Simulutions

1998-2003 Oil and gas pipeline batch-scheduling and leak detection system running on Solaris, Digital Unix and Windows NT with a SCADA interface (input and output). Java, C++ and Python. Mike worked with both the GUI front-end as well as the C++, Python and Fortran back-end to an ObjectStore database.

Contract Web work

ongoing I have done some small Web sites on contract. These are hand-coded XHTML 1.0 Strict, usually produced via Python.

Candela Energy

1999, 2004 Contract to produce a custom proxy to increase chances of obtaining success via an Internet-based bidding system. The initial implementation worked well, which has lead to ongoing, occasional consulting to improve the system.

published papers

Evaluating Global Positioning System Telemetry Techniques for Estimating Cougar Predation Parameters: assissted the primary researchers by writing software to cluster GPS data from collared Cougars.

other interests

Mike is an avid climber (alpine, sport and ice), backcountry-skiier, Ultimate player and cyclist (mountain, road, randonneuring and touring) with years of experience in each. Mike also enjoys acquring and using other skills including: gardening, cooking, developing film, coaching Ultimate, butchering, fermenting, hunting, reading, discussing politics and philosophy and the odd bit of activism.