Seasoned system developer with experience in building and managing products from initial concept development; early sales and funding; team building and organization; hands-on engineering, testing, and fixing all the silly mistakes; through to verification, validation, and certification. All that being said: I really like writing code.My key expertise is at the lower levels of the system stack: operating systems, networking, core cryptography, and language runtimes. I’ve also toyed around in FPGA design and verification, and moved all the way up the stack to distributed microservice architectures and configuration management. Past work includes one of the first unikernels, the Haskell Lightweight Virtual Machine (HaLVM), and its associated drivers, network stacks, and early support code. I have also led (and worked on) projects in developing non-bypassable VPN implementations in Haskell (targeting Windows laptops, using the Xen hypervisor), Rust (targeting SCADA control systems, using the seL4 microvisor), and C (targeting mobile phones, using the OKL4 hypervisor). That being said, my most popular open source projects are a SHA implementation for Haskell, an ASN.1 library for Rust, and the garbage collector I wrote for PLT Scheme / PLT Racket in grad school.Recently, I have been leading projects on the subjects of digital engineering and the automation of certification. The key goal there is to use the most pragmatic bits of software engineering and systems engineering research (including tools like AADL and SysML) to both serve as a framework for thinking about existing software systems, and a scaffolding to make goodness arguments to auditors.
Listed skills include Project Management, Network Security, Network Architecture, Programming, and 19 others.