
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
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
Code BEAM SF 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.
Code BEAM SF 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.
Media
Articles: 1
Understanding Erlang Term - SLIDES - Code BEAM SF 2018
Slides for the Boshan Sun's talk "Understanding Erlang Term" - Code BEAM SF 2018
READ MORE