I am a software engineer currently based in Chicago, working at Braintree Payments on API integrity, site reliability, a bit of dev ops, and a smattering of open source problem solving.
You might know me from my greatest hits, braintreepayments.com, braintree's developer docs, and PayPal's developer docs.
Find me spreding knowledge around the 'net on Stackoverflow, Medium, and GitHub
Experience
Braintree Payments
Software Engineer June 2016 - Present


Revenew Inc.
Operations Administrator & Technologist Intern Summer 2015

Land O'Lakes Inc.
Project Management & Application Development Intern Summer 2013 and 2014

University of Chicago
Humanities Computing Technician October 2012 - June 2016

Skills

Languages
(proficient): Ruby, Python, Node, Javascript, Java, C# .Net, PHP, C++, Arduino/C, Bash/Zsh, R, SQL
(familiar): Objective-C, OpenGL / GLSL, Haskell, SML, Assembly (6502 & x86), Perl, Yacc, awk, sed, G-code
@Home
Jabiru Medical | A Northwestern University incubated medical startup in Chicago. Worked on an Arduino powered proof of concept device designed to help pregnant women understand stressors on crucial muscle groups. |
---|---|
Phyllo.apk | A location based distributed information sharing app (mySQL, Django, Java). |
ellenberger.zone | A personal website with subdomains for each of my family members. |
FossFazor | A 3D printed waveguide for Orthodynamic headphones based off the Audeze model. |
MuLtiplication | A Python interface for radioligand binding assays to determine solubility of novel and published Dopamine D2 receptor-like ligands to be used by the Newman Group at the NIH. |
ShowProdDehydron | A 3D viewer for Dehydron distribution in proteins in Python. |
oGrocer | An app to crowdsource current food price trends and give consumers complete price knowledge about what to buy where. |
Gerrymeleon | A GPGPU project in its infancy to calculate and solve Efficiency Gap problems. |
For Work/Open Source
At a few of my workplaces implemented a "20% time" work structure, where a day every other week (or wherever you could fit it in) would be devoted to personal projects. Here are a few of such projects.
Emojme | An improvement on my work on emojipacks, with a complete rewrite adding bulk emoji download, upload, syncing, and statistics through a reverse engineered undocumented slack api endpoint. Published both as an npm module and a command line tool, Emojme allows me to keep 16,000 emoji synced across multiple slack instances, and has (I believe) been instrumental in forcing Slack to rewrite their /customize page several times over the last few years. |
---|---|
Slack Yaml Manager | A hybrid Slackbot and standalone program to allow Slack users create, edit, and run arbitrary jobs based on a shared yaml schema. |
TEAAS | A site to apply useful transformations to basic emoji. My role was to improve the post-creation experience, allowing users to download the emoji they create or upload them directly to slack. |
Emojipacks | A codebase designed for importing bought emoji to Slack, co-opted to enable people to transfer and sync emoji between instances. Uses phantomjs to interact with Slack's frontend, making it slower and more brittle than Emojme. |
html-to-text | A highly extensible parser, improved upon to better handle complex tables present in Braintree's developer docs. Used as part of Braintree's federated search parser. |
YamlLineNumbers | A lightweight library to surface source line numbers in parsed ruby hashes, used extensively internally to help identify and resolve issues with kubernetes configs, static allowlist/blocklists, and programmatic documentation. |
Haskell-CSV-Muncher | A completely overwrought way to convert csv documents into more useful docs. For example, converting this resume into a markdown document for applications, plaintext for linkedin, and html for ellenberger.zone |
Awesome-o | A stateless Slackbot for parsing Trello boards, tracking open source issues, and crawling internal servers to provide a daily digest of to-do's on Slack. |

@University