Responsible for software development outcomes, from strategy to execution and subsequent analysis. Leading a hand-picked team of three senior engineers as well as overseeing engagements with usability analysts, designers, overseas resources, etc. ArborBridge delivers personalized educational services using proprietary curricula developed according to advances in technology, pedagogy, and neuroscience.
Led development of REST API and export tools for CommCare users to extract and transform their data. Contributed broadly to CommCare's backend design and implementation, including improvements to continuous integration, continuous deployment, asynchronous ETL processes, and modern role-based access control. Also started the Dimagi band :-)
Instrumental in building the Inkling platform, including REST APIs, web store, publishing tools, distributed build processes, and automated deployment. Directed improvements to Inkling's search capabilities. Directed analytics projects, coordinating business analysts, designers, front-end and back-end developers.
Developed iPhone apps for Fortune 500 brands including Gap, Timberline, Target and Cooks Illustrated, regularly featured in Apple commercials and stores.
Developed hybrid type systems, which blend compile-time guarantees with run-time checks, proven to detect all type errors in an undecidable type system either statically or dynamically, and to catch more errors statically than a conventional type system. Proved that type inference for such type systems in decidable even though type checking is not. Delivered supplementary lectures and led seminars in graduate-level Computer Science courses. See also selected publications below.
Led the development team building Cityspan's principle product, Youthservices.net, an information management system now used by over 100 large not-for-profit clients such as the Chicago Public Schools. Conceived and created a language for nontechnical personnel to customize the product, an early AJAX-accelerated user interface, and a query and reporting system.
Under professor Brian Harvey, added object-oriented features to the UC Berkeley Logo implementation. Under research director Adrian Freed of the Center for New Music and Audio Technologies, prototyped a C++/OpenGL interface for the Open Sound World visual programming language. Under graduate student researcher Ravi Kolluri, implemented and benchmarked heuristic optimizations to algorithms for reconstruction of solid models from 3-D laser scanner data.
Master's thesis: Hybrid Type Checking and Type Reconstruction for Executable Refinement Types. See also selected publications below. Founded UCSC's weekly programing language reading group for classic papers and ongoing research. Co-founded The "What Is ... ?" Graduate Seminar (TWIGS) at UCSC, a voluntary cross-disciplinary seminar on math and science topics. Four-time recipient of the UC Regents' Fellowship.
2008 Summer School on Logic and Theorem Proving in Programming Languages.
2007 Summer School on Language-Based Techniques for Integrating with the External World.
2006 Summer School on Language-Based Techiques for Concurrent and Distributed Systems.
Recipient of the National Merit Scholarship. Performed undergraduate research in computational geometry, computer music, and object-oriented programming languages.
With Thomas Schmitz, Duston Rhodes, Thomas H. Austin, and Cormac Flanagan. In Principles of Security and Trust, 2016 (POST'16).
With Cormac Flanagan. In Transaction on Programming Languages and Systems, 2010 (TOPLAS'10).
With Cormac Flanagan. In Proceedings of Programming Languages meets Program Verification, 2009 (PLPV'09).
With Caitlin Sadowski, Jaeheon Yi, and Cormac Flanagan. In Proceedings of the Workshop on Mechanizing Metatheory, 2008 (WMM'08).
In The Monad Reader Issue 11, 2008.
With Cormac Flanagan. In Proceedings of the European Symposium on Programming, 2007 (ESOP'07).
With Jessica Gronski, Aaron Tomb, Cormac Flanagan, and Stephen Freund. In Proceedings of the Workshop on Scheme and Functional Programming, 2006 (SFP'06).
Experimentally compared parallelization strategies for boolean 3-SAT using advanced constructs available in the Haskell programming language. (For a Ph.D. course in parallel programming techniques at UC Santa Cruz)
Implemented row-polymorphic type reconstruction for a lambda calculus with row types for extensible records and variants (For a Ph.D. course in type systems at UC Santa Cruz)
Wrote a multithreaded network simulator in Objective Caml and compared various algorithms for failure detection in distributed systems. (For a master-level course in distributed systems at UC Santa Cruz)
Applied machine learning algorithms to the problem of predicting senators’ votes on a new bill, using a feature set drawn from the text of senate bills, and the senators’ past votes. (For a master-level course in machine learning at UC Santa Cruz)
Experimented with generation of music using Markov chains and higher-order functions in Objective Caml. (For a Ph.D. seminar in computer music at UC Berkeley)
Presented a survey of set-based analysis for a an audience in computer science, but not necessarily expert in programming languages. (For a master-level course in programming languages at UC Berkeley)
Presented a survey of proof-carrying code research for an audience of scientists, but not necessarily computer scientists. (For an undergraduate technical writing course at UC Berkeley)
An interactive exhibit of bike traffic and accumulation at Hubway stations in the Boston metro area, with Kim Ducharme, Verena Tiefenbeck, and Zia Sobhani.
Funded graduate research for: Fall 2004, Winder 2007, Spring 2007, and Spring 2009.
Recipient of UC Berkeley National Merit Scholarship throughout undergraduate career.
Selected by San Ramon Valley High School faculty as top mathematics student in graduating class.
|Other Tech||3rd Party
Services & APIs
|Contributed bits to...||ElasticSearch, pfff, PLY, Scalaz Tastypie Roy CommCareHQ CouchdbKit Radon Claire|
|Originated...||CommCare Export, O'Caml FreeTDS, puppet-postgresql, Scala-RelaxNG, JSONPath-RW,|
Co-created, arranged, performed, and produced five studio albums. Co-arranged, produced, and conducted synthesized accompaniment to community West Side Story production. Co-created, arranged, promoted, and ran all-day, two-stage music festival.
Co-founder of UC Santa Cruz Chess and Go Players. Rated 5 kyu by Nihon Ki-in.