Jay Painter <jay.painter@gmail.com>, Software Development Engineer
(206)300-5723
http://www.drizzle.com/~jpaint

Skills
Programming Languages:: C, Python, C++, FORTRAN, PERL, SQL, JavaScript, Java
Structured Document Formats:: XML, HTML, CSS, DHTML
Development Platforms:: Linux, Solaris, IRIX, FreeBSD, OpenBSD, NetBSD, AIX, OSF/1, MacOS, Windows, Web Applications, CGI, OpenGL
Systems Administration:: Linux, Solaris, IRIX, FreeBSD, OpenBSD, NetBSD, AIX, OSF/1, Windows
Servers:: Apache, MySQL, CVS, BIND, Samba, Exim
Electronics:: Op-amps, Filters, A/D converts, TTL Logic

Professional Experience
Software Developer, Web Applications
Seattle Public Schools September 2006 - Present

Web application and database developer for the Seattle Public School District's SOURCE website. During the last year, I have served as the systems administrator (Linux/Apache/MySQL), and back-end programmer (web development framework, mod_python, Django) for our 4-person development group. I have also been the end-to-end programmer for two web applications used within the district. One application was an on-line database for managing student enrollment, class assignment, tracking attendance, and collecting grades in support of the Summer School program. The second application was a web-based editor for student learning plans that allowed teachers to work collaboratively on-line through the year. In my role as back-end programmer, I ported the SOURCE from using an in-house web development framework to the Open-Source Django framework (www.djangoproject.org). Most of this software development work on the server was in the Python programming language and SQL (MySQL). Client-side programming was in XHTML, and Javascript using the jQuery library to provide Ajax and JSON marshaling.

Programmer Writer
Microsoft (Volt) April 2006 - August 2006

Documenting Microsoft networking protocols for European Union and DOJ regulatory compliance. I am currently documenting proprietary Microsoft protocols and Microsoft extensions to public protocols for MSRPC, SMB, Kerberos, WMS, and SSL. This requires bringing together information from engineering product groups, network captures, and inspection of source code. I also work as a technical adviser for other writers in our group.

Scientific Programmer
University of Washington Biomolecular Structure Center November 2002 - April 2006

Researching new mathematical models to interpret the thermal motion found in crystallographically determined protein structure atoms and relate this motion to large scale conformational changes. To this end, I developed three Open Source applications: the Python Macromolecular Library, TLSViewer (a OpenGL molecular viewer), and TLS Motion Determination (a web-based protein structure analysis program). The original algorithms and optimization techniques I developed and implemented in these programs have been published in peer-reviewed scientific journals. The TLS Motion Determination web application server is comprised of over 48,000 lines of Python source code, and 4,000 line of C/C++ source code which I personally wrote.

Senior Development Engineer::Buildmaster
RealNetworks Inc. November 1997 - December 2001

Buildmaster for all RealNetworks software. Designed and programmed the multi-platform build and universal makefile system which is used to compile all RealNetworks software on more than 20 different combinations of platforms and compilers including Windows, Linux, FreeBSD, OpenBSD, NetBSD, MacOS, Solaris, OSF/1, AIX, IRIX, QNX, and VxWorks. This build system, now called Ribosome, is written in the Python programming language has since been released by RealNetworks as Open Source software. The build system included a web application interface to a cluster of build systems which allowed users to submit product builds to the cluster and download the compiled products after they were built. I was responsible for initial porting of the RealPlayer and RealServer code base to new platforms, and resolving any compiler specific bugs. I also served as the systems administrator for the company's source code repository server (CVS), and developed a SQL database backed web application to track all changes to the companies source code. This software is now part of the ViewCVS package, a Open Source web interface to CVS and Subversion repositories. I ported the RealPlayer to a number of unsupported Linux platforms including: Linux/PowerPC, Linux/SPARC, and Linux/StrongARM. These ports often required source code changes and significant debugging. I also wrote a Linux kernel firewall module for the RTSP protocol, and the sample implementation of a RTSP firewall proxy which was provided to third party firewall developers.

Systems Administrator / Technical Editor / Programmer
Specialized Systems Consultants (Linux Journal) February - August 1997

Served as the company systems administrator responsible for the company email server, web server, files servers, firewall, and about 20 employee workstations which ran a mixture of Linux and Windows. Proof read articles for the magazine, wrote hardware reviews for the Linux Journal magazine, and updated selected chapters of the book Linux Installation and Getting Started.

Systems Administrator
Geoworks July 1996 - January 1997

Served the sole systems administrator for the Seattle branch of Geoworks supporting approximately 20 software developers using Sun Solaris and Windows NT workstations. Responsibilities included maintaining the networking hardware, running the Solaris NFS/NIS and Novell file servers, and installing new hardware.

UNIX Systems Programming and Administration Intern
Boeing Computer Services, Richland June - September 1993 and 1994

Provided UNIX administration and programming support for nuclear engineers on Silicon Graphics, HP, IBM, and Sun UNIX workstations. Wrote visualization programs in C++ for nuclear waste cleanup simulations, maintained the batch processing system (NQS), ported libraries between UNIX platforms, and wrote C and C++ interfaces to FORTRAN computational libraries.

Authored Open Source Software
TLS Motion Determination http://skuld.bmsc.washington.edu/~tlsmd/index.html
Python Macromolecular Library http://pymmlib.sourceforge.net
ViewCVS Transaction Database http://viewcvs.sourceforge.net
Ribosome Multi-Platform Software Build System https://ribosome.helixcommunity.org
Core Contributions to the GTK+ GUI Toolkit http://www.gtk.org

Publications
J. Painter and E.A. Merritt (2006) "Optimal description of a protein structure in terms of multiple groups undergoing TLS motion"
Acta Cryst. D62, 439-450 (Copyright © International Union of Crystallography).
J. Painter and E.A. Merritt (2006) "TLSMD web server for the generation of multi-group TLS models"
J. Appl. Cryst. 39, 109-111 (Copyright © International Union of Crystallography).
J. Painter and E.A. Merritt (2005) "A molecular viewer for the analysis of TLS rigid-body motion in macromolecules".
Acta Cryst. D61, 465-471 (Copyright © International Union of Crystallography).
J. Painter and E.A. Merritt (2004) "mmLib Python toolkit for manipulating annotated structural models of biological macromolecules".
J. Appl. Cryst. 37, 174-178 (Copyright © International Union of Crystallography).

Education
B.S. Physics and Computer Science
B.S. Biochemistry and Molecular Biology
Western Washington University, 1996
Bellingham, WA