Harvey Chapman


6283 Dartmouth Ave N

St Petersburg, FL 33710




(727) 687-5570








Real Digital Media

St Petersburg, FL

Senior Software Engineer

2013 – Present

  Created and maintained Ubuntu-ARM digital signage product based on existing x86 design using Nvidia, Allwinner, and Freescale processors. Expanded features for both x86 and ARM players. Created Python plugins and servers on players to support integration with third-party systems. Fixed bugs in Ruby scripts and a Rails site.

  Created an Android version of the digital signage product for semi-transparent commercial freezer doors. Built a custom Android OS for custom hardware. Ported and added new features to open source ngrok tunnel software to work with Android. Patches accepted upstream. Added multicast auto-discovery to players for cooperative playback.


3GFP Consulting

St Petersburg, FL

Senior Software Engineer

2011 – 2014

  Created hand-held vision scanner software: main application (embedded Qt, SQLite), operating system (Open Embedded), and cross-platform desktop apps (Qt). Wrote Python applications to validate file system integrity, monitor processes, and perform rule-based data synchronization.

  Ported pieces of an electric companys billing software from 1980s PowerBASIC to WxWidgets.



St Petersburg, FL

Senior Software Engineer

2010 – 2011

  Developed a large online card game network including game servers (Linux/C++), client application (Windows, C++, WTL), automatic updater, and server-interface code (PHP).

o  Setup and managed software tools (source control, bug tracking, builds) and one-step build process.


Persystent Software

Tampa, FL

Senior Software Engineer

2008 – 2010

  Created the Linux operating system for Persystent Solo: software to perform file-level repair for Windows systems as well as full imaging both locally and over the network. Ported a legacy Windows library to Linux, everything from XML support to low level disk and partition access, error handling, logging, GUIDs, and more. Assembly level debugging of BIOS and Grub4Dos while creating NTLDR (boot loader) replacement.


Constellation Technology

Largo, FL

Consulting Computer Engineer

2005 – 2008

  Developed nuclear scanning portal software for the Department of Homeland Security.

  Architected software infrastructure for combination Nuclear, Biological, and Chemical weapons detectors. Wrote a stable, well-tested, base code library that reduced development time.

o  Setup software department tools, network, infrastructure, and code library including Source Control, Bug Tracking, Internal Wiki Website, and VPN. Wrote robust, re-usable communications, timer, and event handling code library (135,000 lines of code).

  Added complex gas flow control algorithm to legacy Visual Basic application for a compact GCMS, gas chromatography-mass spectrometer.

  Created graphical import/plot/analysis software in Python to process, view, and analyze chemical saw sensor data.



Seattle, San Jose, Philadelphia

Software Engineer

1996 - 2004

  Created a distributed test framework for Video-on-Demand servers that imitated multiple brands of consumer set-top boxes and analyzed over 1.5 terabits per second of MPEG video. Used C++, Python, Kqueues, CORBA, and XML. Feedback from QA was overwhelmingly positive.


  Designed C/C++ software for controlling and operating head-end high definition MPEG video encoders. Dish Networks and DirecTV still continuously use this software for every national channel.


  Continued development of the online servers and networking core for the video game URU: Ages Beyond Myst.

o  Implemented a more efficient binary difference algorithm for game patches that resulted in space savings of up to 75% and a lower bounded memory usage.


  Supervised and wrote software in C/C++ for controlling up to 100,000 distributed fiber optic Ethernet switches which handled voice (VoIP), video, and data.

o  Created a simple, flexible, and fast in-memory embedded database server in C and helped develop complex algorithms for internal packet switching and blade redundancy for enterprise switches.


  Wrote C programs that assimilated data from and controlled, via a radio link, a telescope that studied cosmic microwave background radiation.


  Designed and built a PCI data acquisition system that read up to 256 16-bit channels, all simultaneously at a frequency of 1.2 kHz.


Technology Experience


Languages, Scripting:

C, C++, Python, Java, SQL, PL/SQL, Verilog, CUPL, Sun Sparc Assembly, Scheme (LISP), Pascal, Intel Assembly, Visual Basic, Unix Shell Scripts (expert), Perl, PHP, sed, awk




Android, Qt, GTK, wxWidgets, wxPython, FLTK, MFC, Boost, STL



Protocol Expertise:

Low-level socket programming, UDP, TCP, deep protocol knowledge (HTTP, HTTPS, FTP, FTPS, POP, DHCP, SMTP, IMAP, TFTP, SNMP, VLAN, Ethernet (Layer 2), TCP/IP (Layer 3/4)), extensive use of Wireshark.



IDEs, Debuggers, Source Control:

Emacs, Android Studio, MS Visual Studio, Embedded Workbench, GDB, Mercurial, Git, Subversion (SVN), CVS, Make, GCC, G++

Setup software tools, network, infrastructure, and code library including Source Control, Bug Tracking (Mantis), Internal Wiki Website, and VPN.



Operating Systems:

Linux, Mac OS X, SunOS/Solaris, Unix, VxWorks, OSE, Windows



Knowledge Tools:

MS Visio, ScreenSteps, ScreenFlow, Balsamiq Mockups, OmniGraffle



Linux Distributions:

Android, Open Embedded, Buildroot, Ubuntu, Gentoo, RedHat, TimeSys




Linux Kernel, U-Boot, Posix threads, SysV IPC, SSH, low level NTFS, kexec, Grub4Dos, rsync, OpenVPN


Education, Awards, Interests, & Personal Notes


  University of Pennsylvania, B.S.E. Computer Science Engineering, Electrical Engineering – 1999

o  Fred Ketterer Memorial Award for Outstanding Creativity in a Senior Design Project

  Co-Organizer of Tampa Bay Android Meetup, Python learning and meetups, reading technical websites, managing a personal Internet server since 1999.

  Family life, Eagle Scout, Cycling, Cooking, Backpacking

  Proposed at the summit of Mount Kilimanjaro

  Began programming in BASIC on a Commodore 64 and an Apple II in the late 80s and early 90s