I am a postdoctoral research fellow at the University of Michigan, advised by Alex Halderman. Under the auspice of making the internet better, I am working to remove the limitations preventing you from getting the information you want. These limitations come both from explicit censorship from government and corporate entities, and from implicit limitations in the form of unimplemented features in online systems.

I can be contacted at


Talek is a privacy preserving database / pub-sub abstraction. Using access-sequence indistinguishably (all clients appear to behave identically to servers) by way of PIR, it presents an interface for building metadata-less chat and other communication applications. One of the exciting innovations is using GPUs to gain significant performance benefits compared to previous systems.

Satellite is a measurement system to watch the global consistency of DNS responses. The system track open DNS resolvers across IPv4, and runs weekly resolutions of the top 10,000 domains to track both changes in CDN deployments and networks where domain resolutions are systematically disrupted.

Open proxies occupy one of the dustier corners of the internet, yet continue to serve large amounts of traffic. This project takes a look at how prevalent these proxies really are, who runs them, and what they’re being used for. We monitored open proxy lists and scanned default ports, and then measured open statistics interfaces on a subset of proxies to understand what content clients were requesting.

Activist.js is an exploration of what publishers can do without the help of their users to make their content more resilient to network failures. In particular, can a drop-in library alert users when issues in the network are making content unavailable? We look into what is actually provided by cache manifests and service works to provide limited control of experience to publishers even when their servers are disrupted.

uProxy is a browser extension that lets users share alternative more secure routes to the Internet. It’s like a personalized VPN service that you set up for yourself and your friends. uProxy helps users protect each other from third parties who may try to watch, block, or redirect users’ Internet connections. uProxy is built on freedom.js, and includes features like a fully native javascript xmpp chat client.

freedomffreedom.js is a set of ideas for how to redesign the web. The Client-Server model imposes high operational costs on popular sites, which has resulted in a different ecosystem than desktop applications – one that is much more service oriented. freedom.js provides a framework to encourage a FOSS / Linux like ecosystem for web applications.

Unblock (extending OneSwarm) is a privacy preserving overlay. We look at how to extend Oneswarm not just for file sharing, but as a general purpose network overlay. Network topology is only locally known, and based on trusted social links – which protects users and improves performance. Unblock also explores ways to extend the trust found in social networks to a graph with high enough connectivity to support a web browsing workload.


IMC. 2017.

FOCI. 2017.

SoCC. 2016.
Exploring the Design Space of Longitudinal Censorship Measurement Platforms
Arxiv Preprint. 2016.
Satellite: Joint Analysis of CDNs and Network-Level Interference
ATC. 2016.
Cryptographic Currencies from a Tech-Policy Perspective: Key Policy Issues and Technical Directions
Bitcoin. 2015.

Tech Report. 2014.

APSys. 2014.

TinyToCS. 2013.

HotNets. 2012.

Tech Report. 2012.


Current contact information is available on google+. My resume is also available.

Web Hacker