Building the classic distributed rate limiter, using the HRW library instead of the traditional ExHashRing.
Or how I stopped worrying and learned to love the ETS
A practical guide to clustering your nodes and tracking the cluster state for real use cases.
aka bikeshedding for great good
A gentle rant on the topic of libraries that run as Elixir applications and why that's an anti-pattern for library design.
How to set up CI workflows on Tangled for Elixir, with specific Elixir and Erlang versions, and a PostgreSQL service.
In the interest of procrastinating on building out the actual features I have left, I decided to tackle the login page. I had started with a DeadView, aka a classic Phoenix controller. Very simple, it's just an input field and a submit button. But the actual login flow takes a second or two, there's a back and forth involved and not every PDS is going to be very fast, you gotta validate everyone is who they say they are, etc. So the result was an awkward wait on submit. I made a small optimizati...
Kicking off a little side project for automatically discovering content through blog post feeds and syncing to atproto and standard.site.
Kicking off a little side project for automatically discovering content through blog post feeds and syncing to atproto and standard.site.
Hi! In the spirit of the atproto community I am going to be writing here about building annot.at. Will post bigger more serious things on my blog at jola.dev and I'll use this more as a daily (except not daily) journal. So, annot.at is the continuation of me adding standard.site atproto integration to my personal blog. The goal of the project is to discover publications and documents, as well as use the blog feed as the mechanism for finding new posts and automatically publishing them to atproto...
How to set up your account in a private community (Bonfire) that isn't enshittified with corporate grift.
How I added standard.site support to this lil ol blog
A walkthrough for posting your Elixir/Phoenix blog to Bluesky and the standard.site network, using a small mix task and an atproto client.
A walkthrough for posting your Elixir/Phoenix blog to Bluesky and the standard.site network, using a small mix task and an atproto client.
Generating OG images for your static pages and blog posts in Elixir
Generating OG images for your static pages and blog posts in Elixir
A description of HRW/rendezvous hashing and the HRW elixir library.
A description of HRW/rendezvous hashing and the HRW elixir library.
A best-practice Elixir library for interacting with the bunny.net API
A best-practice Elixir library for interacting with the bunny.net API
Experiments with getting usable outputs out of local models on a standard Macbook
Experiments with getting usable outputs out of local models on a standard Macbook
Dropping Cloudflare and migrating to bunny.net, starting out with my blog.
Dropping Cloudflare and migrating to bunny.net, starting out with my blog.
Setting up a website using Elixir and Phoenix, leaning on NimblePublisher for the blog posts.
Setting up a website using Elixir and Phoenix, leaning on NimblePublisher for the blog posts.
This article looks at Techno Anarchist and Open Media Network tools that would boost efficiency and productivity in Bonfire workflows. And I will be paraphrasing heavily. As mentioned in a previous TPF post, I plan to experiment with Bonfire and have taken notes for a series of articles. This is the second one. The first...
Neat tricks I've learned while working with Ecto
My take on an internet fridge magnet poetry experience using Elixir, Ash, and LiveView.
JosΓ© Valim, creator of Elixir, dives into functional programming on the Erlang VM and demonstrates the power of Phoenix and Livebook.
Elixir doesnβt provide its own data structures, instead, it uses the ones provided by Erlang
Elixir doesnβt provide its own data structures, instead, it uses the ones provided by Erlang
This article attempts to show some basic patterns for how to use ETS in Elixir or Erlang
This article attempts to show some basic patterns for how to use ETS in Elixir or Erlang
I want to share a simple pattern for setting up HTTP based health checks for Plug/Phoenix applications
I want to share a simple pattern for setting up HTTP based health checks for Plug/Phoenix applications
A walkthrough of Elixir 1.9's new Registry.select/2 function, plus a gentle introduction to how Erlang match specifications work.
A walkthrough of Elixir 1.9's new Registry.select/2 function, plus a gentle introduction to how Erlang match specifications work.
This post was inspired by a thread I participated in on the Elixir forum
This post was inspired by a thread I participated in on the Elixir forum