Research Intern

Oracle Labs East

June 2016 – August 2017 Burlington, Massachusetts, USA
I worked with Mark Moir, Harold Carr, Maurice Herlihy, and others on experimental sharded blockchains using Haskell and the Tangaroa byzantine consensus algorithm.

Ph.D. Candidate

Cornell University

August 2012 – Present Ithaca, New York, USA
While most of my time as a Ph.D. Student is devoted to research, I have also participated in teaching both undergraduate and masters students.

Software Engineering Intern


June 2012 – August 2012 Los Angeles, California, USA
I worked with Eric Wood, and the Active View team to keep Google-supported ads off policy-violating sites,gaining experience with MapReduce, Internet-Scale Datasets, C++, and large codebases.

Summer Undergraduate Research Fellow

The California Institute of Technology

June 2009 – August 2011 Pasadena, California, USA
I was awarded a $6,000 research fellowship three years running, and conducted research at Caltech and JPL in Astrophysics and Computer Science.



We present Charlotte, a framework for composable, Authenticated Distributed Data Structures (ADDSs), like blockchains, git, bittorrent, etc.

The first consensus algorithm with heterogeneous failures, heterogeneous participants, and heterogeneous observers.

This report represents an earlier prototype implementation of the Charlotte framework.

We use the Decentralized Label Model to show how distributed algorithms, like Bosco and Nysiad, can be generalized from more complex trust environments.

With novel, carefully tuned features, neural nets, and SVMs, we were able to determine the author of samples from a group of ten webcomic artists with 94% accuracy.

We investigate some potential “slowdown” cases of the classic multi-Paxos algorithm, and developed some new variants to avoid them.

Since a message decrypted with the “wrong” key is pseudorandom, we build pseudorandom trees using onion routing with multiple forwarding addresses.

Contributions to NuSIM, a simulator for the NuSTAR space telescope, concerning how to compensate for thermal fluctuations in NuSTAR’s mast.

OpenGIS uses the EPSG registry to convert coordinate systems used by maps of Earth. Making something similar for the moon proved deceptively difficult.


A work in progress talk about Scalability, Confidentiality, Availability, and Integrity for Block-Webs with the Charlotte Framework.

A work-in-progress talk about our Heterogeneous Consensus algorithm.

When not all data has the same security properties, distributed ACID transaction scheduling has surprising security consequences.

We present a successfully implemented attack on traditional atomic commit methods across trust domains.

We’ve been looking at modeling distributed system failures with information flow tools, and expressing heterogeneous trust.


To contact me online, I generally prefer email.

Other contacts, from most likely to be read to least: