Sneaking Erlang in Through the Back Door
summary
Company adopts Erlang gradually starting 2007 to handle 10,000 phones per server, replacing brittle C++ hotspots with services that actually work in production: a custom TFTP server to handle NAT and dynamic configs, the Phlegm soft-phone load tester that spawns thousands of clients, a yarn code generator to emit C/Java/SQL bindings, Chicago Boss web UI and Amnesia-backed DB caching. Codebase grows to 171,000 lines of Erlang vs ~385,000 C++, Erlang modules run core features (parking, DB sync, call recording) reliably in production.
AI-written summary · about
chapters (28)
- 0:00Intro
- 1:22M5 Networks
- 2:09Business Model
- 2:48Technical Overview
- 4:43concurrency
- 7:10erlang
- 8:28TFTP
- 10:07Phone Logic Emulator
- 11:33Load Tester
- 12:05New York
- 12:49naysayers
- 13:02no inheritance
- 13:20no global data
- 13:45law of leaky abstraction
- 14:34comparing apples to oranges
- 15:25erlang syntax
- 15:42we overcame them
- 16:05Legacy code
- 19:55structs
- 20:37compiler pads
- 21:10yarn code generator
- 22:20java external program
- 24:15other things we discovered
- 27:34where we are now
- 29:10new features
- 31:40summary
- 33:30estimates
- 35:37other stuff
related talks
35mDiving into Erlang is a one-way ticket
42mConcurrency Oriented Software
51mThe Erlang VM or How I Started Loving Parallel Progamming
38mLanguage Reliability Illustrated by Elixir and Erlang
43mConcurrency Oriented Programming in a Modern World
44mIdioms for Building Fault-tolerant Applications with Elixir
32mModern Erlang Teaching from Code Refactoring to Actor System Verification
52mConcurrency Oriented Programming in a Modern World
