Redis as a Shared Data Store Between Rails Apps

In my previous post, we laid out a few scenarios in which two (or more!) separate Rails applications need to access the same data. Normally, shared data + lots of data === lots of expensive and slow database queries. One solution to this problem is to create a very special database that… »

Managing Multiple Databases in a Single Rails Application

What? Why? It may sound crazy at first, since most of the Rails applications we tend to work with connect to just one database. But, it actually isn't that unusual to have a single app communicate with more than one database. Consider the following use cases: source You have a… »

Executable Elixir: Working with Escripts

In my previous post, we built an Elixir OTP application that implemented a supervisor tree to clone down repositories and check them for code quality with the help of Credo. Now, we'll build a command line interface for our application and make it executable with the help of Elixir's escripts.… »

Elixir Linter: Building an OTP Elixir Code Quality Engine with Credo

While learning Elixir, I've found that it's often-times similar feel to Ruby can be both a blessing and a curse. One the one hand, its semantic and eloquent style makes it feel familiar and manageable. On the other hand, being a part of the well-established Ruby community has spoiled me… »

Elixir Tricks: Building a Recursive List#delete_all Function

Elixir's List module provides us with a number of handy functions for operating on lists, including a delete function that works like this: List.delete([1, 2, 3], 1) => [2, 3] But what if we want to remove all occurrences of a particular element from our list? The List… »