Digests » 154

this week's favorite

Introducing Sage — a Sagas pattern implementation in Elixir

Distributed transactions are hard and expensive, if you wonder how to pragmatically handle them in a mid-size project— this article is for you. We will discuss how can we use Sagas pattern to run a distributed transaction from Elixir on examples that leverage Sage package. As a bonus, you will see how to use Sagas to organize your domain contexts.

How to Improve on Naming Contexts in Domain-Driven Design

I've been using Elixir's Phoenix framework for a few years but most of my projects were on the older MVC style. Phoenix 1.3 introduced the concept of contexts (commonly known as bounded contexts). This changed the way you architect your applications.

Be Careful Using With in Tests

Last week I struck a chord in the Elixir community when I tweeted about a trap I fell into while writing a seemingly simple test using Elixir’s with special form. Based on the reaction to that tweet, I thought it’d be a good idea to explore where I went wrong and how I could have prevented it.

Spreading Through the Bitcoin Network

Previously, we beefed up our Elixir-based Bitcoin-node-in-progress to use the Connection behavior to better manage our connection to our peer node. Now that we can robustly connect to a single peer node, let’s broaden our horizons and connect to multiple peers!

Blockchain in Elixir with Kamil Lelonek

In this episode of Elixir Mix, the panel talks to Kamil Lelonek about Blockchain in Elixir. Kamil is a software engineer from Poland who does full stack development with Elixir and JavaScript. He is also an educated dietician and is interested in topics such as biohacking, Bitcoin, and Blockchain. They talk about how he got into Elixir, how he decided to start implementing Blockchain in Elixir, and Bitcoin.