| Objective: |
To obtain a full time position in
operating system development at the kernel level.
|
| Education: |
B.S., Computer Science, May 2000
B.S., Mathematics, Applied Discrete Mathematics
concentration, May 2000
Virginia Polytechnic Institute & State University
(Virginia Tech)
Blacksburg, VA.
Minor: Religious Studies
Relevant Coursework:
- Data Structures and File Management
- Operating Systems
- Comparative Languages
- Numerical Methods
- Compiler Theory and Design
|
| Computer Skills: |
Hardware Architectures: Intel x86, AMD x86-64, Alpha
Operating Systems: FreeBSD, Windows, Mac OS X
Programming Languages: C, C++, Intel x86
Assembly, Alpha Assembly, Python, Bourne Shell, Korn
Shell, C Shell, Awk, Sed
Markup Languages: DocBook, HTML, LaTeX, XML
Applications: Xemacs, CVS, GDB, Perforce, Subversion
|
| Work Experience: |
Senior Technical Yahoo!, Yahoo!, Atlanta, GA
May 2006 - December 2008
- Wrote monitoring daemons and RAID management utilities for
the LSI MPT-Fusion HBA and LSI MegaRAID SAS controllers.
- Added support for booting FreeBSD from GPT-labelled
disks directly from the BIOS (as opposed to booting from
EFI).
- Implemented support for PCI Message Signalled
Interrupts in FreeBSD's PCI bus driver.
- Extended kgdb to better integrate with gdb, including
native handling for kernel module symbols.
- Provided general support for OS issues on FreeBSD
including analyzing kernel crashes and deadlocks and
also analyzing userland issues such as run time linker
bugs.
Senior Software Engineer, The Weather Channel, Atlanta, GA
November 2001 - May 2006
- Ported simple device driver from Linux to FreeBSD and
Windows XP (WDM);
- Ported device driver for Video I/O board from FreeBSD to
Mac OS X.
- Backported simple ACPI support to FreeBSD 4.x to
support soft power-off.
- Continued work on multithreading the FreeBSD kernel:
- Added a per-thread reference to user credentials
to avoid locking and avoid race conditions with
permission checks.
- Implemented turnstiles with priority propogation
and reader/writer locks.
- Rewrote most of the x86-specific interrupt handling
code to allow runtime selection of interrupt
controllers. Also, implemented PCI interrupt routing
across PCI-PCI bridges using $PIR and PCI interrupt
routing using ACPI.
- Appointed as FreeBSD SMP technical lead;
- Elected to serve on FreeBSD governing board.
Senior Engineer, Wind River Systems, Inc., Alameda, CA
May 2001 - November 2001
- Continued work on multithreading the FreeBSD kernel;
- Extended the Witness debugging facility to handle lock
upgrades and downgrades;
- Converted the ktrace debugging facility to use a
kernel thread to write to its backing file to avoid
locking problems;
- Made the FreeBSD kernel fully preemptive.
Systems Programmer, Berkeley Software Design, Inc., Concord, CA
June 2000 - May 2001
- Improved support for EDD BIOS support in the x86
bootstrap needed for hard drives larger than 8.4 GB.
- Worked as one of the primary engineers on the FreeBSD
SMP next generation project:
- Converted low-level interrupt vectors to interrupt
threads;
- Extended the atomic operation kernel API to allow
for memory barriers in a manner consistent for the
x86, Alpha, and IA-64 architectures;
- Reworked the mutex code inherited from BSD/OS to
be fully machine independent and to depend on the
expanded atomic operation API for its machine
dependent bits;
- Split the software interrupt code from hardware
interrupts and made it completely machine independent;
and
- Extended the Witness lock debugging facility to
perform checks on shared/exclusive locks in addition
to mutexes.
- Assisted in implementing low-level support for SMP on
Alpha systems.
Lab Administrator, Virginia Tech, Blacksburg, VA
August 1998 - May 2000
- Administered over 40 machines in the CS undergraduate
lab running FreeBSD and Tru64 UNIX.
- Implemented a server/client remote cloning system
using PicoBSD.
Summer Intern, Fuentez Systems Concepts, Inc., Martinsburg, WV
May 1999 - August 1999
- Rewrote all of the makefiles, centralizing the
definition of default rules and options. This new
system also allowed all internal software to be
recompiled with a single make command.
- Designed and implemented a system that allowed the
Automated Mutual-assistance VEssel Rescue (AMVER) system
to receive messages from ships directly over
e-mail.
Summer Intern, Gilbarco, Inc., Greensboro, NC
May 1998 - August 1998
- Wrote shell scripts to automate tedious system
administrator tasks under SCO Openserver.
- Developed a web-based database of problem reports
searchable and maintainable via CGI scripts.
|
| Activities: |
- Committer, FreeBSD (August 1999 - Present)
- Core Team Member, FreeBSD (June 2002 - July 2006)
|
| Interests: |
FreeBSD advocacy, playing guitar,
reading science fiction |
| References: |
Available upon request |