Collectable: Custom Data Structures in Elixir, part 2

Continue creating a custom Array type in Elixir and learn about the Collectable protocol.

https://blog.brettbeatty.com/elixir/custom_data_structures/collectable

Migrating to Elixir with the Strangler Pattern

I think it’s fair to say that a good amount of folks - if not the majority of them - using Elixir in production today are doing so after migrating an application to Elixir from some other language instead of just building in Elixir from scratch. Of course this idea of re-writing an application is scary, and rightly so! But there are some ways to make this process simpler and less scary, and also to reduce the likelihood of introducing regressions during this process, and that’s what I go over in this post.

http://devonestes.com/migrating-to-elixir-with-the-strangler-pattern

Blazing with Phoenix: Project Structure

An article about how to layer your Phoenix project with a structure convention focused on developer productivity: https://dev.to/pedromtavares/blazing-with-phoenix-project-structure-463l

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

RestClient an open source LiveView project

I’ve just open sourced a REST API client demo using Phoenix LiveView.

Check it out

Using Ansible to Deploy Elixir Applications on Dokku

Beginners guide to building a Elixir application with Pheonix. A ‘liveblog’ of a rubyist learning Elixir. http://mikebian.co/building-a-elixir-phoenix-application/

IntelliJ Elixir v11.8.1

Changelog

Bug Fixes

  • Vendor JInterface 1.11 to support BIG_CREATION when debugging. The JInterface on Maven Central has stopped being updated because the OTP Team didn’t actually maintain it, that was Basho, and Basho is gone now. This version of JInterface, 1.11, is from Erlang 23.0.4 from Homebrew, but with the formula edited (brew edit erlang) to add --with-java and then built with brew install erlang --build-from-source.
  • On Windows, the file.path to the debugger server files has \, but they aren’t escaped. Therefore, replace them with escaped version, \\ to fix debugging on Windows, but leave Linux and macOS unaffected. Installation Instructions

8th video in the series about building cryptocurrency trading bot in Elixir

8th video in the series about building cryptocurrency trading bot in Elixir - this time we will broadcast and store orders inside Postgres

we will modify the naive traders to broadcast the Binance orders structs to a new PubSub topic. We will add a handler function to the DataWarehouse.Subscribers.Worker module to be able to store the Binance Orders into the database. To be able to store them inside DB we will also add a migration script and Ecto schema.

Link: https://www.youtube.com/watch?v=-HunMxOo7Y4&list=PLxsE19GnjC5Nv1CbeKOiS5YqGqw35aZFJ&index=8

Elixir Wizards Podcast Listener Survey Results

The latest Elixir Wizards post is out! Check it out here: https://blog.smartlogic.io/listener-survey-results/

Phx.Gen.Auth usage and customization

A couple of posts on authentication with Phx.Gen.Auth and how to go about adding some simple customizations to the workflow and functionality.

https://experimentingwithcode.com/phoenix-authentication-with-phx-gen-auth-part-1/https://experimentingwithcode.com/phoenix-authentication-with-phx-gen-auth-part-2/

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

Phx.Gen.Auth and Swoosh

In this episode we’ll update the example user notifications generated by Phx.Gen.Auth to trigger emails using Swoosh.

https://elixircasts.io/using-phx.gen.auth-with-swoosh

ThinkingElixir 014: LiveView and Airtable with Ricardo Garcia Vega

In episode 14 of Thinking Elixir, we talk with Ricardo Garcia Vega about how he paired a Phoenix application with no database Repo to an Airtable backend to quickly solve a problem but without compromising on speed or reliability. Includes great discussion of ETS tables, GenServers for syncing a cache, LiveView for live updates, links to great resources, a github repo for doing it yourself and much more!

Podcast Episode

Ash Framework - Looking for contributors and alpha users! http://www.ash-elixir.org

Looking for anyone interested in contributing to Ash, or trialing it during the alpha. Anyone who is interested will get as much in person attention from me (@ZachSDaniel1) as they need. Ash covers a lot of ground, so there is plenty to do! Check out the community page on the website for information on how to get involved. http://www.ash-elixir.org

Morphix 0.8.1 released! Now with minor bug fixes! https://hex.pm/packages/morphix/0.8.1

Morphix is a tiny library of functions to perform transforms on maps and arrays.

Morphix provides atomorphification (transforming string keys to atoms in maps) at either the top level or at all depths. This release fixes a bug with the atomorphification methods, which were throwing uncaught errors on maps with non-printable binary keys.

Keys that cannot be transformed to atoms will be ignored.

https://hex.pm/packages/morphix/0.8.1

Use Ecto Embedded Schemas to Back Phoenix Forms

A blog post showing how to use Ecto’s embedded_schema to create form modules to use with Phoenix:

https://mattpruitt.com/articles/phoenix-forms-with-ecto-embedded-schema

Modular software design - 10 common mistakes

Since the introduction of Phoenix Contexts, modularity is a popular topic in the Elixir community. Here are 10 common mistakes that might hurt your modular design:

https://mkaszubowski.com/2020/09/17/modular-software-design-mistakes.html

Elixir Wizards S4E18 Eric Steen on Neuroevolution in AI

Latest episode of Elixir Wizards is out today! Check it out here: https://smartlogic.io/podcast/elixir-wizards/s4e18-steen/

Geo encoding and displaying maps with OpenStreetMap and LiveView

A series of blog posts and an example LiveView application that demonstrate GEO location of an address and displaying the location on a map.

Blog: https://componentx.co.uk/blog/geo-location-part-1

Source: https://github.com/antp/locations

Dictator 1.0: tiny library under a new perspective

Dictator is a tiny authorisation library that allows you to easily control what your users see. We finally got around to version 1.0. This version took a big refactoring, with some good additions: a clearer API and router-based policies.

https://subvisual.com/blog/posts/dictator-1-0-a-new-perspective/

Announcing Alchemy Conf: More than a conference

14 & 15 May 2021, in Braga, Portugal, Alchemy Conf, a new Elixir conference, will be taking place. CFPs will be opening soon. In the meantime, explaining what Alchemy Conf stands for and how everything will happen:

https://subvisual.com/blog/posts/announcing-alchemy-conf/

ThinkingElixir 013: Video chat using LiveView with Jesse Herrick

In episode 13 of Thinking Elixir, we talk with Jesse Herrick about creating a video chat app using WebRTC and Phoenix LiveView. We cover the WebRTC protocol, discuss a number of helpful resources, learn how Phoenix helps accomplish the goal, discuss the JS hooks, pushing events from the server and much more!

Podcast Episode