I first came upon Elixir in 2013 (wow, it's been 8 years?). I was looking at Erlang and a friend of mine said
that there's this new language being built on the same VM, you should look at it. I gave it a whirl and the
rest is history, as they say. I've written it on and off, sadly never professionally, resulting in lots of
stuff, some even in production. Elixir gave me a new joy in programming.
None of this would be possible without the hard work of people I've never seen. People who have received
nothing from me but have decided to give me the tools to work with anyway. To help me avoid mistakes. To ease
my experience. To expand my view of programming beyond what I could have thought of myself.
For this I want to thank you, as it's the least I can do.
When we recently moved to a new home, I had to get a lawnmower. Having experience with petrol powered ones, I
knew I wanted an electric powered mower. It has worked well and I enjoy not having to smell exhaust fumes.
But the Makita designers have made an odd design choice.
The grave accent, or more commonly in programmer circles, the backtick. A tiny character with so many
uses. With the advent of computers, it has diversified its traditional role as an àccent with new
purposes. It marks code in Markdown and Markdown-ish syntaxes. It delimits template literals in JavaScript.
It executes code in shells and PHP. And it drives me up the wall.
Five years ago, I was using a web service called
Codeivate to track my programming habits.
After some on–off, it finally went offline in the spring of 2016. So, during my company's next hacking event,
I started a new project to replace the missing service. That project became
Code::Stats. Now, five years later, it's still running and I'm still focused on
improving it. I'm quite proud of what it has become, so here are some updated numbers from the database.
I've written about Elixir configuration
in an earlier post,
describing the differences in the configuration styles. If you don't know how Elixir
configuration works, I suggest reading it also. In this post, I will demonstrate a system
for configuring an Elixir project using the config/runtime.exs
system introduced in
Elixir 1.11. This system is how I configure my projects, so feel free take it as inspiration, but
it's not a law that you have to follow.