3 ms·
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
by sph 3y ago
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.
- di4na 3y agoErlang in Anger https://www.erlang-in-anger.com/ https://www.erlang-in-anger.com/
- _susanoo 3y agoDesigning for Scalability with Erlang/OTP by Francesco Cesarini and Steve Vinoski
- knewter 3y agoThis one
- rramadass 3y agoIn addition to the other recommendation; 1) The BEAM book - https://blog.stenmans.org/theBeamBook/ https://blog.stenmans.org/theBeamBook/ 2) Erlang and OTP in Action by Merritt, Logan and Carlson
- abrookewood 3y agoIt would be interesting to hear about a comparison between the two - though it sounds like you aren't as skilled in Rust?
- KMag 3y ago> 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.
- toast0 3y ago> 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.
- bosky101 3y agotry the second half of https://learnyousomeerlang.com/content https://learnyousomeerlang.com/content