Building a distributed chatroom with Raxx.Kit
http://crowdhailer.me/2018-05-01/building-a-distributed-chatroom-with-raxx-kit/
Step by step walk through to building a multi-node chatroom based on the Raxx micro-framework.
Bonus: No websockets needed, HTTP/2 supported by using Ace server.
Passwordless Authentication with Veil
In this episode we’ll implement passwordless authentication in a Phoenix application using the Veil package.
https://elixircasts.io/passwordless-authentication-with-veil
2hr online training in @elixirphoenix. Vote your choice
I am planning to give a 2hr online training in @elixirphoenix in the coming month. I have two topics in mind. I am taking in 16 people per session. Date and timing to be decided.
Vote here: https://twitter.com/shankardevy/status/990987064450605056
PM for more details or questions.
Drab v0.7.7, with the brand new EEx engine, without any limitations, released!
This is a huge step towards the stable version - Drab’s living assigns engine has no previous limitations anymore.
StatBuffer - efficient local counter buffers
Just released StatBuffer - a library to help keep track of stats efficiently in fast moving systems. Hope some can find it useful!
Check it out at https://github.com/nsweeting/stat_buffer
Forwarding remote IP to Phoenix (running behind Nginx)
If you’re running Phoenix behind an Nginx proxy you may see that your conn.remote_ip is always {127, 0, 0, 1}. That’s because Nginx and Phoenix are running on the same host.
There’s a standard for forwarding the remote_ip in cases like this and there’s an Elixir library to do it. In this episode, we set it up, refactor it to get rid of Elixir 1.5 deprecation warnings and verify everything is working via ngrok.
Puppeteer vs WkHtmlToPdf and why I created a new module
A new PDF generator module for Elixir using Puppeteer to generate PDF files using HTML code. Reason why I did it here.
Handling failures in Elixir and Phoenix
Fault tolerance is one of the most often mentioned reasons for using Elixir. Yet, in my opinion, most of the resources describe fairly advanced language features and are not really helpful for beginners. In this article, I’ll try to tackle only one problem — handling errors and failures in web applications using Phoenix Framework.
https://medium.com/@mkaszubowski/handling-failures-in-elixir-and-phoenix-12b70c51314b
User Authentication in Phoenix
In this episode we add basic user authentication to an existing Phoenix app.
A gRPC based Elixir client for the Dgraph graph database
ExDgraph is a gRPC based client for the Dgraph graph database. It uses the DBConnection behaviour to support transactions and connection pooling via Poolboy.
Twitter Emoji Map
Twitter Emoji Map built with Elixir’s GenStage and Angular. A simple map that shows all geotagged tweets worldwide and in real-time that contain an emoji. It is really fast. Try for yourself by tweeting anything with an emoji and a location and see the tweet pop up on the map in milliseconds. Read more in my blog post
Demo: http://emojimap.ospaarmann.com/
Code: https://github.com/ospaarmann/ex-emoji-map
ExVenture Updates for April 2018
This month ExVenture, a text based multiplayer game server, started going distributed! There were a few other game updates but the biggest news is being able to use distributed Erlang clustering for load balancing.
Connecting an Elixir Node to the Bitcoin Network
The first step in participating in Bitcoin’s peer-to-peer network is connecting to your first peer node. Check out how we can use Erlang’s :gen_tcp to connect to a node, and send hand-crafted packets to kick off communication.
Hammer v4.0.0
Hammer is a rate-limiter with pluggable backends.
Version 4.0.0 introduces a new worker-pool implementation for backends:
Thoughtful Logging in Elixir: A Phoenix Story
The choices you make at foundational points of your architecture can have massive implications down the road for your Elixir applications. By taking an informed approach to logging, you can set yourself up for success.
https://www.verypossible.com/blog/thoughtful-logging-in-elixir-a-phoenix-story
Migration script supports migrate/rollback/seed when releasing Phoenix/OTP app by Distillery
Writing a migration script to run migrate/rollback/seed when releasing Phoenix/OTP app by Distillery
https://thefirstapril.com/2018/04/23/Running-migration-in-Distillery/
ModestEx - First major release v1.0.0
ModestEx - Pipeable transformations on html strings (with CSS selectors), e.g. find(), prepend(), append(), replace(), remove(), insert_after(), insert_before(), etc.
