Charlotte Lorelei de Oliveira

✨ Net Idol ✨

Charlotte likes to talk about free open source software, privacy, programming languages, theory and software engineering.

Her work is breaking computers, fixing them and then teaching others about the results.

Past Activities

Charlotte Lorelei de Oliveira
Code BEAM STO 2019
17 May 2019
14.30 - 15.15

Introduction to a type system: session types

Correctness in software development is an important subject that has been explored by the academy and by the industry. How to ensure that your program cannot fail? How to ensure that what you're developing will work as expected without unwanted side-effects? etc.

Since then, several approaches were developed; one of them is static type analysis, a methodology which tries to prove that your program is correct based on the mathematical types theory, whose basic assumption is that unless your program can prove it attends its basic contracts, it is faulty. Considering Erlang is widely known by its focus on fault-tolerance and, by consequence, guarantees of reliability, there have been several attempts to improve Erlang programs by proving their correctness with type systems but such attempts have failed.

This talk proposes to explain what is a type system, why attempts to type strictly Erlang have failed and how the theory of Session Types might prove to be a way to achieve correctness in environments like Erlang's.



  • Present the concept of static type analysis
  • Present the research so far in session types applied to programming
  • Build hype over the future of environments based on the actor-message model



Developers who have before had to handle bugs in their code; functional programming enthusiasts.

Charlotte Lorelei de Oliveira
Code BEAM Lite Berlin
11 Oct 2019
13.55 - 14.35

Communicating through microservices: an overview on gRPC

Distributed computing has become an important topic for software engineers this decade as we become more and more competent of making big and complex systems to improve everyday life. However, whenever we introduce distributed systems to an architecture it’s complexity increases a lot and several questions are not as easy to answer than before.

A question to ask oneself is how should those systems communicate within themselves. There’s not an exact easy answer, as there are intricacies involved, like the tradeoffs of some protocols, the advantages, why it’s important to consider this etc.

This presentation will focus on gRPC as a potential answer to the aforementioned question, exploring why it exists, how could it help on connecting applications together and designing fluent APIs. This talk is suited for all publics without any expectations of prior knowledge.


  • Get the watcher to understand the pros and cons of the gRPC framework
  • Discuss the problems of data serialization
  • Discuss the concerns on building fluent APIs for inter-service communication


Software Engineers of any background.

Charlotte Lorelei de Oliveira
Code BEAM Lite Munich 2018
07 Dec 2018
15.30 - 16.10

How does fault tolerance work in Erlang

Introductory and intermediate level talk explaining how Erlang can isolate its processes and why this is important for fault tolerant systems. The talk will touch on topics such as scheduling processes, the Erlang philosophy behind error handling and how to use supervisors to have a fault tolerant system.


To teach about process isolation in Erlang, actor-message model, how BEAM has control over the processes execution and how scheduling processes work.