ThinkingElixir 118: Making Users Anonymous Upon Request
Episode 118 of Thinking Elixir. Honoring a user’s “right to be forgotten” is not only respectful, but it may be a legal requirement. Clément Quaresma joins us to share how their ecto_anon library helps us make a user anonymous. A naive approach at removing a user’s data may corrupt our own database! We dig into how this library works, the problems it solves, and how it might be used for even more than GDPR compliance.
The complete Guide to Upserts with Ecto
Upserts are useful for fire-and-forget updates to your database.Implementing them with Ecto can be tricky. This complete guide explains every step necessary and takes a deep-dive into the limitations and odd behaviours of Upserts.
https://www.peterullrich.com/complete-guide-to-upserts-with-ecto
Elixir vs Ruby in Depth Comparison
Many consider Elixir to be Ruby’s successor, so we decided to settle that. Together with Curiosum’s CTO, Michał Buszkiewicz and experienced Elixir & Ruby Developer, Krzysztof Janiec, we decided to compare the two programming languages.
Search Filters with Ecto Queries
I wrote a blog post about how we have been using Ecto Queries for search / filter forms in web applications. It aims at the same problem as the ransack gem in the rails world, but with less magic. https://www.zweitag.de/blog/search-filters-with-ecto-queries/
flop_phoenix 0.15.0 released
flop_phoenix (components for pagination, sortable tables and filter forms) was updated for live_view 0.18 and phoenix 1.7 - ready for verified routes, more flexibility for building URLs, improved documentation. https://github.com/woylie/flop_phoenix/releases/tag/0.15.0
Green Software Development - is Elixir eco technology?
What is green coding? In this article, we will discuss the principles of green software development and how Elixir can help you write more sustainable code! Sounds intersting? Check out this blog post! https://curiosum.com/blog/green-coding-software-development-energy-efficient-programming-languages
How I deploy my phoenix apps
I wrote down how I currently deploy my phoenix apps. How I setup my server, what scripts I use and finally my Github deploy action, with a little Wireguard in the mix. https://til.verschooten.name/til/2022-09-21/how-i-deploy-my-phoenix-apps
ThinkingElixir 117: PhxLiveStorybook
Episode 117 of Thinking Elixir. A UI Storybook for Phoenix LiveView components? Christian Blavier joins to share what his team created and made OpenSource. The project was even mentioned during Chris McCord’s keynote as possibly becoming part of the Phoenix project. We learn what a UI Storybook is, how it works in a project, and how it helps teams and individuals maintain consistent styles throughout a project.
Fix Process Bottlenecks with Elixir 1.14's Partition Supervisor
In this post, we’ll explore Elixir’s new PartitionSupervisor. We’ll take a look at some code that suffers from the exact bottleneck issue that partitions supervisors are designed to solve. Then, we’ll fix that bottleneck. https://blog.appsignal.com/2022/09/20/fix-process-bottlenecks-with-elixir-1-14s-partition-supervisor
Sonic Pi - Live. Code. Music.
The Sonic Pi project is incredibly cool and I wanted to do something around that. This is the video that came out of it, I’m thrilled with the result :) https://youtu.be/suH_goWVBeA
Music credit, a Sonic Pi example by DJ_Dave.
Sonic Pi uses both Elixir and Erlang btw ;)
Let me know what you think!
8 SaaS Using Elixir and Phoenix in Production
Elixir is gaining in popularity and as a result many SaaS companies are now using Elixir and Phoenix as the basis of their technology stack. Here are some of the most interesting examples.
Debugging Elixir Phoenix with dbg
Elixir 1.14.0 added Kernel.dbg/2 to improve developer experience. Learn how dbg can replace IO.inspect to enhance your debugging workflow.
Telemetry UI
A lot of popular Elixir packages (eg. Phoenix, Oban, Absinthe, Tesla) come with a built-in integration of Erlang’s telemetry system. But for it to actually be useful to you, you have to do something with telemetry events 🙂
Telemetry UI is a package that stores events in PostgreSQL and displays them inside your Phoenix application. The data stays on the same infrastructure and you can control how you display it.
Treating warnings as errors in Elixir's mix compile
Warnings in Elixir are usually an important sign of a problem in the codebase. There is an easy way to make them gone. https://curiosum.com/til/warnings-as-errors-elixir-mix-compile
How to implement a disk cache plugin for Elixir's Req HTTP client?
Req is a great HTTP library, which I use with Mix.install/2 quite a lot now. In this post https://thibautbarrere.com/2022/09/09/implementing-a-disk-cache-for-elixir-req I’m sharing how to implement some caching via the Req plugin system.
Elixir code style, a brief example
A short blog post showing two ways to write a function, and why one style is better than the other.
TIL: Correctly comparing dates in Elixir
Special functions are used to compare dates. With it, you can prepare a comparison based on semantics. Simple functions can solve your problems with incorrect results.
Tracking changes in your Elixir code with the Audit library
“This library has saved my bacon on several occasions.” 🥓 Staff Engineer Guy Argo introduces an #Elixir Audit library to help understand the impact of modifications to large in-memory data structures. https://t.co/pVEkw5Qb9n
ThinkingElixir 116: Remote Development and Elixir
Episode 116 of Thinking Elixir. In episode 110, we talked about, and rejected, the argument for the “End of Localhost Development”. Carter Bryden joins us to share a perspective from the other side, one in favor of remote development. We learn about the benefits to contractors, PR reviews, giving demos, and how containerizing our development environment even improves local development. We learn about the tools, services, and techniques that make it possible. An interesting look into a different way of developing our favorite language!
