[ElixirWeekly] Issue #86 - What Efficient Pattern Matching Looks like at the Bytecode Level

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

Here's what the latest issue looks like:

This week in Elixir

HTTP is Message Passing or Why I Stopped Using Plug
Peter thinks an idiomatic Elixir web framework should be based on message passing. This post explains how to do that and why he built an alternative to the Cowboy/Plug/Phoenix web stack.

Phoenix Performance Metrics Within the Browser Developer Tools
Ole teaches us how to expose Server-Timing information to Chrome's DevTools. This gives us server side performance metrics within the current request.

What Efficient Pattern Matching Looks like at the Bytecode Level
Luke disassembles his code to confirm that his pattern matches are efficient by looking for `select_val`.

Feature Flags for Elixir
Tommaso has released FunWithFlags v1.0.0, a feature toggle library for Elixir with support for global state, actors, groups and percentage of time or actors (great for AB testing).

The Curious Case of the Query that Gets Slower the Fewer Elements It Affects
Tobias wrote a blog post that shows off a real life performance bug, how he tried to fix it, failed, and then fixed it for real. It shows off benchee as a benchmarking tool in a concrete case.

Database Transactions or How I Learned to Stop Worrying and Love Ecto.Multi
Lena set up a simple Elixir toy app to demonstrate how to use Ecto.Multi and Ecto.Repo.transaction to persist only data that is valid, or return a helpful error otherwise.

Even more from around the Elixir community

Win a Copy of “Phoenix for Rails Developers” Book Misc

Free-For-Life Alert Management for Elixir Projects - Ropig Misc

Using A Leading Underscore for Private Functions - Today I Learned Misc

Pretty URLs with Phoenix Video

Consistent, Distributed Elixir Talk slides

ExVenture Updates for February 2018 Blog post

Understanding Phoenix.Endpoint Blog post

5 Tips for GDPR Compliancy & Protecting User Data in Elixir/Phoenix Blog post

Phoenix: Authentication and Authorization Using Plugs | What did I Learn Blog post

Vaguely Functional: Dave Thomas' Online Elixir Course Blog post

Pattern Matching on Dynamic Struct Types Blog post

Ueberauth and Guardian Setup for a Phoenix Rest API Blog post

Looking Back on a Side Project in Elm, Elixir, and Phoenix Blog post

How to Count Specific Items in a Collection with Elixir Blog post

How to Configure CORS in Your Phoenix Application Blog post

EventBus Metrics UI Project update

Authex - v0.2.0 released Project update

format_parser.ex v1.0.0 released Project update

sun_times.ex v0.1.2 released Project update

Parse Html Documents Correctly and Fast with Myhtmlex Project update

AsyncWith v0.3.0 released: the asynchronous version of Elixir's "with" Project update

First release of the Elixir Botfuel SDK Project update

How to write a C-Node in Elixir? Project update

Weave 3.1.2 Released 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).