Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #264

F

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.

Visit the blog
283mentions?
18recommend?
179HN people?
2009–2026first – last linked?
Links on Hacker News per year · peak 36 in 2015

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.

The author on HN?

mononcqc · 2,658 karma · member since 2009

Blog: https://ferd.ca books: https://learnyousomeerlang.com, https://erlang-in-anger.com, https://propertesting.com

From their public HN profile, which links to this site.

Most-linked posts?

  1. Learn You Some Erlang For Great Good
    48 people · 61 mentions · first linked 2009-08-18
  2. Erlang Tutorial from intro to production deployment
    20 people · 21 mentions · first linked 2009-09-09
  3. Learn You Some Erlang for Great Good
    17 people · 19 mentions · first linked 2018-07-11
  4. /
    10 people · 12 mentions · first linked 2010-03-10
  5. Learn You Some Erlang: What is OTP & Clients and Servers
    8 people · 8 mentions · first linked 2010-11-05
  6. Type Specifications and Erlang (new chapter of learn you some erlang)
    7 people · 15 mentions · first linked 2012-08-02
  7. Learn You Some Erlang for Great Good (2013)
    7 people · 7 mentions · first linked 2020-10-29
  8. Learn You Some Erlang for Great Good
    7 people · 7 mentions · first linked 2019-05-23
  9. /supervisors
    5 people · 6 mentions · first linked 2018-10-14
  10. Time Goes On in Erlang
    5 people · 5 mentions · first linked 2015-06-25

What Hacker News says?

  1. simoncion · 2024-07-24Recommends
    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”
  2. Submitted Learn You Some Erlang For Great Good as a story · 184 points

    HN discussion
  3. javajosh · 2017-03-14Recommends
    I 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”
  4. Submitted Rage Against the Finite-State Machines as a story · 153 points

    HN discussion
  5. > 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”
  6. Submitted Time Goes On in Erlang as a story · 110 points

    HN discussion
  7. rdtsc · 2017-07-12Recommends
    Wah. 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”
  8. Submitted Learn You Some Erlang for Great Good (2013) as a story · 105 points

    HN discussion
  9. pmarreck · 2016-04-13Recommends
    > 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”
  10. Submitted Learn You Some Erlang: Building an Application With OTP as a story · 82 points

    HN discussion
  11. dnautics · 2021-05-25Recommends
    > 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)”
  12. Submitted New chapter of Learn You Some Erlang as a story · 80 points

    HN discussion
  13. Erlang, 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”
  14. Submitted Learn You Some Erlang: Buckets of Sockets as a story · 63 points

    HN discussion
  15. > 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”
  16. Submitted Generic FSMs in Erlang as a story · 60 points

    HN discussion
  17. rdtsc · 2019-03-06Recommends
    Which 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”
  18. Submitted Learn You Some Erlang: What is OTP & Clients and Servers as a story · 58 points

    HN discussion
  19. I 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”
  20. Submitted Learn You Some Erlang now out in print as a story · 56 points

    HN discussion
  21. I 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”
  22. Submitted The Hitchhiker's Guide to Concurrency as a story · 54 points

    HN discussion
  23. rdtsc · 2015-01-15Recommends
    Speaking 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”
  24. Submitted Learn You Some Erlang - The Count of Applications as a story · 46 points

    HN discussion
  25. d33 · 2016-04-07Recommends
    Also, it has a great free book on it: http://learnyousomeerlang.com/

    Comment linking /

    on “Why Erlang Matters”
  26. Submitted Learn You Some Erlang: Three new chapters available as a story · 44 points

    HN discussion
  27. Recursion 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””
  28. Submitted The Hitchhiker's Guide to Concurrency as a story · 41 points

    HN discussion
  29. It 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””
  30. Submitted Postscript: Time Goes On (2014) as a story · 39 points

    HN discussion

Search all of HN for learnyousomeerlang.com

Linked by the same people?