Elixir development using Podman with VM in Parallels and Shared Folders

We’ve recently started to use containers instead of asdf on Mac for development again, and the setup I’m using is based on podman. We’ve chosen podman because from our perspective it’s easier to use in production when compared to docker, and we wanted to be closer to the production environment on our development machines as well. Since setting this up using Parallels instead of the default QEMU VM’s was rather involved, we’ve summarized all the necessary steps in a blog post for anyone else who’d like to check this setup out.

https://nobilisdata.com/blog/podman_using_parallels_and_shared_folders_for_elixir_development/

Interviewing Tips!

My fellow Elixir-devs (I’ve never grown too fond of “Alchemists”), I know this isn’t the most Elixir of all posts but I’ve seen many people make simple mistakes during hiring processes. And I want to help fix that, so I’ve written a series of posts geared towards programmers about interviewing that I hope y’all will find helpful!

Easy at-home AI with Bumblebee and Fly GPUs

A big barrier to getting started with local AI development is access to hardware. And by “local”, I mean having direct access to a GPU and not going through AI-as-a-Service. Some of us are lucky enough to have a beefy Nvidia GPU, if so, good for you. For the rest of us, we can use a GPU on Fly.io while editing the app on our machine. Sounds crazy? It’s actually really cool, and easy. Check out the ready-to-deploy server app with 3 LLMs setup for your immediate enjoyment.

https://fly.io/phoenix-files/easy-at-home-ai-with-bumblebee-and-fly-gpus/

Thinking Elixir News 196

Episode 196 of Thinking Elixir. This week’s news includes the release of OTP 27.0-rc2 featuring the new json module, Phoenix Live reload’s insightful update, and Chris McCord’s blog post that surfaces server logs directly in your browser console. We’re also discussing the streamlined workflows in Oban Pro 1.4.0, and a deeper discussion on recent Redis licensing changes that have sent ripples through the open-source community. If that’s not enough, we’ve got insights into the refactoring Elixir survey that’s underway and we share some innovative tools like the Livebook Smart Cell Template. Tune in for this and more!

https://podcast.thinkingelixir.com/196

How to Use Flume in your Elixir Application

Let’s learn how to handle background jobs in Elixir with Flume: https://blog.appsignal.com/2024/04/02/how-to-use-flume-in-your-elixir-app.html

How to work with Migrations and how to insert/update data with associations

In this post I am doing an introduction on how to create migrations and how to insert data that has associations with ecto. It is a very detailed post about ecto migrations and changesets. https://thiagoramos.me/articles/how-to-use-migrations-and-insert-data-with-associations-ecto

Understanding quoted expressions, `quote` and `unquote`.

In the second post in my series on Elixir macros, I introduce the concept of a “quoted expression”, and show how to create them using quote and unquote.

https://phoenixonrails.com/blog/elixir-macros-quote-and-unquote

[Podcast] Elixir Wizards S12E02 "Discovery Discoveries" with Alicia Brindisi and Bri LaVorgna

SmartLogic’s PM Alicia Brindisi & VP of Delivery Bri LaVorgna join Elixir Wizards Sundi & Owen for “Discovery Discoveries.” It’s more than a phase—it’s the art of crafting tailored solutions, perfecting client-team synergy, and meticulous documentation.

Does discovery ever really end?

🎧 Listen: https://smr.tl/S12E2DD

📺 Watch: https://youtu.be/7Yu2zZhkZLI

SeedFactory - a toolkit for test data generation

GitHub, Docs

The main idea of SeedFactory is to generate data in tests according to your application business logic (read as context functions if you use Phoenix Contexts) whenever it is possible and avoid direct inserts to the database (as opposed to ex_machina). This approach allows you to minimize testing of invalid states, as you’re not forced to keep complex database structure in your head in order to prepare test data.

Optimum Elixir CI with GitHub Actions

Learn how we approach continuous integration at Optimum:
Optimum Elixir CI with GitHub Actions

Elixir Streams |> ♻️ Refactoring complex `else` clauses in `with` (an anti-pattern)

