In this talk we're going to explore the boot process of the Erlang virtual machine. We'll trace the code path from the beginning of the C main function until the Application.start/2 callback is executed. We'll see how the C code interacts with the Erlang code, how the Erlang code is loaded, what is the first Erlang code to run, and finally how applications are started.
To show how to explore the source code of Erlang/OTP, explain the boot process itself, spread the love for the low-level things and inspire new contributors to the VM.
The talk will appeal to Elixir programmers who are curious about the virtual machine, the internals and why applications work the way they do. Some rudimentary knowledge of C, Elixir and Erlang will be assumed.
Software engineer, open-source developer, speaker and trainer. Michał is an Elixir Core Team Member focusing on virtual machine, compiler and performance. As a developer and contractor in Elixir and Erlang he faced many interesting issues. He's also a co-maintainer of Ecto and some other Elixir open source projects. 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!