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.
Last week I got a very curious email in my inbox. It supposedly came from Microsoft and was a report
about Code::Stats's compatibility on Edge and what modern browsers it
suggests as a replacement for Internet Explorer. I will quote the key parts:
After setting up AhlCode
and figuring out the taxing and accounting, I'm able to start selling Code::Stats stickers again.
Read on to find out the specs!
On the 11th of May I set up a
sole proprietorship with the name AhlCode.
It is meant to legitimise and properly handle any income coming from my side businesses. The main
aim at this point is to get some money back to compensate the server costs of things I host. But I
wouldn't complain if it resulted in some little profit also.
Configuring Elixir applications is a common problem point for new developers and I've seen many
questions about it in the community chats. So I thought to write down my knowledge in case it helps
anyone.