Emily C. Crutcher
1999: MS, Computer Science, New York University, New York, NY
1997: BS, Computer Science, Wesleyan University, Middletown, CT
Architected and created an enterprise framework for UI creation using the GWT framework
Created UI for Equities Lab, a next generation stock analysis program
Designed and developed the 1.6 event system and the original internationalization system for the Google Web Toolkit (GWT)
Contributed many core GWT widgets, such as the Grid, SuggestBox, PushButton, and DatePicker widgets.
Created core GWT libraries in wide use throughout Google.
Created, guided and encouraged the GWT incubator, an online community to create widgets and test new ideas for with the Google Web Toolkit
Developed an Industrial Strength Optimization module for optimizing Java Code Compilation.
Developed state of the art ontological system for CDC
Created a PDF form generator for use in public health forms and surveys
Developed state-of-the-art generational module extending a multi-threaded hybrid garbage collector
Designed a novel software pipelining technique to improve performance on Intel’s Itanium chip
Developed a new Object-Oriented language MULTI, with features such as a novel-function dispatch mechanism and type inference
2011-: Equities Lab, LLC, CTO
Emily created the UI for Equities Lab, entirely in Java Swing. Equities Lab is a next generation stock screener, backtester, and trading model generator that lets portfolio managers do analyses in minutes that would take hours before.
2009-2011: Intelligent Systems Development, SAP contract
Emily was the UI architect for a multi-million dollar GWT project at SAP. She got the project back on track, advised them on the best way to use GWT, and created a UI architecture that was extensible, flexible, and ready for enterprise deployment. This architecture was used for three related GWT projects, where each project was staffed with a different mix of team members. Each project was delivered on time, with all features the users requested, and a very low error rate.
As a Senior Software Engineer, Emily worked as the Technical lead of the PHIN VADS project for CDC, where PHIN VS is a versioned, provisioning, browsable ontological system for use by the CDC and other state health organizations. Previously at STC, she worked as the PDF Form Generator Technical Lead, where the PDF Form Generator translates xml representations of public health forms into fully web-enabled PDF forms. Emily also developed the Form Business Objects and Rules Engine for the CDC’s PHIN project.
2000-2002: TowerJ, Atlanta, GA
Previously, as a Software Engineer, Emily implemented a Just-In-Time Java compiler module targeted to Linux assembly (4-person team.) She implemented a parallel generational copy-collector loosely based on Bartlett’s mostly conservative garbage collector and she was solely responsible for the generation system, large-object handling, and memory defragmentation strategies and implementation (4-person team.) Emily also designed and implemented a new automated system to capture, process, and compile custom-loaded Java classes, which is an integral part of Java Ahead-Of-Time processing. She also designed and implemented a new optimization system for Java with an SSA-based (static single assignment) internal representation. This included a modular, flexible, visitor-based system that allows each optimization to be run and tested separately, with a variety of high-level optimizations, for a significant performance gain over previous implementation (2-person team.) She modified current complier and runtime to allow it to be certified as JCK compliant. This involved significant upgrades of the previous system, as well as integration of Sun Java libraries, edge-case handling, and byte-code verification (7-person team.) Emily also successfully created a new text-based test-suite analysis tool to better process regression failures (2-person team.)
1997-2000: Courant Institute, NYU, New York, NY
While a PhD Research Assistant, Emily designed an innovative alias-analysis technique to enhance software pipelining for EPIC class machines. She designed and implemented a recursive indexing system to index a collection of remote Web pages, searching for product pages. For each product page, an entry in a database is generated, after analyzing the page for attributes. When combined with a database and Web interface, it allows product searches/filters that are more sophisticated than anything offered today by e-commerce sites. Emily also designed and implemented MIRROR, an entirely reflective language that provides maximum power and flexibility to the user. MIRROR is functional and object-oriented, with multi-dispatch and dynamic typing. She designed and implemented MULTI, an object-oriented language with clean semantics, easy C linkage, and efficient multi-dispatch, as well as or-types, the compiler for MULTI generated efficient x86 assembly code. She designed a parallel server for Plinda. Plinda is a parallel variant of Yale Linda (a tuple-space system) augmented with transactions and distributed processing. The transactions allowed rollback in the event of client failure, but the server was not parallel or redundant. The task was to design a parallel-redundant server with good performance and no-single-point-of-failure.
June 1999-August 1999
June 1998-August 1998: Bellcore, Morristown, NJ
During these summers, Emily was a contract Programmer where she designed new-rules semantics for LAURE 5 (a high-level language for approximating solutions for NP-complete problems), which is simpler and more powerful than the current semantics. She proposed a new implementation for multi-methods based on the work with MULTI. Emily also implemented Java-like IO classes for use in the new release of LAURE, a hybrid of LAURE 4 and Java. She developed an experimental release of the RATER system, an Internet goods pricing program developed at Bellcore. In the experimental version, the iterative drive of RATER was replaced by a set of triggered axioms. She created a Larn-like game with an emphasis on the game system’s intelligence, as opposed to graphics for use as a demonstration of LAURE’s advanced features.
June 1997-August 1997: Video Kitchen, Louisville, KY
As a Programmer, Emily designed a scheduling program and customer database for use at the Video Kitchen. The system was designed for efficient employee management of customer data and to schedule equipment usage. Features included advanced search, automatic scheduling, and a direct manipulation user interface for scheduling.
June 1996-August 1996: Dr. David Changaris, MD, Louisville, KY
As a Programmer, Emily designed a full-service medical database program that tracks and cross-references patient information, insurance companies, and diagnosis and procedure codes for the purpose of tracking patients, automatically generating bills, and accounting.