Articles

Lonestar ElixirConf 2019 Highlights

23 days ago · 6 min read

Last weekend was Lonestar ElixirConf 2019. In this article I recap some of my personal highlights and favourite presentations from the conference.

A Comparison of Elixir Supervision Trees and React Component Trees

6 Feb 19 · 3 min read

Elixir Supervision Trees and React Component Trees - both trees, but do the similarities end there? In this article I compare the pair.

Using a GenServer to handle asynchronous and concurrent tasks

1 Feb 19 · 4 min read

Inter-process communication can be tricky to get your head around. This article discusses an example of how it can be used to solve a real problem.

Best practices for integrating with third-party libraries in Elixir

19 Dec 18 · 5 min read

In this article, I will discuss a typical scenario of integrating with a third-party API and detail a potential approach you could use in your Elixir application.

You might not need a GenServer

20 Nov 18 · 3 min read

It can be confusing sometimes, to know when to use a GenServer. There are a couple of modules, including Task and Agent that may fit your purpose better.

Offset and Cursor Pagination explained

30 Oct 18 · 2 min read

Pagination is a common concept in software development. Understanding the difference between offset and cursor pagination is critical to building or working with APIs.

Using Protocols to decouple implementation details

26 Sep 18 · 3 min read

Protocols are a way to implement polymorphism in Elixir. There are many use-cases for it, but I'll go through a typical example of interacting with an external API that needs data in a specific structure.

Add Docker to Elixir/Phoenix projects in one command

23 Aug 18 · 2 min read

A simple way to add basic docker files to your new or existing Docker projects.

Working with Tasks

26 Jul 18 · 2 min read

Working with Tasks means understanding how to send and receive messages in Elixir. To familiarise myself with this concept, I create a simple (naive) Job module.

Understanding concurrency in Elixir

14 Jul 18 · 4 min read

Concurrency is one of the major drawcards for pulling people to the Elixir language. In this article I explain how to use concurrency at it's lowest level - with Processes.

Composing Ecto Queries

6 Jul 18 · 3 min read

Ecto makes composing queries possible through query bindings. Let's take a look at how to compose queries through functions.

Streaming large datasets in Elixir

27 Jun 18 · 3 min read

Streams are a great way to lazily evaluate transformations on collections. Find out how and why you would use a Stream.

Yet another website rebuild

25 Jun 18 · 4 min read

Once again, I decided to rebuild my own website. This time, I decided to write about why.

A Queue is just a Q with 4 silent letters

9 Jun 18 · 4 min read

How to implement a Queue in Elixir

Composing Elixir Plugs in a Phoenix application

23 Mar 18 · 3 min read

A practical example demonstrating how to use Plugs in Elixir.

Surviving technical debt in the real world

21 Dec 17 · 2 min read

I describe my experiences with technical debt, and why it may not always be a good idea to "move quickly".

Elixir Pattern Matching in a nutshell

15 Aug 17 · 2 min read

I describe how to use pattern matching in Elixir, and how it might make you think differently.

First Impressions of Elixir

6 Jan 17 · 5 min read

I share my thoughts and initial experiences with Elixir, a functional programming language.

No excuses, write unit tests

29 Nov 16 · 6 min read

Unit testing can sometimes be a tricky subject no matter what language you’re writing in. In this article, I explain how to get started with testing and stop making excuses for your team.

Copyright JackMarchant © 2019