Boshan Sun

Software engineer at Amazon, learned Erlang from Joe Armstrong

Boshan enjoyed functional programming when he first encountered Elixir/Erlang. He's been BEAMing ever since!

Past Activities

Boshan Sun
Code BEAM SF 2019
28 Feb 2019
14.40 - 15.25

Understanding Erlang kernel

The Kernel application has all the code necessary to run the Erlang runtime system. Every application needs to include a kernel application to be able to run. When starting an Erlang shell there are 39 processes running inside BEAM.

What are those 39 processes and how do they work together to make BEAM tick?

What exactly does Erlang kernel do and why does every application need it?

What happened inside BEAM when you print a simple hello world to the screen?

In this talk, we will take a deep dive into Erlang's kernel and find out how beautiful Erlang's internal works.


Help audience to have a better understanding on how Erlang's kernel application works and why does every application need to include it. By knowing more about Erlang's internal, we will be able to write more beautiful Erlang code.


For the curious souls who want to know how things work under the hood.

Boshan Sun
Code BEAM SF 2018
15 Mar 2018
14.40 - 15.25

Understanding Erlang Term

There's an Erlang/Elixir myth that tail-recursive functions are much faster than body-recursive functions. In this talk we will first explore how Erlang terms are represented in bit level, and then take a closer look at this myth to understand what really happens with tail-recursive functions vs body-recursive functions. You will understand more about BEAM internals and Erlang's Efficiency Guide.


Give the audience an overview on how Erlang's dynamic typing system work, and how does that produce idiomatic Elixir/Erlang code.


Intermediate Elixir/Erlang users who are curious on how things work under the hood.