Clustering your Elixir application on AWS inside an Auto Scaling Group

This post describes how to cluster your Elixir application in an Auto Scaling Group with changing IPs.

https://blog.pryin.io/clustering-your-elixir-app-in-aws-auto-scaling-group/

An alternative approach for sensitive file uploads

Another post, this time about an alternative approach for sensitive file uploads: https://medium.com/@andrew_dryga/alternative-approach-for-sensitive-file-uploads-53f8f62b5d72

Event Bus Implementations with Elixir

Event driven architecture pattern is a distributed asynchronous architecture pattern to create highly scalable reactive applications. The pattern suits for on every level application stack from small to complex ones. The main idea is delivering and processing events asynchronously. https://medium.com/@mustafaturan/event-bus-implementation-s-d2854a9fafd5

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.

Event Bus Library

I implemented a simple ‘event bus’ with Elixir: https://github.com/mustafaturan/event_bus @mustafaturan

Videos from #EFLBA2017 are online now

All videos from #EFLBA2017 are already on @YouTube, watch them!

Open your text editor with the migration file when you run mix ecto.gen.migration

https://goodcode.in/ecto/1/open-your-text-editor-with-the-migration-file-when-you-run-mix-ecto-gen-migration

Tarearbol :: handy task manager to retry/ensure tasks execution

https://github.com/am-kantox/tarearbol

Tarearbol is a lightweight application that transparently manages Task.Supervisor under the hood. It allows to ensure task completion, with a configurable number of attempts, return values to be treated as “correct” (read: those stopping retry loop,) delay between attempts and callbacks on retries, fail and success.

Visualise Elixir apps performance with charts, flame graphs and plotting

http://iacobson.net/performance-visualization-in-elixir/

The previous article was about tools to measure and improve the performance of an Elixir application. Now we look for ways to visually represent the benchmarks and the performance improvements.

How to use Elixir with Docker?

If you wonder whether you can run your Elixir application in a Docker container, I came up with a ready solution for that:

https://blog.lelonek.me/how-to-use-elixir-with-docker-836c9b4a25b0

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

Alchemist.vim 2.8.0

New version of Alchemist.vim includes a security patch and it’s important that you update the plugin ASAP.

https://github.com/slashmili/alchemist.vim/tree/2.8.0

ElixirMock: Inspectable mocks based on real elixir modules.

ElixirMock is new library for creating inspectable mocks based on real elixir modules for testing.

ElixirMock’s mocks have the same api as the modules they are created from and are:

  • Easy to create from already-defined modules
  • Do not modify or replace the modules they are based on
  • Are independent of each other
  • Allow you to inspect calls made to them, and much more!

See the Getting started guide for a gentle introduction. API docs available here

Guide to setting up HTTP/2.0 with Ace server

Ace 0.10.0 introduces support for HTTP/2 with the following features.

  • Stream isolation; one process per stream
  • Bidirectional streaming; stream data too and from clients
  • TLS(SSL) support via ALPN; data encrypted in transit
  • Raxx interface; simplicitfy for request/response interactions

https://hexdocs.pm/ace/getting_started.html

Sobelow, the Phoenix vulnerability scanner - v0.4.1

Changes include:

  • Save settings in a config file
  • JSON output formatting
  • Fuzzy finding for secrets
  • Bug fixes and improvements

Install the latest update with mix archive.install hex sobelow

https://github.com/nccgroup/sobelow

Recurring Tasks in Elixir

Carrying out recurring tasks is a common undertaking for any web application. Follow along with this article to build a recurring task in pure Elixir. 🍉

Creating slugs for Ecto schemas

This article covers a process of creating slugs for Ecto models with different use cases. https://medium.com/wemake-services/creating-slugs-for-ecto-schemas-7349513410f0

Keeping Elixir Packages Updated

Here is a short article on how to use some simple mix commands to help keep your Elixir packages updated.

http://tosbourn.com/keeping-elixir-packages-updated/

It contains a handy script you can use to make keeping Umbrella projects updated a breeze.

Phoenix Inside Out Series - Complete version now available

Last month I released a beta version of the series. On July 18th, I have launched the full release of this series.

It contains 3 books and 1 booklet.

  • Mastering Phoenix Framework
  • Garuda - Rebuild Phoenix
  • Ecto Cookbook
  • Blueprint for Phoenix Context

Read more about the book and buy it at: https://shankardevy.com/phoenix-book/

5 Benefits of Immutable Objects Worth Considering for Your Next Project

https://buttercms.com/blog/5-things-you-should-know-about-immutable-objects

In programming, an immutable object is an object whose state cannot be modified after it is created. While at first this may not seem very useful, we explain why you should take a second look.

Drab 0.5.0 released, introducing living assigns in Phoenix templates

Drab is not jQuery dependent anymore, and allows to update the assign value by pushing it to the browser(s) from the server, live, without re-rendering the page.

https://tg.pl/drab

Client:

<a href="https://<%= @url%>" @style.backgroundColor=<%= @color%>>
  <%= @url %>
</a>

Immediate change color and url on the server side:

iex> poke socket, url: "tg.pl/drab", color: "red"

Benchmarking and profiling Elixir apps

This article explores ways and tools available for benchmarking and profiling Elixir apps.

Measure, identify and fix potential bottlenecks.

http://iacobson.net/the-elixir-bottleneck/