×
Dr. R. Dustin Wehr

Dr. R. Dustin Wehr



Background


Work Experience

Work Experience

  • Software Development Engineer, Amazon Web Services (Aurora Serverless team)

    Mar, 2021 - May, 20221 year 1 month

    Aurora Serverless provides managed replicated MySQL and PostgreSQL services that can vertically autoscale, restart, and patch, all without dropping connections. I worked on the Control Plane team.

    • Enhancement, maintenance, and operation of a system managing hundreds of thousands of MySQL and PostgreSQL databases. It is a distributed system with five major service node types, in addition to many AWS services.

    • Contributed to design of the next generation "heat management" optimization for Aurora Serverless V2, which is the system that decides where to place Aurora instances on the multi tenant oversubscribed hosts, and what live migrations to do in order to alleviate overloaded hosts. It is a combination of ML for predicting instance resource needs (CPU, memory, network IO) and stochastic/robust mixed integer programming for decisions (with work on a RL agent on the horizon).

    • CI/CD, Unit and integration testing, design docs, code reviews

    • Java for main application. React, Python, shell scripting for dev and ops tools. Ruby for infrastructure-as-code.

    • Regular use of many AWS technologies including Lambda, S3, DynamoDB, CloudWatch/CloudFormation/CodeDeploy, various RDS services, SWF, Step Functions.

  • Full stack developer / Co-Founder, DaGoods Inc.

    Aug, 2022 - Mar, 20237 months

    Sourcing and selling on online marketplaces (Amazon, Ebay, etc).

    • Writing custom software, including:<ul><li>A barcode-driven inventory, stocking, and picking app, tailored for the business (stock in many locations, scarce convenient locations, large number of SKUs).<ul><li>Conflict-free, offline-friendly multi-device support, using nothing but an end-user cloud storage provider (Dropbox, Google Drive, etc).</li></ul></li><li>An OCR tool for integrating an integration-unfriendly selling platform into our shipping provider.</li><li>A phone tool that helps with product research specific to business's niche.</li></ul>

    • Product sourcing and selling strategy. More than 200% sales growth during my tenure.

    • Most of the legal and bookkeeping work.

    • Customer service for the Amazon marketplaces (we had 100% positive feedback) and the harder Ebay cases.

  • Data Science and AI Engineer, INNOV-8

    Feb, 2020 - May, 20203 months

    A legal tech startup. There wasn't any AI to do, as my title suggested, but I did fill an assortment of tech needs, getting the company through its first four months. Several e-discovery data collections and basic processing/analyses, including a large one (250TB+) spread over a messy network of a bankrupt company. Helped build the company's knowledge management infrastructure. Helped the team cope with Office 365. Greatly improved the load time of their marketing-team-created website, without breaking the conventions that make it generable from their content management system.

  • Research Engineer and Formal Logic/Languages Specialist, Legalese

    Aug, 2017 - Aug, 20192 years

    R&D lead for the development of open source software and specifications for writing legally binding contracts in formal languages.

    • Critical role in securing $15 million government/industry/academic collaboration grant for the Centre for Computational Law in Singapore, which opened in mid 2020. Lest there be any uncertainty, by "critical" I mean that it would not have happened without me!

    • Designed and implemented the company’s planned-to-be open source DSL for computational legal contracts, with support for testing, model checking, formal verification, scenario exploration, visualization, and some preliminary support for natural language generation and smart contract deployment.

    • Python, Scala, Z3 and other SMTLib2 solvers, Timed Automata solvers, Coq

  • Software Engineering Consultant, Living Reliability

    Sep, 2015 - Sep, 20172 years

    Supervised a modernization of EXAKT, a highly advanced Condition Based Maintenance policy optimizer that was trapped in a legacy Windows C++ codebase. Also worked on integrating it with Living Reliability's Mesh software, a web portal for maintenance operations.

  • Software Engineering Consultant, First Genesis

    Jan, 2017 - Jan, 201730 days

    Data processing and analysis for a project at the BP Whiting Refinery. Used my project Structure Together (it made some money!) and Python.

  • Postdoc, Centre for Maintenance Optimization and Reliability Engineering (University of Toronto, MIE Department)

    Sep, 2016 - Dec, 20163 months

    Continuation of work on EXAKT (see Optimal Maintenance Decisions job above), but additionally collaborating with the principal statistician and academic engineers responsible for its methods.

  • Software Developer / Machine Learning Consultant, VSVSVS

    Jul, 2016 - Aug, 20161 month

    LSTM recurrent neural net project for an art exhibit. I generated a fake group chat stream from years of the client art collective's WhatsApp group chat conversations. Used PyTorch.

  • Software Developer, Sortable

    Jan, 2013 - Aug, 20137 months

    Built novel TV and movie recommendation sites. Hired with raise after internship, but only for a few months as I had to return to graduate studies.

    • Data Science, Scala, HTML/Javascript, Python, PostgreSQL

    • https://www.pcworld.com/article/2044340/televisor-is-your-personalized-tv-critic-for-streaming-shows.html

  • Lecturer, University of Toronto

    Jan, 2015 - Apr, 20154 months

    Introduction to the Theory of Computation (CSC236), a second-year proof-based course. Both this course and the previous year's course (below) involved managing teams of teaching assistants, and working closely with other lecturers, both in-person and remote.

  • Lecturer, University of Toronto

    Jan, 2014 - Apr, 20144 months

    Introduction to Computer Science (CSC148). We used Python 3.

  • Tutor for various undergraduate CS courses, Self-employed

    Mar, 2015 - Aug, 20172 years 5 months

    Easy money.

  • Web Developer, Nature's For You

    Jan, 2015 - Sep, 20172 years 8 months

    Fixed various problems / made various improvements on a BigCommerce e-commerce site. This was for a relative of a friend.

  • Some Graduate Studies..., University of Toronto

    Sep, 2008 - Jan, 20156 years 4 months

    • See elsewhere in this resume for publications

    • Presented my proof of a conjecture made by Anna Gál, Michal Koucký, and Pierre McKenzie in their 2008 journal paper “Incremental Branching Programs” at the BIRS workshop “Computational Complexity”, August 1-6, 2010. Writeup for the proof: https://arxiv.org/abs/1101.2705.

    • Solved an open problem in the summer preceding graduate school that had four brilliant complexity theorists stumped for a while (lower bound for fractional pebbling trees).

    • Did a well-received project for Professor Geoffrey Hinton's Machine Learning graduate course, where my partner and I made some modest, but definite and transferable, improvements on the groundbreaking recommendation system work of Ruslan Salakhutdinov, Andriy Mnih, and Geoffrey Hinton that kicked off the Deep Learning boom. Final writeup for the project: https://www.cs.toronto.edu/~wehr/ restricted_boltzmann_machines_netflix_CSC2515report.pdf

    • Gave a two-hour lecture on Software Transactional Memory for the graduate course Advanced Distributed Computing. I am well informed on the theory up till that date (over five years ago).

  • Teaching Assistant, University of Toronto

    Sep, 2008 - Apr, 20156 years 8 months

    Held several teaching assistantships throughout my graduate studies, all of which I was encouraged to repeat.

    • Computability and Logic, graduate/undergraduate, multiple semesters

    • Computational Complexity and Computability, multiple semesters

    • Introduction to Computational Complexity, graduate

    • Principles of Programming Languages

    • Introduction to Theory of Computing, multiple semesters

    • Help Centre for all CS courses, multiple semesters

  • Student Researcher, McGill, Software Evolution and Verification Lab

    May, 2007 - Aug, 20073 months

    Work on a prototype programming language, developed by Professor Brigitte Pientka, for writing provably-correct programs, especially complex syntax-manipulating programs such as compilers. Programming in SML and the logic-programming language Twelf.

  • Teaching Assistant, McGill, CS Department

    Jun, 2006 - Dec, 20071 year 6 months

    Held several teaching assistantships throughout my undergraduate studies. This is fairly common since the surge in CS enrollment, but was quite rare back then.

    • Logic and Computability, multiple semesters

    • Principles of Statistics I

  • Student Researcher, McGill, Centre for Intelligent Machines

    May, 2006 - Aug, 20063 months

    Recommendation systems research, supervised by Professor Greg Dudek. Programming mostly in MatLab.

  • Student Research Assistant, U.S. Airforce Research Lab at Wright Patterson Air Force Base

    Jun, 2005 - Aug, 20052 months

    • Worked on techniques for data mining of (primitive, by today’s standards!) social networks that depict e.g. communication relationships between possible terrorists.

    • Software for processing and viewing/analyzing data from experiments that involved groups of military personnel interacting in a virtual space.

    • Python, Java

  • Student Research Assistant, U.S. Airforce Research Lab at Wright Patterson Air Force Base

    May, 2004 - Sep, 20044 months

    In the Electrical Technology and Plasma Physics Branch.

    • Performed experiments related to improving techniques for growing (in a plasma reactor) thin diamond films by boron doping.

    • Wrote some code for Dr. Alan Garscadden for losslessly converting image files created by some old lab equipment to a standard format.

