- To develop high-performance, high-assurance systems projects as part of a team using excellent software processes.
- High-performance systems programming.
- High-confidence development practices, including “correct by construction” design, testability, and verified coverage.
- Web browser design and development.
- Server-side web service and rich GUI client development.
- Real-time visualization and interaction.
- Software architecture and reliability.
- Project and risk management.
- Microsoft Corp., 2013 – present: Wavefront team. Worked on a team applying advanced systems programming language innovation to the task of improving the Internet Explorer code base. Ported Internet Explorer’s HTML 5 parser from C++ to a systems-programming-oriented dialect of C#.
- Microsoft Corp., 2008 – 2013: Midori team. As member of 100-person incubation team, co-developed web browser using entirely safe managed systems programming environment based on extended C# dialect. Single-handedly wrote the initial HTML5 parser and CSS parser (latter using ANTLR) for the project’s web browser. Wrote HTML-based window manager for system’s GUI shell. Ported portions of large cloud data server from C++ to extended C# dialect.
- Nimblefish Inc., 2002 – 2008: chief architect. Designed and led development of enterprise micromarketing campaign management system, including customer tracking, data cleaning, print generation, and web integration with interactive content. Used Hibernate, Flex, JSP, and Java.
- Quokka Sports, 1999 – 2002: architect. Designed and developed online Internet sports viewing applications for sailboat racing, Indy 500 car racing, Olympics result tracking, and more, using client-side and server-side Java with HTTP-based content delivery. Led live application support during Olympics.
- Helium LLC, 1999 – 2002: architect. As member of consulting firm, worked on projects including playbook management system for San Francisco 49ers (using SVG, Java, XML, and SQL), forecast alert system for ocean navigation company (using HTML and Java), and more.
- Protozoa Inc., 1997 – 1999: programmer. Worked on Direct3D video game as part of performance animation software company, using C++ and in-house performance animation content creation tools.
- Electric Communities Inc., 1995 – 1997: programmer. As part of online community-oriented startup, developed distributed virtual world protocol for fully cryptographically decentralized online virtual world, using Java.
- Autodesk Inc., 1992 – 1995: programmer. Architected and co-implemented video paint system for Windows 3.1 and later 95; designed and developed charting plugin for Excel.
- Xanadu Inc., 1990 – 1992: programmer. Developed prototype frontend for the Xanadu hypermedia system using a secure extension of Scheme known as Trusty Scheme. Later, worked on C++ version using asynchronous promise-based RPC library.
Open Source Code / Online Presentations
- Contributed to Google Web Toolkit project, 2007.
- Presentation at Google Web Toolkit conference on RPC in GWT, 2007.
- Seam / JSF / GWT integration, 2007.
- Online C# open source code for first version of Kinect low-latency live recording and looping application, named Holofunk, 2012.
- Bachelor of Science in Computer Science, Yale, 1990.