Edward Z. Yang

ezyang@
mit.edu
cs.stanford.edu
First year PhD student at Stanford University
Massachusetts Institute of Technology 2012
University of Cambridge 2011 (CME)
RésuméCurriculum VitaeScholar
BlogTwitterG+FBTumblrGitHub
Metro Maps
of the News
a visual metaphor for interconnected story lines
(joint work with Dafna Shahaf, Russell Chou and Jacob Jensen)
hp/D3.js an interactive GHC heap profile pastebin
Logitext an interactive textbook for teaching the sequent calculus
GHC a compiler for the functional language Haskell
HTML Purifier a standards compliant HTML filter
Wizard a distributed autoinstall management system
CSRF Magic automatic protection against Cross-Site Request Forgery
Monad.Reader a magazine about all things Haskell
(I’m editor: send me a note if you want to write something!)
I am a first year PhD student at Stanford advised by David Mazières in the Secure Computer Systems group. I'm interested in applying operating system mechanisms (hardware isolation, dynamic resource limits) to the design and construction programming languages, and vice versa (type systems, formal verification, information flow control). I'm a big fan of Haskell, a non-strict purely functional language.
(I use a ThinkPad X61 Tablet. You can find me on freenode as ezyang, or on any of these websites: Stack Overflow, Wikipedia, Tripit, Reddit, LinkedIn, Mendeley.)
What are my collaborators and I working on?
  a category-theoretic approach to parallel loop optimizations
there are a huge number of ad-hoc loop optimizations in the literature. we're looking at using category theory to provide a framework for optimizations that is more principled than existing rewrite systems.
  an investigation of the sociological principles of API design
social coding websites like GitHub offer a corpus of code of unprecedented size; with this data, can we find out how developers use APIs in practice, and how we can construct newer, safer APIs that they are likely to adopt?
λP,S a programming language for computing on encrypted data
homomorphic encryption requires computation to be oblivious: flow control can never depend on secret data. how do you program in such a setting, and what data structures can you implement? Here is some prior work.
What do I do in my free time?
Recent publications