Brujo Benavides

Erlang Battleground Author and Software Engineer (AdRoll)

Erlang Developer, Blogger & Trainer. Proud member of https://inaka.github.io / Find more at http://about.me/elbrujohalcon

Upcoming conferences:

Brujo Benavides
Code BEAM SF 2019

OTP behaviors and how to behave around them

One of the first things every newcomer faces when they meet OTP are behaviors. The general explanation for them is usually along the lines of "they're like interfaces for OOP". While that's somewhat accurate, it's also misleading and introduces a lot of confusion on how and when to use the existing behaviors and when it's reasonable to define your own ones. In this talk, I will explain what behaviors are, how they should be used and how to create and expose new ones if you ever need to.


To help newcomers get familiar with OTP behaviors and to help experienced devs rediscover them.


Developers willing to understand what they really do when they implement a generic server or a supervisor. Also folks considering the creation of their own behaviors with the desire to do it right. If you don’t know what a behavior is at all, you're welcomed here too.

Past conferences

Brujo Benavides
Code BEAM SF 2018
15 Mar 2018
12.25 - 12.50

Opaque Structures and Other Yerbas

Opaque Data Structures provide a very nice technique to structure systems and they are particularly useful within the functional programming paradigm. With the addition of maps and the opaque attribute for modules, Erlang is now perfectly suited to get the best of these structures, if you use it properly.

In this talk, Brujo will show what opaque data structures are, how to use them and why they are so useful, even more so if you're developing an open-source library. This talk will be conceptual, but it won't be 100% theoretical.

Brujo will also present examples and tools that assist us in making better use of these techiques.


The main goal of the talk is to showcase a way to structure Erlang systems based on strong type definitions and explain why and how that structure is beneficial to Erlang developers.


Everyone, but it might be of particular interest for those building open-source libraries and/or big applications with lots of modules.


Articles: 1

Opaque Structures & Other Yerbas - SLIDES - Code BEAM SF 2018

Brujo Benavides

Slides for the Brujo Benavides' talk "Opaque Structures & Other Yerbas" - Code BEAM SF 2018


Videos: 1

Opaque Structures and Other Yerbas - Code BEAM SF2018 /// Brujo Benavides