Credo v1.5.0 released

I released v1.5.0 of Credo, the static code analysis tool emphasizing code consistency and teaching.

This release introduces mix credo diff as well as mix credo --watch.

For details, please refer to the CHANGELOG.

Credo

Fine-grained Permission/Policy Checker Middleware for Absinthe

This library allows you to define your permission policies declaratively by leveraging Absinthe’s meta field.

Here is GitHub repo: https://github.com/b-erdem/absinthe_permission

Admin Pages with Torch

Made a new episode on using Torch to create admin pages.

https://elixircasts.io/admin-pages-with-torch

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.

Elixir Wizards Monster Mash live stream this Friday 10/30 at 11AM EDT

SmartLogic’s Elixir Wizards are hosting a Halloween themed Elixir live stream this Friday at 11AM EDT; we’ll have special guests, costumes, and more. Come hang with us: https://www.twitch.tv/smartlogictv

ThinkingElixir 019: Elixir and Art with Milada Majáková

In episode 19 of Thinking Elixir, we talk with Milada Majáková about combining Elixir and art. Milada came new to Elixir from Architecture and Graphic Design. We reject the idea that people are either logical or artistic but not both. She shares her journey, what it was like learning Elixir as a first programming language, creating generative art using Elixir and LiveView, and much more!

Podcast Episode

Elixir Recursion Basics by Eric Oestrich

The latest Elixir blog post is out! Check it out here: https://blog.smartlogic.io/elixir-recursion-basics/

The BEAM marches forward

An informative rant about the BEAM and the future of Erlang and Elixir. Or hopefully informative. That’s the idea at least.

https://underjord.io/the-beam-marches-forward.html

My First Elixir Library

RefData is a small library that allows you to add reference data to Phoenix projects without needing a database table. I wrote a Blog Post about it

Event Sourcing and CQRS library Incident version 0.5.0 released

The version 0.5.0 allows now multi-cycles for Event -> Command -> Event, increments documentation and adds more features in the Bank example app, including integration tests. Check it out: https://hex.pm/packages/incident

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.

HTTP bin utility released at utils.zest.dev

Built with Phoenix and Phoenix LiveView, a new utility was published to https://utils.zest.dev/sink that will echo any requests it receives. This is useful for testing webhooks. This utility joins a regex tester.

Mutual TLS in Elixir Part 1: HTTPoison

How to setup Mutual TLS in Elixir with HTTPoison to secure your app.

https://michaelviveros.medium.com/mutual-tls-in-elixir-part-1-httpoison-b8a727669d88

How to build a self-healing system using supervision tree in Elixir

An intro into supervision trees in Elixir and how they can help you build fault-tolerant systems. Hope you’ll find some value in it.

Check it out here: https://kodius.com/blog/elixir-supervision-tree

Secure Azure blobs pre-signing in Elixir

Azure is not yet as popular cloud provider, so the community attention and support is a bit scarce. I wrote how to take advantage of shared access signature (SAS) to implement the typical use case of pre-signing blobs from the Azure object storage.

ToxiproxyEx: Resiliency testing tool for Elixir

Toxiproxy is a proxy to simulate network and system conditions. The Elixir API aims to make it simple to write tests that ensure your application behaves appropriately under harsh conditions.

Check it out here: https://github.com/Jcambass/toxiproxy_ex

Supervision trees, an example in Elixir

So any time recently that I’ve gone looking for a good overview of supervision trees in Elixir I haven’t found what I want. So I tried to build an example and write a bit about it. Hope it helps people.

https://underjord.io/elixir-supervision-trees-an-example.html

ThinkingElixir 018: TDD and Phoenix with German Velasco

In episode 18 of Thinking Elixir, we talk with German Velasco about his free book Test-Driven Development with Phoenix. He shares his experiences of learning TDD at ThoughtBot, his writing process, tips and more. On TDD, we talk about the benefits we see, the process of “Red Green Refactor”, tools and even when we don’t do it. Some great insights!

Podcast Episode

Instrumenting your Phoenix application using telemetry

Gain insight into events and performance measurements from your Phoenix application with a simple but scalable integration of telemetry.

https://thoughtbot.com/blog/instrumenting-your-phoenix-application-using-telemetry

MachineryDisplay: Document your Machinery state machines

Turns Machinery state machines into easy-to-digest graphics from an easy-to-call mix task. Check it out: https://github.com/Ianleeclark/machinery_display

Elixir Wizards S4E22 Season Four Wrap: Whose Design Is It Anyway? with Swadia, Windholtz, Rezentes, and Keathley

Latest episode of Elixir Wizards is out today! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s4e22-s4wrap-whose-design-is-it-anyway/

How we split Plug.SSL to control SSL redirection

Recently I set out to configure a service of ours to run behind a reverse proxy with TLS termination.

With Phoenix being the great framework it is, I assumed this would be a breeze. But it turned out that reality had different plans for me.

In this post I’ll tell you a story on all the different bits of documentation I rummaged through, the things I learned from reading the source code of Plug.SSL, the solution I arrived at, and the proposal I submitted to plug.

https://dev.betterdoc.org/elixir/phoenix/plug/ssl/2020/09/25/how-we-split-plug-ssl-to-control-ssl-redirection.html