Skip to content

Instantly share code, notes, and snippets.

@DustinWehr
Last active October 13, 2020 17:52
Show Gist options
  • Save DustinWehr/8afbb02a46dd0e000846256cb61618de to your computer and use it in GitHub Desktop.
Save DustinWehr/8afbb02a46dd0e000846256cb61618de to your computer and use it in GitHub Desktop.
{
"meta": { "theme": "kendall" },
"basics": {
"name": "Dr. Robert Dustin Wehr",
"label": "",
"picture": "https://www.cs.toronto.edu/~wehr/pro_headshot_cropped_centered.jpg",
"email": "dustin.wehr@gmail.com",
"phone": "647 238 9539",
"degree": "PhD",
"location": {
"address": "118 Christie St, Apt #2",
"postalCode": "M6G 3B2",
"city": "Toronto",
"countryCode": "Canada",
"region": "Ontario"
},
"profiles": [
{
"network": "LinkedIn",
"username": "dustinwehr",
"url": "https://www.linkedin.com/in/dustinwehr/"
}
]
},
"work": [
{
"company": "INNOV-8",
"position": "Data Science and AI Engineer",
"website": "https://innov-8.ca",
"summary": "There wasn't any AI to do as my title suggested, but I did fill an assortment of mostly-unremarkable tech needs. I did several data collections and basic processing/analysis, including a large one (250TB+) spread over a messy network of a bankrupt company. I helped set up some company knowledge management infrastructure, and helped the team cope with Office 365, which I won't be looking to use again! I improved the performance of their marketing-team created website, without breaking the frustratingly-messy conventions that make it generable from their content management system, but unfortunately that version is still only at http://stagingcopy.innov-8.ca.",
"startDate": "2020-02-01",
"endDate": "2020-05-01"
},
{
"company": "Legalese",
"position": "Research Engineer and Formal Logic/Languages Specialist",
"website": "https://legalese.com",
"startDate": "2017-08-01",
"endDate": "2019-08-10",
"summary": "R&D lead for the development of open source software and specifications for writing legally binding contracts in formal languages, with support for formal verification, scenario exploration/visualization, natural language generation, and blockchain deployment.",
"highlights": [
"Critical role in securing $15 million government/industry/academic collaboration grant for the Centre for Computational Law in Singapore, which opening 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 sourced DSL for computational legal contracts, with support for testing, model checking, 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"
]
},
{
"company": "Logic for Progress",
"position": "CEO/Cofounder",
"website": "http://logicforprogress.org/",
"startDate": "2015-05-01",
"endDate": "2017-06-01",
"summary": "See volunteer section."
},
{
"company": "Living Reliability",
"position": "Software Engineering Consultant",
"website": "http://www.livingreliability.com/hven/",
"startDate": "2015-09-01",
"endDate": "2017-09-01",
"summary": "Supervised an update of EXAKT, an advanced Condition Based Maintenance policy optimizer, for integration with Living Reliability's Mesh software.",
"highlights": [
"Web, C++ (legacy)"
]
},
{
"company": "First Genesis",
"position": "Software Engineering Consultant",
"website": "http://www.firstgenesis.com/",
"startDate": "2017-01-01",
"endDate": "2017-01-30",
"summary": "Data processing and analysis for a project at the BP Whiting Refinery.",
"highlights": [
"python, typescript (used my project Structure Together)"
]
},
{
"company": "Centre for Maintenance Optimization and Reliability Engineering (University of Toronto, MIE Department)",
"position": "Postdoc",
"website": "http://cmore.mie.utoronto.ca/",
"startDate": "2016-09-01",
"endDate": "2016-12-30",
"summary": "Additional work on EXAKT (see Living Reliability job above), collaborating with the principal mathematician responsible for its methods.",
"highlights": [
"Statistics, C++ (legacy)"
]
},
{
"company": "VSVSVS",
"position": "Software Developer / Machine Learning Consultant",
"website": "http://vsvsvs.org/",
"startDate": "2016-07-01",
"endDate": "2016-08-01",
"summary": "LSTM recurrent neural net project for an art exhibit.",
"highlights": [
"python"
]
},
{
"company": "Sortable",
"position": "Software Developer",
"website": "https://www.linkedin.com/company/sortable/",
"startDate": "2013-01-01",
"endDate": "2013-08-30",
"summary": "TV and movie recommendation site. Hired after internship.",
"highlights": [
"Machine Learning",
"Scala, HTML/Javascript, Python, PostgreSQL",
"https://www.pcworld.com/article/2044340/televisor-is-your-personalized-tv-critic-for-streaming-shows.html"
]
},
{
"company": "University of Toronto",
"position": "Lecturer",
"website": "http://web.cs.toronto.edu/",
"startDate": "2015-01-01",
"endDate": "2015-04-30",
"summary": "Introduction to the Theory of Computation (CSC236), a second-year proof-based course."
},
{
"company": "University of Toronto",
"position": "Lecturer",
"website": "http://web.cs.toronto.edu/",
"startDate": "2014-01-01",
"endDate": "2014-04-30",
"summary": "Introduction to Computer Science (CSC148).",
"highlights": [
"Python"
]
},
{
"company": "University of Toronto",
"position": "Some Graduate Studies Highlights",
"endDate": "2015-01-01",
"startDate": "2008-09-01",
"highlights": [
"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 gradschool that had four very smart 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/transferable improvements on the influential work of Ruslan Salakhutdinov, Andriy Mnih, and Geoffrey Hinton — theirs was the most successful algorithm used by the winners of the Netflix Prize, which was the first very-high-profile success for neural nets, kicking 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 now very knowledgeable on this subject."
]
},
{
"company": "University of Toronto",
"position": "Teaching Assistant",
"website": "http://web.cs.toronto.edu/",
"startDate": "2008-09-01",
"endDate": "2015-04-30",
"summary": "Held several teaching assistantships throughout graduate studies, all of which I was encouraged to repeat.",
"highlights": [
"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"
]
},
{
"company": "McGill, Software Evolution and Verification Lab",
"position": "Student Researcher",
"website": "",
"startDate": "2007-05-01",
"endDate": "2007-08-30",
"summary": "Work on a prototype programming language, developed by Professor Brigitte Pientka, for writing provably-correct programs, especially complex syntax-manipulating programs such as compilers.",
"highlights": [
"SML", "Twelf"
]
},
{
"company": "McGill, CS Department",
"position": "Teaching Assistant",
"website": "http://web.cs.toronto.edu/",
"startDate": "2006-06-01",
"endDate": "2007-12-30",
"summary": "Held several teaching assistantships throughout undergraduate studies. This is fairly common since the surge in CS enrollment, but was quite rare back then.",
"highlights": [
"Logic and Computability, multiple semesters",
"Principles of Statistics I"
]
},
{
"company": "McGill, Centre for Intelligent Machines",
"position": "Student Researcher",
"website": "",
"startDate": "2006-05-01",
"endDate": "2006-08-30",
"summary": "Recommendation systems research, supervised by Professor Greg Dudek.",
"highlights": [
"MatLab"
]
},
{
"company": "U.S. Airforce Research Lab at Wright Patternson Air Force Base",
"position": "Student Research Assistant",
"website": "",
"startDate": "2005-06-01",
"endDate": "2005-08-30",
"summary": "",
"highlights": [
"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"
]
},
{
"company": "U.S. Airforce Research Lab at Wright Patternson Air Force Base",
"position": "Student Research Assistant",
"website": "",
"startDate": "2004-05-01",
"endDate": "2004-09-05",
"summary": "",
"highlights": [
"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."
]
},
{
"company": "McGill CS Department",
"position": "Undergraduate Computer Science Tutor",
"website": "",
"startDate": "2015-03-01",
"endDate": "2017-08-01",
"summary": "",
"highlights": []
},
{
"company": "Nature's For You",
"position": "Web Developer",
"website": "https://naturesforyou.com/",
"startDate": "2015-01-01",
"endDate": "2017-09-01",
"summary": "Fixed various problems / made various improvements on e-commerce site (BigCommerce).",
"highlights": [
"HTML, Javascript"
]
}
],
"projects": [
{
"name": "Structure Together",
"summary": "The most advanced realtime-collaborative Structure Editor, as far as I know. I made it for Logic for Progress. I have not given it the polishing and publicity that it deserves. Unfortunately, although I took care to build an abstraction between it and the Google Realtime API that it uses (learned my lesson with Mingaling), I have not had the time to replace that API with an alternative since the API was deprecated by Google in late 2017.",
"url": "https://github.com/DustinWehr/StructureTogether",
"website": "https://github.com/DustinWehr/StructureTogether",
"technologies": ["TypeScript","React","Google Closure Compiler"],
"type": "application"
},
{
"name": "Mingaling",
"summary": "First-of-its kind browser extension for lazy language learners. The basic idea: by interfacing with the Google Translate API (no longer free, which is one of the reasons Mingaling is no longer maintained), the user (say, an English speaker learning Spanish) can select English words/phrases while browsing, which stores them in a personal translation dictionary, and thereafter well-chosen occurrences of those words/phrases get replaced by the Spanish translation in pages the user reads. Each block of Spanish text is highlighted, and a tooltip is attached so that when the user hovers their cursor over the block, the original English text is revealed. This is a good, currently-supported implementation of the same idea, which I am <i>not</i> involved with: https://chrome.google.com/webstore/detail/gloss-learn-languages.",
"technologies": ["Javascript","HTML","AJAX"],
"type": "application"
}
],
"volunteer": [
{
"organization": "Charity Intelligence",
"position": "Web Developer",
"website": "https://charityintelligence.ca",
"startDate": "2017-02-01",
"endDate": "2018-03-01",
"summary": "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."
},
{
"organization": "Logic for Progress",
"position": "CEO/Cofounder",
"website": "http://logicforprogress.org/",
"startDate": "2015-05-01",
"endDate": "2017-06-01",
"summary":
"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 high standards of formal deductive logic, which are higher than the standards of applied statistics, and much higher than those of philosophy. The proposed approach helps to \"cut through the noise\" to find the fundamental sources of disagreement, even for highly emotional, contentious issues, while also helping to avoid flawed reductionist mathematical modelling typical of economics and game theory.",
"highlights": [
"Continuation and implementation of my PhD work",
"Status: I suspect the world is not ready for this yet. My focus turned to Legalese in 2017, which is somewhat similar, but targets the less subjective and better funded domain of contract law."
]
}
],
"awards": [
{"title":"Volunteer of the Year",
"awarder":"Charity Intelligence",
"date": "2017-01-01"
},
{"title":"Postgraduate Scholarship M",
"awarder": "NSERC",
"date": "2008-09-01",
"summary": "Sep 2008 - Sep 2010 (renewed once)"
},
{"title":"Helen Sawyer Hogg Award",
"awarder":"University of Toronto CS Department" ,
"date":"2008-09-01",
"summary": "Graduate entrance scholarship"
},
{"title":"Science Undergraduate Research Award",
"awarder": "McGill Faculty of Science",
"date":"2007-05-01",
"summary":"Summer 2007"
},
{"title":"Undergraduate Student Research Award",
"awarder":"NSERC / McGill",
"summary":"Summer 2006",
"date":"2006-05-01"
},
{"title":"Hugh Brock Scholarship",
"summary":"Undergrad entrance scholarship, 2004 - 2008",
"awarder": "McGill",
"date":"2004-09-01"
}
],
"education": [
{
"institution": "University of Toronto",
"area": "Computer Science",
"studyType": "PhD/MSc",
"startDate": "2015-01-01",
"endDate": "2008-09-01",
"courses": [
"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"
]
},
{
"institution": "McGill University",
"area": "Computer Science",
"studyType": "BSc",
"startDate": "2004-09-01",
"endDate": "2008-05-01",
"courses": [
"Probabilistic Reasoning and Artificial Intelligence",
"Formal Verification",
"Probabilistic Analysis of Algorithms",
"Automated Reasoning",
"Language-Based Security",
"Algorithm Design Techniques",
"Theoretical Programming Languages"
]
}
],
"publications": [
{ "name": "PhD Thesis: Rigorous Deductive Argumentation for Socially Relevant Issues",
"website": "https://www.cs.toronto.edu/~wehr/thesis/index.html",
"publisher": "University of Toronto Press",
"summary": "Using formal logic to improve deliberation/argumentation on questions it is usually thought unsuitable for: those involving significant vagueness, subjectiveness, and uncertainty.",
"releaseDate": "2015-01-30"
},
{ "name": "Challenges and Examples of Rigorous Deductive Reasoning About Socially-Relevant Issues",
"website": "https://www.cs.toronto.edu/~wehr/research_docs/wehr_TIL_Challenges_and_examples_of_rigorous_deductive_reasoning_about_socially-relevant_issues.pdf",
"summary":"Roughly a small fraction of PhD Thesis",
"publisher": "Trends in Logic XIV",
"releaseDate": "2014-05-01"
},
{
"name": "Pebbles and Branching Programs for the Tree Evaluation Problem",
"summary" : "Stephen A. Cook, Pierre McKenzie, Dustin Wehr, Mark Braverman, Rahul Santhanam",
"publisher": "ACM Transactions on Computation Theory",
"website": "https://www.cs.toronto.edu/~wehr/research_docs/TCT_2012_Pebbles_and_Branching_Programs_for_the_Tree_Evaluation_Problem.pdf",
"releaseDate": "2010-05-01"
},
{
"name": "Branching Programs for Tree Evaluation",
"summary" : "Mark Braverman, Stephen A. Cook, Pierre McKenzie, Rahul Santhanam, Dustin Wehr",
"publisher": "Mathematical Foundations of Computer Science",
"releaseDate": "2009-01-01",
"website": "https://www.cs.toronto.edu/~wehr/research_docs/mfcs_Branching_Programs_for_Tree_Evaluation.pdf"
},
{
"name": "Fractional Pebbling and Thrifty Branching Programs",
"summary" : "Mark Braverman, Stephen A. Cook, Pierre McKenzie, Rahul Santhanam, Dustin Wehr",
"publisher": "IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science",
"releaseDate": "2008-12-15",
"website": "https://www.cs.toronto.edu/~wehr/research_docs/fsttcs_Fractional_Pebbling_and_Thrifty_Branching_Programs.pdf"
}
],
"skills": [
{
"name": "Advanced Knowledge",
"keywords": [
"Algorithms", "Formal Logic", "Language Design", "Theory of Distributed Computing", "Automated Theorem Proving", "Formal Specification", "Computational Complexity Theory", "Bayesian Reasoning"
]
},
{ "name": "Solid Knowledge",
"keywords":["Neural Networks", "Linux", "Formal Verification", "Web Applications"]
},
{
"name": "PLs (good)",
"keywords": [
"Python", "Scala", "TypeScript", "JavaScript", "Java"
]
},
{
"name": "PLs (ok-rusty)",
"keywords": [
"C", "C++", "MatLab", "Mathematica", "Coq", "SML"
]
}
],
"references": [
{
"name": "Meng Wong",
"reference": "| Cofounder/Director of Legalese | mengwong@gmail.com | https://www.linkedin.com/in/mengwong"
},
{
"name": "Kate Bahen",
"reference" : "| Managing Director of Charity Intelligence | kbahen@charityintelligence.ca | https://www.linkedin.com/in/kate-bahen-28993511"
},
{
"name": "Murray Wiseman",
"reference": "| Founder of Optimal Maintenance Decisions (OMDEC) | murray.wiseman@livingreliability.com | http://www.livingreliability.com/hven/?p=193"
},
{
"name": "Professor Steve Cook",
"reference": "| PhD advisor | sacook@cs.toronto.edu | https://amturing.acm.org/award_winners/cook_n991950.cfm"
},
{
"name": "Professor Alasdair Urquhart",
"reference": "| PhD advisor | urquhart@cs.toronto.edu | https://en.wikipedia.org/wiki/Alasdair_Urquhart"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment