3 ms·
I’ve played with the API a little bit... it’s a brilliant little web socket protocol. Whoever designed it was not pressured to get an MVP product out as fast as
by dcow 8y ago
I’ve played with the API a little bit... it’s a brilliant little web socket protocol. Whoever designed it was not pressured to get an MVP product out as fast as humanly possible, or has insane experience with real-time distributed protocols, or both. Discord works through arbitrary NATs and your connections persist across client updates and even device reboots. Sometimes this yields weird behavior but I find it technically reassuring more than anything. I’m pretty sure they use Erlang (Elixir) which is infamous as the language that Facebook couldn’t wrangle. I’d love to read more about their stack.
- steveklabnik 8y agoThey do use a lot of Elixir; they’ve written about it in the past.
- dcow 8y agoThat’s what I’ve read too: https://blog.discordapp.com/scaling-elixir-f9b8e1e7c29b https://blog.discordapp.com/scaling-elixir-f9b8e1e7c29b
- sergiotapia 8y agoDo you have more info on how Facebook tried to use Elixir but couldn't?
- dcow 8y agoI heard about it second hand from an engineering manager who knew some people there. Would love more info too. Context was an argument about introducing Kotlin on an Android team which, well, is no longer arguable (= Edit: I found this: https://elixirforum.com/t/why-did-facebook-leave-erlang/2231 https://elixirforum.com/t/why-did-facebook-leave-erlang/2231, and this: https://m.facebook.com/notes/facebook-engineering/chat-stability-and-scalability/51412338919/ https://m.facebook.com/notes/facebook-engineering/chat-stabi....