Inky library released, version 1.0.0

Me and nyaray finally finished up our work on the Inky eInk display library to a level where we are happy to release it. So Inky 1.0.0 is now out on Hex! Docs are on there too.

Read more about it at: http://underjord.io/inky-library-release.html

A new article on Erlang Battleground

Why [1,2,3] -- [1,2] -- [3] == [3]? The answer is… well… a bit anticlimatic to be honest =/

Distributing Phoenix -- Part 2

Learn You a 𝛿-CRDT for Great Good

A follow on from setting up a distributed Phoenix application in Part 1, in this article we cover creating the business logic, and ensuring the data is distributed across the cluster using Horde and DeltaCrdt.

https://metasyntactic.info/distributing-phoenix-part-2/

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.

Phoenix LiveView live_link

Phoenix LiveView live_link

A quick article (and screencast) still related to the LiveView pushState. The previous one was mainly focused on live_redirect.

We now see how to refactor the code with live_link getting simpler code and less messages exchanged between LiveView and our browser.

Events and various kinds of coupling

Events are getting more and more popular in the Elixir community. Most people believe that events reduce coupling. It may be true, but this statement is really inaccurate. Check out this short piece about different kinds of coupling and their relation to events.

https://medium.com/@mkaszubowski/events-and-different-kinds-of-coupling-5ce485e1a407

Refactoring Phoenix controllers

I wrote a blog post explaining several techniques I often use to refactor Phoenix controller.

Check out the article on our blog: https://www.amberbit.com/blog/2019/6/29/refactoring-phoenix-controllers/

Scenic - Getting started from scratch

I created this guide on how to get started with the Scenic UI framework. More specifically it also covers adding Scenic to an existing project in some detail, which might interest some people.

http://underjord.io/scenic-getting-started.html

ElixirOutlaws - Infinity is just a concept

This week the outlaws discuss the elixir forum’s moderation, forever projects, and invisible work.

https://elixiroutlaws.com/45

Fixing generated Phoenix tests (Trello clone P1)

In this episode we’ll continue exploring testing (which we started last time) and start building a Trello clone with Phoenix 1.4.

In particular, we’re going to look at what tests get generated by mix phx.gen.html, and how they break down in the case of Ecto relations. We’ll be generating multiple related schemas and then going back and fixing the tests.

https://www.alchemist.camp/episodes/generated-phoenix-tests

https://www.alchemist.camp/episodes/elixir-tdd-ex_unit

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

Customise a new Phoenix app (Part 2 - Style)

TL;DR try CustomPhx - GitHub in a new Phoenix project to automate Tailwindcss installation and HTML generation.

https://dev.to/mutablestate/customise-a-new-phoenix-app-part-2-style-1dh4

Why am I interested in Elixir?

I made a write-up of all the things that makes my synapses go wild when it comes to Elixir. Because I find the language has a lot of stuff to offer that is not generally available.

http://underjord.io/why-am-i-interested-in-elixir.html

Quick Glance @ Elixir 1.9 Releases Feature

https://medium.com/@blackode/quick-glance-elixir-1-9-releases-feature-b6dfce233e71?postPublishedType=initial

article image This article is all about showing the live demo of Elixir Releases, a brand new mix task mix release.

Real World Phoenix |> User Roles |> The Explicit Way

In the last episode of my ‘Real World Phoenix’ series we implemented user authentication. Now let’s see how we can implement user authorization by implementing different user roles into our system.

https://www.theguild.nl/real-world-phoenix-user-roles-the-explicit-way/

ElixirMix Podcast 057 - The Elixir Community with Adolfo Neto

In this episode of ElixirMix, we talk with Adolfo Neto about Elixir Brasil 2019 and his perspective on the Elixir community. The panel discusses the Elixir code formatter, the steps we run in our CI systems, how to teach functional programming to OOP people and much more!

Podcast Episode

Finding Bugs with Property Based Testing in a Statistics Calculation

In which I embark to find bugs in my statistex library with property based testing expecting to find nothing because of loose conditions and existing tests… only to find 2 bugs.

Finding Bugs with Property Based Testing in a Statistics Calculation

The "How"s, "What"s, and "Why"s of Elixir Telemetry

The “How”s, “What”s, and “Why”s of Elixir Telemetry

It’s commonly quoted that ‘What gets measured gets managed,’ but how do you do that? Elixir’s Telemetry library enables you to stop worrying about how to capture your system’s data and more time thinking about what data to capture.

Phoenix LiveView pushState support - Change the URL without refreshing the page

Phoenix LiveView pushState support - Change the URL without refreshing the page

It’s now possible to try the LiveView pushState support, to change the URL without refreshing the page!

Elixir TDD with ExUnit (interview / toy problem)

This is part one of a new Elixir Testing series.

In this episode we’ll use the built-in library ExUnit to TDD our way through a common interview problem.

https://alchemist.camp/episodes/elixir-tdd-ex_unit

Brine - Configuration loader for Elixir

Brine helps you manage configuration that is consistent with 12 factor and helps you avoid the antipattern of configuration per environment

https://github.com/ironbay/brine

Last 2 Very Early Bird Workshop+Conference tickets for @elixirconfla on sale!

Get them here!