home.social

#ecto — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #ecto, aggregated by home.social.

fetched live
  1. TAM and OMN tools for potential Bonfire workflows

    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 is here if you inexplicably missed it. 😉

    I have even reserved the […]

    https://newsletter.mobileatom.net/tam-and-omn-tools-for-potential-bonfire-workflows/ #ActivityPub #Codeberg #docker #Ecto #elixir #ExUnit #Forgejo #Framatoolbox #GIMP #Joplin #LiveView #Markdown #Mosaic #OmniTools #OpenProject #Phoenix #SurfaceUI #Vert #xWiki
  2. TAM and OMN tools for potential Bonfire workflows

    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 is here if you inexplicably missed it. 😉

    I have even reserved the […]

    https://newsletter.mobileatom.net/tam-and-omn-tools-for-potential-bonfire-workflows/ #ActivityPub #Codeberg #docker #Ecto #elixir #ExUnit #Forgejo #Framatoolbox #GIMP #Joplin #LiveView #Markdown #Mosaic #OmniTools #OpenProject #Phoenix #SurfaceUI #Vert #xWiki
  3. Not wasting more of my time on this. Here's the object taken from Pleroma's error

    {
      actor: "https://app.wafrn.net/fediverse/blog/alexia",
      attributedTo: "https://app.wafrn.net/fediverse/blog/alexia",
      content: "<p>is there something I can use instead of the relatively heavy steam client to launch my (already installed) steam games?</p>\n<p>tbh I'm not fond of launching a game externally and then having to wait for steam to start, give me 3 different windows…</p>",
      context: "https://app.wafrn.net/fediverse/post/76453a11-767e-412e-a88a-46432d496904",
      id: "https://app.wafrn.net/fediverse/post/76453a11-767e-412e-a88a-46432d496904",
      published: "2025-10-12T08:59:19.038Z",
      to: ["https://app.wafrn.net/fediverse/blog/alexia/followers", "https://www.w3.org/ns/activitystreams#Public"],
      type: "Note",
      updated: "2025-10-12T08:59:22.539Z"
    }
    

    And here's the error.

    [error] Object rejected while fetching https://app.wafrn.net/fediverse/post/76453a11-767e-412e-a88a-46432d496904 {:transmogrifier, {:error, {:validate, {:error, #Ecto.Changeset<action: :insert, changes: %{actor: "https://app.wafrn.net/fediverse/blog/alexia", attributedTo: "https://app.wafrn.net/fediverse/blog/alexia", content: "<TRIMMED>", context: "https://app.wafrn.net/fediverse/post/76453a11-767e-412e-a88a-46432d496904", id: "https://app.wafrn.net/fediverse/post/76453a11-767e-412e-a88a-46432d496904", published: "2025-10-12T08:59:19.038Z", to: ["https://app.wafrn.net/fediverse/blog/alexia/followers", "https://www.w3.org/ns/activitystreams#Public"], type: "Note", updated: "2025-10-12T08:59:22.539Z"}, errors: [url: {"is invalid", [type: Pleroma.EctoType.ActivityPub.ObjectValidators.BareUri, validation: :cast]}], data: #Pleroma.Web.ActivityPub.ObjectValidators.ArticleNotePageValidator<>, valid?: false, ...>}}}}
    
  4. Thrilled to offer our newest distribution title: Northwind Elixir Traders by Isaak Tsalicoglou

    Not your typical programming tutorial. This immersive, project-based adventure reimagines the classic Northwind database, guiding you through Ecto’s migrations, changesets, and queries to model data with real-world edge.

    pragprog.com/titles/d-itnet?ut
    #Ecto #ElixirLang #Elixir #SQLite

  5. Thrilled to offer our newest distribution title: Northwind Elixir Traders by Isaak Tsalicoglou

    Not your typical programming tutorial. This immersive, project-based adventure reimagines the classic Northwind database, guiding you through Ecto’s migrations, changesets, and queries to model data with real-world edge.

    pragprog.com/titles/d-itnet?ut

  6. Developers love to *do*, not just read. Northwind Elixir Traders is just that! Ditch the “happy path” with an immersive, exploratory, memorable, project-based tutorial. 500 pages of hands-on mentorship in Elixir, Ecto, and SQLite.

    Northwind Elixir Traders
    by Isaak Tsalicoglou
    pragprog.com/titles/d-itnet?ut

    #elixirlang #Ecto #Beam

  7. Developers love to *do*, not just read. Northwind Elixir Traders is just that! Ditch the “happy path” with an immersive, exploratory, memorable, project-based tutorial. 500 pages of hands-on mentorship in Elixir, Ecto, and SQLite.

    Northwind Elixir Traders
    by Isaak Tsalicoglou
    pragprog.com/titles/d-itnet?ut

  8. NEW! A Leanpub Frontmatter Podcast Interview with Isaak Tsalicoglou, Author of Northwind Elixir Traders: Learn Elixir and database modeling with Ecto and SQLite, all in one project | Watch here: youtu.be/zeUVFt82UG4 #books #ElixirLang #FunctionalProgramming #IndieHacker #Ecto #SQLite #SoftwareDevelopment #OpenSource #FullStackDev #LearnToCode #LeanpubPodcast

  9. NEW! A Leanpub Frontmatter Podcast Interview with Isaak Tsalicoglou, Author of Northwind Elixir Traders: Learn Elixir and database modeling with Ecto and SQLite, all in one project | Watch here: youtu.be/zeUVFt82UG4 #books #ElixirLang #FunctionalProgramming #IndieHacker #Ecto #SQLite #SoftwareDevelopment #OpenSource #FullStackDev #LearnToCode #LeanpubPodcast

  10. Rebuilding everything in order to apply a migration to a database is so '90s when you already have #Ecto in mind... 🙄
    #Microsoft #EfCore

  11. Rebuilding everything in order to apply a migration to a database is so '90s when you already have #Ecto in mind... 🙄
    #Microsoft #EfCore

  12. Ecto’s fragments still feel like Elixir

    But what I also really love is that if I want to eject out and write plain SQL for a specific part, it still feels like Elixir, because everything else stays the same—it’s just a tiny fragment/1 that uses safe variable interpolation. And it turns out that Ecto.

    Tags: #ecto, #elixir, #sql

    via Pocket ift.tt/BVUuop1

    February 17, 2025 at 06:25PM

  13. Ecto’s fragments still feel like Elixir

    But what I also really love is that if I want to eject out and write plain SQL for a specific part, it still feels like Elixir, because everything else stays the same—it’s just a tiny fragment/1 that uses safe variable interpolation. And it turns out that Ecto.

    Tags: #ecto, #elixir, #sql

    via Pocket ift.tt/BVUuop1

    February 17, 2025 at 06:25PM

  14. Optimizing batch operations with Ecto

    We had a feature in a product that required us to insert and update lots of data on a user action. Here is how we transformed 1000 SQL queries into 1. The way the code is structured is simple: An operations table and a translations table.

    Tags: #ecto, #elixir

    via Pocket ift.tt/DeLJXAa

    February 11, 2025 at 11:42AM

  15. Ecto Datetime With Time Zone

    While implementing a feature to store event dates, I stumbled upon what I initially thought was a straightforward task: saving future dates in a database along with their time zones. How hard could it be, right? Turns out, it’s not so simple.

    Tags: #ecto, #elixir, #elixirlang

    via Pocket ift.tt/THrBwKm

    February 03, 2025 at 05:07PM

  16. Search Filters with Ecto Queries

    We have also written an accompanying Livebook for this article that includes the final code for you to play around with.

    Tags: #ecto, #elixir, #liveview, #myelixirstatus, #phoenix

    via Pocket ift.tt/NR2p0El

    January 30, 2025 at 11:15AM

  17. Sentry tracing for Elixir/Phoenix/Ecto update:

    ✅ Live view traces
    ✅ Ecto db statements in traces

    Getting there!

    #MyElixirStatus #observability #phoenixframework #ecto #elixir

  18. Sentry tracing for Elixir/Phoenix/Ecto update:

    ✅ Live view traces
    ✅ Ecto db statements in traces

    Getting there!

    #MyElixirStatus #observability #phoenixframework #ecto #elixir

  19. Needle also comes with two other homegrown libraries: needle_ulid which provides a ULID datatype for Ecto (using ex_ulid) and related helpers, and exto which enables extending Ecto schema definitions in config (especially useful for adding Mixin associations to different schemas)…
    ---
    📣 🏴‍☠️ Camp! expedition: We have some open bounties to improve bonfire performance :
    Read more: indieweb.social/@bonfire/11294
    Repository: github.com/bonfire-networks/bo
    #ecto #myElixirStatus #elixir
    6/6

  20. Needle also comes with two other homegrown libraries: needle_ulid which provides a ULID datatype for Ecto (using ex_ulid) and related helpers, and exto which enables extending Ecto schema definitions in config (especially useful for adding Mixin associations to different schemas)…
    ---
    📣 🏴‍☠️ Camp! expedition: We have some open bounties to improve bonfire performance :
    Read more: indieweb.social/@bonfire/11294
    Repository: github.com/bonfire-networks/bo
    #ecto #myElixirStatus #elixir
    6/6

  21. Besides regular schemas with universal foreign keys (Pointable), Needle provides Virtual for schemas that don’t have any fields on their own, and Mixin for storing common fields that can be re-used by multiple Pointables or Virtuals (eg. if you have multiple types that all have a name/description/body, they can share those and optionally the associated changesets and other logic).

    #ecto #myElixirStatus #elixir

    5/6

  22. Besides regular schemas with universal foreign keys (Pointable), Needle provides Virtual for schemas that don’t have any fields on their own, and Mixin for storing common fields that can be re-used by multiple Pointables or Virtuals (eg. if you have multiple types that all have a name/description/body, they can share those and optionally the associated changesets and other logic).

    #ecto #myElixirStatus #elixir

    5/6

  23. But what if you don’t just have posts that can be liked, but also videos, images, polls, etc, each with their own table, but probably do not want to have to add liked_video_id, liked_image_id, ad infinitum?

    We needed the flexibility to have a foreign key that can reference any referenceable object. We call our system Needle.

    #ecto #myElixirStatus #elixir
    4/6

  24. But what if you don’t just have posts that can be liked, but also videos, images, polls, etc, each with their own table, but probably do not want to have to add liked_video_id, liked_image_id, ad infinitum?

    We needed the flexibility to have a foreign key that can reference any referenceable object. We call our system Needle.

    #ecto #myElixirStatus #elixir
    4/6

  25. A simple example would be a blogging app, which might have a post table with author field that references the user table.

    A social network, by contrast, usually requires a graph of objects, meaning objects need to be able to refer to other objects by their ID without knowing their type.

    A simple example would be likes, you might have a likes table with liked_post_id field that references the post table.

    #ecto #myElixirStatus #elixir
    3/6

  26. A simple example would be a blogging app, which might have a post table with author field that references the user table.

    A social network, by contrast, usually requires a graph of objects, meaning objects need to be able to refer to other objects by their ID without knowing their type.

    A simple example would be likes, you might have a likes table with liked_post_id field that references the post table.

    #ecto #myElixirStatus #elixir
    3/6

  27. Needle is an #elixir library that we have developed to provide universal foreign keys, shared data fields, and virtual & configurable schemas for Ecto.

    🔗 Read the docs: hexdocs.pm/needle/readme.html
    💬 Join the discussion on Elixir Forum: elixirforum.com/t/needle-unive

    #ecto #myElixirStatus
    1/6

  28. Needle is an #elixir library that we have developed to provide universal foreign keys, shared data fields, and virtual & configurable schemas for Ecto.

    🔗 Read the docs: hexdocs.pm/needle/readme.html
    💬 Join the discussion on Elixir Forum: elixirforum.com/t/needle-unive

    #ecto #myElixirStatus
    1/6

  29. @maikel yeah!
    If you’re interested in more Ecto stuff, Dashbit wrote a « Little Ecto Cookbook » dashbit.co/ebooks/the-little-e too btw

    #MyElixirStatus #Elixir #Ecto

  30. @maikel yeah!
    If you’re interested in more Ecto stuff, Dashbit wrote a « Little Ecto Cookbook » dashbit.co/ebooks/the-little-e too btw

    #MyElixirStatus #Elixir #Ecto

  31. Soft deletes with Ecto and PostgreSQL

    One of our clients at Dashbit has recently asked us what is the best way to implement soft-deletes with Ecto.

    Tags: #ecto, #postgres, #postgresql

    via Pocket ift.tt/gXvkM12

    August 16, 2024 at 06:02PM

  32. How to update multiple records with different values in Ecto.Repo.update_all

    In this particular case, I was dealing with a table that leveraged parent_id to model a basic parent-child hierarchy. Through some larger business logic, I end up with a list of tuples [{1, "new root"}, {2, "Child 1"}, {3, "Child 2}] that essentially maps id => new name.

    Tags: #ecto, #elixir, #postgres, #postgresql, №удшчшк

    via Pocket ift.tt/5zNAP0i

    August 09, 2024 at 02:54PM

  33. How to update multiple records with different values in Ecto.Repo.update_all

    In this particular case, I was dealing with a table that leveraged parent_id to model a basic parent-child hierarchy. Through some larger business logic, I end up with a list of tuples [{1, "new root"}, {2, "Child 1"}, {3, "Child 2}] that essentially maps id => new name.

    Tags: #ecto, #elixir, #postgres, #postgresql, №удшчшк

    via Pocket ift.tt/5zNAP0i

    August 09, 2024 at 02:54PM

  34. I been slowly utilizing instead of raw . 😅

    So far, it makes sense when doing analytical jobs. But for language support, it is far more natural to use DSL features made for languages like in . 😎

    prql-lang.org/book/

  35. I been slowly utilizing #prql instead of raw #sql. 😅

    So far, it makes sense when doing analytical jobs. But for language support, it is far more natural to use DSL features made for languages like #ecto in #elixir. 😎

    prql-lang.org/book/

  36. The talk I gave at #CodeBEAM Europe 2023 is now available on Youtube.

    It shows how to build a DSL parser with #NimbleParsec one piece at a time, building an AST in the process and then compiling it to an #Ecto query.

    #myElixirStatus #weBEAMTogether @elixir

    youtube.com/watch?v=T4komUAGMp

  37. In case you wonder what's my preferred stack to build services right now, it's as follows:

    - #Elixir runs the system itself. No to #Phoenix, #Ecto, yes to #Plug, #Commanded.

    - #Rust does the business-logic heavy-lifting. Normally single-threaded workers.

    - #Typescript with #ReactJS and #Jotai does user-facing computations.

    - #ETS for data views, #PostgreSQL for immutable history of the events and other data that is only INSERTed, never UPDATEd.

    * * *

    I am planning to see if I can replace #Elixir with #Purerl when I have the time.

  38. It took me a while to sort out how to implement multi-tenancy the way I needed/wanted it in my Phoenix/Elixir apps, so I wrote up a giant post on it. I'm still new at this stack. Feedback/corrections are welcome!

    erraticbits.ca/post/2024/phoen

    #phoenix #elixir #ecto #programming