Curriculum Vitae
Also available as a PDF.
Contact Information
Objective
To take part in the design and implementation of systems projects with an exploratory focus.
Education
-
University of Wisconsin at Madison
Seeking
Doctor of Philosophy
Graduation Expected
May, 2013
Major
Computer Science
GPA
3.75 / 4.0
-
University of Illinois at Urbana/Champaign
Degree
Bachelor of Science in Engineering
Graduated
May, 2008
Major
Computer Science
GPA
3.51 / 4.0 (Honors)
Publications
Other Systems Research
-
Research Assistant for Michael Swift
Since 1st Semester, 2008-2009
- Focusing on the use of transactional memory in systems applications.
- Joined and assisted with accepted paper, "xCalls: ..." with Haris Volos (see "Publications").
- Continuing to explore concurrency bugs, transactional memory, and the use of condition variables.
-
Heterobalance: Linux Scheduling for Heterogeneous Multi-core Systems
cs736: Advanced Operating Systems, Fall 2008
- Explored the relationship between Linux interactive (or I/O-bound) processes and heterogeneous CPU scheduling and interactive load balancing.
- Intuition: I/O-bound tasks get less from fast CPUs, and should be scheduled on slower cores.
- Designed and implemented a replacement load balancer for Linux 2.6, following our intuition.
- Demonstrated that, in several cases, our best performance was better than Linux CFS.
-
Encoding with Packet Timings
Undergraduate Research Assistant with Todd P. Coleman, University of Illinois, 2007-2008
- Wrote a Linux kernel module to precisely and covertly control the timings of IP datagrams.
- Continuing to serve in an advisory capacity, issues and constraints from the OS.
-
Collaborative Text Editor
Private Undergraduate Research, Univ. of Illinois SIGSoft student chapter, 2006-2007
- Designer and chief implementor of a distributed collaborative text editor.
- Designed an expansion of the dOPT algorithm, serving arbitrary-length replacement operations.
- Won 3rd place in the Siebel Center Computing Habitat competition.
Software Development and Project Management
-
Association for Computing Machinery (Illinois Student Chapter)
ACM General Chair, 2007-2008
Reflections | Projections Computing Conference Chair, 2006-2007
ACM Corporate Committee Chair, 2005-2006
SIGSoft President/Chair, Fall 2005 - 2006 (emeritus)
- Chief organizing member of the 2007 R|P conference, a $30,000 student-organized event.
- Principal coordinator of the 2006 R|P job fair, hosting 24 companies with a small team.
- Lead designer and developer for CTE, supervising six other developers.
- Founder and lead developer of the Scheedule project: a web-based class scheduling system for Illinois which currently receives over 6,000 unique hits each semester.
- Delivered tutorials on web technologies periodically.
-
Microsoft Corporation
SDE/Test Intern, Windows Kernel/Platform Architecture, May 2007 - August 2007
Program Manager Intern, Windows Lifecycle Group, May 2006 - August 2006
- Designed and implemented a remote test framework for the Windows boot environment.
- Wrote a partial VT-220 emulator and a UTF-8 to Unicode Converter using C++.
- Owned 2 specifications for the Windows "Vienna" Basics program, including new internal tools.
-
Scheedule.com
Founder, Fall 2006 - Fall 2008
- Presented the original application concept and managed the project through the first prototype.
- Designed the algorithm used to calculate possible schedules.
- Implemented mechanisms for course information retrieval, scraping web pages programmatically.
- Evaluated causes of pathological performance on the application back-end.
-
University of Illinois at Urbana/Champaign
Undergraduate Teaching Assistant, 2006-2007
- Taught Data Structures and Programming Studio, eventually leading about 80 students.
- Designed instructional material for Data Structures with C++ in a lab environment.