Message passing for actors and humans

Slides and Video for my CodeMesh talk this year.

http://crowdhailer.me/2018-11-08/message-passing-for-actors-and-humans/

Inject from your controller to decouple your contexts in Phoenix.

In this post I will show you a simple pattern to decouple your Phoenix context so that you can specify from your controller how you want to preload your Ecto.Query.

https://polymorphic.productions/posts/inject-from-your-controller-to-decouple-your-contexts-in-phoenix

Hex Bob Package Status Page

I’ve created a small page listing all available precompiled packages of hex bob. Added availability checks given the recent issues with updates.

https://bobs-list.kobrakai.de/

Ecto and Binary IDs

Using UUIDs as primary keys is simple with migration_primary_key and a simple change to the schema:

https://www.annkissam.com/elixir/alembic/posts/2019/01/04/ecto-and-binary-ids.html

How We Used Elixir's GenServers + Dynamic Supervisors to Build Concurrent, Fault Tolerant Workflows

At The Flatiron School, we leveraged Elixir’s GenServers and Dynamic Supervisors to “deploy” large amounts of content to our students faster and less error-prone than ever before. https://www.thegreatcodeadventure.com/how-we-used-elixirs-genservers-dynamic-supervisors-to-build-concurrent-fault-tolerant-workflows/

hackney version 1.15.0 has been released

just released hackney version 1.15.0 an HTTP client library. This release add a performance improvement to the pool and an addition to multipart forms handling.

site: https://github.com/benoitc/hackney news: https://github.com/benoitc/hackney/blob/master/NEWS.md#1150—2019-01-04

Gitlab-ing Phoenix — (Elixir and others) Aka GitOps

https://medium.com/blackode/gitlab-ing-phoenix-elixir-and-others-aka-gitops-50e291ce5d85

This article is all about Automating Phoenix Development & Deployment using Gitlab CI/CD.

How to pattern match a function in Elixir

I found how to pattern match a function on Improve error messages for invalid expression in match · Issue #5649 · elixir-lang/elixir.

x = &List.first/1
case &List.first/1 do
  ^x -> true
end

I also wrote a summary for it: How to pattern match a function in Elixir - dsdshome

Feel free to check it out and leave some comments.

A deeper dive in Elixir's Plug

Being new to Elixir and Phoenix, I spend quite some time in the projects’ documentation. One thing that stood out for me recently is the first sentence of Phoenix’s Plug documentation: “Plug lives at the heart of Phoenix’s HTTP layer and Phoenix puts Plug front and center.”

So naturally, I felt compelled to take a deeper dive into Plug and understand it better. I hope the article helps you out as well, you can read it here.

Correios CEP 0.3.0 released! Zip code validation.

Correios CEP allows to find Brazilian addresses by zip code, directly from Correios database. No HTML parsers.

Changelog for version 0.3.0:

  • Validate zip code.
  • Typespecs and Dialyzer.

Check it out at:

Cloak v1.0.0-alpha.0 released!

Cloak is an encryption library which helps you encrypt your Ecto schema data, and it’s now nearly at 1.0.0!

http://blog.danielberkompas.com/2018/12/31/cloak-1.0.0-alpha-released/

Introducing Whistle, a different approach to building interactive web apps in Elixir

Whistle is an implementation of an Elm(ish) architecture in the server, letting you write interactive web apps entirely in Elixir.

https://moboudra.com/whistle-interactive-web-apps-with-elixir/

Elixir behaviours for blockchain hard fork configurations

https://www.badykov.com/ethereum/2018/12/29/elixir-behaviours-for-blockchain-hardfork-configuration/

Idempotent Supervision Tree

Just blogged on trivial, but often ignored glitch while performing initialization during GenServer linked start with direct pattern matching instead of Kernel.SpecialForms.with/1.

https://dev.to/mudasobwa/idempotent-supervision-tree-1ha

ExVenture Updates for December 2018

ExVenture is a text based MMORPG. This month continues the refactor push to change up how the eventing system for NPCs works, and formalizing the internal format language with leex and yecc parsing. Check out the post for more information!

https://blog.oestrich.org/2018/12/exventure-updates

How to perform Hot Code Swapping in Elixir

https://medium.com/blackode/how-to-perform-hot-code-swapping-in-elixir-afc824860012

Hot code swapping is replacing or adding components without stopping or shutting down the system. It is frequently called as hot-plugging.

In software development, hot swapping is used to upgrade or update the system without interrupting the current running system. It helps us with less downtime at the time of upgrading.

OK! Stories are always good to hear. Let’s dive into the code.

Counting Real-Time Trades

Counting Real-Time Trades

In this article we start to see how to aggregate Coinbase trades in real-time, using the GenServer behaviour. We’ll build an aggregation process that groups and count the trades.

Plug in JSON API Readonly Webserver

Camarero is a ready-to-use solution to add some JSON API functionality to the existing application or to implement the read-only JSON API from the scratch when more sophisticated (read: heavy) solutions are not desirable. Below is the typical picture of how Camarero is supposed to be plugged in.

It is blazingly fast.

https://dev.to/mudasobwa/plug-in-json-api-readonly-webserver-17b4

Authex v0.3.0 released!

Just released v0.3.0 of Authex. Authex provides an easy way to integrate authentication + authorization into your API via JSON web tokens.

The latest release has some great new features, including:

  • Easier configuration through a runtime init callback.
  • Simplification of Authex.Serializer to convert custom data to and from tokens.
  • Introduction of Authex.Repo behaviour for handling custom blacklist and banlists.
  • Improved documentation.

Please check it out at:

Some ways writing parameterized testing with ExUnit

https://dev.to/niku/parameterized-testing-with-exunit-1j3d

Previous page Next page