M.S., Computer Science |
May 2003 |
Virginia Tech,
Blacksburg, VA |
GPA: 3.85/4.0 |
B.S., Computer Engineering |
May 2001 |
Virginia Tech,
Blacksburg, VA |
GPA: 3.11/4.0 |
- Maintain Cadenza,
a collection of utility types and extension methods for .NET.
- Technical Reviewer for Cross-Platform .NET.
- Designed and implemented many
System.Diagnostics and
Mono.Unix types for
Mono.
- Added Generics support to
mdoc.
- Wrote and maintain the Interop with Native
Libraries document.
- Designed and implemented
Mono.Fuse,
a FUSE wrapper which
allows implementing Linux filesystems from any .NET language.
- Upsilon Pi Epsilon Computer Science Honor Society, 2002-2003.
- Association for Computing Machinery, 1996-2003; Vice president,
1999-2000.
- Eagle Scout Award, Boy Scouts of America, 1996.
|
Xamarin Inc. |
6/2011 - Present |
Hacker
- Developed Mono for Android,
working on the runtime, C# callable Android binding, documentation
importation.
- Provided Q&A for Mono for Android and other projects on
stackoverflow.com,
mailing lists, bugzilla, and IRC.
- Maintained mdoc, Mono's
suite of documentation tools.
|
|
Novell, Inc. /
Mono |
3/2009 - 5/2011 |
Software Engineer II
- Developed Mono for Android,
working on the runtime, C# callable Android binding, documentation
importation.
- Provided Q&A for Mono for Android and other projects on
stackoverflow.com,
mailing lists, bugzilla, and IRC.
- Maintained mdoc, Mono's
suite of documentation tools.
- Developed MonoTouch,
integrating the OpenTK GLES
bindings for use on iPhone,
binding some of the CocoaTouch frameworks, and added
System.Data
support.
- Maintained DbLinq, which provides
LINQ-to-SQL support for MySQL, SQLite, and other databases,
integrating DbLinq for Mono's System.Data.Linq.dll
implementation.
|
|
Novell, Inc. /
OpenOffice.org
|
8/2007 - 3/2009 |
Software Engineer II
|
|
Cadmus KnowledgeWorks,
Richmond, VA |
8/2003 - 7/2007 |
Software Engineer
- Design, develop and maintain
Cadmus RapidInspector™, a
Java
WebStart image validation and submission program for
publishing.
- Maintain several
JSP
sites for both internal and
public
use.
- Designed and implemented Perl
modules to interact with a
REST web service
utilizing RDF.
- Designed and maintain several internal Perl modules which interact
with a Java
J2EE application
using SOAP.
- Designed a Perl module deployment architecture to permit atomic
installations and version downgrades.
- Wrote guidelines for CVS
usage.
|
|
Virginia Tech,
Blacksburg, VA |
8/2002 - 6/2003 |
Graduate Research Assistant -
CITIDEL Digital Library
|
|
Eastman Kodak Company,
Rochester, NY |
5/2002 - 8/2002 |
Intern/Advanced Development
- Wrote a Managed Extensions for C++ .NET wrapper for
Picture Metadata
Toolkit (PMT).
- Enhanced thread-safety, researched lifetime management, fixed
defects in
PMT.
- Prototyped future
PMT
designs.
|
|
Virginia Tech,
Blacksburg, VA |
8/2001 - 5/2002 |
Graduate Research Assistant -
CITIDEL Digital Library
- Explored use of XML, XML Schema, to store history links for an
online digital library.
- Wrote XML stylesheet transforms to translte between XML Schema
types, facilitating the transfer of digital library metadata.
- Prototyped user interface for
Viaduct,
a web application to alow professors to create and publish lesson
plans online.
|
|
Microsoft Corporation,
Redmond, WA |
5/2001 - 8/2001 |
Software Design Engineer
- Researched adding .NET-debugging features to NTSD, allowing
debugging of managed code.
- Improve product support tools that will be used for .NET.
- Researched ways to get a managed stack trace from an unmanaged
debugger, without requiring help from the managed process.
|
|
Microsoft Corporation,
Redmond, WA |
5/2000 - 8/2000 |
Software Design Engineer
- Wrote ADepends, a .NET 1.0 SDK sample which displays a graph
of Assembly dependencies.
- Wrote AdProfiler, a .NET 1.0 SDK sample which displays all
of the AppDomains and Assemblies currently loaded within a
process.
|
|
Eastman Kodak Company,
Rochester, NY |
12/1999 - 1/2000 |
Co-op/Advanced Development
- Ported image manipulation libraries to Linux.
- Compared executable size and speed between Linux and Win32
exectuables.
- Wrote a well-received report detailing changes required for
Linux port, summary of performance results.
|
|
IBM, RTP, NC |
1/1999 - 8/1999 |
Co-op/Pervasive Computing Group
- Wrote HTML transforms (e.g. replacing tables with lists).
- Helped co-workers with C++ and Windows API issues.
- Participated in designing the IBM TransProxy TextEngine,
which applies device-dependent transformations to HTML and XML
input, generating HTML or XML.
- Wrote component-level-design documentation for the
TextEngine.
- Implemented TextEngine modules in Java.
- Explored design alternatives for use in the TextEngine.
|
|
IBM, RTP, NC |
1/1998 - 8/1998 |
Co-op/Mobile Equalizer Build Team
- Designed and implemented software "agents" for a persistent
storage mechanism.
- Compiled and tested IBM Mobile Equalizer.
- Wrote build scripts to facilitate NLS builds of Mobile
Equalizer.
- Created/updated build process documentation.
- Trained replacement in Mobile Equalizer build process.
- Setup and repaired developers machines.
|
|
Eastman Kodak Company,
Rochester, NY |
9/1995 - 8/1996 |
Software/Consumer Products Tester
- Tested effect of hue, saturation, and contrast
adjustments on color print image quality.
- Programmed utilities for the Sun Solaris Operating System.
|
Operating Systems |
• Linux |
• Microsoft Windows |
• Apple Mac OS X |
Languages |
• C, C++, C#, Java |
• HTML, CSS, XML, XSLT |
• Perl |
Software |
• Gnome |
• Microsoft Office |
• Microsoft Visual Studio .NET |
Component Systems |
• OOP |
• Component Object Model |
• Microsoft .NET |