Rainer

Rainer

Programming Erlang Book Club

My first contact with Erlang was about 2 years ago when I used RabbitMQ, which is written in Erlang, for my job. This made me curious and I started exploring the world of the BEAM, did some Elixir programming and used Phoenix for side projects.
Finally, the time has come to dig in deeper :slight_smile:

@AstonJ and I will be working our way through Programming Erlang and documenting our progress in this thread - please feel free to join us either by commenting on things you find interesting or by reading it with us! We’d love the company! We’ll try to writ something about each chapture.

Until now I just read the introduction and the “Introducing Concurrency” part, which didn’t contain something particularly new to me, but it was a nice read for the start, and made me keen to work through the next chaptures :smiley:

Most Liked

AstonJ

AstonJ

Whoo hoo! I can’t wait to read this book!

I had actually planned to read it after all of my Elixir/Phoenix books, however I’ve been increasingly curious about the Erlang way and how it differs to the Elixir way. @DevotionGeo’s thread here reignited some of that curiosity and Robert’s posts in the thread then just pushed me to do it!

I also purchased the paper book which is not something I would normally do for a programming book (I prefer reading eBooks on my Kindle and they are of course more environmentally friendly) however I thought having a physical copy of the book might nice, like having a little bit of Joe here :blush:

Speaking of Joe, Like @Rainer I’ve only read the first couple of chapters but I can tell you Joe’s personality shines through very strongly. If you’ve watched any of his talks or interviews, or interacted with him via the forums, twitter or email, it’ll feel like he’s there with you. At least that’s how I feel given what I’ve read so far.

So I’m very excited to read this book and look forward to Rainer’s comments as well as any of yours should any of you join in or comment in the thread yourselves :nerd_face:

Rainer

Rainer

Finished chapter 2 now with the exercise. Good read so far :wink:
@AstonJ how is your solution?

Here’s mine:
Client:

put_file(Server, FileName, FileContent) ->
    Server ! {self(), {put_file, FileName, FileContent}},
    receive
        {Server, Response} -> Response
    end.

Server:

loop(Dir) ->
    receive
        {Client, list_dir} ->
            Client ! {self(), file:list_dir(Dir)};
        {Client, {get_file, File}} ->
            Full = filename:join(Dir, File),
            Client ! {self(), file:read_file(Full)};
        {Client, {put_file, FileName, FileContent}} ->
            Client ! {self(), file:write_file(FileName, FileContent)}
    end,
    loop(Dir).
mafinar

mafinar

Yes.

I could imagine Joe speaking those lines as I was reading the first page :sob:

Such a well introduction, is the rest of the book as enlightening?

Where Next?

Popular Community topics Top

Rainer
My first contact with Erlang was about 2 years ago when I used RabbitMQ, which is written in Erlang, for my job. This made me curious and...
New
finner
As one of my New Year resolutions is to read more tech I’ve decided on an attempt to document my travels in Mannings Modern Java in Actio...
New
Tommy
So I have enough money to last a year. Realistically I’m still going to have to work part time painting. I’m so done with it though! I h...
New
mafinar
Concurrent Data Processing in Elixir is now content complete and I finally found the time I’ve been looking for to dedicate behind readin...
New
mafinar
I am going to dump my thoughts, methods, codes, experiences and rants while learning OCaml into this thread. This is probably the 5th or...
New
TwistingTwists
I have read first chapter. Will add my notes / code tries / self exploration as I go along! Thank you @AstonJ for encouraging to start ...
New
rgerardi
Hello all. Creating this space here for general discussion and chat about Powerful Command-Line Applications In Go In particular, we ca...
New
adamaiken89
Anyone is interested in a classical textbook for algorithms can go and check that.
New
AstonJ
With Phoenix and LiveView having recently had a fairly major release, and Programming Phoenix LiveView being updated too, we thought it w...
New
alvinkatojr
https://fs.blog/mental-models/ I’ve been reading Farnham Street for a while, and this topic is the recommended starting point for new re...
New

Other popular topics Top

AstonJ
If it’s a mechanical keyboard, which switches do you have? Would you recommend it? Why? What will your next keyboard be? Pics always w...
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
PragmaticBookshelf
“A Mystical Experience” Hero’s Journey with Paolo Perrotta @nusco Ever wonder how authoring books compares to writing articles?...
New
AstonJ
Seems like a lot of people caught it - just wondered whether any of you did? As far as I know I didn’t, but it wouldn’t surprise me if I...
New
Maartz
Hi folks, I don’t know if I saw this here but, here’s a new programming language, called Roc Reminds me a bit of Elm and thus Haskell. ...
New
husaindevelop
Inside our android webview app, we are trying to paste the copied content from another app eg (notes) using navigator.clipboard.readtext ...
New
sir.laksmana_wenk
I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc. However, I don’t...
New
AnfaengerAlex
Hello, I’m a beginner in Android development and I’m facing an issue with my project setup. In my build.gradle.kts file, I have the foll...
New
AstonJ
This is a very quick guide, you just need to: Download LM Studio: https://lmstudio.ai/ Click on search Type DeepSeek, then select the o...
New