Debugging & Tracing Elixir Applications

This post describes a few useful techniques to debug running Erlang / Elixir applications. It is meant to be a cheatsheet of things you can do to inspect and alter the state of an application without requiring the installation of packages. For any of the code snippets below, autoverse refers to my local hostname, which itself refers to one of my favourite science fiction novels, “Permutation City” by Greg Egan. … Read more

Elixir.LDN 2017

I returned from vacations in beautiful Greece (Amorgos island 🏝), to attend Elixir.LDN-2017 in London. General Feeling The venue was at a very convenient location and was well suited for the conference. I could see many familiar faces and felt like a supercharged edition of the London Elixir meetup. If you're interested in attending the Elixir London meetups you probably want to join #london of the elixir-lang slack (get an invite) and the meetup. … Read more

Distillery releases with Docker multi-stage builds

This post describes the procedure to create lightweight Docker images, using multi-stage builds, to deploy Elixir applications packaged using Distillery. It is assumed that you're familiar with Docker and Elixir. Multi-stage builds Since Docker version 17.05 you can have multi-stage builds. With such builds you can have a single Dockerfile contain multiple FROM instructions, separating multiple stages of a build, where artifacts from one stage can be used in the next and all resulting in a single image. … Read more

ElixirConf.EU 2017

I was in beautiful Barcelona for ElixirConf.EU 2017. In this post I'm sharing some of my notes and impressions about it. Team Quiqup [Zorbas, Hawkins, Rabe] Tutorials I attended the tutorial “Microservices under the Umbrella” by Makis Otman & Georgina McFadyen, both working for 8th Light. We hacked on code from the following repositories: https://github.com/Maikon/elixir_setup https://github.com/Maikon/pharos The was goal to create an umbrella application, going through the pros and cons of such an architecture. … Read more

Deploying Kitto with resin.io

This is a guide to deploy a Kitto dashboard application on a Raspberry Pi using resin.io. After you follow the steps below, you are expected to have a dashboard running on a raspberry connected to a TV which displays the dashboard full-screen using firefox. Expected end result Kitto is an open-source framework for dashboards, written in Elixir. It is focused on requiring minimal maintenance and system resources. It can be developed using the widespread grid layout of Dashing and features jobs like the following: … Read more

Software Packaging Guidelines

This post is an collection common practices for software packaging. The ultimate goal is to be able to define a set of guidelines, which can be applied to a wide range of projects, aiming to build up confidence in using the packaged source. Continuous Delivery..sort of Focus of this post The objective of the guidelines below is to increase efficiency in communication and raise awareness on good packaging practices. … Read more

My year with Elixir

I started fiddling with Elixir about 1.5 year ago. Today I feel like sharing my experience with the language. I've been coding with Ruby for the past 5 years (mostly around the Rails ecosystem) and I try to learn a new programming language every year. 2016 is definitely the year of Elixir for me. My original curiosity for the language, unfolded to a quest to learn about distributed applications following the path of Erlang. … Read more