I have moved!

I am now a post-doc at the University of Maryland.

Please find my new website at: ethan.umiacs.io


I have recently completed my PhD at Cornell University in the Department of Computer Science, a member of the Initiative for Cryptocurrencies & Contracts, and the grateful recipient of a 2017 NDSEG Fellowship. My research focuses on designing secure systems and building tools to ease their development. I am advised by Andrew Myers and Ari Juels.

I received a Bachelor's in Mathematics – Computer Science from Brown University in May 2012 where I worked with Shriram Krishnamurthi on WeScheme, a web-based development environment for Racket. After graduating, I spent three years as a software engineer at TripAdvisor working on major backend data import and infrastructure systems.

In my spare time I like to play Ultimate Frisbee, play board, card, and table-top games, and go for hikes and bike rides.

Full CV


All linked talks given by paper's first author.
 Talk given jointly by both authors.
 This PDF corrects typographical errors present in the published version of the paper.


Professional Service

Department and University Service


  • Teach 7th – 9th grade girls computer science with Expanding Your Horizons.
    (2016 – 2019)
  • Taught 6th – 8th graders math and programming with Bootstrap. (2013)


Cornell University

  • Spring 2018 – Grad TA for CS 5430/5431: Systems Security
  • Fall 2015 – Grad TA for CS 2110: Object-Oriented Programming and Data Structures

Brown University

  • Fall 2011 – Head TA for CSCI 1510: Introduction to Cryptography and Computer Security
  • Fall 2010 – Head TA for CSCI 0510: Models of Computation
  • Fall 2009 – Head TA for CSCI 0190: Programming with Data Structures and Algorithms