I previously taught computer science at Colorado State University, Colorado School of Mines, and University of New Mexico. I received my Ph.D. from the CUPLV group at the University of Colorado Boulder in 2018. I'm currently working on research in programming languages and synthesis/verification, with applications in domains such as networking, (distributed) systems, and compilers. My overall goal is to develop tools and techniques to help programmers write better code in security- and safety-critical domains. In my free time, I enjoy hiking, rock climbing, and unicycling.
Programming Languages, Synthesis/Verification, Compilers, Networking, Systems
Nov 2024 | I have retired from academia |
Sep 2024 | ”Towards Synthesis of Application-Specific Forward Error Correction (FEC) Codes“ accepted to HotNets 2024 |
Jul 2022 | ”Optimizing Regular Expressions via Rewrite-Guided Synthesis“ accepted to PACT 2022 |
May 2022 | I will be joining Colorado State University as a tenure-track assistant professor of CS this fall |
Feb 2022 | ”AxoNN: Energy-Aware Execution of Neural Network Inference on Multi-Accelerator Heterogeneous SoCs“ accepted to DAC 2022 |
Aug 2021 | NSF grant FMitF: Robust Enforcement of Customizable Resource Constraints in Heterogeneous Embedded Systems ($750,000 total / $250,000 for me) awarded |
Aug 2021 | ”Correct-by-Construction Network Programming for Stateful Data-Planes“ accepted to SOSR 2021 |
Jul 2021 | ”Dryadic: Flexible and Fast Graph Pattern Matching at Scale“ accepted to PACT 2021 |
Jun 2020 | NSF grant FMitF: Game Theoretic Updates for Network & Cloud Functions ($650,000 total / $355,000 for me) awarded |
Jun 2019 | I will be moving to Colorado School of Mines as a tenure-track assistant professor of CS this fall |
Feb 2019 | NSF grant CRII: SHF: Foundations for Stateful Network Programming ($175,000) awarded |
Current: |
|
||||||||||
Former: |
|
Instructor | CSU, Spring 2023 | |
Instructor | Mines, Fall 2021 | |
Instructor | Mines, Fall 2021 | |
Instructor | Mines, Fall 2020 | |
Instructor | Mines, Spring 2020 | |
Instructor | Mines, Fall 2019 | |
CS 341L Introduction to Computer Architecture and Organization |
Instructor | UNM, Spring 2019 |
Instructor | UNM, Fall 2018 | |
Graduate Teaching Assistant | CU Boulder, Fall 2013 | |
Graduate Teaching Assistant | Northwestern University, Spring 2013 | |
Graduate Teaching Assistant | Northwestern University, Fall 2012 | |
Graduate Teaching Assistant | University of Iowa, Spring 2010 | |
Undergrad. Teaching Assistant | University of Iowa, Spring 2009, Spring 2008, Fall 2007 | |
Undergrad. Teaching Assistant | University of Iowa, Spring 2007 |
Program Committee (PC) Member: |
|
Artifact Evaluation Committee (AEC) Member: |
|
Conference Reviewer: |
|
Journal Reviewer: |
|
Panelist: |
My wife Anna is a clothing designer. We have a very friendly (and very fluffy) Ragdoll cat named Ernest, who has his own social media.
Anna and I enjoy rock climbing. We mostly sport-climb at the Boulder Rock Club, but from time to time we have a chance to climb outside. I have climbed at Lily Lake, Shelf Road, Clear Creek Canyon, and Boulder Canyon.
We spent a day in Fiesole, up in the hills overlooking Florence. We also visited some of the beautiful sights in Florence, such as the cathedral, Ponte Vecchio, etc.
We spent some time in Cinque Terre, went swimming in Monterosso, and made a quick visit to Lerici.
We made a quick stop in Pisa to check out the Leaning Tower.
We spent a week in Germany, primarily for the CAV conference, but with some time for vacationing. We visited the castle, hiked the Philosopher's Walk, hiked to Konigstuhl, and generally had a wonderful time.
We made a quick stop in Zurich.
Click on the following images to see more randomly-generated cycloids.
I still keep my old website alive for nostalgia's sake.