About Me

I spend a lot of time developing software. My programming interests range from genetic programming to lock-free data structures, and I work in a variety of languages including C++, python, and elisp. When I'm not writing code I'm usually playing the piano or reading.

Contact Details

You can reach me at  [email protected]


Mississippi State University

Batchelor's degree in Software Engineering May 2015

My studies in software engineering ranged from high-performance computing to database design. My undergraduate work focused on the design of a lock-free memory allocator in C++.


Star Lab

Software Engineer Dec 2017 - Present

Currently I am working at Star Lab as a software engineer writing Rust and working with the Xen hypervisor, as well as doing some Linux kernel development.


Reverse Engineer/Developer May 2015 - Dec 2017

I worked as a security researcher for Dynetics. In that capacity, I performed a variety of tasks including reverse engineering (typically on real-time, embedded systems) and tool development.


Software Developer/Intern May 2014 - March 2015

While at ViaSat, I designed and implimented high performance QNX applications. I also participated in the specification of programming API to interact with these applications, and later worked with a team to construct an HTML5 web front-end using this API.

Publications & Conferences

Exporting IDA Pro Debug Information

ReCon Montreal 2017 Available Here

When reverse engineering embedded platforms, it is often difficult or impossible to connect the IDA Pro debugger to a target application. Manually importing debug info is possible but tedious. This talk describes a new plugin to export debug information from IDA that can then be imported in to software debuggers allowing the user to step through decompiled code, read local variable values, etc directly on the device

Stacking the Virtual Deck

Derbycon 2015 Available Here

I developed a tool that predicts the output of the random number generators used in many languages. This talk was a description of attacks on various projects that could be launched by predicting these outputs.


I try to maintain a diverse skillset including but not limited to the areas below:

Programming Languages
C++/14, C, Python, Javascript, D, and Java
Development Environments
Emacs, Eclipse, Visual Studios
GNU Linux (Kali/Arch/Debian), Windows
Security Tools
IDA Pro, radare2, Burp