I'm an expert C/C++ developer, specializing in systems/embedded applications. I'm familiar with embedded development on ARM, x86/x86_64, and PowerPC. I also have experience using PHP and Python both on the web and to build tools. I'm familiar with web technologies such as TypeScript and React.
Additionally, I'm familiar with the macOS Cocoa, iOS CocoaTouch APIs using Objective-C and Swift.
I design and build hardware in my spare time, and have experience with AVR, PIC and ARM (primarily STM32) microcontrollers, designing around bare ARM SoCs, as well as Xilinx and Intel FPGAs. I'm a recent KiCAD convert.
I currently work at Microsoft as a security software engineer.
Previously, I worked at Apple, Groupon, and Texas A&M University's Division of Marketing & Communications.
Versatile framework for emulating arbitrary systems. Comes with a cycle-accurate Motorola 68000 core, reverse engineered from die shots and microcode.
An open-source DC programmable load. Perpetually half finished, source of endless side quests.
The super fast, portable C++ userspace cooperative threading library. Ideal for high performance servers, asynchronous IO, and emulation.
A microkernel-ish operating system developed from scratch, complete with full userspace support for C/C++, dynamic linking support, and userspace drivers for ACPI, PCI Express, AHCI, VMWare SVGA, and more.
The 68komputer is a series of from-scratch computer designs, based around the Motorola 68000 series microprocessors. This includes a minimal operating system burned into ROM.
Here are some of my older projects, archived here for posterity: CardboardKit (MHacks 2015).
I have loads more projects that didn't quite make the cut (and/or are even less finished…) to be listed above. Check out my blog or GitLab profile to see what else I'm working on.
Have questions, or just want to chat? Email and I'll get back to you as soon as possible.
Usually, I will try to respond to emails within a week.
Some additional stuff I work on:
You can also find me (and my endless projects) at the following other places on the web: