Jonathan M. Pryor


4912 Banbridge Ct. • Richmond, VA   23228 • (804) 512-7878
jonpryor@vt.eduhttp://purl.org/net/JonPryor/Home/

Objective

Full-time software engineer position.

Education

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

Activities and Awards

  • 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.

Experience

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
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.

Computer Skills

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