Learn Elixir | Blog


Discover the magic of Elixir from our community of wizards.

Chad King


Mika Kalathil

Errors in Elixir often get treated as second class citizens which can make our systems harder to debug than they need to be. In this post we discuss building a more intuitive and robust error system for an easier time debugging and troubleshooting down the road.

Jerry Graham


Don't Spend A Dollar Until You're Absolutely Certain Elixir Is The Next Programming Language You Want To Master

ElixirCachingDisk StorageDETSDesign

Avoiding Data Loss with Elixir's :dets module

Mika Kalathil


:dets allows us to persist items on disk quickly and natively in Elixir, however there is a chance we can loose data when using this method. In this article we discuss how to create a persistant cache module in Elixir with :dets, why we can lose data and what we can do about it


Using Caching to Speed up Large Data Returns by 1000x

Mika Kalathil


Absinthe and Phoenix are amazing frameworks, but what happens when our requests take a bit too long to encode? In this article we explore how we can use caching and plugs to short-circuit JSON re-encoding of large structures and speed up our responses.

ElixirOTPHot Code Reloading

Hacky Hot Code Reloading in Elixir

Mika Kalathil


Hot code reloading in Elixir provides some amazing benefits since we can reload our code in production without bringing down the server. However it's often seen as complicated and hard to use. What if there was an easy way to get a module into production? This article explores that possibility


Creating Reusable Ecto Code in Elixir

Mika Kalathil


Ecto is a wonderful system to interface with our database from within Elixir, in this post we explore how we can structure our Ecto code to create a reusable API that we can continue to grow and combine in new ways as our application continues to grow in size/complexity


The Many uses of Elixir's Task Module

Mika Kalathil


The Elixir Task module has many uses, in this article we explore how to use the Task module and the ways it can both speed up application and help us create simpler code and architecture


The Dangers of GenServers in Elixir

Mika Kalathil


In this article, we outline some of the technical details of GenServers in Elixir, which is used to serve a large multitude of people with high speed. This is a deep dive into GenServers and discovering their limitations and strengths.