Projects Experience

Projects Experience

  • NoLockin (in progress)

    - Present

    An ambitious approach to writing certain kinds of extremely portable software components. The most notable feature is that programming languages are abstracted to some extent. Can be thought of as a non-academic approach to model-driven engineering.
    Prototype written in Python.

  • Where's My Stuff? (backburner)

    - Present

    An (optionally) voice-controlled, offline-first, web-based collaborative (multi-user) inventory, built at first for my own use for organizing my things and trading/selling/gifting found things. The currently deployed prototype uses the prohibitively-expensive (at scale) Firebase for backend. Will merge this with the DaGoods Inventory app in the future, which uses a free user-friendly self-owned backend. Prototype written in Typescript, HTML.

  • Structure Together (backburner)

    - Present

    Still the most advanced realtime-collaborative Structure Editor, as far as I know. I made it for Logic for Progress, but I have not given it the polishing and publicity that it deserves. This includes my best front-end work, so if that interests you let me know, and I'll put some time into porting it from the discontinued Google Realtime API to Firebase. TypeScript, HTML, React, Google Closure Compiler, Webpack.

  • Mingaling (completed, discontinued)

    - Present

    First-of-its kind browser extension for practicing vocabulary of a second language while reading text in one's primary language, by substitution of selected words. There were a few thousand users at some point, despite no attempt made to advertise it. Mozilla appears to have dumped the old use statistics, but I can still see the review distribution (all 5 stars, 19 reviews). Review from a language learning site: MINGALING_REVIEW. A successful current commercial effort: https://chrome.google.com/webstore/detail/toucan-language-learning/lokjgaehpcnlmkebpmjiofccpklbmoci. JavaScript, HTML, AJAX.

