Articles

Using Protocols to decouple implementation details

27 days ago

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

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

Working with Tasks

26 Jul 18

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

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

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

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

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

How to implement a Queue in Elixir

Composing Elixir Plugs in a Phoenix application

23 Mar 18

A practical example demonstrating how to use Plugs in Elixir.

Surviving technical debt in the real world

21 Dec 17

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

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

First Impressions of Elixir

6 Jan 17

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

No excuses, write unit tests

29 Nov 16

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 © 2018