Device drivers with Elixir, also Elgato Stream Deck :)
I’ve been experimenting and have had a ton of fun doing so. Wrote up all about it on the blog for the first time in ages. https://underjord.io/userspace-drivers-in-elixir.html
Learn how to install Phoenix (Elixir) with the UI components from Flowbite and Tailwind CSS
Check out this guide to learn how to install Phoenix Framework (Elixir) with the open-source UI component library called Flowbite together with Tailwind CSS.
Thinking Elixir News 140
Episode 140 of Thinking Elixir. Progress report for LiveView Native, Livebook announced an integration with Hugging Face, Andrea Leopardi concludes his series of Protohacker challenge videos, new Phoenix 1.7.0 RCs 3 & 4 released, 3.5 year old issue is solved that unifies Elixir and Erlang loggers, and more!
Elixir/Phoenix Security: Remote Code Execution and Serialisation
Did you know that Elixir functions with an arity of 2 implement the Enumerable protocol? That :erlang.binary_to_term/2 is not always safe? Learn more in this new post!
An Introduction to Test Factories and Fixtures for Elixir
In the first part of this three-part series, we’ll give an overview of Elixir test factories and fixtures: https://blog.appsignal.com/2023/02/28/an-introduction-to-test-factories-and-fixtures-for-elixir.html
The 3 features that will make you fall for Elixir
With this article, we want to share the features that led us to become Elixir superfans, so that you can appreciate how elegant and efficient this language is. https://medium.com/wttj-tech/the-3-features-that-will-make-you-fall-for-elixir-598c9a31172d
Phoenix Dev Blog - Streams
“Streams” is the latest addition to Phoenix LiveView! Chris McCord wrote a “Dev Blog” about it, shining a light on the problem it solves and shares some insight into how it works. It’s a super elegant solution to a complex problem and can even reduce memory on the server!
LiveView's new Streams
Just tested out LiveView’s new streams. I gotta say, I like the ergonomics! 🙌
- Use phx-update=”stream”
-
Create stream with
stream/2
-
Add/update stream with
stream_insert/4
-
Delete from stream with
stream_delete/3
Thanks Phoenix team!
A test drive of Diana’s new hex package, Orion
I use it to check and ensure I’m getting about 30 frames a second on my LiveView game. https://youtu.be/ME-7iGSIw_M
How To Upgrade Elixir Phoenix Smoothly - 1.7 Edition
Phoenix Framework 1.7 was released this month and came with some cool new features and significant changes (that are optional). You can check out my video to find out what’s new, how to update your application, and a nice tool to make updating smoother. https://youtu.be/XAqGHmlp41M
Adding images to a Phoenix application
A basic look into how to load images and assets in a phoenix application. https://youtu.be/tl_sv6Qc9Jg
ReadReplica Issue #5 - Longest Palindromic Substring
An Elixir solution for LeetCode’s Longest Palindromic Substring problem with detailed explanation and time complexity analysis. https://readreplica.io/leetcode-longest-palindromic-substring-elixir/
Can’t Live `with` It, Can’t Live `with`out It
“I’d like to share some thoughts about Elixir’s with keyword. with is a wonderful tool, but in my experience it is a bit overused. To use it best, we must understand how it behaves in all cases.”
https://www.erlang-solutions.com/blog/cant-live-with-it-cant-live-without-it/
Elixir/Phoenix Security: Rate Limits for Authentication with Hammer
How to use the Hammer library to apply rate limiting to authentication routes in Phoenix.
Prying into dependencies
I love how easy it is to do code spelunking 🤿 in Elixir projects!
- Dive into your “deps/“ directory
-
Throw a
dbg()
(orIO.inspect
) in the dependency you want 🔍 -
Recompile with
mix deps.compile
- Celebrate! 🥳
Check out a short video of me doing that 👉 https://youtu.be/jgEhnv4-c6I
Thinking Elixir News 139
Episode 139 of Thinking Elixir. New Phoenix LiveView 0.18.12 release includes a new “streams” feature as well as other improvements. Andrea Leopardi released another Protohackers video, AppSignal adds Oban support, Orion library brings nifty distributed tracing UI, José does an interview with Exercism, Gleam gets added to Exercism, EMPEX NYC is back, and more!
ReadReplica Issue #4 - Median of 2 Sorted Arrays
An Elixir solution for LeetCode’s Median of Two Sorted Arrays problem with detailed explanation and time complexity analysis. https://readreplica.io/leetcode-median-sorted-arrays-elixir-solution/
Safe Ecto Migrations by Fly.io
I ran across this repo from the Fly.io team about safe ecto migrations which then lead me to the article on the Fly.io blog