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
In episode 173 we learn how to keep our LiveViews fast by using assign_async to fetch data asynchronously.
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!
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
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. 💪
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!
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
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!
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.
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.
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!
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!
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.