Michal Muskala

Software engineer, speaker, trainer, open source. Erlang, Elixir, Ruby.

Software engineer, open-source developer, speaker and trainer. He also contributes to maintains multiple open source projects including Elixir and OPT and maintains some of his own including Jason - the most popular projects on hex.pm.

When not programming, he enjoys reading, travelling, and sailing - no matter if sunny, rainy or stormy. It's even better if all of those are combined!

Past Activities

Michal Muskala
05 Mar 2020
09.55 - 10.10

Elixir ecosystem / Elixir core team updates

What's new in the Elixir ecosystem? Also, updates on what the Elixir team has done in the last few months, what are the projects they're working on, what's going on on the research side, and what features will be in the next release.

Michal Muskala
Code BEAM Lite Amsterdam 2018
30 Nov 2018
14.05 - 14.45

What actually is the BEAM?

At this conference, we're surrounded by the word "BEAM". A quick exploration will reveal it has to do with how Erlang code is executed and is the secret sauce uniting all of us - Erlang, Elixir, LFE, Efene and others. But do you really know what it is? In this talk, Michal will carefully explore the BEAM, both the runtime and the compiler. We'll see how they relate, what particular strengths this gives to our code and how we can leverage it from the applications we write every day in Erlang and Elixir. Finally, we'll see how the BEAM is similar and different to other environments and languages like Java's JVM, C#'s CLR or Lua.

Michal Muskala
06 Mar 2020
10.35 - 11.20

Erlang is getting pretty!

How much time did you spend today reading code? How many times did you have to look harder because of how the code looked?

Maintaining a clear and consistent code style is hard: manual inspections often leads to endless bikeshedding and linters add noticeable overhead to the workflow. Many languages solved this issue through automated code formatters - Go, Rust, Elixir, Elm among many others. And now, thanks to the new erlfmt tool, Erlang is getting pretty as well!

Come to this session to learn more about erlfmt - how it works and how it can help your team.




Developer experience


  • Introduce the audience to the concept of algebra-based pretty printing
  • Explain how an automated code formatter can streamline developer experience for teams and in open source


Erlang programmers of all levels

Michal Muskala
Code BEAM STO 2018
31 May 2018
11.35 - 12.20

Optimizing for the BEAM

The BEAM is a wonderful piece of technology that we all love and use daily when writing our programs - no matter the language!

For the past year, Mikhal has worked on optimising a couple of open source libraries, building performance-focused applications and contributing several optimisations to the Erlang compiler and the BEAM runtime. During this presentation, he'll share his discoveries and what he has learned.

He'll explore some common techniques for optimising programs running on the BEAM, applicable to Erlang, Elixir and LFE. He'll show us what tools can be used to evaluate performance and discover bottlenecks. He'll then talk both about how these problems can be solved - both by optimising the pure functional parts, leveraging the knowledge of BEAM innards, and by optimising concurrent programs around processes.


In this talk, the audience will learn about:

  • tools for evaluating the performance of BEAM programs
  • techniques for pinning down particular efficiency issues
  • common techniques for optimising functional programs and concurrent applications
  • possible future changes to the runtime and compiler focused around performance