David M. Harris

David M. Harris Email and Phone Number

Senior Software Engineer (Qt, PyQt, python, C++, Linux)
David M. Harris's Location
Portland, Oregon Metropolitan Area, United States, United States
David M. Harris's Contact Details

David M. Harris work email

David M. Harris personal email

n/a
About David M. Harris

My early career involved basic and applied research in the earth sciences. I was a member of the Mount St. Helens volcano monitoring team during its activity in 1980. Later, I continued my interests in programming and began a career in software development.My preferred languages include: C/C++ 11, STL, Qt, Python, PyQt, Flask, C#, OpenGL, SQLI have more than 25 years experience developing commercial software in the following domains:• Embedded Vehicle Display Systems• Unmanned Aircraft Systems• Streaming Video Surveillance Systems• Calibration and Testing of Electric Power Monitors• Sonar and Seismic Data Acquisition and Imaging• Avionics Device Interface Simulation for Product Development• System SimulationI like to use the following modern development methods and tools to ensure successful project outcomes:• Collaborative Development• Analysis & Requirements Definition• Design for Test and Extensibility (e.g., Design Patterns)• Process-Based Development• Requirements & Design Documentation (UML, Enterprise Architect)• Agile Development Methods• Test Driven Development (Google Test, Google Mock, QTest, NUnit, Squish)• Source Code & Configuration Control (Git, Stash, Perforce, Subversion)• Continuous Integration (Jenkins) • Automated Testing (CTest, QTest, Squish)• Continuous Tracking of Progress• Code Reviews• Independent Testing / Performance Verification• Quality & Performance Measurement• Code Profiling (VTune)Operating Systems: • Linux (Wind River, Red Hat, Ubuntu, Centos, MontaVista)• Unix (Irix) • Windows (Vista/XP/Windows 7)

David M. Harris's Current Company Details

