How to Compose Queries in Ecto
Writing composable queries in Ecto including how to safely build queries that need to join through multiple tables.
https://medium.com/flatiron-labs/how-to-compose-queries-in-ecto-b71311729dac
States Language - Declaratively design gen_statem processes
Declaratively design state machines that compile to Elixir based :gen_statem processes with the States Language JSON specification. https://github.com/citybaseinc/states_language
AWS S3 in Elixir with ExAws
AWS S3 in Elixir with ExAws
This article/video is all around AWS S3 and Elixir. I show how to setup an AWS account and permissions, configure ExAws, put, list, get and delete S3 objects.
Then, we see how to upload a large file with multipart uploads, how to generate presigned urls and process large files on the fly.
Phoenixcasts: Elixir and Phoenix screencasts
Phoenixcasts is a platform which aims to help newcomers and experienced developers alike learn web development using Elixir and Phoenix through focused and concise screencasts on a wide range of topics.
Launching in 2020, we’re currently having a prelaunch sale on for season 1! Check it out at https://www.phoenixcasts.com
Iteration, Recursion, and Tail-call Optimization in Elixir
Dive into recursion in Elixir to find the fastest looping method. (Spoiler: it depends). 🎢
https://blog.appsignal.com/2019/03/19/elixir-alchemy-recursion.html
ElixirMix Podcast 080: The Big Elixir Favorites
In this episode of ElixirMix, we talk about The Big Elixir conference. In addition we discuss medical messaging and HL7, leex and yecc for parsing, custom application scripting, Eric’s ponchbrella project design, kuberneetus, and much more!
Advent of Code Elixir Starter template
https://github.com/mhanberg/advent-of-code-elixir-starter
This is an Elixir starter template for the Advent of Code challenges.
It includes tests for each day, a mix task to run each part, and the ability to benchmark your solutions using Benchee.
How to generate a Pid-File for an Elixir app
Process IDs are very important in Unix. It’s standard for services to create a file called a “Pid-File” that has the ID of its currently running process so that other applications can discover the PID of the service and manage it. Management tools such as Systemd make heavy use of Pid-Files.
Neither plain mix applications nor Phoenix apps generate Pid-Files by default, but there’s a great drop-in solution in the form of a library called pid_file.
I made a quick tutorial and screencast that covers setting it up.
An Ueberauth Oauth 2 Walkthrough
Let’s set up 3rd party Oauth so our users can log in with Google, Facebook, Twitter, Slack, Github or other services!
Ueberauth is a library that makes it easy and here’s a full walk-through of a Phoenix app using it to implement Google login.
All code is shown and explained but due to the number of moving parts, it’s a walk-through, not a screencast.
IntelliJ Elixir v11.4.0
Enhancements
-
Previously, the arity of a function or macro could only disagree with the definition and resolve if
-
The arity of the call was in the arity range of the defintion and the
ResolveResultwas marked as avalidResult. -
The code is marked as
incomplete(because the IDE detects typing, etc) and the arity mismatches and theResolveResultis marked as an invalid result. By marking all arity mismatches, regardless of incompleteness of the code as an invalid result, Go To Definition and Show Parameters works when the the arity is incorrect. This males Show Parameters work while typing out a call without the correct number of commas and allows jumping to the definition while typing out the call too.
-
The arity of the call was in the arity range of the defintion and the
Understanding LiveView: build a Gallery app
Understanding LiveView: build a Gallery app
This is the third part of a small series on Phoenix LiveView.
I show at first how to build a simple first version of a gallery app, using a fixed list of images.
Then I refactor the code, decoupling the logic from the liveview part - this makes easier to add a thumbnails functionality.
In the last part I then show how to use :timer to send messages at a regular interval, implementing an automatic slideshow.
Elixir Wizards S3E2 - José Valim on Performance and More
Our guest for ElixirWizards S3E2 was José Valim, creator of Elixir! We talked with him about performance, problem-solving, time management, and more.
ElixirMix Podcast 079: Oban with Parker Selbert
In this episode of ElixirMix, we talk with Parker Selbert about his background job processing library Oban. We cover why Oban uses Postgres over other options, being used at scale, his recipe articles, a LiveView UI and much more!
Running in Production Podcast 003: Using Phoenix to build an Elixir / Phoenix learning platform called Alchemist Camp
In this episode of Running in Production, Mark Wilbur talks about how he uses Phoenix and Elixir to build and deploy his Elixir / Phoenix learning platform called Alchemist Camp.
Commanded and EventStore 1.0
The v1.0 release of the open source Commanded and EventStore libraries is here. Allowing you to build event-driven Elixir applications following the Command Query Responsibility Segregation and Event Sourcing pattern (CQRS/ES).
KomachiHeartbeat v0.5.0
I’ve released KomachiHeartbeat v0.5.0! KomachiHeartbeat provides an easy way to health check your Elixir system. In v0.5.0 I add a feature BeamVital to monitor major Erlang VM metrics📈.
VS Code Broken for Elixir?
You tried the ElixirLS extension for VS Code and gave up? This guide helps you diagnose and fix issues getting you back on the productive Elixir development path!
Earmak's AST feature helps modifying markdown cleanly
I’ve created a library earmark_hashed_link which adds link to hashed text in a markdown. This library is smarter than just replacing text. It doesn’t add link to hashed text in comment/blockquote/code etc.
I hope this is also a nice example that earmak’s new (experimental) AST feature.
PgMoney - the library I wish I had not - released
I migrate my customer’s ERP data using Elixir. The database involved uses PostgreSQL’s money data type which is not natively supported by Postgrex.
This is a library which should not exist, but the data type is out there and needs some interfacing. It emits some basic telemetry events to be able to keep track of rouding losses like laid out in Mathias Verraes‘ superb article Emergent Contexts through Refinement in DDD - The First 15 Years.
This is my first contribution to the elixir community, after getting hooked using Elixir 13 weeks ago and I strongly welcome feedback.
You find the sources on GitHub and documentation on hex.pm.
It was a joy writing this library.
Cheerio
Call for Talks – FOSDEM 2020 – BEAM Devroom
the Call for Talks for the BEAM FOSDEM 2020 Devroom ends in just 2 days! submit your talk ASAP! 👨🔬💧 https://beam-fosdem.org/call-for-talks/
#myelixirstatus #fosdem #elixir #beam #erlang
@elixirlang @erlang_org @TheErlef
