Mid-Level Backend Engineer @ 7Mind, Germany
Join us at 7Mind where we build mindfulness products to help people pay as much attention to their mental well-being as they do to their physical health.
Become part of an international team of professionals and help us build the future of digital mindfulness at 7Mind and do some “mindful butt-kicking”. ;)
Elixir Streams |> LiveView's lifecycle hooks
Ever want to handle a LiveView action (event, message, patch, etc.) across several LiveViews without having to duplicate the code?
LiveView’s attach_hook/4 helper is the thing for you!
It allows us to tap into these lifecycle stages:
-
handle_event
, -
handle_params
, -
handle_info
, and -
after_render
Check out a short demo! 👀
Spice up your LiveView app with a cool loading spinner!
Learn how easy it is to add a spinner when making a long-time request on your LiveView application https://dev.to/lcezermf/spice-up-your-liveview-app-with-a-cool-loading-spinner-28bl
Careful what data you send or how to tank your performance with Task.async
I ran into an interesting problem recently where simple concurrency on the BEAM via Task.async made my application a lot slower and a lot more memory hungry. This blog post illustrates the issue with a short example, where processing 3 non-trivial actions on a list in parallel is slower than doing it sequentially, and then explains why this happens and what can or can’t be done about it.
Phoenix Component guide - reusable building blocks of modern web application
Phoenix Component is a fantastic building block in the Phoenix Framework. This article serves as an introduction to this great concept: https://curiosum.com/blog/phoenix-component
Thinking Elixir 181: FLAME with Chris McCord
Episode 181 of Thinking Elixir. In this week’s episode, we ignite the exciting world of Elixir with Chris McCord’s announcement of FLAME, showcasing a revolutionary approach to serverless with the Phoenix framework. Chris joins us to unravel the inspiration behind FLAME - Fleeting Lambda Application for Modular Execution and its promise to streamline the developer experience, significantly simplifying elastic compute. We discuss why this isn’t just another job queue solution and explore how it effortlessly scales. We cover how other backends can be implemented and learn there’s even a Kubernetes option! The FLAME pattern can be implemented in other languages and frameworks too. To avoid FOMO, tune in and ride the wave of Elixir’s evolution with us.
How to import CSV file to the Database
How to import CSV data file to the database and populate the table.
https://dev.to/herminiotorres/how-to-import-csv-file-to-the-database-578l
What's New in Elixir 1.16
Let’s explore the new features and improvements in Elixir 1.16: https://blog.appsignal.com/2023/12/19/whats-new-in-elixir-1-16.html
Learning Elixir with ELXPRO - Gustavo Oliveira
In this episode of the Professor Adolfo Neto podcast, join me, Adolfo, as we sit down with Gustavo Oliveira, creator of ELXPRO, an advanced Elixir course. We uncover Gustavo’s Elixir journey and the inspiration behind ELXPRO. Delve into the current landscape of Elixir developers as Gustavo shares market insights and dispels myths about opportunities for developers at different levels.
The spotlight then turns to ELXPRO itself. Gustavo walks us through its unique features, giving you a sneak peek into how it empowers aspiring developers to master Elixir and its associated tools.
Doggo - Unstyled collection of Phoenix components
This week, I released Doggo, a headless UI component library for Phoenix LiveView. Who’s a good boy?
How to abuse Ecto embeds to do our dirty polymorphic bidding
A simple way to implement polymorphic embeds for virtual fields.
PSA: Double Check Benchee Benchmarks made with Elixir Versions 1.14.0 – 1.16.0-rc.0
PSA for benchee users: Ran a benchmark on elixir 1.14.0 - 1.16.0-rc.0? The results may have been missing some optimizations, check this post for what could have been affected and remedies: https://pragtob.wordpress.com/2023/12/14/psa-double-check-benchee-benchmarks-made-with-elixir-versions-1-14-0-1-16-0-rc-0/
Thinking Elixir News 180
Episode 180 of Thinking Elixir. News teases an intriguing update from Chris McCord hinting at a groundbreaking feature in Phoenix and Elixir’s capabilities. José Valim proposes local accumulators in Elixir, stirring discussions on the future of coding elegance. Supabase launches the innovative “libcluster_postgres” library, promising to enhance Elixir node discovery with Postgres. And for those seeking to crunch numbers differently, a must-read blog post lays out a roadmap for translating code in NumPy to Nx. Plus, Elixir enthusiasts are buzzing about this year’s Advent of Code challenges—find out how the community tackles these puzzles with bespoke tooling and shared Livebooks strategies, and more!
How to take leverage from on_mount to reduce code
This callback function will run before your LiveView mount/3 function. So please bear with me.
https://dev.to/herminiotorres/how-to-take-leverage-from-onmount-to-reduce-code-2027
Advent of Code 2023 Days 8, 9, and 10 Highlights
My highlights and solutions for days 8, 9, and 10 with Elixir and Julia and a mix of the two :)
File upload to AWS S3 or S3 compatible bucket from Phoenix LiveView using Elixir
Dec. 2023 tutorial on file upload directly from the client to S3 compatible bucket from LiveView. Mostly it reiterates the official docs, but also adds what’s missing in the docs: what to do with the link for uploaded file.
Intro to Elixir Applications on Kubernetes
We’ll explore the world of Kubernetes through the eyes of an Elixir programmer to achieve even higher availability, reliability and robustness by levering most tools in the K8s toolbox in a way that would play nice Elixir/OTP and Phoenix applications.
https://brewingelixir.com/intro-to-elixir-applications-on-kubernetes
Meetup: Nerves & AWS Greengrass
When working with an existing IoT system that requires a higher level of security, one option is to integrate an off-the-shelf service and delegate to this layer. Alfonso Gonzalez will show how to integrate Amazon Greengrass into Nerves firmware in order to perform secure remote firmware updates using a well-known security standard.
Burrito is Now on Hex.pm
Ship your Elixir apps as single-file, self-contained binaries to MacOS, Linux, and Windows, even if Erlang is not present on target machines.
https://hex.pm/packages/burrito
Check out the README to get started! https://hexdocs.pm/burrito/readme.html
Protecting sensitive data in Elixir GenServers
Two techniques to protect sensitive data in Elixir GenServers: implementing the Inspect protocol for structs and implementing the format_status/2 callback. No sensitive data leaking into your logs anymore. https://tech.new-work.se/protecting-sensitive-data-in-elixir-genservers-fac4a8b0ae15