Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 20/10/2026jola.devThe time Bluesky tried to kill my serverSome unusually shaped data enraged the Bluesky relays and they proceeded to attempt to murder my server. 001 1
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 15/10/2026jola.devthoughts on standard.sitestandard.site is a huge success as an atproto community lexicon, but there's some stuff we can improve, let's talk about it! 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 13/10/2026jola.devMaking your own atproto backlink indexI built an atproto backlink index using Latch for primitives and Kite for the jetstream, and I sped it up with some neat bloom filter and erlang atomics action. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 06/10/2026jola.devBuilding an atproto link aggregatorAs a little passion project I built an atproto link aggregator service in Elixir and this post goes into some detail about why I'm doing this and how it works. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 02/10/2026jola.devMigrating from 1Password to BitwardenAfter 1Password's recent political statement, I canceled my subscription and switched to Bitwarden. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 22/09/2026jola.devAI is antithetical to learningLLM agents can write a lot of code for you very fast, but they also take away opportunities to learn and grow. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 08/09/2026jola.devMigrating your Bluesky account the hard wayI used the goat command line tool to migrate my main Bluesky account to a new server and survived to tell the tale. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 31/08/2026jola.devCluster singleton patternYou can register a process name globally in Elixir and OTP will ensure it's unique, but there are some surprising edge cases. This shows a pattern for safely defining cluster singletons. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 28/08/2026jola.devcove.town, atproto self-hosted self-hostingcove.town consists of a PDS, a knot, a spindle, and a hold, and is fully built on itself. The source code is hosted on the knot, updates trigger workflows running on the spindle that build container images hosted on the hold, and the accounts that own the services live on the PDS. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 26/08/2026jola.devSpeeding up a Phoenix LiveView web app with a CDNServe your assets on a CDN sub-domain to speed up a Phoenix LiveView web app. All the payoff, none of the effort. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 25/08/2026jola.devSelf-hosting an atproto container registryHow to get the atcr.io hold component up and running for atproto container registry fun. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 23/08/2026jola.devMigrating to the new Tangled knot2Tangled is a Github alternative built on atproto. I've previously shown you how to set up the self-hosted repo server, here I go through migrating to knot2. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 20/08/2026jola.devSelf-hosting and TangledTangled is a Github alternative built on atproto that lets you self-host your own repos and workflows, while still participating in a shared community. Here's how you get set up. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 18/08/2026jola.devSelf-hosting your PDSHow to set up your own atproto Personal Data Server using tranquil-pds and docker compose, walking you through it step by step. 001 1
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 16/08/2026jola.devTaking control of your atproto accountSetting a rotation key on your atproto (Bluesky, Eurosky, etc) account means you can recover it even if the account provider shuts down. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 11/08/2026jola.devNo cost, no valueWhy generating code makes it meaningless, why writing code by hand has value, and why toil is a critical part of the human experience. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 06/08/2026jola.devLatch - an Elixir atproto OAuth libraryIntroducing Latch, an idiomatic elixir atproto OAuth library and client, built for flexibility and correctness. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 04/08/2026jola.devLimited output is a featureGreat startups don't win because they write more code, they win because they think differently. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 29/07/2026jola.devDistributed rate limiter with HRW in ElixirBuilding the classic distributed rate limiter, using the HRW library instead of the traditional ExHashRing. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 28/07/2026jola.devA computer can never be held accountableFor better or for worse the things you create with LLMs are your responsibility, just like with any other tool. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 21/07/2026jola.devElixir Cluster 101A practical guide to clustering your nodes and tracking the cluster state for real use cases. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 14/07/2026jola.devHow to stop Claude from saying load-bearingHack the text output of Claude Code to make life a little bit sillier. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 07/07/2026jola.devLet libraries be librariesA gentle rant on the topic of libraries that run as Elixir applications and why that's an anti-pattern for library design. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 04/07/2026jola.devCI workflows on Tangled for ElixirHow to set up CI workflows on Tangled for Elixir, with specific Elixir and Erlang versions, and a PostgreSQL service. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 29/06/2026jola.devAutomatically syncing your blog to atproto and standard.siteKicking off a little side project for automatically discovering content through blog post feeds and syncing to atproto and standard.site. 100 1
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 15/06/2026jola.devAppreciation for the small webA little love letter to the small web, to the now classic technology of RSS, to the future of atproto, and to the people who share for the joy of sharing. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 09/06/2026jola.devTreating LLMs as programming booksThoughts on an approach for using LLMs effectively for coding without losing engagement and cognitive effort. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 05/06/2026jola.devPublishing your blog to standard.site in ElixirA walkthrough for posting your Elixir/Phoenix blog to Bluesky and the standard.site network, using a small mix task and an atproto client. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 01/06/2026jola.devGenerating OG images in ElixirGenerating OG images for your static pages and blog posts in Elixir 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 25/05/2026jola.devThe social contract of writingAbout the value of genuine writing in a world being drowned in slop. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 21/05/2026jola.devHighest Random Weight in ElixirA description of HRW/rendezvous hashing and the HRW elixir library. 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 17/05/2026jola.devbunnyx: a bunny.net Elixir client libraryA best-practice Elixir library for interacting with the bunny.net API 000 0
Johanna Larsson — Software Engineer & Speaker [Unofficial] @jola.dev.web.brid.gy · 12/05/2026jola.devBuilding for the Joy of BuildingMy path into programming and why I've been obsessed for 20 years. 030 3