Real World Phoenix |> The Making Of

After reading this post by José Valim, introducing their new company Dashbit and the blog they built, I felt an urge to share the story of Real World Phoenix. So here it is…

https://realworldphoenix.com/blog/2020-02-25/the_making_of

Migrating Production Data in Elixir

Find out how to handle migrations that involve systems other than the database itself, while keeping the entire process idempotent and backward-compatible.

https://blog.appsignal.com/2020/02/25/migrating-production-data-in-elixir.html

Where is Elixir in the Type System Quadrant?

Elixir is a strong dynamic language in the Type System Quadrant. What does that mean? My blog post explains it!

In addition to OO vs FP, understanding where in the quadrant the language you are coming from is helpful as you learn Elixir.

Check it out!

phoenix_integration 0.8.0 released to hex

Fairly large update to handle forms with hidden fields. This update treats forms as parsed trees, has more informative output, and is generally more flexible. This entire update is brought to you by the hard work of Brian Marick (@marick on GitHub). Thank you!

WordCount in Elixir

I stumbled upon the reimplementation of the very limited wc unix utility functionality in Haskell by Chris Penner, and have it redone in pure Elixir.

In this post I cover the whole “optimization” process, starting from naïve implementation and walking down the road with generated pattern-matching clauses and using Flow to make it concurrent with two lines of code.

Spoiler: I was able to beat C and be even with the aforementioned Haskell solution.

https://rocket-science.ru/hacking/2020/02/22/wc-in-elixir

FastRSS - A fast RSS parser implemented using a Rust NIF

It’s really dumb and naive, not at all optimized but still >18x faster than the library I was using.

GitHub: https://github.com/avencera/fast_rss

hex: https://hex.pm/packages/fast_rss

bechmarks: https://avencera.github.io/fast_rss/

Morphix 0.8.0 released! Now compatible with Elixir 1.10!

This version of Morphix (0.8.0) is compatible with Elixir 1.10. We had our own is_struct method implemented which will now be replaced with Kernel.is_struct. Morphix is a tiny library of helper methods for transforming and partitioning Enumerables.

Elixir Wizards S3E13 Alex Garibay and Mike Binns from DockYard on Hiring and Training

Latest episode of the Elixir Wizards podcast out today: https://podcast.smartlogic.io/s3e13-binns-garibay

Deploy Elixir apps that utilize Rust NIFs on Render.com

Learn how to deploy your Elixir application that utilizes Rust NIFs on Render.com.

https://frank.kumro.io/using-docker-to-deploy-elixir-rust-nifs-on-render-com/

ElixirMix Podcast 088: Adopting Elixir and RabbitMQ with Steven Nunez

In this episode of ElixirMix, we visit with Steven Nunez about how Flatiron School adopted Elixir and is using RabbitMQ. He shares how he decides to “rails new” or “mix phx.new” for a project. How adopting Elixir in a team goes better when the team “falls in love” with what it gives them. Steven shares how their RabbitMQ queues are setup, how the messages are designed, how to spread the patterns throughout the teams and projects, and much more!

Podcast Episode

Inertiajs Adapter for Phoenix

Just released a Phoenix adapter for Inertiajs (The Modern Monolith):

https://github.com/devato/inertia_phoenix

Inertia.js lets you quickly build modern single-page React, Vue and Svelte apps using classic server-side routing and controllers.

inner_cotton v0.6.0

inner_cotton is a set of static analysis of Elixir codes, and a set of mix tasks to help initializing and maintaining OSS/production codes.

https://hex.pm/packages/inner_cotton/0.6.0

Changes in v0.6.0 are :

  • Support Elixir 1.10
  • Drop Support Elixir 1.8 (It may work but not supported.)
  • rrrene/inch_ex returns
  • Moves Travis CI from mix cotton.init to mix cotton.init.travisci
  • Supports GitHub Action in mix cotton.init.github
  • Supports GitLab CI in mix cotton.init.gitlab
  • Remove fast_yaml dependency
  • Update deps

Adventures in Ecto and PostgreSQL: Partial unique indexes and upserts with associations

Article about pitfalls when handling partial unique indexes and upserts with Ecto. And dog politics.

https://medium.com/@woylie/adventures-in-ecto-and-postgresql-partial-unique-indexes-and-upserts-with-associations-ccf20114dfa1

Complex Unique Constraints with PostgreSQL Triggers in Ecto

http://johnwilger.com/2020/02/16/ecto-custom-unique-constraint-trigger.html

I recently needed to enforce a database constraint similar in spirit to a unique index, however the criteria for what should be considered “unique” was more complex than what a simple unique index in PostgreSQL would be able to deal with. Knowing that Ecto’s unique constraint validation works by intercepting an error raised by the database, I set out to see if I could implement the complex unique constraint logic in the database and still be able to use the Ecto.Changeset.unique_constraint/3 validation without needing to modify any Elixir code.

Simple Phoenix LiveView App: Socket Session info, CSRF & .leex

Part 4 of the Simple Phoenix LiveView App series. This episode covers three things:

  • Pass connection info to our socket in endpoint.ex
  • Set up CSRF tokens for use with LiveView via sockets
  • Convert the embedded ~L template in our LiveView render function to a separate .leex file

https://alchemist.camp/episodes/phoenix-live-view-socket-csrf

phoenix_integration 0.8.0 pre-release

Have just merged in a great PR by @marick into phoenix_integration, which much improves form testing. Am going to leave it in master for a week before pushing to hex, so let me/us know if there is any feedback. This bumps the version to 0.8.0

https://github.com/boydm/phoenix_integration

ElixirConf EU 30 speakers and training announced

ElixirConf EU 30 speakers and training all live and early bird open. New website too and its hosted on github, any ideas on anything you’d like to see added? https://www.elixirconf.eu/

Elixir Wizards S3E12 - Sean Lewis from Divvy on Performance and Hiring

Latest episode of the Elixir Wizards podcast out today! Check it out here: https://podcast.smartlogic.io/s3e12-divvy

ExARI: An Elixir Library for interfacing with Asterisk the Open Source Communications Software using ARI

ARI stands for Asterisk REST Interface. It provides a REST and websocket interface for controlling an Asterisk server. Check out the Elixir Forum post at https://elixirforum.com/t/exari-an-elixir-library-for-interfacing-with-asterisk-the-open-source-communications-software-using-ari/29077 #asterisk #voip #myelixirstatus

Skogsrå: Simplifying Your Elixir Configuration

Once an Elixir project is large enough, maintaining config files and config variables becomes a nightmare.

This blog post shows the basics of using Skogsra to simplify your Elixir project’s configuration:

https://dev.to/alexdesousa/skogsra-simplifying-your-elixir-configuration-35im

Previous page Next page