Thinking Elixir 199: Websockets' Late Hero and Elixir's Fresh Updates

Episode 199 of Thinking Elixir. In this episode, we talk about the eagerly awaited Elixir 1.17.0-dev changelog, the exciting ExDoc v0.32 release, and the slightly amusing declaration of Cloudflare playing the websocket hero – about 9 years after Phoenix neatly demoed 2 million concurrent connections to the world. We also explore potential performance improvements with Ecto’s support for unlogged tables and how PragProg’s new Elixir book is shaping up as a must-read for DevOps enthusiasts. But that’s not all, we also touch on the launch of a constraint solver in Elixir, a nifty Livebook visualization tip, and more! Plus, don’t miss out as Mark, Tyler, and David also share insights into their current projects, ranging from tackling Elixir mock libraries to the latest in the tech conference scene and educational initiatives in the Erlang ecosystem.

HighlanderPG: Use Postgres Advisory Locks to run a process just once in your cluster

I released HighlanderPG this week to solve the problem “how to run a process on just one node”. It is a follow-up / sister library to the Highlander library and it uses Postgres Advisory Locks.

The package

Read the blog post

Generate PDFs of Pages Behind Auth

The big wigs want PDFs. and Lots of them. Unfortunately, lots of the good info is behind authentication. How can we render a PDF of a page behind Auth?

What’s the fix? About 10 lines of Elixir!

The post:

The tweet:

Thinking Elixir 198: Cade Gets the Last Word

Episode 198 of Thinking Elixir. This week’s show covers exciting updates in the Elixir world, including the peek at what’s coming with Elixir v1.17.0’s new “Duration” and “shift” features. We’ll also dive into the impressive Kino Benchee integration for Livebook, showcasing benchmarking visualizations. Not to be missed is the release of a fitting Phoenix emoji 🐦‍🔥 that’s set to ignite your dev conversations, as well as the announcement of Ash Framework’s v3 Release Candidate. Amidst these powerful tools and features, there’s an essential shift in our hosting lineup; Cade will discuss his decision to step back from the show due to the arrival of a new member in the family. Make sure to tune in for these stories, valuable Elixir tips, intriguing alternatives to Redis, and more!

Elixir Streams |> 2 Helpers to Keep Your Pipelines Flowing! 😎

Elixir code tends to be pipe-friendly. But sometimes that fails. You have a pesky break in your pipeline!

Here are 2 helpers that can help you keep your pipeline flowing!

👉 Elixir Streams |> 2 Helpers to Keep Your Pipelines Flowing! 😎

How to handle file uploads using Trix rich-text editor.

This is an article covering how to handle local and external uploads using the Trix rich-text editor. Since it seems that this package is used in the community, I figured I would write a small piece on handling attachments.

Thinking Elixir News 197

Episode 197 of Thinking Elixir. In this episode, we’re diving into the fascinating world of at-home AI with a ready-to-deploy project harnessing Bumblebee and Fly GPUs, unraveling the tale of how an Xz backdoor catastrophe was narrowly sidestepped, and highlighting the power of customizing your Elixir IEx environment. We’ll also touch upon the eager anticipation for ElixirConf EU, taking place in Lisbon, where innovations in vehicular tech meet Elixir, and the upcoming NervesConf US – a prime event for embedded systems enthusiasts. Tune in for these buzzworthy topics and more!

Segregate Responsibilities with Elixir Commanded

Explore how Elixir’s Commanded library revolutionizes application development through CQRS and Event Sourcing

Trainings at GigCityElixir 2024

Two excellent trainings at the GCE conference this year on May 9th-
Ash 3.0: The Fast Track to Full Stack (Trainers: Zach Daniel, Josh Price) and Effective Teaching and Training Practices for Software Developers (Trainers: Andrew Ek and Ruth Kohtz Ek)

Head to for details and tickets.

Garmin API Client

Library for interacting with Garmin’s API client. Fetch activities, steps, and more. There’s a video in README of me using it in #LiveBook.

Elixir Streams |> 🤔 and/or Vs. &&/||. Which to use?

Someone recently asked me which to use: and/or OR &&/||? Decided to make a short video about it.

Though they’re similar in many ways, they’re not the same! Here are some useful differences and some pitfalls. 👇

Elixir Streams |> 🤔 and/or Vs. &&/||. Which to use?

Nerves Meetup

The next Nerves embedded systems meetup is Wednesday, April 24th! This will be a social gathering to hang out with other Elixir/embedded engineers, share projects, ask questions, and get help! RSVP here:

Elixir + Phoenix: How to Raise Custom HTTP Error Responses in Your REST API

This blog post shows how, by adding a few lines of code, you can return a custom HTTP error response (with status code and custom message/payload) in your Elixir + Phoenix REST API, at any time in the request-response lifecycle.

Phoenix admin frameworks - a very subjective evaluation

I needed to add a small admin interface to a webapp I’m making. See how I got there, and why I decided on using Kaffy in the end.

Livebook with Ecto SQLite and migrations example!

Elixir Enthusiasm: Insights from Senior Software Engineer Eduardo Borsa

Join Professor Adolfo Neto in this episode of the podcast as he delves into the world of Elixir with Eduardo Borsa, a Senior Software Engineer at Loomis, Sayles & Company. Eduardo shares his journey into software engineering and his early encounters with Elixir, highlighting the factors that sparked his interest in the language. As they discuss Eduardo’s role at Loomis, Sayles & Company, listeners gain insights into the projects Eduardo is involved in and the technologies he finds both exciting and challenging. Moreover, Eduardo explores the symbiotic relationship between industry work and education, drawing from his experiences with ELXPRO to provide a unique perspective. Throughout the conversation, Eduardo offers recommendations for staying abreast of developments in the field, from books and blogs to podcasts and courses.

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.

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 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.

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!

Next page