For, Map and Reduce in Elixir #MyElixirStatus
One of the students in my Introduction to Functional Programming course recently submitted a code snippet. It became evident that they assumed Elixir’s ‘for’ construct operates similarly to ‘for’ loops in non-functional programming languages. However, this is not the case, as Elixir’s ‘for’ is fundamentally different in its behavior. https://dev.to/adolfont/for-map-and-reduce-in-elixir-26op
Eliminate Slow Queries with Ecto Telemetry
Do you know what’s bottlenecking your app? How can we identify slow queries and visualize the overall performance of our application’s Repo?
The answer is surprisingly simple: Eliminate Slow Queries with Ecto Telemetry
Elixir Streams |> Elixir 1.16's Improved Docs 📚
Elixir 1.16’s first release candidate just came out, and there are four noteworthy improvements to docs. 🙌
Take a look at them in this short video!
Phoenix LiveView assign_async
In episode 173 we learn how to keep our LiveViews fast by using assign_async to fetch data asynchronously.
Thinking Elixir News 175
Episode 175 of Thinking Elixir. In this episode, we kick off with the major release of Bandit 1.0, an Elixir substitute for Cowboy, that’s making an impact with its performance. We move on to the Elixir compiler’s dev experience improvements in the upcoming Elixir v1.16. We then transition to talk about the various Language Server alternatives available, how their features compare, and the newly announced Erlang Language Server at CodeBEAM Europe. We talk about the newly added support of the Mistral LLM with the Bumblebee library and why this is interesting, the introduction of Permit - an authorization library for Phoenix apps, and more!
First Annual Elixir Survey by Curiosum
On Halloween, let’s trick or treat the Elixir way! This year, we prepared something special. We present you the Annual Elixir Survey 2023. It was created to collect information about Elixir from those who know it best - the Elixir community. We want to know your opinions and experience to help shape the future of Elixir programming. For the next three weeks we’ll encourage you to participate and share the survey through your Elixir friends. After that time, you can expect from us the results of this project.
So now… It’s time to complete the survey: ➡️ https://curiosum.com/sl/7o5wcws0
#annualelixirsurvey #elixirsurvey #halloweenspecial #curiosum
'elixir_bun' has been renamed to 'bun'
The elixir_bun package has been renamed to bun. This should make it much easier to find and consistent with naming conventions set by the ESBuild and Tailwind integration packages.
If you want to use the new package name (you should) you just need to replace :elixir_bun
with :bun
in your project.
ElixirDevs: A reverse job board for Elixir developers
ElixirDevs has just launched – it’s a reverse job board for Elixir developers in search of their next onsite 🏢 or remote 🌎 job, or simply open to offers.
The platform makes it easier for Elixir developers 🧑💻 and companies 🏢 to connect, saving valuable time and resources.
Elixir Streams |> Dependencies in Scripts with Mix.install
Known about Mix.install for a while. But just recently used it for the first time. It’s awesome. 🤩
If you’ve never used it, give it a whirl. So easy to use and so powerful. 💪
Quick demo 👉 Elixir Streams |> Dependencies in Scripts with Mix.install
Thinking Elixir 174: DockYard's BeaconCMS
Episode 174 of Thinking Elixir. The Elixir community has a new OpenSource CMS thanks to DockYard and Leandro Pereira! We talk with Leandro to better understand what the Beacon project is and what it can do. It’s built using Phoenix LiveView and can be deployed standalone or as part of an existing Elixir Phoenix application. The Admin features include the ability for non-developers to edit content and immediately deploy changes without re-deploying the app. We talk about how BeaconCMS is positioned against Wordpress and static sites and where the greatest benefits are. A feature in development is the HEEx template editor which promises to be a very exciting tool for non-developers. Learn along with us!
How To Use Zig for Elixir NIFs
Find out how to set up Zig for Elixir NIFs and integrate a NIF into an Elixir application: https://blog.appsignal.com/2023/10/24/how-to-use-zig-for-elixir-nifs.html
ChatGPT doesn't know what day it is?
Turns out ChatGPT doesn’t know anything about the date or day of the week! When that’s needed for your application, how can we solve it? See how we can make our AI apps more useful when they are date aware!
https://fly.io/phoenix-files/chatgpt-doesnt-know-what-day-it-is/
Elixir Bun v 0.1.4
This new version includes a logo, README improvements for the initial setup, a fix to avoid leaving zombie Bun processes after closing the parent Elixir application and an update to Bun 1.0.7.
Tesla Middleware for Logging Requests in Curl
A stable version for tesla_curl is now on Hex and ready for use in your project!
tesla_curl is a middleware for the Tesla HTTP library that will log requests in curl syntax for quick debugging, and even allows for scrubbing sensitive values from your logs if needed.
Testing Async Assigns and Testing LiveView Updated to 0.20!
My Testing LiveView course is now fully updated to use LiveView 0.20!
As part of that work, I’ve added a new lesson on Testing Async Assigns! 🤩
I love the work the Phoenix team has done with async assigns, so I wanted to make sure the course included a lesson on how to test that. Thankfully, the Phoenix team made it a breeze!
You can catch a preview of the lesson in Elixir Streams or get the full course here 👉 Testing LiveView 👀
Thinking Elixir 173: Web App Security Best Practices and Sobelow
Episode 173 of Thinking Elixir. We delve into the tricky world of cybersecurity with our guest, Michael Lubas. We touch on the widely-discussed 23andMe data breach, discussing what went wrong and how it applies to Elixir apps. A significant part of our talk is centered around the informative guide by the EEF Security Working Group called “Web Application Security Best Practices for BEAM languages.” An essential tool featured in our discussion is Sobelow, a security-focused static code analysis tool invaluable in warding off potential security breaches. We wrap up the conversation by discussing the practical application of these tools, using Paraxial.io’s vulnerable-by-design “Potion Shop” app as a case study to run Sobelow and practice fixing issues. Join us for an enlightening discussion packed full of important insights!
Created my Personal AI Fitness Trainer in 2 Days
In a 2 day spike, I created my own Elixir-based AI Personal Fitness Trainer! The surprising part for me was how useful and helpful I found it. It helps you create a weekly workout plan in line with your goals. Information about you is stored in a local SQLite database. Report on your workouts to your assistant and they log it for you. The assistant can access your stored information and historical workout logs to answer questions and help you on your personal fitness journey! 💪 I put it all into the Elixir LangChain Demo project so you can run it locally yourself! Poke at the code, customize your own fitness trainer to work the way you want! Here’s a write-up and overview of how it works along with links to the project.
https://fly.io/phoenix-files/created-my-personal-ai-fitness-trainer-in-2-days/