AstonJ

AstonJ

[Erlang] The BEAM Book (Released under Creative Commons) (Free)

A short and personal history of the book

I, Erik Stenman (Happi), started writing this book back in 2013. At first I was thinking of self publishing the book on my blog, but since English isn’t my native language I felt I needed help by a good editor.

I managed to get a deal with O’Reilly and started converting my outline to their build process. My original plan was for a very long and thorough book, which the editor felt would get few readers. I started cutting my content and tried to write more of a tutorial than a manual. Unfortunately progress was slow and pre-sales was even slower and the publisher cancelled the book in 2015.

I managed to get a new deal with Pragmatic and started converting my content to their build system and rewriting the book according to the more pragmatic style of the new publisher, cutting down the content even further. The series editor also wanted me to fit the book into the Elixir series and I tried to add more Elixir examples. I did not really manage to make it into an Elixir book and also my progress was still slow, which led to another cancellation of the book early 2017.

Now I had three repositories with three different book building systems with three different outlines of the book. In the end I more or less went back to the original longer book outline and the original AsciiDoc build system. I started a new repository in a private Github account and started pulling in content from the three different version.

Then on April 7 2017 I opened the repository to the public to share it with some students. I didn’t think anyone else would notice and I was not planning to release the book for real yet since the repo currently just contains bits and pieces from the different versions of the book.

There was more interest than I had expected though and fortunately also several who where willing to contribute. From now on the book is a collaborative effort to document the Erlang RunTime System Erts, and it is released with a creative commons license (see above).

Watch this space for further news and to see the whole book take shape.

– Erik Stenman aka Happi

Most Liked

gtcode

gtcode

Updates on The BEAM Book today:

HN discussion today, including general comments regarding BEAM vs. modern alternatives:

12
Post #3
juhalehtonen

juhalehtonen

Just got my copy in the mail as well!

The online version of the book has been such a fantastic resource whenever specific questions about the BEAM runtime internals have come up. This physical copy will definitely be on my summer reading list :023:

code-shoily

code-shoily

Got the hard copy, quite good print quality for the price. I am up for a book club on this one if anyone else wants to join. Can’t thank Erik enough to have this gem published.

meraj_enigma

meraj_enigma

Just finished reading this one of a kind book which is a valuable addition to Erlang and BEAM community.
I typed in most of the code from the book in case anyone finds it useful - erlang_playground/theBeamBook at main · imeraj/erlang_playground · GitHub

popoinikov

popoinikov

Fine news. I very much waited for this book. Thank you so much!

Where Next?

Popular in Books Top

PragmaticBookshelf
Kevin Hoffman edited by Kelly Talbot @KellyTalbot Reality is event-sourced; your mind processes sight, sound, taste, smell, and touch to...
New
PragmaticBookshelf
Alexander Koutmos @akoutmos Elixir Patterns aims to surface the powerful and unique characteristics of the Erlang virtual machine and sho...
New
shankardevy
I am happy to announce that I am completing final rounds of my Phoenix book (which is now a series of books/booklets). ...
New
New
AstonJ
by Martin Logan, Eric Merritt, and Richard Carlsson Erlang and OTP in Action teaches you the concepts of concurrent programming and the ...
New
CinderellaMan
Create a cryptocurrency trading bot in Elixir (YouTube videos, ebook pay what you want) <span class="hashtag-icon-placeholder"></span>eli...
New
peerreynders
by Elvio Vicosa @elviovicosa elvio Learning a new framework is hard As a seasoned Rails developer, you know Rails and its components...
New
PragmaticBookshelf
Isaak Tsalicoglou Built for the curious, this isn’t your average programming book—it’s nearly 500 pages of hands-on mentorship beyond cod...
New
peerreynders
Build Highly Scalable Systems with Channels https://imagery.pragprog.com/products/593/sbsockets.jpg?1566562141 Don’t forget you can ...
355 15772 140
New
AstonJ
by by Fred Hebert Erlang is the language of choice for programmers who want to write robust, concurrent applications, but its strange ...
New

Other popular topics Top

Qqwy
Update: How to use the Blogs &amp; Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3268 119930 1237
New
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
977 41022 311
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New

We're in Beta

About us Mission Statement