AWS S3 in Elixir with ExAws

AWS S3 in Elixir with ExAws

This article/video is all around AWS S3 and Elixir. I show how to setup an AWS account and permissions, configure ExAws, put, list, get and delete S3 objects.

Then, we see how to upload a large file with multipart uploads, how to generate presigned urls and process large files on the fly.

Phoenixcasts: Elixir and Phoenix screencasts

Phoenixcasts is a platform which aims to help newcomers and experienced developers alike learn web development using Elixir and Phoenix through focused and concise screencasts on a wide range of topics.

Launching in 2020, we’re currently having a prelaunch sale on for season 1! Check it out at

Iteration, Recursion, and Tail-call Optimization in Elixir

Dive into recursion in Elixir to find the fastest looping method. (Spoiler: it depends). 🎢

Shameless plug: Check out @elixirstatus' other community project:

Credo, a new static code analysis tool that acts as a code linter, but also focusses on teaching coding practices and code consistency.

ElixirMix Podcast 080: The Big Elixir Favorites

In this episode of ElixirMix, we talk about The Big Elixir conference. In addition we discuss medical messaging and HL7, leex and yecc for parsing, custom application scripting, Eric’s ponchbrella project design, kuberneetus, and much more!

Podcast Episode

Advent of Code Elixir Starter template

This is an Elixir starter template for the Advent of Code challenges.

It includes tests for each day, a mix task to run each part, and the ability to benchmark your solutions using Benchee.

How to generate a Pid-File for an Elixir app

Process IDs are very important in Unix. It’s standard for services to create a file called a “Pid-File” that has the ID of its currently running process so that other applications can discover the PID of the service and manage it. Management tools such as Systemd make heavy use of Pid-Files.

Neither plain mix applications nor Phoenix apps generate Pid-Files by default, but there’s a great drop-in solution in the form of a library called pid_file.

I made a quick tutorial and screencast that covers setting it up.

An Ueberauth Oauth 2 Walkthrough

Let’s set up 3rd party Oauth so our users can log in with Google, Facebook, Twitter, Slack, Github or other services!

Ueberauth is a library that makes it easy and here’s a full walk-through of a Phoenix app using it to implement Google login.

All code is shown and explained but due to the number of moving parts, it’s a walk-through, not a screencast.

IntelliJ Elixir v11.4.0


  • Previously, the arity of a function or macro could only disagree with the definition and resolve if

    1. The arity of the call was in the arity range of the defintion and the ResolveResult was marked as a validResult.
    2. The code is marked as incomplete (because the IDE detects typing, etc) and the arity mismatches and the ResolveResult is marked as an invalid result.

    By marking all arity mismatches, regardless of incompleteness of the code as an invalid result, Go To Definition and Show Parameters works when the the arity is incorrect. This males Show Parameters work while typing out a call without the correct number of commas and allows jumping to the definition while typing out the call too.

Installation Instructions

Understanding LiveView: build a Gallery app

Understanding LiveView: build a Gallery app

This is the third part of a small series on Phoenix LiveView.

I show at first how to build a simple first version of a gallery app, using a fixed list of images.

Then I refactor the code, decoupling the logic from the liveview part - this makes easier to add a thumbnails functionality.

In the last part I then show how to use :timer to send messages at a regular interval, implementing an automatic slideshow.

ElixirWeekly: The Elixir Community Newsletter, covering community news you easily miss, shared on ElixirStatus and the web, in one email every Thursday.

Elixir Wizards S3E2 - José Valim on Performance and More

Our guest for ElixirWizards S3E2 was José Valim, creator of Elixir! We talked with him about performance, problem-solving, time management, and more.

ElixirMix Podcast 079: Oban with Parker Selbert

In this episode of ElixirMix, we talk with Parker Selbert about his background job processing library Oban. We cover why Oban uses Postgres over other options, being used at scale, his recipe articles, a LiveView UI and much more!

Podcast Episode

Running in Production Podcast 003: Using Phoenix to build an Elixir / Phoenix learning platform called Alchemist Camp

In this episode of Running in Production, Mark Wilbur talks about how he uses Phoenix and Elixir to build and deploy his Elixir / Phoenix learning platform called Alchemist Camp.

Listen to the Show

Commanded and EventStore 1.0

The v1.0 release of the open source Commanded and EventStore libraries is here. Allowing you to build event-driven Elixir applications following the Command Query Responsibility Segregation and Event Sourcing pattern (CQRS/ES).

KomachiHeartbeat v0.5.0

I’ve released KomachiHeartbeat v0.5.0! KomachiHeartbeat provides an easy way to health check your Elixir system. In v0.5.0 I add a feature BeamVital to monitor major Erlang VM metrics📈.

VS Code Broken for Elixir?

You tried the ElixirLS extension for VS Code and gave up? This guide helps you diagnose and fix issues getting you back on the productive Elixir development path!


Earmak's AST feature helps modifying markdown cleanly

I’ve created a library earmark_hashed_link which adds link to hashed text in a markdown. This library is smarter than just replacing text. It doesn’t add link to hashed text in comment/blockquote/code etc.

I hope this is also a nice example that earmak’s new (experimental) AST feature.

PgMoney - the library I wish I had not - released

I migrate my customer’s ERP data using Elixir. The database involved uses PostgreSQL’s money data type which is not natively supported by Postgrex.

This is a library which should not exist, but the data type is out there and needs some interfacing. It emits some basic telemetry events to be able to keep track of rouding losses like laid out in Mathias Verraes’ superb article Emergent Contexts through Refinement in DDD - The First 15 Years.

This is my first contribution to the elixir community, after getting hooked using Elixir 13 weeks ago and I strongly welcome feedback.

You find the sources on GitHub and documentation on

It was a joy writing this library.


Call for Talks – FOSDEM 2020 – BEAM Devroom

the Call for Talks for the BEAM FOSDEM 2020 Devroom ends in just 2 days! submit your talk ASAP! 👨‍🔬💧

#myelixirstatus #fosdem #elixir #beam #erlang

@elixirlang @erlang_org @TheErlef

Elixir Wizards S3E1: Dr Jim Freeze on Hiring, Training, and Functional Programming – Working with Elixir

Elixir Wizards (formerly Smart Software) season three is here! Our first episode is a conversation with the founder of ElixirConf, Dr. Jim Freeze.

Phoenix LiveView Tutorial, Part 3: PubSub Updates, Pow Authentication

After bootstrapping the Messenger app, Michal’s article explains how to use Phoenix PubSub & Pow for live updates and authentication.