Both Erlang and Elixir are praised for their "debuggability". It's true - there's a lot of tools and techniques that can be used, even on live, production systems. Not only that - they are easily accessible and freely usable. Together we're going to explore them in depth.
We're going to learn what exactly happens when you call a GenServer, how to "spy" on processes and introspect the VM internals. We're going to work with an example application - a basic key-value store built on top of plug, prepare a release for it and deploy it to production. Unfortunately, after the deployment we're going to discover some errors, we didn't anticipate. Fortunately, with the knowledge we gained earlier, we'll be able to diagnose and fix them - live in production!
Artur Debski is a Ruby programmer who truly believes in a functional approach to programming. Having stumble at Elixir a long time ago Artur helps to spread the word about it and is a co-host of Functional Miners meetup (formerly SilesianBeamers). Can't live without HJKL and enjoys a good craft beer.