Hugo Baraúna changelog.com/posts

Best of Elixir Radar in 2020

The 11 most popular articles in the Elixir Radar newsletter (out of 323)

As the editor of the Elixir Radar newsletter, I read lots of articles related to Elixir every single week. Along the year I read probably more than 700 articles, so I could curate the best ones and send them to Elixir Radar’s subscribers.

In this article, I share the 11 most popular articles on Elixir Radar in 2020. Those are the ones that had the biggest engagement from 9,500+ Elixir Radar subscribers in each month of 2020, in terms of CTOR (click-to-open rate).


1. Best of January

Six Famous Companies Using Elixir—And Why They Made the Switch

Karolina Kurcwald shares some of the biggest names that use Elixir in production.

An example is Bleacher Report, one of the biggest websites focused on sports in the world. Their case it’s already a classic (IMO) in the Elixir community. Even THE book on Adopting Elixir has some of its content based on B/R’s case.

Another one is Discord. They’re like a chat plus ad-hoc audio/video conversations platform. You can imagine how Elixir works like a charm for their technical domain: thousands of clients connecting to a server concurrently.

She lists 8 interesting cases, you can check the rest.

2. Best of February

10 Killer Elixir Tips #10

John Ankanna shares lots of Elixir tips & tricks. I’m sure at least two or three of those will be new to you (at least it was for me).

For example, I didn’t know how to list all the protocol implementations of a given protocol. Now thanks to that article, I do. For example, if you want to know all the implementations of the Enumerable protocol, you can do this: Enumerable.__protocol__(:impls).

Some of those tips you may not need daily, but at least you can show off to your colleagues. 😝

3. Best of March

Elixir, Poolboy, and Little’s Law

Samuel Mullen discusses limiting concurrency with worker pools and picking the right pool size with Little’s Law.

This one blew my mind because it reminded me of my engineering college days. I always thought I could use Little’s Law for that, but I never actually did.

Now, besides just guessing the number of workers in your pool, you can calculate it! Not bad.

4. Best of April

An upcoming authentication solution for Phoenix

José Valim discusses the challenges of implementing authentication solutions for Phoenix and presents recent efforts.

It’s amazing to see how the whole authentication story evolved after that post. The ideas of that article inspired a new library and ultimately turned into a PR that added an authentication generator into Phoenix itself.

5. Best of May

Getting started with Phoenix LiveDashboard

Alex Koutmous talks about what Phoenix LiveDashboard is, what you can gain by using it, and when/how you should use it.

For example, he shows when it’s useful compared to solutions like Promoteheus+Graphana.

Phoenix LiveDashboard it’s not only a great tool for observability, but it’s also a great open-source example of using LiveView. You can study its codebase and learn more about using Liveview.

6. Best of June

I can do all things through Postgres: Lessons for the Elixir programmer

Todd Resudek shares problems that could be solved at the application level with Elixir, but that may have better solutions at the database level with Postgresql.

This one is to remember (and teach) us that relational databases are not only about basic CRUD operations encapsulated by a library. I’m sure you’ll learn something there. For example, I learned that Postgresql offers a Levenshtein distance function! 😱

7. Best of July

5 top-tier companies that use Elixir

Szymon Soppa made a list of 5 well-known companies that are using Elixir, together with a brief description of each use case and links for more info about each one.

This was the second month that a “company cases” kind of article was the most popular one. One interesting company listed there is Spotify.

I believe company cases are important to nurture adoption. And this year, even the official Elixir site started to publish company cases.

8. Best of August

3 ways to schedule tasks in Elixir I have learned in 3 years working with it

Santiago Bacaro explains 3 different ways you can schedule tasks in Elixir: the GenServer way, the “cron job” way, and the job processing way.

One of the things I liked about this post is that besides presenting different solutions for the problem, he also explains the trade-offs of each one. This is important because sometimes what you need is not THE solution, but actually, the information to evaluate the best way for your context.

9. Best of September

A Quick Style Guide Update for Elixir 1.11

Ulisses Almeida updates his style guide based on the compiler checks feature coming with Elixir 1.11.

It’s interesting to notice how the evolvement of the Elixir compiler influences the style one could use for his code. This topic went further with a blog post from Devon C. Estes and a Twitter thread with comments from José Valim.

10. Best of October

The beauty of LiveView

José Valim shares a real-world example that shows how easy LiveView makes it to add interactivity to web applications.

One thing I found interesting about this post is that it made clear what we don’t need to do because LiveView is taking care of that for us. Stuff like:

  • manually establish WebSockets or long-polling connections
  • create a separate endpoint to send requests to
  • define a specific JSON payload between client/server
  • write any front-end glue code
  • setup third-party dependencies for pubsub, such as Redis, nor anything else to run at scale

Liveview was definitely one of the hottest topics in the Elixir community in 2020. And I think we’re still only scratching the surface on how this amazing tool can impact the productivity and possibilities of developing real-time time and rich web UIs.

11. Best of November

Circuit Breaker Pattern in Elixir

Allan MacGregor shows how you can implement the circuit breaker pattern in Elixir, so you can prevent failures from external services to cascade through your system.

This article is interesting for me because of multiple reasons:

  • it’s about how to handle errors while integrating with external services, something we all need to know how to do
  • it’s about implementing a design pattern
  • it leverages OTP to implement the pattern in Elixir

12. Best of December

3 Steps to Designing Better Data Structures

Monica Olinescu wrote an article to help developers to figure out what makes good data structures tick. How she did that? By evaluating three different data structures that could be used to store the state of a Tic Tac Toe board.

One thing I liked about that article was how she showed a way to drive the design of data structures: thinking about the operations that will be performed on that data.


Want more? Here’s the whole dataset behind this post

As I mentioned, this is a list of the most popular articles per month on Elixir Radar in 2020.

If you’re curious about other popular articles on Elixir Radar, here are the best articles per issue, 46 in total. And here is a dataset containing all of the articles featured on Elixir Radar along 2020, 323 in total.

Want to keep improving your Elixir skills in 2021? You can subscribe to the Elixir Radar newsletter and learn something new every week.

And if you want to apply those skills in a new job, Elixir Radar also has a job board with onsite and remote Elixir jobs from companies around the world.

Have fun!


Discussion

Sign in or Join to comment or subscribe

Player art
  0:00 / 0:00