Nelson Vides

Self-taught programmer and core developer of MongooseIM

Nelson is a child of a multicultural journey. Born in Venezuela to a family of engineers and economists, he grew up in Spain to study pure maths in university and moved to Poland to become a self-taught programmer. After a few years as a C developer in security/telecommunication domains, he's now an Erlang enthusiast with an emphasis on performance and security, a professional in the field of instant messaging and a core developer of MongooseIM. In his free time he's a sports addict, practising yoga and callisthenics, and also a history fanboy, devouring books every night.


General experience with protocols like TLS, SSH, HTTP, XMPP, or even TCP. Programming practices like pattern-matching will be heavily used during the talk.


We will see how concepts of automata theory like Finite State Machines, but also Push-down automata or Turing Machines match to real-world programs, what does it mean that our code is modelled as one or another automaton and when do we actually break the abstraction and accidentally use a more powerful than necessary automaton. By the end of the talk, the audience should have a good grasp of the Finite State Machine pattern and how does it solve problems they might face more often than they think.


Come with me on a journey through the realms of state machines, with the practical brilliance of Erlang’s gen_statem behaviour as our light beam. Building on state machines as a model to reimplement technical debt, we will traverse the intersection of state machine practical implementation and the theoretical foundations of automata. Using real-world application examples, we will go over from the industry beast to the theoretical abyss, revealing the mathematical elegance inherent in state machines and its more powerful automata siblings. Bridging this gap, we will empower developers to architect solutions that go beyond conventional patterns, with concrete examples and plenty of code to read, providing the attendees with a comprehensive vision to harness the full potential of state machines.