Hi, I am Saša Jurić, a software developer with 10+ years of professional experience in programming of web and desktop applications using Elixir, Erlang, Ruby, JavaScript, C# and C++. I'm also the author of the upcoming Elixir in Action book. In this blog you can read about Erlang and other programming related topics. You can subscribe to the feed, follow me on Twitter or fork me on GitHub.

Announcing Elixir in Action

It's been a while since I last blogged. There are multiple reasons, but the main one is that I'm writing a book called Elixir in Action. The book is already available for sale in the early access version. At this point there are three chapters (you can read the first one for free!), in the rough, unedited version. A 50% discount code eiaaunch50 is currently available, and it will be valid until January 18, 2014.

The aim of the book is to teach how Elixir, Erlang, and OTP can be used to build highly-available, scalable, fault-tolerant, distributed systems. In that sense, it is less about the language, and more about its practical usage, especially in server side systems.

The readers need not be familiar with Elixir or Erlang/OTP, but they should be otherwise experienced programmers, fluent in mainstream languages such as Ruby, Python, C#, Java, ... Knowing about functional programming is not a prerequisite, and the book aims to bring OO programmers up to speed with common functional idioms and techniques.

I came to Erlang after 10+ years of classical imperative OO programming. Being self-taught, and with lack of proper live mentoring from an expert, I made many mistakes trying to make Erlang programming more OO-ish. With this in mind, one of the aims of this book is to guide readers on how to properly use Elixir and Erlang building blocks to produce clean and efficient code.

Beyond the language, various parts of Erlang platform and OTP framework will be covered, such as concurrency, fault-tolerance, distributed systems, releasing and monitoring running systems.

Writing a book is a very time consuming task, and it took me a while to pick up a steady tempo, which is the main reason for the lack of recent posts on this blog. Now that I've got into a sort of writing routine, I plan to blog more regularly, so stay tuned for topics from Elixir and Erlang world!


  1. The first 3 chapters are very good and to the point. Even though I haven't learned anything new, it looks like it's going to be very practical. I would like to see some advanced OTP stuff beyond primitive examples like "here is a gen_server which increments a number, and here is its supervisor, now you know OTP, go build applications".

    I bought it to support the work.

    Thank you, and keep up the good work

    1. Thank you for your comment!

      I'm glad that you're enjoying the book so far. I'm still torn about examples. For describing basic principles (e.g. gen_server), I'd like to keep examples simple, so they don't get in the way of understanding how things work. I do agree that this is not enough, and some more involved cases should be covered. I have some ideas on how to approach this, but still haven't decided completely. There will probably be some trials (and errors) involved.

      As the book develops, any feedback in that respect is very welcome. You can do it here, or on the Manning forum (http://www.manning-sandbox.com/forum.jspa?forumID=892).

      Thanks again!

    2. I understand the dilemma, I hope you will find the right compromise. Looking forward to new chapters.