Engineering Management: Lessons Learned
I made my jump over to management a number of years ago when I was at a startup.
I didn’t understand what I was getting into until years later.
Management is rewarding and exhausting.
It tests your courage and ability to handle conflict.
Getting started with Nerves; embedded elixir on Raspberry Pi 3
Why elixir for an embedded device? Elixir treats binary as a data type. Sending a binary stream to a device can be trivial and elegant. Pretend that we have a device that requires 17 bits per message (like a MCP3008 analog input). We can send a start bit, followed by a mode bit, then 3 bits for sensor id, then 12 bits of empty bits, in a very succinct way1:
Playing short sounds in iOS with Swift 3
It was hard to find a concise example of playing a short audio sound in an iOS
application using Swift 3. I write one such example here for posterity:
Why I have two Dockerfiles for the same project
My phoenix-based project uses two
Dockerfile
s. There is one for local
development and CI and another one for production. Ideally I would want one
Dockerfile
; use the same image for local and production. But ease of
development is also important.
Using docker-compose & mysql with CircleCI
My Elixir/Phoenix application uses docker-compose
and mysql. I decided on CircleCI for continuous-integration
(CI) for its free container support. There were a few problems making it all
run inside the CircleCI container environment.