It's An Evolution!

Johnny Winn
Elixir Fountain Host

What if we could simulate life? What if we could watch the evolution of a million processes at once, with the strong surviving and passing on their traits?

It all starts with a population seed. Each organism (represented by a spawned process) will live, eat, breed, and eventually die. These organisms will live out their simple lives with a handful of modeled behaviors. Whatever happens in one generation affects all the future ones.

These complex worlds can easily unfold with the help of Elixir/OTP. In this talk, we will seed a population and then simulate the evolutionary process, while OTP Supervisors, Servers, and Events are utilized to manage the concurrent life processes. Essentially, we'll replicate the changing world in an OTP Petri dish. ¡Viva La Evolución!

Talk objectives:

This talk will replicate life in Elixir processes and at the same time we'll look at how a supervision tree manages those processes. It's really a fun and different look into process management in Elixir.

Target audience:

This talk should appeal to all those interested in learning about process management in Elixir. Plus, if you have an interest in genetics or simulators it will be a fun use case to explore.


The renaissance man from Jacksonville, Johnny embarked on his computing curiosity during the eighties on a Commodore 64. However the road leading toward software craftsmanship has diverged down many paths. From musician to electrical engineer, chef to software developer, rugby player to local politician, the twist and turns have provided a wide range of experiences that have helped to shape him.

GitHub: nurugger07

Twitter: @johnny_rugger

Back to conference page