Résumé for Sam Hart

Summary

Well rounded engineer and technical leader experienced with and passionate about Free/Libre and Open Source software from design to implementation. Established Open Source community member and leader of many projects spread across the technical spectrum. Developed and extended a multitude of Linux-based operating systems including Debian, Ubuntu, Red Hat, SuSE, Gentoo, OS2005/2006 (precursor to Maemo/Meego/Tizen), Knoppix4Kids, and several custom platforms. Software development experience in many languages including Python, C/C++, C#, Shell scripting and Perl. Extensive work with various development, debugging and testing tools such as Git, Mercurial, SVN, BugZilla, Redmine, Trac, GCC and GDB. Self motivated with quick uptake on new concepts. Web-site articles and software reviewed in many publications around the world.

Experience

[ Top ]

Configuration and Build Manager

Angie's List, Indianapolis, IN
http://www.angieslist.com/

April 2015 - present

Manager responsible for build tools and processes, configuration and testing technologies, and repository policies and procedures. Set in place the branching, merge and repository workflow for the myriad of Git repositories in use at Angie's List. Integrated source code management tools with the build and test infrastructure. Managed merge queue and pull requests for diverse teams. Served as a liason between site-ops, dev-ops and development groups. Authored several Open Source tools and technologies which help streamline the build and release process including git-circle, a Git extension for working with CircleCI. Helped reduce average build times from 2.5 hours down to 45 minutes.

  • Git administration
  • Python development
  • Ruby development
  • Build optimization
  • Integration of build, testing and DVCS tools
  • Docker engineering
  • System engineering
  • Bash/shell scripting development

Technical Manager

Scrapinghub, Cork, IRL
http://www.scrapinghub.com/

April 2014 - April 2015

Manager responsible for Professional Services projects including custom spiders and data processing. Technical lead and software engineer for multiple ongoing projects. Developed customer spiders based upon the Scrapy framework, written in Python and running against various other Scrapinghub technologies. Leader of teams ranging in size from small to large. Projects include retail, security, advertising, healthcare and data mining.

  • Project Management
  • Team leading
  • Python development
  • System engineering
  • Bash/shell scripting development

Software Engineer

Glencoe Software, Dundee, UK
http://www.glencoesoftware.com/

June 2013 - Mar. 2014

Contributor to the Open Microscopy Environment project as well as developer of custom tools and OME extensions for Glencoe Software customers and support including adding annotation support on the OMERO command line and REDIS support for the OMERO caching backend. One of the initial developers on the Corgi project, developer and data wrangler for the OMERO instance running at the JCB Dataviewer, and various development roles in other Glencoe Software Github projects. Software engineering primarily in Python, Java, and shell.

  • Python development
  • Java development
  • System engineering
  • Bash/shell scripting development
  • High performance software caching
  • API, user and community documentation authoring

Technical Lead

GE Healthcare, Waukesha, WI
http://www.gehealthcare.com/

May 2012 - April 2013

Implemented and documented a testing infrastructure utilized by firmware teams working on various subsystems of a CT Scanner. Integration of Linux based testing and development environments with VxWorks testing environments. Scripted framework binding multiple diverse technologies providing continuous integration, distributed build, test management, and virtualized workstation features. Developed packaging mechanisms (scripts, specs, makefiles) for automatically building and bundling RPMs for CT Scanner host machines.

  • Linux Kernel Virtual Machines (KVM)
  • QEMU
  • Python development
  • Bash/shell scripting development
  • Makefiles and build tools
  • Documentation meeting federal healthcare standards

Linux Cloud Computing Integration Engineer

Intel, Hillsboro, OR
http://www.intel.com/

Oct. 2010 - May 2012

