<

Boshan Sun

Senior software engineer at ArcBlock, learned Erlang from Joe Armstrong

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

Upcoming Activities

Boshan Sun
Code BEAM SF

Understanding BEAM

The most powerful tool in Erlang is the BEAM itself. It is also very beautiful yet sophisticated. There are more than 40+ flags, 50+ emulator flags and 10+ environment variables that can be passed in when starting the BEAM. What are those flags do? How will they affect the performance of the Erlang system? Which flag should be tuned when the system seems slow? How to debug the system and find out the bottleneck?

In this talk, Boshan will take a deep dive into BEAM itself and learn how process stack/heap works, how GC works, how scheduler works and how everything else works.

THIS TALK IN THREE WORDS

BEAM

BEAM

BEAM

OBJECTIVES

Equip audience with a solid foundation on understanding on how BEAM works, thus we are able to tune BEAM with appropriate flags and know where to get help when BEAM performance suffers.

TARGET AUDIENCE

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

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.

OBJECTIVES

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.

TARGET AUDIENCE

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.

OBJECTIVES

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

AUDIENCE

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