Every Thursday: No frills, no click-through, no spam.

Here's what the latest issue looks like:

Logo ElixirWeekly by @elixirstatus Issue #134
This week in Elixir

GitHub Actions for Elixir
A blog post on how to write GitHub Actions for Elixir. This allows you to do things like run tests, check code formatting, and manage releases for Elixir projects using GitHub Actions.

Hex package registry vulnerability
Bram blogged about the package signing vulnerability that was fixed in recent Hex/Rebar3 releases.

OTP in Elixir: Learn GenServer by Building Your Own URL Shortener
In this article, Ilija explores the basics of BEAM processes, how to build a stateful process and how to migrate it to use a GenServer behaviour by building a very simple URL shortener.

Demo Chat SPA built entirely in Elixir with Whistle
Single page chat application with routing and server side rendering built entirely in Elixir using Whistle, a potential alternative to Phoenix's LiveView.

Implementing connection draining in Phoenix
After lots of investigation, Derek finally figured out how to do connection draining in Phoenix (or any library using Ranch) in a nice way. This blog post explains how it works!

TIL: Use tuple-wrapping for more elegant 'with' expressions
This is a very useful technique around the `with` macro!

Even more from around the Elixir community

TIL: Pattern Matching with `Kernel.match` Misc

ElixirMix Podcast 035 - Adopting Elixir with Tiago Duarte Podcast

Parsing Text with Context Free Grammars Elixir Video

Deploying Elixir with Releases - an Email Course Video

Starting a new Project in Erlang Video

Storing Data in Erlang Term Storage - ETS Video

Limits of Property Based Testing Video

Empex 2019 - Los Angeles Elixir Conference 2/2/19 Conference

Sending Millions of HTTP Requests Using GenStage Blog post

TestIex — Easier Test Driven Development in Elixir. Blog post

How We Learned Elixir—Our Story and Tutorial for Beginners Blog post

Distributed Phoenix Chat with PubSub PG2 Adapter Blog post

Ethereum Contract Application Binary Interface (ABI) in Elixir Blog post

Developing a Slack Bot in Elixir Phoenix Blog post

Hey Siri, Deploy My Elixir App Blog post

My Advent of Code 2018 Recap Blog post

Two Years of Elixir at Podium: Thoughts Blog post

Managing External Commands in Elixir with Ports Blog post

How to Create a Elixir Release and use Environment Variables Configured at Runtime Blog post

ExVenture Updates for January 2019 Blog post

Authex hits v1.0! Project update

ecto_autoslug_field version 1.0.0 release Project update

Free Email Course on building Releases with Elixir Project update

That's it for this round, have a great day!
@rrrene from ElixirWeekly

If you like this newsletter, please tell the world!

You can view this issue in your web browser.

You can subscribe below:

Questions & Answers

Can I submit things I made to be included in the next issue?

Yes! Simply post them to ElixirStatus and you can be sure that they land on my radar.

Is my email address safe with you?

Yes. I'd like to consider myself a trustworthy individual, but then who doesn't?

I am, however, an active member of the open-source Elixir community and the maintainer of Credo and ElixirStatus. I will NOT ruin my reputation by selling your data to a third party.

Why do you require me to confirm my email address?

I just believe that requiring double opt-in to subscribe to any email-based system is a win for both parties: You are safe from unintentionally subscribing and I can be confident that you actually own the email address and want to receive the newsletter I send you :)


Feedback? Questions? Anything else?

Please contact René Föhring (email or tweet @rrrene for a quick conversation).