Senior Software Engineer (Qt, PyQt, python, C++, Linux)
David M. Harris Work Experience Details
  • Black Diamond Networks
    Principal Software Engineer (C++, Qt, Arcgis Sdk, C#)
    Black Diamond Networks Feb 2021 - Apr 2021
    Andover, Massachusetts, Us
    Developed GIS application to display live and static geospatial data overlays using maps, satellite imagery, and elevation dataImplemented network interface to external data stream with geospatial dataImplemented 40+ automated unit tests
  • Black Diamond Networks
    Contract Senior Software Engineer (C++, Qt, Opengl, Google Test, Linux)
    Black Diamond Networks Mar 2018 - Mar 2019
    Andover, Massachusetts, Us
    • Designed, developed, and implemented new UI features for an unmanned remote display system• Implemented OpenGL graphics widgets for visualization and control of sensor attitude• Wrote test procedures for verification of spatial metadata and scaling of video imagery• Implemented automated unit tests for new features• Designed a simple virtual finite state machine to control access to state-dependent UI features• Used C++ 11, Qt, OpenGL, Google Test
  • Black Diamond Networks
    Contract Senior Software Engineer (Qt, Pyqt, Python, C++, Linux)
    Black Diamond Networks Jun 2016 - Aug 2017
    Andover, Massachusetts, Us
    I am implementing new features and enhancements to user-facing visualization software for machine-vision based inspection systems. I use python, PyQt 4, Qt, C++, OpenGL, pytest, QTest, and Google Test.
  • Think Surgical
    Contract Sr. Software Engineer (Robotic Surgery Planning Software)
    Think Surgical Aug 2015 - Feb 2016
    Fremont, Ca, Us
    Contract Employee of Black Diamond NetworksDeveloped application software for a regulated medical device used for orthopedic surgery Designed and developed additional features for a robotic surgery preoperative planning station (Linux, C++ 11, STL, Qt, QTest, CMake, Xml, xsd, Git, JIRA, UML, design patterns) Responsible for implementing new version of interface to surgical robotParticipated in design reviews, analysis, and documentation
  • Sharp Laboratories Of America
    Contract Sr. Software Engineer (Real-Time Audio/Video System)
    Sharp Laboratories Of America Jun 2014 - May 2015
    Contract Employee of Lexicon SolutionsI was a member of the product development team for the Sharp Intellos, a new unmanned autonomous security robot (http://SharpIntellos.com).Evaluated and recommended audio and video system software and hardware components for a prototype robotics productDeveloped a high-output full duplex wireless two-way audio subsystem with acoustic echo cancellation and client/server control of remote-end audio system (Linux, python, bash, Flask, PySQL, sqlite, PulseAudio, lighttpd, RTP, RTSP, C#)Wrote requirements specifications, use cases, and documentation for an audio/video subsystem (Enterprise Architect,custom templates, document generation) for the Sharp Intellos autonomous security robotResearched, evaluated, and recommended VoIP software and video management systems
  • John Deere
    Contract Sr. Embedded Software Engineer (Vehicle Status/Control Gui)
    John Deere Jul 2012 - Jun 2013
    Moline, Il, Us
    Contract Employee of Black Diamond NetworksDeveloped multi-threaded embedded software for high-tech agricultural vehicle automation and systems integrationJointly developed software for loading and unloading shared libraries, starting and stopping threads in an orderly manner, and logging performance metricsContributed to improved software health and thread monitoring and script-based data acquisition and recording during software failuresImplemented new UI and infrastructure features using an agile test-driven development methodology (Qt, C++, gmock, gtest)Investigated and corrected numerous software issues involving crashes, race conditions, memory leaks, state machine transition rules, and object initialization/destruction orderInvestigated software performance issues using on-target profiling with Intel VTune Jointly developed new features for reprogramming of embedded systemsSkills used: agile, test-driven development, Linux, C++, Qt 4.8.4, python, bash, gtest, gmock, valgrind, pthread, remote debugging, Mercurial, automated testing, continuous integration, Intel VTune
  • Sagetech Corporation
    Contract Sr. Software Engineer
    Sagetech Corporation Apr 2012 - May 2012
    Contract Employee of ProtingentDesigned, developed, tested, and delivered a pair of client/server simulators for an ADS-B receiver (ad hoc wireless network, sockets, messaging, C#, Wireshark, NUnit) in 5 weeks using an agile, test-driven development methodology
  • Logos Technologies, Inc.
    Contract Sr. Software Engineer
    Logos Technologies, Inc. Jun 2011 - Jan 2012
    Fairfax, Va, Us
    Contract employee of Summit Technical Services Developed, maintained, tested, and added features to simulators used for development of a wide-focal plane array imaging payload system for unmanned aircraft (Linux, C, C++, Boost, pthreads, ffmpeg, libjpeg, x264, sockets, NetBeans, Hudson/Jenkins continuous integration server, WireShark)Jointly developed a plug-in data source for displaying archived UAV streaming video imagery on NASA WorldWind (similar to Google Earth) from a network data server (NASA WorldWind/Pursuer, Java, ant, TCP/IP, Linux C++, WireShark) Defined requirements for an ArcMap plug-in interface for a streaming video display and control applicationDeveloped an ArcMap GIS plug-in for displaying and controlling geospatial data and streaming video from an unmanned aircraft sensor system (ArcMap 10.1 API, C#, .NET WPF/XAML, Logos Technologies LEAPS API, WireShark)
  • David M. Harris Consulting
    Sr. Software Engineer
    David M. Harris Consulting Apr 2011 - Jun 2011
    Reviewed OpenGL programmingStarted using PyQt, PyOpenGL, and OpenSGResumed study of signal processing
  • Aai Corporation
    Contract Sr. Software Engineer
    Aai Corporation Jul 2009 - Apr 2011
    Hunt Valley, Md, Us
    Contract employee of Elite Technical ServicesMember of a highly collaborative agile software development team for unmanned aircraft systems (embedded development, MontaVista Linux RTOS, C++, STANAG 4586)Collaborated with team members to investigate, modify, and verify correct software behavior for numerous features involving network communications, message handling, status monitoring, and data processing in an unmanned aircraft distributed control system (embedded development, MontaVista Linux RTOS, C++, multithreading, pthreads, sockets, STANAG 4586, WireShark)Redesigned a service thread for handling dynamic pairing (and unpairing) of UAVs with ground control stations for payload and aircraft control Refactored, debugged, and extended a ground control station Display Vehicle Specific Module for operating unmanned aircraft (Qt, C++, MontaVista Linux RTOS, Eclipse)Developed an XML-based configurable unit test framework for an embedded real-time message translator system (MontaVista Linux CGE, C++, Xml, Xsd, LMX, Boost Test, TCP/IP)Actively collaborated with team members to proactively identify problems and find robust solutions to challenging problems under time constraintsDeveloped custom and binary RPMs required to install and configure a web server on an embedded PowerPC host (cross compilation, makefile modification, PHP, thttpd, lighttpd, gcc, MontaVista Linux)Mentored other team members to facilitate and expedite their progress toward a successful project outcome
  • David M. Harris Consulting
    Sr. Software Engineer
    David M. Harris Consulting Mar 2009 - Jun 2009
    Investigated the NVIDIA TESLA C1060 processor board and the CUDA C APIStudied NVIDIA CUDA code samples and tutorials
  • Axian
    Sr. Software Engineer
    Axian Aug 2007 - Feb 2009
    Portland , Oregon, Us
    Performed software consulting services to Veris Industries and Advanced Inquiry SystemsDesigned, developed, and prototyped the object architecture, state machine, and multithreaded application software for production line calibration and QA testing of new electric power monitoring devices for solar panel and branch circuit monitoring applications (Visual Studio 2008, .NET, Visual C#, multithreading, SQL Server, StateCoder, Enterprise Architect, XML, UML, TCP/IP, NModbus, NUnit, Agilent and Fluke programmable test instruments)Developed unit tests for software interfaces to electrical test equipment (Visual Studio 2008, .NET, Visual C#, NUnit)Developed a firmware validation test framework for use by others (NUnit, C#, Visual Studio 2008, .NET)Designed and developed XML schema definitions and XML files to represent device register address maps, default register values, and device test operational sequences (NUnit, C#, Visual Studio 2008, .NET)Designed and developed enhancements to an automated wafer probing system (Visual Studio 2008, .NET, C#, UML, Enterprise Architect, National Instruments DAQmx, Windows XP, XML)Designed and developed a user-configurable state machine, a state machine configuration editor, a new device control interface, and a new output file format for a wafer probing system (Visual Studio 2008, .NET, C#, XML, UML, Enterprise Architect, National Instruments DAQmx, Windows XP)
  • Insitu, Inc.
    Sr. Software Engineer
    Insitu, Inc. Mar 2006 - Apr 2007
    Bingen, Washington, Us
    Designed and developed multithreaded code for GPS data acquisition, validation, processing, and distribution for ground-based and aircraft-based components in a UAV flight control system (Visual Studio 2005, multithreading, C++, STL, CppUnitLite, Quantum Frameworks, Enterprise Architect)Designed, developed, and implemented an embedded device driver architecture and interface for analog input, digital I/O, serial, and flash devices used on a commercial unmanned aerial vehicle (Green Hills compiler, C++, QSPI, MPC555, ThreadX, FileX)Redesigned and unit tested a flash disk device driver for embedded applications (Green Hills, C++, FileX, ThreadX)Designed and developed a POSIX-compatible serial communications device driver for an embedded MPC 555 processor (Green Hills compiler, C++)Wrote extensive suite of unit tests for validating serial and file system device drivers and firmware
  • David M. Harris Consulting
    Sr. Software Engineer
    David M. Harris Consulting Mar 2005 - Feb 2006
    Provided software consulting services to clients (Insitu, Inc. and Triton Imaging Inc.)Designed and developed an Iridium satellite communications system simulator (Visual Studio .NET, Visual C++, STL, multithreading, UML) for testing unmanned aerial vehicle communications softwareDesigned an object-based device driver architecture for an embedded RTOS running on a PowerPC (Green Hills, C++, ThreadX, FileX, QSPI)
  • Triton Imaging, Inc.
    Sr. Software Engineer
    Triton Imaging, Inc. Apr 2003 - Feb 2005
    Performed project requirements analysis, specification, estimation, status tracking, and status reporting for a custom sonar data acquisition and logging systemDeveloped a new marine survey mission planning application (Visual Studio .NET, Visual C++)Co-developed a new multithreaded remote sonar control and data acquisition system interface to the Marine Sonics SeaScan (Visual Studio .NET, Visual C++, sockets, TCP/IP, multithreading, Oracle, CORBA)Co-developed Triton SB-Logger, a new multithreaded seismic sub-bottom profiler data acquisition, logging, and display system (Visual Studio .NET, Visual C++, multithreading)Designed and developed a C# .Net – based analog data acquisition server interface to a National Instruments PCI-4472 data acquisition board (Visual Studio .NET, Visual C#, remoting)Wrote a COM library for reading and writing SEG-Y seismic data files (Visual Studio, Visual C++)Wrote a seismic data file translator (Topas to SEG-Y) and chirp deconvolution program (Visual Studio .NET, Visual C++; Intel IPP library for signal processing)
  • Axian
    Senior Consultant
    Axian Sep 2000 - Mar 2003
    Portland , Oregon, Us
    Advised and assisted a client (Cole Vision) develop a bootable CD-ROM and scripts for conversion of point-of-sale systems in 500 stores from SCO Unix to Red Hat LinuxCustomized and configured a small footprint embedded Linux operating system for the set top box of a digital video on demand system for a client (Roomster)Analyzed legacy code and wrote a detailed design for upgrading a Unix/C manufacturing control system application used for the fabrication of ink jet cartridgesRepackaged Functional Magnetic Resonance Imaging application software as RPMs using the Red Hat Package Manager (RPM) and scripts for automated software rebuild and installationCo-developed kernel programming exercises in C for Red Hat’s Linux kernel internals courseWrote technical note on making custom Linux distributions on bootable CD-ROMs Taught Red Hat Linux Device Drivers course
  • David M. Harris Consulting
    Sr. Software Engineer
    David M. Harris Consulting Dec 2001 - Oct 2002
    Provided free lance software consulting services to client (Electroglas, Inc.)Developed new software modules for an automated wafer inspection system (Electroglas, Visual Studio, Visual Basic, Access, SQL)Designed a COM module to update a production database and schema (Visual Studio, Visual Basic, Access, ADOX, SQL)Designed a 2D/3D graph server for retrieving, aggregating, and plotting quantitative data (Visual Studio, Visual Basic, National Instruments HiQ)
  • Unnamed Company
    Senior Mathematician And Financial Engineer
    Unnamed Company May 1999 - Apr 2000
    Enhanced software used by several utility companies to manage their energy futures and options contracts (VB, SQL, Oracle, Access)Updated formulas and algorithms for valuing energy futures and options contracts (VB, SQL, T-SQL) Improved accuracy and performance (40X speedup) of correlation, mark-to-market and value-at-risk (VaR) calculations (VB, Access, Oracle)Designed and implemented a new module to provide user-defined portfolios and position reports (VB, Oracle, Access, T-SQL)Designed a module to graph net (long/short) physical positions for electricity supply
  • Tava Technologies (Previously Advanced Control Technology)
    Systems Engineer
    Tava Technologies (Previously Advanced Control Technology) Apr 1996 - Apr 1999
    Designed and developed a supervisory and operator interface system for ten 1000-Ton hydraulic presses used for manufacturing aircraft interior parts (Visual Basic, SQL Server); Designed and implemented an arbitrary waveform generator, virtual oscilloscope, and data acquisition subsystem for use in a manufacturing control systemExternal Team Lead for Y2K Critical Systems Review at Dept. of National Defence, Ottawa, CanadaWrote proposal for SCADA system for electric utility distribution system upgrade project
  • Utah State University
    Graduate Student / Research Assistant (College Of Natural Resources)
    Utah State University Oct 1991 - Nov 1995
    Logan, Utah, Us
    Wrote a research proposal funded by the National Science FoundationDesigned and developed a physically-based model to simulate spatial and time variations of water, solar and terrestrial radiation, snow, vegetation, runoff, and stream flow in the Black’s Fork watershed (IRIX, C, shared memory, OpenGL, Motif, Tecplot)Designed and wrote code to solve large systems of nonlinear partial differential equations on a 2000 node 3-D finite element meshWrote data interface to Tecplot software and generated line graphs and time lapse digital color movies of computed variables to facilitate analysis of model outputs and integration with measured dataProcessed USGS digital elevation data, hydrologic data, SNOTEL daily precipitation and minimum / maximum air temperature, and vegetation properties Analyzed model outputs including plant canopy temperature, plant-atmosphere fluxes of moisture and solar radiation, net photosynthesis, snow pack energy and moisture fluxes, snow water equivalent, soil moisture, and runoff
  • Advanced Control Technology
    Systems Engineer
    Advanced Control Technology May 1988 - Sep 1991
    Performed systems analysis and technical writing as a member of control systems project teams Wrote the technical sections of numerous proposals for control systems integration projects Wrote project management plans, functional requirements, detailed design specifications, interface design specifications, system acceptance test plans and test procedures, system operator’s manuals, and technical reference manuals for systems for Boeing, Goodyear Tire & Rubber, General Motors, City of Detroit, and Dallas Area Regional Transit
  • Falcon Associates
    Research Scientist
    Falcon Associates Dec 1985 - Feb 1987
    Wrote software to simulate volcanic plumes and ash clouds, including particle aggregation and ash-fallWrote software to simulate electric fields from volcanic ash cloudsWrote software to analyze large sets of archived meteorological data on magnetic tapeWrote software to compute satellite positions from orbital parameters
  • York University
    Assistant Professor (Dept. Of Earth & Space Science & Engineering)
    York University Jul 1985 - Dec 1985
    Toronto, On, Ca
    Taught courses in mineralogy, petrology, and geology
  • University Of Oregon
    Research Associate (Dept. Of Geology)
    University Of Oregon Sep 1984 - Jun 1985
    Eugene, Or, Us
    Part-time temporary employmentWrote machine automation software in FORTRAN for x-ray fluorescence rock analysis labWrote code (FORTRAN) to obtain rock compositions from x-ray spectral data
  • Irt Corporation
    Staff Physicist
    Irt Corporation Aug 1983 - Jul 1984
    Wrote software to simulate thermal plumes and evolution of ash clouds
  • University Of Alberta
    Killam Post-Doctoral Fellow
    University Of Alberta Aug 1981 - Jul 1983
    Edmonton, Ab, Ca
    The Killam Post-Doctoral Fellowships are awarded at several Canadian universities for 2-year terms to scholars. I was hosted by the University of Alberta Dept. of Earth and Atmospheric Sciences. Devised a method for using volcanic ash-fall data to estimate particle concentrations in volcanic ash clouds; applied method to samples from Mt. St. HelensJointly conducted research on the solubility of water in molten granites at low pressures Taught lecture and lab course in physical geology Consulted with International Air Transport Association on volcanic ash clouds and the problem of non-detection by weather radar on commercial aircraft
  • U.S. Geological Survey (Usgs)
    Physical Scientist
    U.S. Geological Survey (Usgs) Jul 1979 - Jul 1981
    Reston, Va, Us
    Member of the Mount St. Helens Volcano Monitoring Team (6/1980 – 12/1980)Jointly developed an airborne method for measuring the CO2 flux from Mt. St. HelensPerformed airborne data acquisition and post-flight analysis of SO2 and CO2 fluxes from Mt. St. HelensAnalyzed weather radar observations of Mt. St. Helens eruptionsCo-authored first paper on quantitative use of radar to observe volcanic eruptions and track ash cloudsDesigned and built a prototype infrared device for volcanic gas analysisPublished several research papers related to Mt. St. Helens work

David M. Harris Skills

C++ C++11 Multithreading Stl Python Boost Qt C# Design Patterns Object Oriented Design Sockets Opengl Pyqt Agile Development Tdd Google Test Google Mock Nunit Embedded Systems Uml Cuda Visual Studio Embedded Software Eclipse Software Development .net Linux Development Algorithms Linux Tcp/udp Continuous Integration Xml Xml Schema Sql Windows Development Enterprise Architect Open Scene Graph Nasa Worldwind Arcgis State Machines Subversion Netbeans Wireshark High Performance Computing Numerical Simulation Finite Element Modeling Numerical Analysis Nmodbus Geophysics Sql Server

David M. Harris Education Details

  • University Of Chicago
    University Of Chicago
    Geophysical Sciences
  • Utah State University
    Utah State University
    Watershed Science
  • University Of Chicago
    University Of Chicago
    Mathematics
  • Whitman College
    Whitman College
    Math / Physics
  • South Salem High School
    South Salem High School

Frequently Asked Questions about David M. Harris

What is David M. Harris's role at the current company?

David M. Harris's current role is Senior Software Engineer (Qt, PyQt, python, C++, Linux).

What is David M. Harris's email address?

David M. Harris's email address is dr****@****ast.net

What schools did David M. Harris attend?

David M. Harris attended University Of Chicago, Utah State University, University Of Chicago, Whitman College, South Salem High School.

What skills is David M. Harris known for?

David M. Harris has skills like C++, C++11, Multithreading, Stl, Python, Boost, Qt, C#, Design Patterns, Object Oriented Design, Sockets, Opengl.

Free Chrome Extension

Find emails, phones & company data instantly

Find verified emails from LinkedIn profiles
Get direct phone numbers & mobile contacts
Access company data & employee information
Works directly on LinkedIn - no copy/paste needed
Get Chrome Extension - Free

Aero Online

Your AI prospecting assistant

Download 750 million emails and 100 million phone numbers

Access emails and phone numbers of over 750 million business users. Instantly download verified profiles using 20+ filters, including location, job title, company, function, and industry.