Resume

Software EngineerWeb DeveloperTinkerer
Contact: resume@benjam.info
Status: Starting at Facebook in early February 2016.

Recruiters: Please do not contact me with openings at this time.

Experience

Facebook (Summer 2015)

I was an intern on the React team at Facebook. I was responsible for porting all of Facebook’s web frontend from JSHint to ESLint, along with a plethora of custom rules. I have received and have accepted a return offer.

Amazon (Summer 2014)

I recently completed an internship with Amazon’s Fulfillment team in Seattle. I declined a return offer in favor of Facebook.

UF ACIS Lab (Summer 2012)

Under a NSF Research Experiences for Undergraduates Fellowship grant and through UF’s University Scholars Program, I worked on IPOP and iDigBio.

Education

Bachelor of Science in Computer Engineering

I graduated Cum Laude with a 3.42 GPA from the University of Florida in December 2014.

Master of Science in Computer Engineering

I graduated with a 3.66 GPA from the University of Florida in December 2015 through UF’s Combined BS/MS program.

Active Projects

Honeybadger

An extremely easy-to-use tool for configuring and running tor relays and full bitcoind nodes. It uses a long list of technologies to automate installation, upgrades, and error recovery, as well as to provide metrics. This list includes:

The goal of the project is to assist these decentralized and trustless networks, by encouraging people to run them on cheap and potentially unreliable hardware or virtual machines.

Empress

A lightweight email-focused fork of Sovereign that makes it simple and inexpensive to run your own secure email server, and migrate from an existing IMAP server.

This Web Page

I just recently re-did my website, using a long laundry-list of technologies. Check out my blog post about it!

Past Projects

These projects aren’t abandoned, but they’re stuff that I am not actively working on at the moment.

IPOP (IP-over-P2P)

A P2P VPN working by forwarding raw packets from a TAP device over UDP via STUN and TURN using libjingle (part of WebRTC) and XMPP.

iDigBio

I wrote packaging scripts for a Python-based user-friendly upload tool. Targets were:

iDigBio is an NSF 10+ year project, so a strong emphasis was placed on maintainability. Work was done under an undergraduate research fellowship.

NotVeryCleverBot

A highly experimental AI commenting robot for the Reddit social network.

The bot was written quickly as a prototype in MongoDB, and has since been partially re-written in CoffeeScript with MySQL.

Pan-Am

Pandoc is a “universal” document converter. It can output HTML, but it comes with no styling. Pan-Am is a simple responsive stylesheet written in SASS with the goal to make any document compiled with Pandoc look nice.

Century

I personally and independently developed library to automate various web-resources operated by the University of Florida via screen-scraping.

Acheron

A daemon to interface between the StrongSwan IPSec daemon and GroupVPN to provide encrypted communication over GroupVPN’s Brunet P2P network. Acheron will be used to provide communication for Contrail, a cross-cloud computing framework. This project represents a collaboration between UF and VU University in Amsterdam.

GroupVPN’s functionality has since been reimplemented under the IPOP project, which provides strong DTLS encryption, obsoleting this project.

Toy Projects

These aren’t necessarily complex or even useful projects, but they were fun and/or had interesting results. None of these projects were for classes.

Prelude.mk

A proof-of-concept port of some of the more interesting bits of Haskell’s prelude.hs to GNU make without shelling out or using guile. GNU make is a Turing-complete functional language, but lacks many simple features, such basic arithmetic.

I posted it to Reddit, where it was well-received.

Flood-It Game Solver

I made a pure coffeescript solver for the NP-hard game “flood-it”. It implements

Fun Facts

Technologies

Let me see how many buzzwords I can cram in here!

Programming Languages

Python, Coffeescript, Javascript, Java, C, C++, Haskell, and POSIX Shell

Markup Languages

LaTeX, Markdown, HTML5, HAML, CSS, SASS, Less, JSON, and YAML

Technologies

Debian GNU/Linux, Bash, Zsh, POSIX Shell, VIM, Git DVCS, Nginx, Postfix, Dovecot, Ansible, Salt, and Vagrant


  1. Beautiful Soup didn’t support Python 3 at the time.