Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 46
  1. When I set up my main Bluesky account, @jola.dev, I signed up through Bluesky.

  2. Continuing the series on distributed Elixir, let’s talk about how to safely run a single instance of a process in a cluster.

  3. A while ago I shared cove.town as an experiment with atproto self-hosting.

  4. I’ve written before about using bunny.net as a CDN for this blog, where I basically just cache everything, because it’s a static blog.

  5. This is a part of a series of blog posts on self-hosting atproto components.

  6. Tangled are in the process of migrating to the new knot implementation, knot2.

  7. Following the blog post on how to self-host a PDS (Personal Data Server) for atproto, having your accounts live on your own server, while still being able to interact with apps like Bluesky and pckt.blog, I wanted to write a little about how to do the same

  8. I take a lot of pleasure in running my own services.

  9. In atproto backed services, like Bluesky, your identity and all of your data lives in your repo on your PDS (Personal Data Server).

  10. No cost, no value

    “The value of a thing sometimes lies not in what one attains with it, but in what one pays for it - what it costs us." - Friedrich Nietzsche LLMs are incredible tools for generating code, and the frontier models can often build complete end to end apps wi…

  11. As part of building a service for automatically publishing blog posts from RSS feeds into atproto's standard.site lexicon, I implemented atproto OAuth for logging in and getting access tokens to publish for the user.

  12. aka the LLM agent productivity boost is a trap As the tech startup scene continues to find more and more advanced ways to use LLM agents to build software, complete tasks, do research and marketing, and anything in-between, I’m wondering if we’re losing t…

  13. This is a continuation of Elixir Cluster 101.

  14. IBM training manual from 1979 When LLMs were really hitting their stride I started experimenting with them, like many others, to see where they could help me.

  15. Elixir Cluster 101

    One of the main super powers of Elixir (and other BEAM languages) is the built-in functionality for clustering nodes and communicating transparently across the cluster.

  16. Absolutely ripping your hair out reading Claude referring to everything as “honest takes” and "load-bearing seams"?

  17. My Elixir library pet peeve: application.ex.

  18. Tangled is a Github competitor built on top of atproto.

  19. In a previous post I wrote about publishing blog posts using the new standard.site lexicon on atproto, which makes your content discoverable using readers like Standard Reader, and the originators of the lexicon, pckt, Offprint, and Leaflet.

  20. I’ve increasingly been introducing the small web to my daily reading.

  21. LLMs can often perform localized miracles, quickly building something that works, or at least gives the appearance of working.

  22. standard.site is an AT Protocol schema for long-form publishing that lets blogs expose their posts as records, so readers, indexers, and Bluesky can find and render them across the network.

  23. I recently added per-page OG images to this blog and it was less complicated than I expected.

  24. LLMs are making inroads into just about every industry on the planet, they’re everywhere now.

  25. Consistent hashing is a common building block for distributed Elixir and enables fairly low complexity and high value design patterns, like the distributed rate limiter or cache.

  26. bunny.net is a CDN service provider with lots of extra bells and whistles, most similar to Cloudflare in feature set, but maintained by a European company.

  27. My path into coding wasn’t straightforward, it didn’t start with formal education or learning from friends or family.

  28. I’ve been experimenting with running local models on and off for a bit and I’ve finally found a setup that seems to work reasonably.

  29. Like much of the tech community, I haven’t slept since Claude 4.0 came out.

  30. TL;DR my motivation and experience for moving my blog from Cloudflare to bunny.net I’ve been a long time Cloudflare user.

  31. TL;DR: it’s an Elixir app using Phoenix server side rendered pages, with the blog post pages generated from Markdown using NimblePublisher.

  32. tl;dr There are only two modes: planning and executing.

  33. Disclaimer: This blog post was written in 2025 during a time when I experimented with LLM-assisted writing.

  34. Disclaimer: This blog post was written in 2025 during a time when I experimented with LLM-assisted writing.

  35. Disclaimer: This blog post was written in 2025 during a time when I experimented with LLM-assisted writing.

  36. Disclaimer: This blog post was written in 2025 during a time when I experimented with LLM-assisted writing.

  37. Disclaimer: This blog post was written in 2025 during a time when I experimented with LLM-assisted writing.

  38. This blog post was published on AppSignal: https://blog.appsignal.com/2025/02/04/building-a-distributed-rate-limiter-in-elixir-with-hashring.html

  39. Building Hex Diff

    I wanted to give some insight into the Hex Diff project, how it works, and some issues we ran into on the way.

  40. Announcing Hex Diff

    NOTE: this article was originally posted on the Hex blog.

  41. Push-based GenStage

    GenStage is a pull-based system, where consumers pull events from the producers, and most of the documentation describes this.

  42. Elixir doesn’t provide its own data structures, instead, it uses the ones provided by Erlang.

  43. This article attempts to show some basic patterns for how to use ETS in Elixir or Erlang, working around the limitations and giving you some examples of how to use them effectively in your own codebase.

  44. I want to share a simple pattern for setting up HTTP based health checks for Plug/Phoenix applications.

  45. The Elixir 1.9 changelog includes a new function for registries, reasonably overshadowed by the new release task and better config handling.

  46. Update: Since writing this post I’ve learned a lot.