DevOps Engineer2017 - Present
Software Engineer2010 - 2017
- CIImplemented a custom validated-merge setup for github via a config-managed jenkins. Designed and managed CoreOS build slaves with ansible.
- Build SystemDesigned and implemented a full-featured CLI build system / dependency manager for C++ in Rust, wrapping Artifactory and Docker.
- Security/OpsCreated and managed docker build environments, production environments, and set up regression safety barriers using LLVM sanitizers + AFL.
- CMakeConverted a 2 MLOC master repository which significantly reduced rebuild requirements and accelerated TDD cycles on the codebase.
- Polyglot GeneralistWorked with C++ protocol stacks, python based automation testing, and OpenStack based Node.js micro services, bash based "distributed crontab" jenkins.
- ProtocolsC++ implementation of thread safe call control protocols from RFCs (ICE/STUN/TURN, IX and XCCP), using mockable event loops for testing.
- BragGot a team of 50 developers to agree on a C++ style guide.
Teaching Assistant2004 - 2006
- Ran support classes in mathematics and physics and tutored an intensive summer course for prospective engineering students.
Personal Arch Linux ansible provisioning scripts
A language-agnostic build system and dependency manager
Docker environment for building musl based static rust binaries
A parser/writer for the Session Description Protocol
Generator based test harness and test runner
Building blocks and implementations of tournaments
Dependency graph generator of explicitly required modules
- About as fast as with dynamic languages after understanding the borrow checker
- Has a no-dependency 5MB docker blog at dockerhub:clux/blog
- Deep knowledge of Linux tools and patterns for designing good shell interfaces
- TDD using shellcheck and bats - but more often wraps it up in ansible
- C++14 and <algorithm> phabricator advocate
- Detailed knowledge of build systems, sanitizers, fuzzers
- Prolific server side usage with streams and ES6 generators
- Front end development with react, stylus, webpack, autoprefixer, babel
- 55 well-documented, and almost fully test covered packages on npm
Python 2/3, Haskell
- Less used, but well versed in
Since 3rd grade
Automation, modularity, security, configuration management, mistake prevention
Arch desktops, CoreOS servers, the tiniest docker images
Cryptography, optimization of algorithms, artificial intelligence, privacy
Classical music, rollerblading, running, badminton, swimming