-
Senior Scientist (HPC RF Simulation)
June 2022 - Present
Developed a custom real-time ECS-based simulation engine and backprojected RF scatterer simulation with
CUDA and multithreaded switchable backends. Capable of processing a million scatterers in real-time in a
pulse-to-pulse RF simulation. Provides GIS capabilities for placing entities on a globe for
visualization and simulation. Cross-platform customizable engine built using ImGui, EnTT and
OpenSceneGraph. Developed and integrated custom GLSL shaders into OSG rendering pipeline for visualizing dense point clouds.
Developed massively customizeable ECS utilities to minimize effort to add new Components to engine.
C++17
Active RADAR Modeling
Inertial Navigation System Modeling
CUDA
EnTT
Entity-Component-System Design
ImGui
OpenSceneGraph
GLSL
-
Senior Scientist (Rapid Multi-Sensor Simulation Development)
April 2020 - Present
Developed a computationally efficient missile flight simulation to analyze the effectiveness of
customizable sensor package combinations. Sensors I developed simulation models for include Active and
Semi-Active RADAR (Ka, Ku and W bands), wide-band Passive RADAR, EOIR (NIR, MWIR, and LWIR), Semi-Active
LASER and various configurable Inertial Navigation Systems (INS). I implemented a rapidly configurable
UI framework for preparing batches of simulation runs. Parameters in the simulation can be locked to
fixed values or "Monte Carlo" to model uncertainties in specifications.
Python3
Active/Semi-Active RADAR Modeling
Passive RADAR Modeling
Semi-Active LASER Modeling
EOIR Modeling
Inertial Navigation System Modeling
Monte Carlo Simulation
-
Senior Scientist (ISAR RADAR Algorithm Optimization)
October 2019 - Present
Optimized existing RADAR ISAR processing algorithms to reduce
runtime by a factor of over 100x (reduced runtimes of hours to runtimes measured in seconds) by
translating "hot" regions of code from Python into modern C++ utilizing Pybind11 and Eigen for
developing the binding between the existing Python software and new, highly optimized C++ processing
algorithms. Technologies used: Python3, C++14, Pybind11, Eigen. This task helped me to further my
knowledge and understanding of state-of-the-art RADAR algorithm design alongside understanding the
effects of and how to mitigate real-world data collection errors.
C++14
Python3
Pybind11
Eigen
ISAR Algorithms
RADAR Principles
-
Embedded System Developer (Portable JAGM Reprogrammer)
May 2019 - Present
Designed and built a portable reprogrammer for live missile rounds using the Beaglebone platform (ARM AM3358).
Implemented custom EGL backend for ImGui (Immediate-mode GUI library) to utilize hardware acceleration (SGX Graphics Processor) on the Beaglebone Black.
Without hardware acceleration the baseline UI could only achieve 6fps (system CPU frequency is only 800MHz); after I compiled the OpenGLES+EGL drivers and
implemented an EGL backend the system was able to maintain a redraw rate of 60hz even under heavy CPU load.
For communication with the target system I developed a high-speed communication interface using the PRUs (programmable real-time units) built into the AM3358 processors.
PRUs are RISC co-processors that run real-time processes at 200MHz with an exceptionally small instruction set.
This enabled the system to maximize throughput through the RS485 communication lines which helped reduce the time required for fully reprogramming the rounds.
Intensive safety and security considerations designed into solution. This system had to be vetted and accredited for both safety and cybersecurity.
I applied the NIST 800-53 security controls to the system through the relevant STIGs, documented all aspects of the system's lifecycle as a series of SOPs
(e.g. Auditing and Accountability procedures, Configuration Management, Identification and Authentication, Maintenance, etc…) for compliance and application for an ATO (authority to operate).
I developed a custom initrd image for decrypting the onboard storage with a user-provided PIN via a touchscreen.
Due to how early in the boot process this occurs I had to write a custom application for rendering the input dialog via the low-level graphics framebuffer interface.
LUKS full disk encryption was used with a TPM for full-disk encryption for ensuring protection of the data while at rest.
To support decrypting with a TPM on boot I customized the bootloader (U-Boot) to feed the boot sequence information into the TPM to unlock the decryption keys.
C++17
Beaglebone Black
Custom PCB Design
TPM
LUKS
ImGui
OpenGLES 2.0
EGL
NIST 800-53
STIG
ACAS
Nessus
-
Embedded System Developer (RAPTR)
January 2017 - Present
Developed a fully autonomous, high-precision camera positioning and
stabilization system utilizing a Beaglebone Black, FLIR PTU-D300E, Phantom High Speed Cameras, and a
custom designed IO PCB. Usable in maritime environments for tracking targets with high-speed cameras for
video recording of test events. Also used for ground-based tracking of UAVs.
C++17
Beaglebone Black
Beagleboard X15
FLIR PTU D300E
Photron High Speed Cameras
Detection and Tracking Algorithms
-
Emedded System Developer (JAGM HUD)
November 2016 - October 2019
Built and maintained HUD for Captive Flight Test data collection events for use by pilots to optimize
data collection.
This system is split into 3 individual parts: an Android tablet that provides real-time in-flight data
to the pilots, a tablet for the flight crew and sensor operators to monitor sensor status and set the
moding for the pilot tablet and a data aggregation/parsing server.
The server was developed on a Beaglebone Black and it's responsibility is to receive and parse the
sensor data alongside INS and target GPS data and use this information to communicate optimal flight
trajectories to the pilots.
C++14
Beaglebone Black
Boost
INS
Android App Development
-
Lead Desktop Application Developer (MIDAS)
August 2016 - October 2019
Responsible for developing a fast and robust data collection and
real-time analysis tool for telemetry data. Technologies used: C++11, Boost, Python, MariaDB, pybind11,
Qt5. Built a system capable of handling high-throughput data streams with a data format known only at
runtime that is able to be used for both field data collection and post-processing data analysis. Soft
real-time high rate data processing, storage, display and visualization using run-time metadata formats.
Real-world data collection and analysis. Mobile application development support and ad-hoc network
utilization.
C++14
Python3
Pybind11
Eigen
-
Web Application Development Lead
July 2014 - August 2016
Responsible for leading development of the AMCOM Express Contracting
System which handles the tracking of packages through the AMCOM Express contracting vehicle.
Technologies utilized include C#.NET and Entity Framework alongside a SQL Server database and Twitter
Bootstrap + jQuery for the user interface. Ensured that code met IA guidelines and performed a static
code analysis using the "HP Fortify" static software analysis tool. Lead and coordinated a team of 5
engineers and completed this task quickly, efficiently and produced an end-product that is easily
extensible and robust. My main development responsibility on this task was to design the entire
business-logic and data interface layers utilizing Entity Framework to provide a stable and secure
implementation.
C#.net
Entity Framework
MS Sql Server
Bootstrap 4
JQuery
Fortify Static Analysis
-
Mobile Application Developer
October 2012 - July 2014
Worked full-time developing multiple products for several groups
ranging from data collection and analysis to image processing. Main focus is on streamlining tasks that
are currently done manually by integrating mobile devices into the current workflow and minimizing labor
intensive tasks by introducing custom built embedded systems utilizing cutting edge technologies to
streamline data collection and analysis. Examples of devices that I've built as the sole developer are a
distance-measuring sensor utilizing ultrasonic rangefinders which communicates via Bluetooth to an
Android tablet for data recording and analysis. Another project that I've designed and developed is a
thermal imaging camera which utilizes an IR thermopile array and a Bluetooth 4.0 Low Energy board to
communicate temperature data back to an iOS device for instant viewing through a custom app. Integrated
OpenSceneGraph in a custom mobile app to further aid in the collection and analysis of data.
C++11
Java
Android SDK
Android NDK
OpenSceneGraph
OpenCV
Ultrasonic Sensor Algorithm Development