About Me

Resume

I hold Master of Science in Computer Science degree and have 13 years of software engineering experience. I enjoy all BEAM languages, currently my day job is Elixir, my passion is Erlang, and my hobby (not BEAM related) is the Plan 9 flavor of C.

I invented a Nerves-powered Raspberry Pi device which solves a major issue in data centers- so far over 5,000 units of the prototype have sold, see a picture of it below (ADI Gateway). Here's a blog post I wrote about interacting with hardware with Elixir and Erlang.

My open source activities include contributions to Elixir-Lang, Nerves (embedded Elixir), 9front (Plan 9 fork), snmp-elixir (Hex package), Jellyfish (for Elixir hot code upgrades), and many others. I authored Harvard University's CorpusBuilder Ruby Client Gem and I have a few of my own libraries.

I have worked for a number of high profile clients such as Netflix, Google and Harvard. I am a former Wall Street options trader of 5 years (watch a video I made about derivatives here), English teacher, and mechanic.

When away from my computer you can find me doing motorcycle stunts (dirtbike, msx), spinning wrenches, and reading books on Native American history. I'm also a student of cryptography, here's a presentation where I demonstrate how to attack RSA encryption:

My expertise

Stuff that i can help with

Embedded Software (Nerves, GRiSP)

At Cato Digital (Virtual Power Systems) I gained experience with embedded systems, specifically Nerves and GRiSP. I became an expert in industrial communication through my exposure to SNMP, Modbus, IPMI, ZMQ (not an industrial protocol) and a variety of Erlang libraries and tools to work with these protocols.

Erlang

Currently, I work at the world-famous Erlang Solutions with industry greats, celebrity programmers, kind-hearted, bright-minded, BEAM-loving innovators. Lots of interesting projects, I'm learning a lot about Kubernetes, AWS, Docker, and how to pair modern virtualization and containerization with the BEAM.

Elixir

When I worked at DockYard, Chris McCord (author of the Phoenix framework) was one of the people who interviewed me. Over the years that I worked there, collaborating with the great Elxir team, I gained exposure to Elixir/Phoenix.

Operating Systems

I like Plan 9, here is my 9front patch where I fixed GPIO pins 5 and 6 for the 9front Raspberry Pi kernel (revision 2 boards). How about using a Raspberry Pi as a work machine? If you do that, you will want to encrypt your SD card by following my gist. I use Arch, btw...

Hardware Hacking & Embedded Linux Reverse Engineering

I work at the boundary between software and physical hardware: embedded Linux, bootloaders, serial debugging, microcontrollers, and instrument-driven troubleshooting. My Simple Power Analysis presentation demonstrates an RSA side-channel attack using an oscilloscope.

I also investigated repurposing a first-generation Amazon Echo as an Elixir/Nerves embedded Linux target. I connected to its exposed UART debug pads, analyzed X-loader boot logs and partition-handling code, used an oscilloscope to investigate serial signals, and researched a Buildroot-based path to booting the BEAM virtual machine. The target was incremental hardware bring-up with Wi-Fi and SSH before supporting additional peripherals.

Read my Amazon Echo reverse-engineering case study or download my technical investigation (PDF).

First-generation Amazon Echo with exposed debug wiring during embedded Linux and Nerves investigation

Prototyping

My 3D printed Tiny Retro Macintosh computer:

My Work

Things that i am proud of