Top all-time · #264
Fred Hébert
Personal blog · learnyousomeerlang.com · on HN as mononcqcprogrammingsystems
Fred Hébert writes Learn you some Erlang for great good!, a personal blog at learnyousomeerlang.com about programming and systems. Since 2009, 179 different Hacker News readers have linked it 283 times, most often “Learn You Some Erlang For Great Good”. The last post was in 2015, but the archive is still widely read.
Often recommended · 18 of 40 sampled comments recommend it?
Why HN links it
HN readers link Fred Hébert's Learn You Some Erlang as a way into Erlang and OTP, and his other Erlang writing for explanations of OTP, supervisors and state machines.
- Recommended for · 18 comments
- Called fantastic, amazing, clear and approachable, a good place to start; 'one of the best' books; a labor of love.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Learn you some Erlang for great good! An Erlang tutorial for beginners and others too.
Most-linked posts?
- Learn You Some Erlang For Great Good48 people · 61 mentions · first linked 2009-08-18
- Erlang Tutorial from intro to production deployment20 people · 21 mentions · first linked 2009-09-09
- Learn You Some Erlang for Great Good17 people · 19 mentions · first linked 2018-07-11
- /10 people · 12 mentions · first linked 2010-03-10
- Learn You Some Erlang: What is OTP & Clients and Servers8 people · 8 mentions · first linked 2010-11-05
- Type Specifications and Erlang (new chapter of learn you some erlang)7 people · 15 mentions · first linked 2012-08-02
- Learn You Some Erlang for Great Good (2013)7 people · 7 mentions · first linked 2020-10-29
- Learn You Some Erlang for Great Good7 people · 7 mentions · first linked 2019-05-23
- /supervisors5 people · 6 mentions · first linked 2018-10-14
- Time Goes On in Erlang5 people · 5 mentions · first linked 2015-06-25
What Hacker News says?
You could probably use Erlang (or any other BEAM language with access to OTP) as a service control system (like openrc, or systemd or similar), yeah. But yeah, I find writing servers and other such systems with many moving parts that can be reasonably modeled as Actors passing messages between themselves in Erlang to be so, so, so enjoyable. If you're interested in picking up the language, I'd recommend Learn You So…
Comment linking /
on “Panic at the Job Market”Submitted Learn You Some Erlang For Great Good as a story · 184 points
HN discussionI strongly feel that Erlang really, really needs more visibility in the world. It is an important language for distributed systems, but the language itself is startlingly spare, using recursion and pattern-matching in lieu of conditionals. There are two resources that I like, a 3 week Future Learn course [1] and Learn You Some Erlang [2]. It is my belief that the Erlang "process" is a true object, as opposed to Ruby…
Comment linking /
on “Teach Yourself Computer Science”Submitted Rage Against the Finite-State Machines as a story · 153 points
HN discussion> Do people actually really log into running production systems and update code Yes, I've done it once in a while. Cases could be is to deploy a fix and the customer's system is up and running. If say it's something urgent that can't wait until it goes through the full deployment pipeline. Because hot code reloading works so well in Erlang it's not risky as doing it in Java for example. In fact upgrading by hot code…
Comment linking /relups
on “How Discord Scaled Elixir to 5M Concurrent Users”Submitted Time Goes On in Erlang as a story · 110 points
HN discussionWah. Easy there, Satan :-) That is cool trick though. So it's basically sending the port itself around and changing its ownership, with something like port_connect(Port,NewOwner)? And btw, thank you for writing https://www.erlang-in-anger.com and http://learnyousomeerlang.com !
Comment linking /
on “How Discord Scaled Elixir to 5M Concurrent Users”Submitted Learn You Some Erlang for Great Good (2013) as a story · 105 points
HN discussion> So, has anyone managed to make progress toward a "systematic solution" in the last 9 years? Allow me to introduce you to the fantastic and battle-tested http://learnyousomeerlang.com/what-is-otp , preferably utilized (IMHO) via http://elixir-lang.org/
Comment linking /what-is-otp
on “Post-Mortem for Google Compute Engine’s Global Outage on April 11”Submitted Learn You Some Erlang: Building an Application With OTP as a story · 82 points
HN discussion> After all, a book full of qualifications will fail to inspire confidence in its own advice. I don't think that's true at all. One of the old 'erlang bibles' is "learn you some erlang" and it full of qualifications titled "don't drink the kool-aid" (notably not there in the haskell inspiration for the book). It does not fail to inspire confidence to have qualifications scattered throughout and to me it actually giv…
Comment linking /introduction
on “It's probably time to stop recommending Clean Code (2020)”Submitted New chapter of Learn You Some Erlang as a story · 80 points
HN discussionErlang, which traditionally deals with concurrency and parsing protocol has had a built-in standard FSM module for a long while: http://learnyousomeerlang.com/finite-state-machines It even got a recent re-write and the new one is called gen_statem: http://erlang.org/doc/man/gen_statem.html This new version is already is used to handle some of the TLS and SSH stuff from what I've heard. Here is TLS connection code: h…
Comment linking /finite-state-machines
on “How I Learned to Stop Worrying and Love the State Machine”Submitted Learn You Some Erlang: Buckets of Sockets as a story · 63 points
HN discussion> Why does Clojure need them or Ruby or Python (lists)? So you want a list it seems > l=[1,2,3] > [h | t] = l [1, 2, 3] > h 1 > t [2, 3] > If I want to process data as a large indexed array Elixir isn't going to help me But neither will Python. You'd want a large indexed array you probably want numpy. See now you are revealing a bit more about your usecase that's helpful. So you have large amount of data and want to…
Comment linking /ets
on “Rails 5.0: Action Cable, API mode, and more”Submitted Generic FSMs in Erlang as a story · 60 points
HN discussionWhich part or just in general ops with Erlang? Overall I would say this book is a good start https://www.erlang-in-anger.com/ Supervisors are just a general pattern in Erlang. Any book will have something about it. I like this one: https://learnyousomeerlang.com/supervisors Restarting frequency and limits are just one of the parameters you specify. So don't need to do anything fancy or special there. Hot code loadin…
Comment linking /supervisors
on “Achieving 100k connections per second with Elixir”Submitted Learn You Some Erlang: What is OTP & Clients and Servers as a story · 58 points
HN discussionI am only learning Erlang now (through the futurelearn course[1], posted here, about a month ago now). One of the reasons it interests me is that it was designed from the start to support high-availability concurrent, distributed processes. It's a functional, dynamic language meaning that you can reprogram a system at runtime if you want (see: gen_server). Like I said, I'm only starting and I don't know how real Erl…
Comment linking /
on “The System Design Primer”Submitted Learn You Some Erlang now out in print as a story · 56 points
HN discussionI appreciate it may not be the right tool in an extremely resource constrained embedded environment, but the "my hardware can't be relied on" on problem is almost exactly what's described several Erlang guides. http://learnyousomeerlang.com/the-hitchhikers-guide-to-concu...
Comment linking /the-hitchhikers-guide-to-concurrency
on “Compiling an application for use in highly radio-active environments”Submitted The Hitchhiker's Guide to Concurrency as a story · 54 points
HN discussionSpeaking of awesome, check out other stuff Fred Hebert wrote. Learn You Some Erlang For Great Good: http://learnyousomeerlang.com/ His blog posts are great too: http://ferd.ca/ And his new (free) book, Erlang In Anger: http://www.erlang-in-anger.com/
Comment linking /
on “Awk in 20 Minutes”Submitted Learn You Some Erlang - The Count of Applications as a story · 46 points
HN discussionAlso, it has a great free book on it: http://learnyousomeerlang.com/
Comment linking /
on “Why Erlang Matters”Submitted Learn You Some Erlang: Three new chapters available as a story · 44 points
HN discussionRecursion is the way to go in Erlang / Elixir: https://learnyousomeerlang.com/recursion When one writes a bit if Erlang for a while, one gets a completely different view on any software to be written in the future. Erlang is life changing. But there are things where other technologies are better fit.
Comment linking /recursion
on ““No, we’re telling everyone we are using Java””Submitted The Hitchhiker's Guide to Concurrency as a story · 41 points
HN discussionIt had type specification for years: https://learnyousomeerlang.com/dialyzer They are opt in of course, but have the property that the more specifications you add and the more precise they are, the more type errors they'd discover. After it run it tells you if there is a type discrepancy. If it can't decide it doesn't say anything. The technical term for that is "success typing" http://www.it.uu.se/research/group/hi…
Comment linking /dialyzer
on ““No, we’re telling everyone we are using Java””Submitted Postscript: Time Goes On (2014) as a story · 39 points
HN discussion