Sasha Fonseca

High Risk, High Reward -> Early adopter of Elixir; organiser of the 'Lisbon |> Elixir' meetup;

Interested in computing from a young age, Sasha found himself as a Software Engineer in his adulthood. After graduating with a Master's Degree in Software Engineering from the University of Lisbon, he has been working in big Portuguese companies like SONAE and Talkdesk. Sasha has been an advocate for the BEAM languages for a few years now, actively developing in Elixir both personally and professionally. He also organizes the 'Lisbon |> Elixir' meetup which has had 12 editions so far.

When not looking at a computer screen, he enjoys practicing and reading about fitness and physical activities in general, listening to progressive rock or playing video-games.

Past Activities

Sasha Fonseca
Code BEAM Lite Berlin
11 Oct 2019
09.55 - 10.35

Communicating with the outside world: a look at the BEAM's External Term Format

BEAM sends data to the outside world in Erlang’s External Term Format (ETF), which represents the BEAM types (e.g., integers, PIDs) as binary data. Applications like DETS use it to perform I/O operations. Furthermore, other stacks implementing it may talk with the BEAM without relying on middleware formats like JSON.

We'll have a look at ETF itself, and an implementation for the Elm language, targeting the browser. The benefits of it instead of other data formats will be shown (e.g., performance, size).


  • Explain what the External Term Format is and how it works  - Its importance to the BEAM and the BEAM languages
  • What applications it may have (e.g., which libraries and systems use it, which benefits it may bring, how developers can rely on it to talk to other tech stacks)
  • An example of an implementation


Any user or developer, but may be specially interesting for engineers with services running on other tech stacks which may need to communicate with BEAM applications.