About Me
I am a senior software engineer located in the DC Metropolitan area with 8 years of professional experience creating and designing software powering medical devices, robotics, and other embedded applications, and many more years of personal experience developing a wide array of software projects. I have additional professional experience in parametric and algorithmic design, 2D/3D product and industrial design, CAD/CAM, multi-axis CNC programming and operations, rapid prototyping, and general 3D modeling.
I have experience in the pre-clinical and clinical design process, medical imaging, computer vision, 3D vision and reconstruction, reverse engineering, machine learning, and kinematic modeling and control.
I am inspired by and extensively involved with 3D printing, designing projects in CAD, developing personal software projects, reading, writing, playing music, and gardening
Latest Personal Projects
OpenSesame - Curtain Automation with Google Integration
MeatPack - Real-time G-Code Compression for 3D Printing
RHEG - Rigid Harmonic Epicyclic Gearing
Open Source Contributions
• SegoDec - Fast and Efficient Seven-Segment OCR • MeatPack - Real-time G-Code Compression for 3D Printing • MeatPack-compatible Prusa MK3/3S Firmware • PrusaSlicer • TensorFlow • WDL-ol • asciimatics • Gainput • Mido • ImGui • libSerialPort • Many smaller projects
Professional Skills
• C/C++ • Embedded C • C#/.NET • Java • Javascript • Python • Grasshopper 3D • X86/X86_64 Assembly • ARM AssemblySoftware & Frameworks
• Microsoft Visual Studio • Eclipse • Netbrains Suite (IntelliJ, CLion, etc) • STM32 Software Suite (STM32Cube) • NVIDIA Nsight • IDA • x64dbg & Windbg • Ghidra • Cypress FX3 SDK • Rhinoceros 3D • Grasshopper 3D • ZBrush • Blender • Adobe Products (Photoshop, Premiere, Illustrator, etc) • Rapid Prototyping Tools (CAM generators, Cura/PrusaSlicer, Netfabb, etc) • Audio/DAWs (Audacity, Bitwig Studio, Ableton Live, REAPER, etc)Platforms
• Microsoft Windows • Linux/UNIX (POSIX) • Embedded (Linux/WinCE/Windows 10 IoT)Libraries/APIs
• Computing, Machine Learning, and Parallelism - CUDA - OpenCL - OpenMP - TensorFlow - Keras - Torch - CuBLAS/CuFFT/CuDNN/NPP • Web, Data, and DB Frameworks - Flask - Django - Apache - PostgreSQL - SQLite - Plotly - Bokeh • 3D Graphics - OpenGL - DirectX - Vulkan - Shader Language (GLSL/HLSL) - GLFW - VTK - SDL - GLEW • GUI - Qt - GTK - Win32/MFC - TKinter - ImGui - Custom portable GUI (OpenGL-based) • Input - Gainput - GLFW - Native • Computer Vision & Robotics - OpenCV - ROS - ViSP - TracIK - Orocos/KDL - PCL - KinectFusion - libSGM - ElasticFusion - Many SFM/MVS/Visual Odometry libraries • Networking and Utility - Boost - Protocol Buffers - Flat Buffers - Cereal - ZeroMQ - YAML/XML/JSON - CANopen/CANbus • And many moreToolchains/Tools
• GNU GCC • MSVC/.NET • CMake • Git/Mercurial • GDB/WinDBG/x64dbg • Valgrind • Bash • Scons