of the News
|a visual metaphor for interconnected story lines|
|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
|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.