Principle developer on a cross-platform suite to integrate Linux and Windows- based systems into a cloud computing infrastructure inside the Enterprise Integration Labs. Initial work was on a C/C++ daemon suite to act as counterpart to existing Windows C# service, however both were later scrapped in favor of a unified Python-based cross-platform daemon/service which performed the same roles as previous two applications. In the end, authored 39k lines C/C++, 18k lines BASH/shell, and 14k lines Python. Cross-platform support included the Linux-flavors of Debian, Ubuntu, RHEL, CentOS, SuSE, SLES, SLED, Xen and ESX/ESXi, and the Windows-flavors of XP, Server 2003, Vista, and 7. Leader of a team of engineers working on the cloud computing project.

  • C/C++ development
  • Python development
  • Bash/shell scripting development
  • Cross-platform development as daemon and service
  • Makefiles and build tools
  • Custom cross-platform Python installer
  • Documentation using Doxygen

Studio Head, Lead Developer

Funavision/Mimicware Inc.
http://funavision.com/

Apr. 2008 - Oct. 2010

Funavision Electronic Entertainment is an independent video game studio producing socially enabled video game technologies for the Xbox 360, Google Android, and PC environments. Company founder, project manager and lead developer for a number of video game and multimedia projects. Managed a focused team of game engineers and testers toward producing new and exciting video game technologies. Company operated virtually with no central offices, thus utilizing specific remote work technologies such as distributed version control systems, distributed issue tracking, and distributed work-flow. Lead video game technology development for all company projects and performed development in C#, XNA, Java C/C++ and Python.

  • C# development
  • C/C++ development
  • Python development
  • XNA development
  • Managed team of engineers
  • Business planning and strategy

Linux Standard Base Engineer

Linux Foundation
http://www.linux-foundation.org/

Mar. 2007 - Apr. 2008

Member of the Linux Standard Base (LSB) team, a group with the goal of "[developing].. a set of standards that [increases] compatibility among Linux distributions". Guided the LSBsi (Sample Implementation) from an inactive and orphaned project back into activity. Developed utilities and modules in Python for ancillary LSB features and functionality. Participated in the debates and decisions for the LSB specification during the LSB3.2 and LSB4.0 time-lines. Provided work-flow plans and recommendations for the integration of Java component technologies into the LSB. Laid down foundation for cross-distribution package management schema designed to provide third-party ISV installation tools low-level access to underlying package management systems.

  • Technical specification writing
  • Python development
  • Linux distribution development
  • Package management development
  • DocBook

PHP Consultant

Linux Foundation
http://www.linux-foundation.org/

Nov. 2006 - Mar. 2007

Development of a bridging PHP-based technology between an existing PHP and MySQL based membership subscription tracking application, and a MediaWiki seeded LDAP user information store.

Project Manager on Platform Engineering Team

Progeny Linux Systems
http://j.mp/ProgenyLinux

Oct. 2004 - Apr. 2007

Development of Customized Linux distributions on x86, ARM, and PPC platforms. Starting with core Debian GNU/Linux, Fedora Core, or CentOS platforms, built and maintained customized Operating Systems. Low-level RPM development (RPM application, tools, and RPM packages). Python, C and Perl development. Anaconda modification and enhancement. Creation and maintenance of several Free-Software tools such as rpmstrap and smartstrap (rewrite of rpmstrap using the Python-based Smart API). Design of a system for creating custom Anaconda-based RPM installation ISOs under any arbitrary Linux distribution (e.g., Debian, CentOS). Project manager for RPM-based products. Progeny's Open-Source/Free-Software code can be found online here.

  • C/C++ development
  • Python development
  • Shell scripting
  • Perl development
  • Linux distribution development
  • Linux kernel development
  • Large-scale package customization
  • Assisted in the creation of mobile Linux OS that became Meego/Tizen
  • TELCO Linux OS creation
  • Embedded Linux OS creation
  • Security appliance Linux creation
  • File server appliance Linux creation

Consultant

Big Man Networks
Tucson, AZ

Dec. 2003 - Jan. 2005

President and principal consultant for Big Man Networks. Business venture specializing in custom Debian GNU/Linux server technology, including Anti-Spam/Anti-Viral solutions, OpenLDAP gateways, Apache Webservers, as well as custom programming and scripting solutions.

