Under the Hood of Ecto
Discover how Ecto’s internals work by looking at its four major modules in detail. https://blog.appsignal.com/2023/02/14/under-the-hood-of-ecto.html
EMPEX NYC is back in Brooklyn this June
The EMPEX conference is back in New York this year, being held in Brooklyn for the first time ever! Join us at Littlefield on June 9th and submit your talk proposals here. Tickets on sale soon, more info here.
A New Beginning and a New Website
A slice of life post that includes some insights about building a website with Phoenix 1.7-rc and DigitalOcean’s managed Kubernetes.
Thinking Elixir News 138
Episode 138 of Thinking Elixir. News covers the new Phoenix.Template project, upcoming Nx work for Elixir using multiple GPUs, benefits of Elixir as seen by new people learning it, integrating the Trix JS WYSIWYG editor with LiveView, a new service called “Code Code Ship” that aims to make commercial Hex packages a thing in the Elixir space, and more!
Making a CheckboxGroup Input
Phoenix 1.7.0 brings a lot of new things when we run mix phx.gen my_app
. These new and cool ways of doing things aren’t automatically brought to existing projects because they come from the generators. Of the many new things we could bring to an existing project, we focus on the new approach to form input components. Why? Because it’s both cool and useful! This post builds a custom multi-select checkbox group input for selecting which tags to associate with a database record in our Phoenix application. It’s surprisingly easy and elegant!
Shun keeps your HTTP secrets safe
Evadne Wu (whom many of you know from her talks at ElixirConf and PC builds on Twitter), released shun to the world in April 2022. Judging by the number of stars on the repository and the download stats on Hex, shun has gone mostly unnoticed by the Elixir community.
Shun is the library that you didn’t know you needed. So what is it?
Organising Ecto schemas
Placing schemas inside contexts makes it difficult to distinguish between data and actions. Let’s fix that.
Listen to Databse Changes with Postgres Triggers and Elixir
When broadcasting database changes, we usually use Phoenix.PubSub. But what if that’s not available? Learn how to set up Postgres Triggers to send Notifications to your Elixir app if anything changes. https://www.peterullrich.com/listen-to-database-changes-with-postgres-triggers-and-elixir
ELXPRO Livestream - Elixir and Phoenix security
When it comes to securing your Elixir/Phoenix applications, it seems like there is a never-ending list of security problems to worry about. Michael is the founder of Paraxial.io, an Elixir-focused security company. This video is a live discussion with Gustavo from ELXPRO about securing Elixir apps.
Catching (probably all) email SPAM with a really tasty honeypot
How we designed an email honeypot for our landing page that so far catches all SPAM emails: https://nobilisdata.com/blog/catching-email-spam-with-a-really-good-honeypot/
Two Sum Problem and Solution
Leetcode Two Sum solution with some details: https://readreplica.io/leetcode-two-sum-problem-elixir-solution/
Creating a Toggle Button in LiveView
How to create a toggle button in Phoenix LiveView: https://youtu.be/vBgZvQapqhs
Cachex v3.5 and v3.6 Released!
A long time coming, but Cachex has received some love and attention in the last month or two. A v3.5.0 release happened last month, with several fun things such as:
-
Better stack handling across
fetch/4
calls - More efficient LRW operations
- Non-blocking cache warmers
-
Updating to use and enforce
mix format
Followed up in the last day or so with a v3.6.0 which (finally) introduces the ability to set an expiration from within a fetch/4
fallback function directly.
More to come later in a blog post, probably, but just wanted to put it out there so people know to update and check it out :)
ThinkingElixir 137: Upgrading to Phoenix 1.7
Episode 137 of Thinking Elixir. After covering the week’s news, we talk about upgrading our apps to Phoenix 1.7.0 and what the experience is like. We include tips and resources that we found helpful and talk about the backward compatibility of the project and what that means for both personal projects and working teams.
Using Github Actions with Elixir
Github actions is awesome because it automatically runs tests and checks during a pull request for your project, making your project more reliable. Learn how to implement Continuous Integration and Continuous Delivery(CI/CD) with Github Actions in this tutorial.
Phoenix 1.7's verified routes
I had questions about Phoenix’s new verified routes:
- Is it helpful with typos and undefined routes?
- How to use it in paths with arguments?
- What about Phoenix.Param protocol?
- How does it handle query params?
Decided to investigate and wrote a post about it 👇 https://germanvelasco.com/blog/phoenix-1-7-verified-routes
Rustler - Using Rust crates in Elixir
Didn’t find the Elixir package you wanted? Let’s see if Rust can help with that.
I recently needed a function to create and edit PDF files with Elixir for a small private project. I searched for some packages and the most notable one for Elixir is elixir-pdf, but it only offers to create PDFs without additional manipulation. That was fine by me since I wanted an excuse to do some more things in Rust anyway, and I found lopdf.
https://mainmatter.com/blog/2023/02/01/using-rust-crates-in-elixir/
Elixir/Phoenix Security Live Coding: Preventing SQL Injection in Ecto
Interested in Elixir and Phoenix security? Join the founder of Paraxial.io, Michael Lubas, for a live coding stream, “Preventing SQL Injection in Ecto”, Feb 15th.
What’s new in Livebook 0.8.1
In this blog post, we’ll take a look at some of the new features released with Livebook 0.8.1, such as the new file and audio inputs, support for capturing images from the camera, loading environment variables into Livebook secrets, and more.
https://news.livebook.dev/what-s-new-in-livebook-0.8.1-NSbeg