James E. Blair
Education
North Carolina State University |
Raleigh, NC |
B.S. in Computer Science
Skills
- Proficient in Python, Perl, SQL, Java, C, C++, Scheme, HTML,
PHP, TeX, LaTeX, XML, Bash
- Experience with GNU/Linux, Android, Solaris, Mac OS X, PalmOS,
MS-DOS, Windows
- Expert in MySQL, Apache, Exim, Gerrit, Jenkins, Zope, CMF/Plone, TurboGears, SQLAlchemy
- Familiar with PostgreSQL,
Oracle, Sybase, MSSQL, OpenLDAP, Mailman
Experience
Principal Infrastructure Software Developer, OpenStack Project, Rackspace |
Berkeley, CA |
Principal Infrastructure Software Developer, OpenStack Project, Hewlett-Packard |
Principal Infrastructure Software Developer, OpenStack Project, OpenStack Foundation |
July 2011--Present
- Responsible for OpenStack project core infrastructure including code review, continuous integration systems, and developer tools
- Established OpenStack project Infrastructure Program and served as tech lead
- Primary author of Zuul, Nodepool, Jenkins Job Builder, and the Gear Python library for Gearman
- Coordinated development of new tools including StoryBoard
- Established developer workflow and code review process with Gerrit
- Scaled developer infrastructure as project grew and transitioned to OpenStack Foundation
- Implemented continuous integration testing and release systems
Principal Email Systems Administrator, UC Berkeley |
Berkeley, CA |
Enterprise Unix Systems Administrator, UC Berkeley |
|
August 2005--June 2011
- Administered central campus email system with 70,000 accounts on 80TB of storage
- Maintained legacy CommuniGate Pro system while implementing upgraded architecture based on Exim and Cyrus
- Designed and implemented high availability and high performance MySQL cluster
- Contributed to Free Software projects including RoundCube, TurboGears, and Cyrus
- Led development of web-based self-service interface, and RESTful API
- Designed criteria and executed performance testing of enterprise storage options
- Launched campus-wide AFS network file service
- Worked in an on-call team managing hundreds of enterprise platforms
- Led a project to develop a scalable Linux-based platform for enterprise applications
- Worked closely with other teams on user interaction and support
- Collaborated with other universities on common issues and systems
- Improved and organized system documentation
- Ensured data was regularly backed up via central TSM service
- Worked with campus wide committees on strategic direction of messaging systems and identity management
Senior Systems Administrator, Free Software Foundation |
Boston, MA |
November 2003--July 2005
- Worked in a team to engineer the web-application platform for
the FSF Associate Membership program and the Plone-based content
management system for www.fsf.org
-
Improved the database back-end for the FSF/UNESCO Free Software Directory
- Implemented bayesian spam filters for Request Tracker system
and mailing lists
-
Maintained FSF/GNU Project IT infrastructure:
- GNU/FSF email services utilizing Exim, Mailman, TMDA, DSPAM and Bogofilter
- www.gnu.org running on Apache, mod_python, and MySQL
- www.fsf.org running on Plone, Zope, Apache, Squid, and MySQL
- Security infrastructure including authentication mechanisms and firewalls
-
Perl-based Request Tracker ticketing system used for volunteer coordination
Web Application Developer, NC State University |
Raleigh, NC |
February 2002--November 2003
- Designed and implemented a web portal using Plone, Zope and Apache
- Designed and administered a high-availability Zope cluster
- Participated in the Open Knowledge Initiative with collaborators at MIT, Harvard, and Stanford
- Implemented web applications using mod_python
- Created a web-based grade book with complete spreadsheet functionality and enterprise systems integration using Perl and Spreadscript
- Developed custom cross-platform Python and GTK+ applications
- Administered GNU/Linux departmental mail and web servers
Free Software Developer, In August Productions, Inc. |
Raleigh, NC |
January 2001--Februrary 2002
- Developed content management systems using Zope
- Implemented custom web-applications
- Designed and implemented a scalable email system using Exim, MySQL, and Cyrus
- Developed an LDAP authentication system for Zope
- Designed and prototyped a system to deliver educational
content to wireless tablets
- Developed a library for managing a database of UK post codes
- Designed and implemented a theatre lighting control system in C++ using CORBA
- Implemented a medical data processing system
- Performed various contract programming tasks
Programmer, NC State University College of Textiles |
Raleigh, NC |
June 1998--December 2000
- Designed and implemented database applications for computer
integrated manufacturing projects in C using diverse DBMS
- Created a web-based facility scheduling and auditing system
employing MetaHTML and MySQL
- Implemented a web-based mailroom inventory system
- Authored a system which allowed the simultaneous creation of
web-based slide show presentations and accompanying printed
documents using Java and XML
- Created multimedia presentations used in courses
Contractor, NC State University Department of Chemistry |
Raleigh, NC |
January 2000--December 2000
- Developed and maintained an online quizzing system using Zope,
XML, and PostgreSQL
Volunteer Programmer, Free Software Community |
|
1999--Present
-
Created Java AWT peer implementation based on GTK+
- Designed and developed a PC-based entertainment system for
automobiles
- Updated the Wacom USB driver in the Linux kernel to support
the Intuous digitizing tablet
Publications
Robert St. Amant, James E. Blair, Christopher G. Healey, SunJun Park,
Patrick Barry, and Duke Rogers. Visualization and selection in a
music database: A case study. Department of Computer Science
Technical Report TR-2001-04, North Carolina State University, March,
2001. Accepted by ACM Advanced Visual Interfaces 2002.
James E. Blair and Paul Fisher. Using MySQL Cluster in a High Volume
Email Environment. Presented at MySQL Conference & Expo, 2008, Santa
Clara, California.
References
Available on request.