Linux/Unix Instructor

University of Arizona, Extended University- Tucson, AZ
http://outreachcollege.arizona.edu/

Apr. 2002 - Jul. 2004

Instruction and course design for the Extended University UNIX, Linux, and LDAP Professional and Continuing Education courses. UNIX and Linux courses are taught in three levels, each course occupying eight hour class periods for five weeks. UNIX and Linux courses teach: UNIX/Linux fundamentals, server technologies, and system security. LDAP course teaches OpenLDAP system administration, maintenance and management. Courses were taught from Red Hat Linux, Debian GNU/Linux, Knoppix, and FreeBSD platforms. Classnotes are available online at http://www.samhart.com/classnotes/.

Support Systems Analyst

University of Arizona Physics Department- Tucson, AZ
http://www.physics.arizona.edu/

Oct. 2001 - Oct. 2004

Integration and maintenance of 60-100 desktop PCs and laptops running various Microsoft Operating Systems, ensuring these PCs work well with the Unix infrastructure employed in the department, as well as maintenance of several Linux SAMBA, OpenLDAP, and terminal servers. Part of integration involved using the Linux-like CYGWIN environment under the Microsoft Operating Systems. Extensive script programming including BASH, Perl, and Python scripting under both Linux and Windows (CYGWIN). Managed graduate and undergraduate employees for maintenance and support of undergraduate and graduate computer labs as well as staff and faculty desktop pools.

Linux Software Consultant

Intel, American Fork, UT
http://www.intel.com/

Aug. 2000 - Jan. 2001

Manager of testing crew for an embedded Linux device. Lead developer of a distributed P2P testing suite. In charge of several other Linux developers working on the testing suite. Testing suite was cross-platform, but developed primarily under Red Hat Linux. It was written in Perl, with components in JSP and a CGI web-interface. Suite was a P2P distributed computing project that could turn unused embedded Linux devices in the office into a cluster for testing the device API. Was hired to solve API testing problem, and this suite was my solution.

Administration Technician

University of Arizona Physics Department- Tucson, AZ
http://www.physics.arizona.edu/

Jul. 1998 - Aug. 2000

System administration and software design. Developed database application for storage of Physics Graduate Student information. Managed undergraduate computer lab as well as maintained several Unix servers. Acted as liaison between technical support and general staff.

Open Source and Free Software Experience

[ Top ]

Lead Developer

circle-stats
https://github.com/criswell/circle-stats

Sept. 2015 - present

The missing statistics dashboard for CircleCI. Written in Python, it collects, analyzes, and displays organizational usage statistics from CircleCI. Displays build averages, top-built branches, build failures, and many more. Extensible and easily configurable. Developed as an Open Source project while part of Angie's List.

Lead Developer

Authored various Git extensions which provide additional functionality to the Git command-line. 'github-reflog' adds a reference log like interface for interacting with repositories hosted on Github. 'git-circle' allows users to access all of the features available from CircleCI from the git command-line. Both tools are written in Python, and easily installable from PyPI sources.

Lead Developer

Noink CMS
https://bitbucket.org/criswell/noink

Oct. 1998 - present

Noink is a web-based content management system. It was originally designed in 1998 to power various online web-comics and was written in Perl. It was later rewritten in Python to be a more generic CMS similar to Drupal. Currently, it is Python-based and utilizes the Flask microframework. It is designed to be a hybrid of dynamic and static content creation, and can be hosted in a fully dynamic fashion as well as generate static content.

Lead Developer

The Linux Client Agent (GPL) is a software suite used to manage a wide wide variety of Linux systems in a cloud environment. Software written in C/C++, bash, python. Source contains over 400k lines of code and supports RHEL, CentOS, SLES/SLED, OpenSUSE, Xen, Ubuntu, Debian, Slackware and ESX variants of Linux.

Lead Developer/Project Manager

