Jay Painter <jay.painter@gmail.com>, Software Development Engineer
(206)300-5723
http://www.drizzle.com/~jpaint
| 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 |
| 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. | |
|
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). |
| B.S. Physics and Computer Science |
| B.S. Biochemistry and Molecular Biology |
| Western Washington University, 1996 |
| Bellingham, WA |