David M. Harris work email
- Valid
David M. Harris personal email
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)
-
Principal Software Engineer (C++, Qt, Arcgis Sdk, C#)Black Diamond Networks Feb 2021 - Apr 2021Andover, Massachusetts, UsDeveloped 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 -
Contract Senior Software Engineer (C++, Qt, Opengl, Google Test, Linux)Black Diamond Networks Mar 2018 - Mar 2019Andover, 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 -
Contract Senior Software Engineer (Qt, Pyqt, Python, C++, Linux)Black Diamond Networks Jun 2016 - Aug 2017Andover, Massachusetts, UsI 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. -
Contract Sr. Software Engineer (Robotic Surgery Planning Software)Think Surgical Aug 2015 - Feb 2016Fremont, Ca, UsContract 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 -
Contract Sr. Software Engineer (Real-Time Audio/Video System)Sharp Laboratories Of America Jun 2014 - May 2015Contract 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
-
Contract Sr. Embedded Software Engineer (Vehicle Status/Control Gui)John Deere Jul 2012 - Jun 2013Moline, Il, UsContract 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 -
Contract Sr. Software EngineerSagetech Corporation Apr 2012 - May 2012Contract 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
-
Contract Sr. Software EngineerLogos Technologies, Inc. Jun 2011 - Jan 2012Fairfax, Va, UsContract 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) -
Sr. Software EngineerDavid M. Harris Consulting Apr 2011 - Jun 2011Reviewed OpenGL programmingStarted using PyQt, PyOpenGL, and OpenSGResumed study of signal processing
-
Contract Sr. Software EngineerAai Corporation Jul 2009 - Apr 2011Hunt Valley, Md, UsContract 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 -
Sr. Software EngineerDavid M. Harris Consulting Mar 2009 - Jun 2009Investigated the NVIDIA TESLA C1060 processor board and the CUDA C APIStudied NVIDIA CUDA code samples and tutorials
-
Sr. Software EngineerAxian Aug 2007 - Feb 2009Portland , Oregon, UsPerformed 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) -
Sr. Software EngineerInsitu, Inc. Mar 2006 - Apr 2007Bingen, Washington, UsDesigned 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 -
Sr. Software EngineerDavid M. Harris Consulting Mar 2005 - Feb 2006Provided 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)
-
Sr. Software EngineerTriton Imaging, Inc. Apr 2003 - Feb 2005Performed 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)
-
Senior ConsultantAxian Sep 2000 - Mar 2003Portland , Oregon, UsAdvised 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 -
Sr. Software EngineerDavid M. Harris Consulting Dec 2001 - Oct 2002Provided 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)
-
Senior Mathematician And Financial EngineerUnnamed Company May 1999 - Apr 2000Enhanced 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
-
Systems EngineerTava Technologies (Previously Advanced Control Technology) Apr 1996 - Apr 1999Designed 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
-
Graduate Student / Research Assistant (College Of Natural Resources)Utah State University Oct 1991 - Nov 1995Logan, Utah, UsWrote 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 -
Systems EngineerAdvanced Control Technology May 1988 - Sep 1991Performed 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
-
Research ScientistFalcon Associates Dec 1985 - Feb 1987Wrote 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
-
Assistant Professor (Dept. Of Earth & Space Science & Engineering)York University Jul 1985 - Dec 1985Toronto, On, CaTaught courses in mineralogy, petrology, and geology -
Research Associate (Dept. Of Geology)University Of Oregon Sep 1984 - Jun 1985Eugene, Or, UsPart-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 -
Staff PhysicistIrt Corporation Aug 1983 - Jul 1984Wrote software to simulate thermal plumes and evolution of ash clouds
-
Killam Post-Doctoral FellowUniversity Of Alberta Aug 1981 - Jul 1983Edmonton, Ab, CaThe 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 -
Physical ScientistU.S. Geological Survey (Usgs) Jul 1979 - Jul 1981Reston, Va, UsMember 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
David M. Harris Education Details
-
University Of ChicagoGeophysical Sciences -
Utah State UniversityWatershed Science -
University Of ChicagoMathematics -
Whitman CollegeMath / Physics -
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
Aero Online
Your AI prospecting assistant
Select data to include:
0 records × $0.02 per record
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.
Start your free trial