University of California, Los Angeles
Ph.D. in Computer Science, expected Summer 2010
Masters in Computer Science, 2006
Thesis: Improved Data Storage Consistency: Patches and Short-Circuit Shadow Paging
Advisor: Eddie Kohler
GPA: 3.9
University of Virginia,
School of Engineering and Applied Science
Bachelor of Science in Computer Science, 2004
Bachelor of Arts in Mathematics, 2004
Thesis: Amorphous Shape Mapping
Advisor: David Evans
CS GPA: 3.9, Math GPA: 3.2, Overall GPA: 3.4
Phase Change Memory File System Design, MICROSOFT RESEARCH AND
UCLA
2008-Present
Redesigning file system software and cache hardware design to take advantage phase change memory to provide significantly stronger reliability guarantees and better performance.
Libprefetch, UCLA
2008-Present
Exploring today's disk performance properties and developing new file system prefetching interfaces and techniques to dramatically increase non-sequential disk read performance.
Featherstitch, UCLA
2005-Present
Developing new file system abstractions that allow applications to manipulate stable storage more efficiently, safely, and easily. Developed the patch disk change abstraction for file system implementations and fast, scalable in-kernel graph analysis and manipulation algorithms.
JPred, UCLA
2005-2006
Devised the first modular and typesafe type system that permits dynamic dispatch on object types in the face of multiple inheritance.
Amorphous Shape Mapping, UVA
2003-2004
Developed and analyzed a method of mapping shapes using an amorphous computer, Undergraduate Thesis.
Cracker Barrel Game Complexity, UVA
Spring 2003
Proved a variant of the cracker barrel game to be NP-Complete.
Amorphous Shape Growing, MIT PROJECT ON MATHEMATICS AND
COMPUTATION
Summer 2002
Developed an amorphous shape forming method, exploring node layout via cell growth and gradient exudation.
VMWARE, VMFS GROUP
MTS Intern with Jinyuan Li, Mayank Rawat,
and Murali Vilayannur Summer 2009
Designed and developed new distributed data movement capabilities for VMFS ESX clusters to improve performance and load balancing. Contributed to the design of new VMFS space saving technologies.
MICROSOFT RESEARCH, OPERATING SYSTEMS GROUP
Intern with Ed
Nightingale and Jeremy Condit Summer 2008
Developed new file system consistency protocol design principles for phase change memory that yield both significantly faster and safer file systems than traditional consistency protocols.
GOOGLE, ADSENSE AND JAVA INFRASTRUCTURE GROUPS
Engineer
Intern Summer 2005
Designed and developed a declarative RPC representation to replace AdSense's existing hand-coded RPC system. Extended internal AdSense RPC systems to permit further automation of ad analysis.
APPIAN, TECHNOLOGY
Technology Intern Summer 2004
As a team with three other interns, developed the first two business processes built on Appian Enterprise's BPM engine, from process specification to deployment. To implement our processes I developed Appian Enterprise's initial process loop construct and initial process model migration tool; both later supported the Army's Knowledge Online website, the world's largest intranet.
MICROSOFT, WINCE CORE OS GROUP
Software Design Engineer Summer 2003
Co-designed and developed Windows CE's UPnP AV Framework, a lightweight toolkit that simplifies UPnP AV DCP implementations. Contributed to the Windows CE C++ STL implementation.
DYNETICS, MISSILE SYSTEMS DEPARTMENT
Engineer Intern (DoD Secret Clearance) Summers 2000 and 2001, Winter Breaks 2000-2001 and 2001-2002
Developed a joystick input option for the simulation architecture JMASS, a graphical frontend that streamlined and further automated geometrical testing of solid propellant missiles, a graphical communication link analyzer that enabled engineers to assess flight tests more quickly and thoroughly, software that helped determine the feasibility of lower-frequency wind sampling for Tactical Unmanned Air Vehicle testing. Designed updates to the missile simulation system BADGER. Ported Solaris and Irix programs to Solaris, Linux, and Cygwin.
US ARMY, REDSTONE ARSENAL, AMRDEC, MISSILE GUIDANCE
DIRECTORATE
SEAP Apprentice Summer 1999
Designed the target recognition training backend for the directorate's memory-less target recognition system.
UNIVERSITY OF CALIFORNIA, LOS ANGELES, COMPUTER SCIENCE
DEPARTMENT
Teaching Assistant, Operating Systems (CS 111) Fall 2005,
Winter 2006, Spring 2006
Developed the synchronization lab and enhanced the course's existing shell, file system, and event labs. Developed automated grading systems for the course's lab. Led weekly discussions and helped students during office hours and via email. Assisted with midterm and final design. Authored and delivered one lecture.
THE UNIVERSITY OF VIRGINIA, COMPUTER SCIENCE DEPARTMENT
Teaching
Assistant, Software Development Methods (CS 201) Fall 2001
Helped students during office hours, oversaw lab sections, and graded labs.