- Java, Scala
- C#, .NET, CIL, LINQ, EF, WCF, Rx, Silverlight, Azure
- Concurrency, Patterns, OOP
- A small strongly, statically typed compile-to-JS language with basic extensible records and type-safe blocks (Website, Hackage)
- Web application for interviewing technical candidates in the browser (GitHub)
- A documentation generator for TypeScript (GitHub, Hackage)
- A just-in-time compiler for recursive descent parsers (GitHub)
- A Haskell library used to interface with the Windows Azure Table Storage API (GitHub, Hackage)
- A library used for working with files in the DICOM file format (GitHub)
- A simple ptrace-based supervisor written in C (GitHub)
- A purely functional programming language written in C# and targetting the .NET platform (GitHub)
DICOM Grid Senior Software Engineer 2013-2014
- Implemented the DG zero-footprint radiology viewing application.
- Rearchitected web services for scalability and fault-tolerance.
- TypeScript, PureScript, Scala.
Initial Round Founder 2012-2013
- Developed a cloud-hosted application for conducting test-driven technical screening interviews in the browser.
Cornerstone On Demand Senior Software Engineer 2012-2013
- Developed a horizontally-scalable autocompletion web service, incorporating complex business rules, and designed to scale to thousands of requests per node per second.
- Developed a SQL library and accompanying strongly-typed DAO layer using F# and C#.
- Prototyped a HTML rendering engine using ahead-of-time compilation for performance.
Nowcom Corporation Senior
Software Engineer 2010-2012
- Developed a reusable graphical query designer, query backend and administration
- Implemented a DSL and associated tools to execute in-app training scripts.
- C#, .NET, LINQ, SQL Server, ASP.NET, ADO.NET, WCF, WPF, Silverlight, XAML, WCF
Candelis, Inc. Software
- Developed a web-based DICOM medical image viewer.
- Development Lead for the Candelis-Siemens RT Review oncologist review
workstation, including 2D and 3D image registration, dose and beam review.
- Re-implemented large parts of a legacy radiology viewing application written in
Java making it extensible and amenable to unit testing and a continuous build process.
- Implemented a "Hanging Protocols" designer interface and backend, allowing
radiologists to design and reuse collections of reading preferences.
- Designed and implemented a layer-based rendering framework consisting of
reusable layers to replace the system's existing renderer. This allowed new visualization components to
be quickly developed by reusing existing components.
- Designed a composable mapping framework to simplify access to DICOM file
- Addressed memory management issues in the visualization products by replacing
the existing approach to garbage collection with soft in-memory caches.
- Java, C, MySQL, Java2D, ImageIO, JAI, Hibernate, Tomcat, JBoss, JSP, Servlets,
JPA, JDO, JAX/B, JNI, EJB, DICOM, Netbeans, Matisse, JUnit, Ant, Hudson, Java concurrency.
Mathematics MMath, 2007-2008
- Distinction with Honors
- Classes: Algebraic Topology, Spectral Geometry, Complex Manifolds, Category
Theory, Set Theory and Logic, The X-ray Transform in Geometry and Dynamics
Mathematics BA, 2004-2007
- First Class with Honors
- Consistently ranked 5th in class each year
- Classes: Algebraic Topology, Set Theory and Logic, Galois Theory,
Representation Theory, Linear Analysis, Riemann Surfaces, Differential Geometry, Probability and
Measure, Statistics, Optimization, Numerical Analysis, Dynamical Systems