Skills

Skills

  • Highlighted Knowledge

    OOP

    AWS

    Distributed Computing

    Linux

    Web Applications

    React

    HTML/CSS

    Automated Theorem Proving

    Formal Specification and Verification

    Algorithms

    Language Design

    Bayesian Statistics

    Neural Networks

  • PLs (fluent)

    Java

    Python

    Scala

    TypeScript

  • PLs (familiar or rusty)

    C

    Kotlin

    Ruby

    TLA+/PlusCal

    SML

    C++

    Mathematica

    MatLab

  • Advanced Knowledge

    AWS

    Algorithms

    Formal Logic

    Language Design

    Automated Theorem Proving

    Formal Specification

    Computational Complexity Theory

    Bayesian Reasoning

    Formal Verification

  • Solid Knowledge

    Linux

    Web Applications

    React

    HTML/CSS

    Neural Networks

Education

Education

  • Computer Science, PhD/MSc, University of Toronto

    Sep, 2008 - Jan, 2015

    Advanced Distributed Computing

    Machine Learning

    Algorithm Design, Analysis and Theory

    Theory of Distributed Computing

    Fundamentals of Cryptography

    Algorithms for Solving Propositional Theories

    Complexity Theory

    Topics in Knowledge Representation and Reasoning

  • Computer Science, BSc, McGill University

    Sep, 2004 - May, 2008

    Probabilistic Reasoning and Artificial Intelligence

    Formal Verification

    Probabilistic Analysis of Algorithms

    Automated Reasoning

    Language-Based Security

    Algorithm Design Techniques

    Theoretical Programming Languages

Awards

Awards

  • Volunteer of the Year , Charity Intelligence

    Awarded on: Jan 01, 2017

  • Postgraduate Scholarship M , NSERC

    Awarded on: Sep 01, 2008

    Sep 2008 - Sep 2010 (renewed once)

  • Helen Sawyer Hogg Award , University of Toronto CS Department

    Awarded on: Sep 01, 2008

    Graduate entrance scholarship

  • Science Undergraduate Research Award , McGill Faculty of Science

    Awarded on: May 01, 2007

    Summer 2007

  • Undergraduate Student Research Award , NSERC / McGill

    Awarded on: May 01, 2006

    Summer 2006

  • Hugh Brock Scholarship , McGill

    Awarded on: Sep 01, 2004

    Undergraduate entrance scholarship, 2004 - 2008

Volunteer Work

Volunteer Work

  • Web Developer, Charity Intelligence

    Feb, 2017 - Mar, 2018

    Made various improvements to the Charity Intelligence website, including a major feature to inform donors about higher performing charities that are similar to the one they are reading about.

  • CEO/Cofounder, Logic for Progress

    May, 2015 - Aug, 2017

    Logic for Progress is a registered non-profit that aims to advance the quality of deliberation on contentious social issues, in part by leveraging the exceptionally high standards of formal deductive logic. The approach helps to "cut through the noise" to find the fundamental sources of disagreement, even for some highly contentious issues, while also helping to avoid the pitfalls of reductionist mathematical modeling typical of e.g. economics and game theory, and the manipulability of popular statistical methods. Continuation and implementation of my PhD work.

Publications

Publications

References

References

  • Meng Wong | Cofounder/Director of Legalese | mengwong@gmail.com | https://www.linkedin.com/in/mengwong
  • Kate Bahen | Managing Director of Charity Intelligence | kbahen@charityintelligence.ca | https://www.linkedin.com/in/kate-bahen-28993511
  • Murray Wiseman | Founder of Optimal Maintenance Decisions (OMDEC) | murray.wiseman@livingreliability.com | http://www.livingreliability.com/hven/?p=193
  • Professor Alasdair Urquhart | PhD advisor | urquhart@cs.toronto.edu | https://en.wikipedia.org/wiki/Alasdair_Urquhart
  • Professor Steve Cook | PhD advisor | sacook@cs.toronto.edu | https://amturing.acm.org/award_winners/cook_n991950.cfm