Pat Gunn
"Gunn for Hire"
Email: *****@******.***
Address: Brooklyn, NY
Summary
Unix systems programmer/admin with broad scientific and philosophical/current-events literacy looking for interesting systems problems, scientific research opportunities, or other work that benefits humanity.
Employment HistoryPart-time Systems Administrator for
Feb 2012-Aug 2012
Part-time Unix Systems Administrator. Performed maintenance and configuration of sytems.
Part-time remote Systems Administrator for (Psychology Department, John Anderson's ACT-R Group)
(current)
Part-time remote Unix Systems Administrator. Remotely maintaining servers, assisting users with services and development.
Principal Research Programmer for (CS Department, David Andersen/Peter Steenkiste - CMCL Lab)
September 2008 - July 2011
Lead developer for CMU's participation in the cross-university Emulab networking testbed federation. Responsible for development of features, purchase/configuration/maintenance of hardware used in the testbed, systems administration of large numbers of machines, user-support/training, documentation, design of a machine room, writing management/wrapper for OpenVPN, extending APIs for automation. Technologies used: Perl, Python, C, PHP, MySQL, OpenVPN, Apache, MediaWiki, GIT, SVN, CVS, FreeBSD, Linux, Cisco IOS, VMWare ESX
Researcher/Systems Administrator for (Psychology Department, John Anderson's ACT-R Group)
August 2004 - January 2008 (continued to present on limited contract basis)
Responsible for all aspects of systems administration for the group, including purchases, systems/network configuration, database/web design/maintenance, and training/support/maintenance/backup. Responsible for design, process, and results analysis for psychology experiments involving fMRI. Responsible for programming in support of these tasks. Responsible for design, construction, and management of machine room for compute systems. Technologies used: Linux (servers), PostgreSQL, Perl, E-Prime (Programming language for Psychology Experiments), Apache, MediaWiki, Matlab, MacOS and Windows (supporting desktops), CVS/Subversion, Photoshop (writing extension in Javascript)Research Programmer for (CS Dept, Auton Group)
Sept 2002 - August 2004 (1 year, 11 months)
Responsible for programming in support of various research tasks (code in C, Perl, and Java), code refactoring, SQL database layout/coding, software design, documentation, system to automatically generate R and Matlab bindings, Java/Tomcat/Apache site design/maintenance. Technologies used: Linux and OpenBSD (servers), PostgreSQL, C, Perl, Java, R, Matlab, Mathematica, Apache (CGI and mod_perl), CVS, NagiosSystems Administrator for
April 2002 - August 2002 (5 months)
Responsible for constructing/maintaining critical systems (Linux, Solaris), CVS administration, security,
and (light) programming in support of these tasks. Technologies used: Linux (servers), DB/2, Perl, Apache, CVSSoftware Developer/Systems Administrator for
November 2001 - April 2002 (5 months)
Developed and maintained software controlling Dialogic boards (In C on SCO Unixware/Openserver and Linux), large-scale code refactoring, migration to and maintainence of CVS tree (including user training). Also responsible for systems administration and programming for various tasks. Technologies used: Solaris, Linux, SCO Unixware, SCO Openserver (servers), C, Java, Perl, Dialogic boards, Oracle, RCS/CVSStudent Research Programmer for (CS Department, LAIR AI Lab, B Chandrasekaran/Josephson)
October 1998 - October 2000 (2 years)
Designed (partially), implemented, and documented a crossplatform system for distributed computation in Perl on Unix and Windows. Student Programmer for The Ohio State University (Networking Group)
February 1998 - August 1998 (6 months)
Assembled servers, installed/configured NetBSD/FreeBSD on them. Wrote software to analyze BIND logs, various other tasks. Technologies used: NetBSD and FreeBSD, Perl, CStudent Unix Support Eng for The Ohio State University (Unix Workstation Support Group)
June 1997 to July 1998 (1 year, 1 month)
Provided phone and on-site support for Solaris, HP/UX, Digital Unix, IRIX, some other Unices, Windows NT. Installation and hardening of these operating systems on servers and workstations. Hardware troubleshootingStudent Support Eng for The Ohio State University (UTS Technology Support Center)
October 1996 to Feb 1998 (1 year, 4 months)
Provided technical support for Windows, MacOS, and internet software running under each. Trained staff, wrote new technical guides, wrote software to improve mailspool maintenance (Perl/Tk)
Volunteer/Other WorkOpensource developer/project participant
Sole developer of BLOG/Wiki software, email software, Usenet moderation software. Involvement in projects with various other developers, past and present, including Mozilla, XFree86BIRC Neuroimaging Centre (paid contract work)
February 2006-June 2006
Worked on report system for scan reservations for website, implemented basis of next generation database-driven website.Wikipedia
December 2002 - January 2007
Contributor to articles and policy, Mediation Committee, various other policy/working groupsPernangband Project
May 2001 - May 2002
Part of the development group for the game PernAngband (Unix/C).NoWonder Project
May 1997 - November 1999
Led the OS/2 and Unix teams in providing free technical support over the web. Also part of the Systems Administration team for server (running Linux/Apache/ircd) the project ran on.Usenet
August 1996 - 2004
Moderated seven newsgroups. Wrote software to perform Usenet moderation, and participated in Usenet moderation community.
EducationCarnegie-Mellon University
August 2003-July 2011
Non-degree student, took classes that include neuropsychology, psychology research methods, bioinformatics, and philosophyOhio State University
August 1996 - March 2001
B.S. Computer Science (Systems focus), minor Political Science (Political Theory focus)
SkillsSoftware and Systems
Extensive experience with Unix: Linux, Solaris/SunOS, FreeBSD, IRIX, Digital UNIX/Ultrix, othersSoftware development: Perl (Object Oriented), C, Java, Python, some assembly languages, some Lisp, R, Matlab, MathematicaDatabase design, coding, and related data massaging (Oracle, PostgreSQL, DB/2, MySQL, SQLite)Design/maintenance of web applications (mod_perl and CGI, some development on Tomcat). Hand-coding of HTML, CSS.Development tools: cvs/svn/git, Tinderbox, Bugzilla, gdb, ant, autoconfExperience with code refactoring/maintenance, cleanup, documentationComputer networking and network programming (primarily IP-based networking, some IPX), Cisco IOS, network security/analysis/troubleshooting/design, common servers (BIND, Apache, Sendmail, Samba, NFS/NIS, etc). Includes penetration analysis and security for such services. Computer Hardware: construction/maintenance/troubleshooting computers and related hardware (PC, Sun, Alpha, SGI, Mac, Cisco, etc).Strong knowledge of open source development practices, softwareExperience with other operating systems: Windows, MacOS, OS/2, VMSMachine room design/use (speccing power/cooling requirements, rack installation, wiring)Other
Spoken Languages: some German and Spanish, limited exposure to French, Japanese, Hebrew and RussianPsychology research: Writing papers, experimental design and analysis, Human Subjects training, MRI safetyWriting documentation, organising informationTraining others on tools and concepts
InterestsCognitive Science and Neuropsychology, particularly transfer of knowledge across different problem domainsPhilosophy: Morality, GovernanceWorld-current-events, history, conflict and its resolution, national development, policyLarge-scale Systems Programming, operating systems internals, distributed/fault-tolerant computing