Love Elixir’s with clause… but it can lead to confusing else statements 😕

In Elixir’s docs, it’s called the “Complex else clauses in with” anti-pattern! ❌

Thankfully, it’s easy to improve that with some refactoring! 🥳 👇

🎥 Elixir Streams |> ♻️ Refactoring complex else clauses in with (an anti-pattern)

Thinking Elixir 195: Migrating from Next.js to Phoenix

Episode 195 of Thinking Elixir. In this compelling episode, we sit down with Ben Reinhart who shares his journey of transitioning from the JavaScript ecosystem, specifically migrating off of Next.js and Vercel, to Elixir and Phoenix, with Fly.io as the new host. Ben discusses his frustrations with the complexity and performance issues he faced, and how the switch to Elixir helped streamline operations and improve the efficiency of his AI-focused product at Axflow. He delves into his strategic choice for leveraging the operational simplicity and real-time features of Phoenix, while also acknowledging trade-offs such as rebuilding front-end components. Join us to explore Ben’s story, learn about the features of Elixir that helped him, and discover how the move has influenced Axflow’s path towards finding product-market fit, and more!

https://podcast.thinkingelixir.com/195

Survey on Refactoring for Elixir

Please answer this survey! https://www.youtube.com/watch?v=axpc7zbEOvE

What is Elixir GenServer

Check our new blog post: https://curiosum.com/blog/what-is-elixir-genserver

Lynx - A Fast, Secure and Reliable Terraform Backend in Phoenix

https://github.com/Clivern/Lynx

Want to run a simple LiveView with as less keystrokes possible?

https://hexdocs.pm/liveview_playground/0.1.1/readme.html

I wanted to give beginners an alternate path on getting started with LiveView that didn’t need a lot of setup.

  1. Copy and paste file.exs
  2. $ elixir file.exs

Done!

Content Security Policy header with Phoenix LiveView

How to set up Content Security Policy header with Phoenix LiveView and support inline styles and scripts with CSP nonces.

https://danschultzer.com/posts/content-security-policy-with-liveview

Fabulous Speaker Line Up at GigCityElixir 2024!

NervesConf and GigCityElixir - May 9-11th! Tickets: GigCityElixir.com Nestled in a valley along the Tennessee River, Chattanooga is known as Gig City for pioneering gigabit internet speed. Our community tells us that Gig City Elixir feels like home, and there’s a reason for that. We mix great speakers and excellent hospitality in a setting built to foster relationships and community.

🔔 NervesConf and GCE Training day both take place on May 9th. Training: Ash Framework (Zach Daniel and Josh Price) Training: Effective Teaching and Training Practices for Software Developers (Andrew Ek and Ruth Kohtz Ek.) NervesConf: Full day of your favorite Elixir IoT people and talks!

So whether you’re looking to deepen your knowledge of Elixir, meet like minded individuals, or simply be inspired by the vibrant tech scene, Gig City is the place to be.

Join us in Chattanooga and be a part of two conferences where programming meets community, innovation, and fun!

Tickets and details: www.gigcityelixir.com May 9-11, 2024 https://youtu.be/r8WFnnxfgYk

Easy empty states for Phoenix LiveView streams using Tailwind

When rendering a collection in LiveView using streams, we commonly want to display a special empty state when the collection is empty. It’s tricky to do this with Elixir constructs like if/else, but fortunately there’s a neat trick we can use to get the desired behavior using Tailwind CSS.

https://phoenixonrails.com/blog/easy-empty-states-for-phoenix-liveview-streams-using-tailwind

Clustering Elixir From Laptop to Cloud

Cluster the Elixir app running on your laptop to an Elixir app running on Fly.io! Can be the same or different app. Step-by-step guide created and a script to help automate the process. Works great for:

  • offloading AI/ML tasks to a machine with a GPU and develop our applications locally as normal
  • develop and debug truly globally distributed applications right from your laptop
  • And, it’s freaking cool!

https://fly.io/phoenix-files/clustering-elixir-from-laptop-to-cloud/

Previous page Next page