Elixir and Phoenix basic passwordless and databaseless authentication (pt.1)

I just started a new tutorial about building up a basic passwordless and databaseless auth system to authenticate the connection between a small Elm SPA admin panel and a Phoenix socket. Here is part 1:


Final result

Happy coding!

Redis Super: Full featured Redis adapter for Elixir based on Redix

Redis Super: Full featured Redis adapter for Elixir based on Redix https://hex.pm/packages/redis_z

  • No downgrade from Redix: pipeline concurrency & auto reconnection.
  • Parallel connection pooling.
  • Sharding support.
  • Auto reconnect at Amazon ElastiCache Multi-AZ failover.

[Podcast] Elixir and Property-based testing with Vitaly Tatarintsev

Elixir Mix Podcast Episode 6: Elixir and Property-based testing with Vitaly Tatarintsev

Listen to the podcast here

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.

Be Careful Using With in Tests

PSA: Be careful when using Elixir’s “with” special form in your tests. Read the full article to find out why.

harnais_error v0.1.0

First release of harnais_error the Exception for the Harnais Package Family.

Its quite a versatile exception including supporting dynamic customisation of message/1.

It also supports export.

Ethereum's node discovery in Elixir

Ethereum’s node discovery in Elixir


SVG QR code generator - EQrCode

SVG QR code generator is written in Elixir with no other dependencies


Understanding Recursion in 2 minutes!

Small video demonstrating how to use recursion in elixir!


plymio_codi v0.2.0

New release of plymio_codi today incorporating support for plymio_vekil I published yesterday.

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.

From web application to distributed system —Prologue

In this post I would share with you some experiences about how to develop a web application that can “simply” scale to a distributed system https://medium.com/@GPad/from-web-application-to-distributed-system-prologue-ee61ce2e992e

plymio_vekil v0.1.0

Just published the first cut of plymio_vekil.

A vekil is a collection (kv store) that associates proxies with forom.

Vekils implement the vekil protocol and forom implement their protocol.

The package include a couples of concrete vekils and four forom to illustrate. Lots of examples as always.

IntelliJ Elixir v7.5.0

  • Complete #{ with }.
  • Show whether variable/module attribute usage is read or write.
  • Find Usage for call definitions (functions and macros).
  • Improved element descriptions, so you can tell alias vs defmodule vs decompiled defmodule with Go To Declaration lookup.
  • Full Elixir 1.6 grammar change support.
  • erl_abstract_code format Dbgi chunks are decompiled and translated to Elixir from the Erlang Abstract Code.
  • Allow zero or more lines after struct name before {.
  • Lazily create editor panels for BEAM Chunks Code, ExDc, and Dbgi tabs.
  • Allow true: and false: keys in maps/keyword lists.

Installation Instructions

TMIB-17: This May, I added support for gating on the new GitHub Checks API


GenRMQ: rabbitmq consumers / publishers made easy


Introducing Sage — a Sagas pattern implementation in Elixir

Distributed transactions are hard and expensive, if you wonder how to pragmatically handle them in a mid-size project— this article is for you. We will discuss how can we use Sagas pattern to run a distributed transaction from Elixir on examples that leverage Sage package. As a bonus, you will see how to use Sagas to organize your domain contexts.


Implementing the Enumerable Protocol

In this episode we implement just three functions—reduce, count and member. In return, we get the dozens of utility functions provided by Enum for our btree struct, including map, random, shuffle, uniq and more.


The Basics of Routing in Phoenix

In episode #50 we cover the basics of defining routes in Phoenix.


Seeding a Bitcoin wallet in Elixir

How to build an HD wallet with extended keys in Elixir?


ExVenture Updates for May 2018

ExVenture is a text-based multiplayer game server.

ExVenture got a lot of cool new features in the last month, distributed mode is slightly more stable, there is a web chat, and a Mudlet package!


Ruby vs Elixir vs Go: A Concurrency Comparision