Brian C. Duggan

he, him, his

brian@dugga.net@bcduggan • +1 309 310 7026
3626 Elkader Rd, Baltimore, MD 21218-2000

PGP: 5EEB C6DA B95F F861 0CBF 4011 56A1 C2EE A520 ECEB


System administrator and software developer focused on infrastructure reproducibility and site reliability. I love building robust projects to provide responsible support to communities in need while protecting their privacy.


Work experience

Jan 2017 - Jul 2018

Software Engineer for Best Practical Solutions (Cambridge, Massachusetts - Remote)

2014 - 2016

Special Projects and Technology Coordinator for The Lawyers' Committee for Civil Rights Under Law (Washington, DC)

Developer, sysadmin
  • Gathered requirements from users in EP.
  • Developed extensions to Request Tracker (RT) to enable EP's voter support and election monitoring efforts.
  • Solicited, reviewed, and merged code from volunteers organized by Benetech's Code Alliance to develop crucial pieces of EP's platform.
  • Built reproducible infrastructure in Ansible.
  • Transformed data for statistical reporting by Lawyers' Committee's data scientist.
  • Administered WordPress and CiviCRM installations for general operations.
  • Collaborated with Pro Publica to provide deidentified voter support data to its Electionland project during the 2016 election season.
Project manager
  • Worked with host Gossamer Threads to tune MySQL, Apache, and RT to meet performance requirements. Deployed application on election days in 2014 and 2016.
  • Orchestrated general operations website and CRM platform migration from vendor selection to deployment.
2011 - 2014

Technologist for The New America Foundation's Open Technology Institute (Washington, DC)



2009 - 2011

Technical Projects Developer and AmeriCorps Member for Urbana-Champaign Independent Media Center (Urbana, Illinois)

Sysadmin
  • Managed all UCIMC office tech support services including mailing lists, desktop support, websites, printing, and networking.
Volunteer coordinator
  • Coordinated all UCIMC tech volunteers.
  • Developed and taught electronics classes for local youth.
2007 - 2009

Software Engineer for Argus Systems (Savoy, Illinois)

2005 - 2007

Build Engineer for Motorola (Champaign, Illinois)

Projects

qrexec-gpg-agent
An alternative to QubesOS' native Split GPG. Provides access to gpg-agent Unix sockets on other VMs through Qubes' qrexec inter-VM communication mechanism. Includes SaltStack configurations to provision Qubes VMs with qrexec-gpg-agent capabilities.
Ansible RT
Ansible role to install RT and extensions.
Ansible Perlbrew
Ansible role to manage Perls through Perlbrew.
Our Vote Live
RT::Extension::OurVoteLive, the Perl RT extension that enables Election Protection's voter support mission.
Hardcopy Backup
Python application to encode data as QR codes embedded in a printable PDF file. The PDF includes restoration commands that use as few non-standard packages as possible.

Publications

2017
Election Protection Runs on RT - Best Practical blog
2016
Election Protection 2016 Post-Election Report - Election Protection website
2013
Government Plan to Build "Back Doors" for Online Surveillance Could Create Dangerous Vulnerabilities - Slate
2013
The Real Barrier to Freely Unlocking Cellphones: Mobile Carriers - Slate

Case studies

2017
Electionland: The Inside Story - ProPublica
2015
Online Issue Tracking Hosting: Election Protection Case Study - GT.net blog

Community engagement

2013
Teacher for Knowledge Commons DC
2011
Co-organizer of Urbana-Champaign Mini Maker Faire
2009 - 2011
Co-founder and Coordinator of Makerspace Urbana

Education

1999 - 2005
Bachelor of Science in Computer Science at Illinois State University (Normal, Illinois)