The Curious Engineer

All blogs / Elixir / Erlang

jola.dev

jola.dev

Johanna Larsson is a software engineer, engineering leader, writer, and speaker with many years of experience building products and leading teams.

Elixir / ErlangSoftware / engineering practiceEngineering management / careers

’19’20’21’22’23’24’25’26
Posts
52 from 8 Apr 2019 to 20 Oct 2026
Posting
weekly (38 in the last year)
Kind
personal blog
Feed
https://jola.dev/rss.xml

2026 38

  1. The time Bluesky tried to kill my server
  2. thoughts on standard.site
  3. Making your own atproto backlink index
  4. Building an atproto link aggregator
  5. Migrating from 1Password to Bitwarden
  6. AI is antithetical to learning
  7. Migrating your Bluesky account the hard way
  8. Cluster singleton pattern
  9. cove.town, atproto self-hosted self-hosting
  10. Speeding up a Phoenix LiveView web app with a CDN
  11. Self-hosting an atproto container registry
  12. Migrating to the new Tangled knot2
  13. Self-hosting and Tangled
  14. Self-hosting your PDS
  15. Taking control of your atproto account
  16. No cost, no value
  17. Latch - an Elixir atproto OAuth library
  18. Limited output is a feature
  19. Distributed rate limiter with HRW in Elixir
  20. A computer can never be held accountable
  21. Elixir Cluster 101
  22. How to stop Claude from saying load-bearing
  23. Let libraries be libraries
  24. CI workflows on Tangled for Elixir
  25. Automatically syncing your blog to atproto and standard.site
  26. Appreciation for the small web
  27. Treating LLMs as programming books
  28. Publishing your blog to standard.site in Elixir
  29. Generating OG images in Elixir
  30. The social contract of writing
  31. Highest Random Weight in Elixir
  32. bunnyx: a bunny.net Elixir client library
  33. Building for the joy of building
  34. Running local models on an M4 with 24GB memory
  35. How to hit your Claude weekly limit so you can go outside and touch grass
  36. Dropping Cloudflare for bunny.net
  37. Building a blog with Elixir and Phoenix
  38. Stay in the Loop: How I Actually Use Claude Code

2025 6

  1. Ruthless Prioritization: The Path to Delivery
  2. Estimates Are More Valuable Than You Think
  3. When Software Engineers Think They Need More Focus Time
  4. If the Goal is Resiliency, Defensive Programming is Your Enemy
  5. The Magic of Daily Pull Requests: Why Smaller is Better
  6. Building a Distributed Rate Limiter in Elixir with HashRing

2020 2

  1. Announcing Hex Diff
  2. Building Hex Diff

2019 6

  1. Push-based GenStage
  2. The Erlang :queue module in Elixir
  3. Patterns for managing ETS tables
  4. Health checks for Plug and Phoenix
  5. The new `Registry.select/2` and what match specs are
  6. Elixir String Processing Optimization