News for hackers. Stuff that matters.
Re:Erlang/OTP 26.1 Released by sph on Thursday September 21, 2023 @05:26AM (#37595241)
This is a good place as any to ask: I'm an experienced Elixir dev so I know my way around Supervisors, GenServers, Registries, etc. but I feel there is more to OTP, the myriad of erlang modules for fault tolerance, which are not immediately visible unless you spend a lot of time reading the erlang docs.

Is there a good book that is focused on advanced OTP? On the internals of the BEAM and the hairier parts of the Erlang ecosystem? I can only find basic to intermediate introductory material. Perhaps I should just spend time reading the erlang website back-to-front...

---

1: I'm taking a small break from writing a parallel, distributed website crawler with homegrown HTTP client. Quite fun, very fast, to replace my first, rough prototype written in Rust. The hard part is accepting that most HTTP servers on the open Internet are hopelessly broken in a million ways.

Re:Erlang/OTP 26.1 Released by _susanoo on Thursday September 21, 2023 @05:34AM (#37595309)
Designing for Scalability with Erlang/OTP by Francesco Cesarini and Steve Vinoski
Re:Erlang/OTP 26.1 Released by knewter on Thursday September 21, 2023 @01:37PM (#37601092)
This one
Re:Erlang/OTP 26.1 Released by rramadass on Thursday September 21, 2023 @06:11AM (#37595575)
In addition to the other recommendation;

1) The BEAM book - https://blog.stenmans.org/theBeamBook/

2) Erlang and OTP in Action by Merritt, Logan and Carlson

Re:Erlang/OTP 26.1 Released by di4na on Thursday September 21, 2023 @06:16AM (#37595605)
Re:Erlang/OTP 26.1 Released by abrookewood on Thursday September 21, 2023 @06:28AM (#37595685)
It would be interesting to hear about a comparison between the two - though it sounds like you aren't as skilled in Rust?
Re:Erlang/OTP 26.1 Released by KMag on Thursday September 21, 2023 @09:21AM (#37597227)
> most HTTP servers on the open Internet are hopelessly broken in a million ways.

20 years ago, picking up OCaml, as an initial project I decided to write a password cracker to run against my WiFi router. The webserver on my WRT-54G was sending back errors, but Yahoo's webserver (more popular than Google at the time) was perfectly happy replying correctly to my HTTP client's requests.

I had to break out Ethereal (since renamed Wireshark) to debug why Yahoo was fine with my HTTP client but my WRT-54G wasn't. It turns out I didn't realize that OCaml character escapes that began with zero were still decimal, not octal (unlike C). So, I was sending a line terminator of vertical-tab shift-in instead of carriage-return line-feed. I guess kudos to whomever wrote Yahoo's webserver to make proper sense of such wonky requests, though I think it was far too liberal in what it accepted.

Re:Erlang/OTP 26.1 Released by toast0 on Thursday September 21, 2023 @10:48AM (#37598449)
> I guess kudos to whomever wrote Yahoo's webserver to make proper sense of such wonky requests, though I think it was far too liberal in what it accepted.

Depending on exactly when, you may have been hitting Yahoo's custom http server originally written by David Filo or yapache, a patched version of Apache 1.3.

Re:Erlang/OTP 26.1 Released by bosky101 on Thursday September 21, 2023 @11:56AM (#37599570)