I am interested in applied natural language processing (NLP) and machine learning (ML) research as well as the software engineering and system administration work needed to support it. I thrive in engineering-first organizations with open-development cultures.
Fun is road biking, cooking, coding, camping, reading sci-fi, videogaming, and roasting coffee. Ask me about: biking from Illinois to California, cold-ferment pizza dough, silly side-projects, Isle Royale, books I love, games I love, and my go-to coffee shop Sweet Maria's.
Advent of Code and Rust
My solutions to the Advent of Code 2019 were a fun excuse to play with Rust.
I work mostly in Python (with a dash of Bash and SQL) and, while it's extremely productive, I often wish for Rust's static typing,
cargo, and compiled binaries.
HaikuMe app for Google Glass
A lifetime of sci-fi has made me a sucker for things like Google Glass. There was a conspicuous lack of apps that would help kill time when compiling, so I created an app called HaikuMe. It displays a haiku scraped from Reddit whenever the user would trigger it with their best Johnny Mnemonic impersonation: "haiku me".
Early in my career, I was more focused on automatic speech recognition (ASR) and consequently spent a lot of time digging through the open source Sphinx 4 speech recognition system.
One neat tidbit I came across was the QuickSelect algorithm, which could find a median value in a collection of values in expected
I implemented a pretty nice Java version of QuickSelect with documentation and tests, and then wrote up a performance evaluation of various median selection methods.
Linear addition from the log domain
Another neat math tidbit that I found in the Sphinx codebase was a fast approximation of
log(x + y) given
I ended up diving deep into the problem and eventually wrote up what I discovered about an optimal approximation.