Mimicware
https://sourceforge.net/projects/mimicware/

Apr. 2008 - Present

Mimicware is a suite of APIs created by Funavision for cross-platform, socially enabled video games. It includes cross-platform graphical engines, social network technologies, and game integration tools.

Project Director

Tux4Kids
http://www.tux4kids.com/

Jul. 2001 - Oct. 2007

Free-Software project founder. Acting director of overall project and lead developer/project manager of many sub-projects. Programming (C/C++), Application packaging/promotion, web design. Tux4Kids is a part of a family of Open Source/Free Software projects under the Open Source Educational Foundation ( http://www.osef.org/ ) including Knoppix4Kids and Debian Jr. While at Tux4Kids, led project development for a number of educational video games.

Lead Developer/Project Manager

rpmstrap
http://rpmstrap.pimpscript.net/

Dec. 2004 - Oct. 2007

rpmstrap is a tool for bootstrapping a basic RPM-based system. It is inspired by debootstrap, and allows you to build chroots and basic systems from RPM sources. Created while building custom RPM-based platforms while working at Progeny Linux Systems, it has since been used in everything from Virtual Machine building to customized installers. The rpmstrap project is now unmaintained, however, its code has been re-appropriated into the Xen virtualization software project.

Lead Developer/Project Manager

Tux Typing
http://tuxtype.sf.net/

1999 - 2002

Tux Typing is an Open Source educational typing tutor developed under Linux. Using the SDL libraries it was also ported to the Win32, Mac OS, and BeOS platforms. Served as lead developer until shortly after the 1.0 stable release. Has since become part of the Tux4Kids Free Software project. Tux Typing is published under the GNU GPL.

Creator/Supplemental Manager

Tux of Math Command
http://www.newbreedsoftware.com/tuxmath/

2001 - 2002

Tux of Math Command is an educational math tool developed under Linux. Creation of initial project idea and organization of project team including the recruitment of Bill Kendrick to be project manager. Provided initial game overview and graphics. Software has since been ported to the Dish Network "Dish721" Personal Video Recorder and is now included in that commercial product. Tux of Math Command is a part of the Tux4Kids Free Software project. It is published under the GNU GPL.

Contributor

Code and artwork contributor to TuxPaint. TuxPaint is a part of the Tux4Kids Free Software project. It is published under the GNU GPL. Original artwork for TuxPaint came from animations and stills unused by previous Tux4Kids projects. Bill Kendrick originally suggested TuxPaint on a Tux4Kids mailing list, and he and I went back and forth discussing ideas and brainstorming.

Contributor

Aethera
http://www.thekompany.com/projects/aethera/

Apr. 2001 - May 2001

Code contributor on the Aethera project. Created tool for importing of Microsoft Outlook mailboxes.

Contributor

Simple DirectMedia Layer Library
http://www.libsdl.org

1999 - 2003

Code contributor for SDL. Submitted patches to code and documentation as well as library usage examples under C, C# (Mono), and Perl. Was maintainer of the SDL/KDevelop Mini-HOWTO during the KDevelop 1.x development cycle.

Skills

[ Top ]

Languages/Scripting:

Python, PHP, Perl, C/C++, C# (Mono), BASH/Shell, Perl, Javascript

Development Tools

GCC, GDB, Subversion, Git, Mercurial, BZR, BugZilla, SourceForge, Vim, Eclipse, Visual Studio, XNA

Operating Systems:

General Unix, General Linux, Debian GNU/Linux, Ubuntu, Red Hat and Fedora Linux, CentOS and RHEL, SLES and openSUSE, Windows 95/98/NT/2000/XP/Vista/7

Server Administration:

Apache, SAMBA/CIFS, NFS, SSH Tunnelling, nmap/Wireshark

Miscellany:

CYGWIN/MSYS, VNC/NX, Virtual Machines (w/ Linux KVM)

References and Letters of Recommendations:

Available upon request

(Last updated: 2015-10-27 08:33 -0400)
Valid HTML5