by Language

C, C++

  • Developed code in C++ for an advanced implementation of a training pod.  A pattern was developed in which each class capable of implementing a thread provided a common interface.  This allowed lists of these objects to be dealt with in a generic manner.
  • Provided C++ code which allowed parameters to be introduced into code without any change to common code.  These parameters could be examined and modified via a TCP/IP interface.
  • Designed, coded, and tested software for a Air Force training pod. Code was developed in C.
  • Designed and coded communications software for a new telephone subscriber line concentrator.  Implementation was done in C.

C#, Java

  • Used C# to provide a GUI interface with a prototype embedded system.
  • Used C# to create a workbench to make Python scripts easier for systems engineers to code.  This allowed post-processing of test results to be facilitated.
  • Provided Java code to stimulate and test the results of an embedded controller.
  • Wrote a calculator in Java to help with embedded fixed point fractional arithmetic.  Non-decimal fractional results were provided, allowing easy comparison of results with the embedded code.
  • Wrote a video recorder in C# to capture video from a custom camera and allow both display and disk logging of the results.


  • Successfully completed the proof of concept implementation of a next generation electronic counter-measure system which performed the required signal processing in Nvidia CUDA cores, rather than FPGA logic. 
  • This provided increased agility as well as simplified debug capability.
  • The multiple cores provided by the CUDA architecture allowed throughput results previously achievable only with FPGA solutions.

Scripting Languages: Python, Perl

  • Wrote Python scripts that ran on the PC, controlled the target under test via a TCP/IP interface.  These provided simulated target data, requiring mathematically complex calculations to be performed in Python.
  • Wrote a support tool in Perl which allowed systems under test to be downloaded, controlled, and sampled.  This tool communicated with the device under test either via local serial ports or utilized TCP/IP sockets.


  • Wrote MATLAB scripts to analyze and graph test results.  Use of MATLAB's 3D graphs allowed easy interpretation of the results.  These graphs were logged facilitating regression analysis.
  • Wrapped critical C functions in code that was able to be called from MATLAB, permitting the simulation to use the operational functions directly.  This easy tracking between the target code and the system simulation model helped keep them in synch.