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.
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.