Join Newsletter

Erlang: What They Didn’t Tell You in the Brochure

YOW! Lambda Jam 2013

Erlang is a language designed for building highly concurrent, highly available systems. And, based on our experience using it to build a large-scale VoIP soft-switch, it does a great job of this.

However…every language has a collection of “gotchas” which developers often don’t discover until they’re neck-deep in building a big system. If they’re really lucky, they’ll discover them before the users do.

I love Erlang as a language, but in this respect it’s no different from any others. This talk aims to briefly cover the things it would have been nice to have known before we ran head-long into them such as:

  • How to crash your VM (and how not to)
  • Message queues: they’re not magic
  • Why you can’t just run Erlang as a Unix-style service (and how you can)
  • Hot Code Loading: not as easy as you might hope
  • The OTP: Forget everything they taught you in the first Erlang lesson
  • System monitoring is even more important than you think

Bernard Duggan

Staff Engineer



Bernard has been working on ShoreTel's (and previously M5 Networks') hosted business telephony system for nine years, over seven of which have involved increasingly extensive use of Erlang. In past positions he has worked on biomedical robots, a single sign-on system, and several console games. He'll tell you about some of the games sober but others will require significant plying with alcohol to extract the names of. Bernard lives in Canberra with his wife, daughter, dog, and collection of single malt whiskies.