Docker to the rescue
Recently, a faulty install of some software left my MacBook in a state of panic. As usual when I am left with the task of reinstalling the OS afresh, the question arrives like clockwork: ‘Now can we go back to Linux?’
I was sad to have to answer ‘no.’ Alas, I required OSX so my often-used external audio equipment would play nice. This annoyed me, because if it weren’t for this one piece of software — the pains of OSX now far outweighing the gains — I could say goodbye to Mac OSX.
Defeated, I began to compile a list of all the tools I needed right away. My go-to language, Erlang, I needed of course; along with Zsh and a few other CLI goodies.
As this wasn’t the first time installing Erlang/OTP on a Mac with a tabula rasa, I checked on the few things I knew were about to trip me up. One of which was OpenSSL.
The version was sub-one-point-zero and dated from 2011. I stopped dead in my tracks, and said: ‘No; not this again. What can I do!?’
In a previous job, we began to tinker with Docker for a fresh re-write of a large system. We planned to incorporate it, but lo, it was a tad unstable at that time, and many of the ‘devs’ weren’t ready to abandon their comfort-zones that easily. For me, some early snags with Mac + Docker left a slight sour taste in my mouth. But I recall seeing Docker as a bright new star in the sky.
Now, some many months later, I thought, via Docker I could probably have Erlang/OTP installed on my Mac in less than ten minutes. After all, some time had passed; those old problems must have been resolved. Moreover, I would prefer any road over installing XCode for the 20th time.
F@&# it, we’ll do it live
I decided to go for it. My goal was to have all my typical development software served via a virtual Debian Linux OS on my MacBook Air, all using Docker.
The old version of OSX I was left with forced me to use the now deprecated ‘boot2docker’ tool, and right away, I was met with errors in the Docker install process. But after descending & trying different versions of ‘boot2docker,’ I arrived at one that played nice with the old Mac OS, and thereafter, everything worked mellifluously.
With no effort at all, I had Erlang 17.5 up and running within mere minutes. (And, was I going crazy, or were things executing faster?)
Many decisions the Docker folks have made are straight-forward, thoughtful & avoid unnecessary cleverness; Docker gives me that warm feeling of ‘I’m home.’ These feelings seldom happen in computer-land: discovering Erlang/OTP, yes; the occasion (2006?) when I abandoned SVN for Git; and then there was the time I fell in love with Linux many years ago…
Docker is a joy and I’m thrilled that we’ll be incorporating it into the Obligd stack & work-flow. The creative permutations of Erlang/OTP + Docker gets me giddy with excitement; I can’t wait to share what we come up with.