The Trouble with `

Posted on .

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.

5 Years of Code::Stats

Posted on .

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.

Simple Configuration Setup for Elixir Projects (v1.11+)

Posted on .

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.

AhlCode and the Future of Code::Stats

Posted on .

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.

Pure TypeScript Setup for Simple Projects

Posted on .

I've long had certain issues with modern web development, and I even wrote a little tool of my own to help me manage such an environment. So I look for ways to minimise the complexity of my setups while still maintaining some modern conveniences. Now I've started to use a setup that relies on TypeScript and modern browsers' builtin features. This is a very minimal setup consisting just of TypeScript, plain CSS, and maybe a tiny build script.