Erick Lavoie

Ph.D Student in Computer Science

Advisor: Laurie Hendren

curriculum vitae

I am currently designing and building, Pando, an Internet-scale public computation platform that leverages idle storage, bandwidth, and computational power on end-user machines and makes these resources accessible to scientist and engineers through high-level dynamic array-based languages, such as MATLAB.

From a more general point of view, I am interested in understanding, explaining, and pushing forward the field of decentralized applications emerging at the convergence of programming language implementations, distributed systems, crypto-currencies, and economics that shows promises to radically enrich the possibilities the Internet brought for humans to connect to one another by organizing computers and human communities.

I am available for part-time consulting opportunities and I am represented by the 10X Management talent agency. I enjoy advanced programming and R&D projects. I can lead projects from initial analysis and opportunity identification to the evaluation of final results while balancing the time, scope, and resources needed.

My expertise lies in JavaScript/Node.js and Python backend development, in compiler optimizations (static and dynamic), and in tool development for programmers and researchers. I also really enjoy teaching and mentoring budding programmers and researchers up to PhD-level skill.

Publications

Proceedings papers

Faiz Khan, Vincent Foley-Bourgon, Sujay Kathrotia, Erick Lavoie, and Laurie Hendren "Using JavaScript and WebCL for Numerical Computations: A Comparative Study of Native and Web Technologies" Dynamic Language Symposium (DLS). Portland, Oregon. USA. October, 2014.
Paper: [pdf]
Source Code: [github]

Erick Lavoie, Bruno Dufour, and Marc Feeley "Portable and Efficient Run-time Monitoring of JavaScript Applications Using Virtual Machine Layering" European Conference on Object-Oriented Programming (ECOOP). Uppsala, Sweden. August, 2014.
Paper: [pdf]
Source Code: [github]

Maxime Chevalier-Boisvert, Erick Lavoie, Marc Feeley and Bruno Dufour. "Bootstrapping a Self-Hosted Research Virtual Machine for JavaScript - An Experience Report." Dynamic Language Symposium (DLS). Portland, Oregon. USA. October, 2011.
Paper: [pdf]
Source Code: [github]

Grégoire Mesnil, Yann Dauphin, Xavier Glorot, Salah Rifai, Yoshua Bengio, Ian Goodfellow, Erick Lavoie, Xavier Muller, Guillaume Desjardins, David Warde-Farley, Pascal Vincent, Aaron Courville and James Bergstra. "Unsupervised and Transfer Learning Challenge: a Deep Learning approach." JMLR W\& CP: Proceedings of the Unsupervised and Transfer Learning challenge and workshop. Bellevue, Washington. USA. 2011. pages 97-110.
Paper: [pdf]

Workshop papers

Peer-reviewed but unpublished

Erick Lavoie, Bruno Dufour and Marc Feeley. "Metacircular Virtual Machine Layering for Run-Time Instrumentation" Runtime Environments, Systems, Layering and Virtualized Environments (RESoLVE). Houston, Texas. USA. March, 2013.
Slides: [pdf]

Dissertation

Erick Lavoie. "Harnessing performance for flexibility in instrumenting a virtual machine for JavaScript through metacircularity." Master Dissertation. Université de Montréal. 2012.
Paper: [pdf]

Talks

The SAFE Network from First Principles
YouTube Videos: [playlist]
"1. XOR Distance Metric and Basic Routing". McLab Seminars. McGill University, Montreal, October 2014.
Slides: [pdf]

"In Praise of Metacircular Virtual Machine Layering."
Mozilla Corp.San Francisco, California. USA. 2013-02-01.
Principles Of Programming Languages, Student Session's Short Talk (POPL). Rome, Italy. 2013.
The SIGPLAN Programming Language Mentoring Workshop, One Minute Madness (PLMW, co-located with POPL 2013) Rome, Italy. 2013.
Slides: 1min [pdf] 10min [pdf] 30min [pdf][video]

Teaching

Teaching Assistant, COMP 621: Program Analysis and Transformations, McGill University, Fall 2015

Teaching Assistant, IFT3065/IFT6232: Compilers and Programming Languages, Université de Montréal, Winter 2012