Digests » 168

this week's favorite

Building an Elixir Stream

Building an Elixir Stream is the third blog of our #ElixirOverload Takeover. You can also read the other Elixir-based content in this series including Receiving Messages in Elixir by Oleg Tarasenko, and To Pipe or Not To Pipe by Joe Yiasemides.

To Pipe or Not to Pipe

There is a time and place for one of Elixir’s most loved pieces of notation: the pipe. It is not always best. There are cases where it can really hinder readability while there are other cases where it can very much aid it. What do these look like?

Distributed Agreement on Random Order

If we succeed in this task, we will have succeeded in building what easily qualifies as one of the world most wasteful way to random shuffle. We now have a stupid task to do, and a perfect architecture to do it. We just miss the perfect language for the task…

How Discord Handles Two and Half Million Concurrent Voice Users using WebRTC

From the very start, we made very conscious engineering and product decisions to keep Discord well suited for voice chat while playing your favorite game with your friends. These decisions enabled us to massively scale our operation with a small team and limited resources.

How / Why I Solved Server Side Rendering with Elixir

Server side rendering is extremely important if you want your content indexed by google. Unfortunately bots still don't render javascript very well, which means we have to take matters into our own hands. Initially we explored doing server side rendering by mounting the react app into an express app, but it turn our simple webpack config into a mess.