Looking at ExVenture's Supervision Tree

The other week I watched The Hitchhiker’s Guide to the Unexpected by Fred Hebert and the talk inspired me to write out ExVenture’s (a MUD server) supervision tree to check that everything seems right. This post goes into detail what’s in ExVenture’s supervision tree.


How To Test Asynchronous Text Changes with Hound and Phoenix

Writing asynchronous acceptance tests with Hound for Elixir and Phoenix can be difficult, especially if you are using a JavaScript framework like React, Vue.js, or Angular. Here are some solutions to workaround race conditions. How To Test Asynchronous Text Changes with Hound and Phoenix

Opening Registration and CFP for The Big Elixir conference, taking place on November 8-9 in New Orleans

Join us for The Big Elixir on November 8th and 9th in the heart of The Big Easy as fellow Elixir enthusiasts come together to teach, learn, and explore all things Elixir!

Ticket Registration is open as well as our call for papers for anyone interested in speaking.

Check out our site for all the details: https://www.thebigelixir.com

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.

A Simple Search Form

Adding a simple search form to a Phoenix application with Ecto.


ueberauth_vk 0.3.0 version release

We have released a new version of ueberauth_vk. https://github.com/sobolevn/ueberauth_vk

This release is mainly a maintenance one. We have upgraded minimal elixir and dependencies versions.

Some minor bugs are also fixed.

Feedback about internal restructuring of Elixir JSON from 1.0 to 1.1

I would love some feedback on the overall restructuring I did from JSON 1.0 to 1.1!

https://hexdocs.pm/json/1.0.3/api-reference.html#content vs https://hexdocs.pm/json/1.1.0/api-reference.html#content

Thanks! Carlos

Release - ExSMS

Exsms: A Elixir library for sending transactional SMS

  • Sendinblue
  • mailjet
  • textlocal (India)



Currently benchmarking my JSON library and making it use Streams

Currently benchmarking my JSON library and making it use Streams of strings instead of parsing the binary in a tight loop.

This needs to improve: http://prntscr.com/j36svy

#performance #benchmarking #profiling

Announcing the ocv_photo_analyzer package

Using Elixir and OpenCV to analyze photo content with ocv_photo_analyzer.


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.

Building a JSON API with Phoenix 1.3 and Elixir


Do you have a Rails background?

Are you tired of looking at outdated or incomplete tutorials on how to build a JSON API using Elixir and Phoenix?

Then, read on my friend!

What we’ll do:

  • Create a new API-only Phoenix application —skip HTML and JS stuff.
  • Create a User schema module (model) and hash its password —because storing plain text passwords in the database is just wrong.
  • Create a Users endpoint —so you can get a list of, create or delete users!
  • CORS configuration —so you can use that frontend of yours that runs on another port / domain.
  • Create a Sign in endpoint —using session based authentication.

CouchDBEx release

I released a couchdb interface for elixir, it includes most basic things and support for subscribing to database changes


It’s also on hex.pm as couchdb_ex

Jaxon v0.1.0 released

Just open sourced the custom event based JSON parser that we use over at https://sqlify.io to parse huge JSON files.

The parser is implemented in NIF.

Check it out here: https://github.com/boudra/jaxon

Credo v0.9.1 released

I released v0.9.1 of Credo, the static code analysis tool emphasizing code consistency and teaching.

For details, please refer to the CHANGELOG.

Iteraptor :: Iterating Nested Terms Like I’m Five

Blogged on Iteraptor library


Easy each/map/reduce/map_reduce/filter methods for deeply nested Elixir terms like %{foo: 42, bar: [foo: :bar, baz: 3.14], baz: :foo} and more.

Today I published 7 erlang and 1 elixir packages into hex.pm

Today I published 7 erlang packages into hex.pm: https://hex.pm/users/cblage They are just forks of the original erlang packages made to build with mix. No functionality lost/changed:

https://hex.pm/packages/async - erlang -> mix

https://hex.pm/packages/cclock - erlang -> mix

https://hex.pm/packages/columbo - erlang -> mix

https://hex.pm/packages/gibreel - erlang -> mix

https://hex.pm/packages/jsondoc - erlang -> mix

https://hex.pm/packages/kill_bill - erlang -> mix

https://hex.pm/packages/narciso - erlang -> mix

Full credit to the original author: https://github.com/jjmrocha

I also published a fork of an elixir package that had been abandoned abandoned since 2014 with fixed bugs and misc improvements. Full credit to the original author: https://github.com/qhool/quaff

hex.pm: https://hex.pm/packages/quaff

Documentation work is still work in progress.

I did this because I needed to use these dependencies in prod and all prod deps should come from hex.pm. dev, test, etc it’s fine to use git deps.

With the support of http://www.aruki.pt

Now I need to get actually back to work… :P

Texto - A simple web app to extract text found in images.

I built a simple web app using Elixir and Phoenix to extract text found in images. https://image-to-text.edgardev.com/

Building a Return Statement in Elixir

Now you can feel like you’re writing Ruby again. What could possibly go wrong?


Iteraptor :: each/map/reduce/map_reduce for nested terms


The library for easy iterating/mapping/reducing cumbersome deeply nested Elixir terms (maps, keywords, lists) went 1.0.0.

Iterate any deeply nested term like I am five.

Calculating Bitcoin Address in Elixir

In this article, I explain how to calculate a Bitcoin address in Elixir having only a private key: http://k.lelonek.me/bitcoin-address

Brex: A Specification Pattern implementation in Elixir

Using brex you can easily: define, compose, and evaluate your business rules to dynamically drive the flow of your application.

It was built to enable you to generate your business rules on the fly from configuration or some other form of persistence.