A bit of synthesis about “derived values” or “computed properties” in liveview : Lucas Sifoni - Computed properties in Liveview : a pure approach . A bit opinionated but we already have a lot of tools in Elixir to build data in layers if we wish to do so and liveview is to me orthogonal to that concern.
Learning Elixir: Article Series
I’ve started a series of articles about Elixir on dev.to. My latest piece covers Anonymous Functions - exploring creation, capture syntax, closures, and best practices.
Check it out: Learning Elixir: Anonymous Functions
I’m learning a lot by writing these articles, researching, and expanding my knowledge.
Learning Elixir: Article Series
I’m continuing my series of articles about Elixir on dev.to. My latest piece explores Named Functions - covering module organization, pattern matching, function clauses, and documentation techniques.
The article includes practical examples of:
- Creating and organizing named functions
- Working with function clauses and pattern matching
- Understanding function arity and naming conventions
- Implementing public vs private functions
- Using module attributes and compile-time computation
Check it out: Learning Elixir: Named Functions
Contributing to Elixir Documentation: A Guide for First-time Contributors
Hi everyone!
I’ve published a beginner-friendly guide on making your first contribution to Elixir through documentation improvements:
Contributing to Elixir Documentation: A Step-by-Step Guide
The article walks through the entire process from fork to PR with a practical example of fixing Markdown formatting. Documentation contributions are a perfect starting point for newcomers who want to get involved in the Elixir community.
Hope this helps anyone looking to make their first open-source contribution!
Learning Elixir: Article Series
I’m continuing my series of articles about Elixir on dev.to. My latest piece explores Pattern Matching in Functions - covering how to write elegant, declarative code by using function clauses instead of traditional conditionals.
The article includes practical examples of:
- Defining multiple function clauses for the same function
- Matching on different data structures (tuples, lists, maps)
- Using guards to extend pattern matching capabilities
- Destructuring complex data structures directly in function parameters
- Implementing common design patterns with pattern matching
- Following best practices for maintainable pattern-matched functions
Check it out: Learning Elixir: Pattern Matching in Functions
I’ve updated HTTP caching libraries with support for stale-if-error
and stale-while-revalidate
and wrote a summary about it:
I’ve written my first Elixir blog post Lazy Combinations in Elixir. I hope you enjoy it!
Wrote this article extending my previous one on GraphQL in Elixir using Absinthe - Automated Persisted GraphQL Queries with Absinthe and Elixir
We have a new blog post - Integrate frontend frameworks into your Phoenix LiveView app.
Check this out
Embed React, Svelte, or Vue in Phoenix LiveView Without Sacrificing Elixir Simplicity | Curiosum
New blog: “A Visual Tour of Phoenix’s Updated ‘magic link’ Authentication Code Generator”
With Phoenix 1.8, the authentication code generator inside phx.gen.auth
has been revamped, favoring an emailed ‘magic link’ authentication flow.
In this blog post, I’ll give a visual tour of how this looks to the user, what the core schemas/contexts look like, and I’ll sprinkle in some personal commentary as we go. elixirlang
Hey everyone!
We just open-sourced Elixir Observer a tool we built to make it easier to explore and evaluate Elixir packages. It offers a cleaner UI, some package health insights, and quick links to docs, repos, and more.
You can read more on our announcement blog post.
Learning Elixir: Article Series
I’m continuing my series of articles about Elixir on dev.to. My latest piece explores The Pipe Operator - covering how to transform nested function calls into elegant, readable pipelines that flow naturally from left to right.
The article includes practical examples of:
- Understanding the first argument rule and basic pipe mechanics
- Building simple transformations and working with multiple arguments
- Creating complex data transformation pipelines
- Combining pipes with pattern matching and control flow
- Avoiding common pitfalls (wrong argument position, side effects, overuse)
- Advanced techniques using
then
andtap
functions - Real-world API request processing examples
- Best practices for designing pipe-friendly functions
This foundational operator is a cornerstone of idiomatic Elixir code, making data transformations explicit and sequential while dramatically improving code readability and maintainability.
Check it out: Learning Elixir: Pipe Operator
Check our new blog post - how to use Elixir and Phoenix to import and analyze Google Sheets data.
Last summer I migrated 4 year old production app to a multi-tenant architecture. After I finished the project I wrote up my thoughts but sat on it forever (I struggle to proof-read). This is the post on how we used Ecto.Repo
behaviours such as prepare_query/3
to provide customers subdomains and tenancy via Postgres schemas. I’d be interested in hearing your feedback:
(website is an ongoing work in progress lol)
Two new posts from me, both about working with nested forms in LiveView.
The Phoenix docs give a basic explanation of how to render nested inputs with <.inputs_for />
, but in the real world I’ve had some use cases that go slightly beyond the basic behaviour described in the docs.
I couldn’t find any other explanation online for how to achieve these things, so I wrote it up:
If anyone else has hit anything they’ve struggled with wrt nested forms and <.inputs_for>
, please let me know! It might make a good topic for another post.
We’ve published a quick summary of OpenAPI DSLs in Elixir – covering OpenAPI Spex, PhoenixSwagger, and OpenAPI.
Why DSLs for OpenAPI Are Slowing You Down | Curiosum
Useful if you’re looking for the best way to generate and manage API documentation in your Elixir projects.
I wrote a guide to SQS message ingestion with GenStage:
While it can be done out-of-the-box with Broadway, learning the fundamentals of GenStage is well worth it. Enjoy!
I’ve written a bit about my use of hot code loading to modularize my monolith, and the benefits I get from that. I’ve thought about this a lot over the last three years and failed to think of a simpler alternative path to achieve the same constraints, given the capabilities of our platform.. maybe someone will ?
We’ve just published a new article about the latest updates to Permit – authorization library for Elixir. In the article, Michał, our CTO expands on the topic he presented at ElixirConf EU and explains how Permit helps manage access control in Elixir projects.
Permit Authorization Library Updates and GraphQL Integration Debut | Curiosum
These are fairly niche, but I’m writing about rewriting my old guitar/music-related passion project, Glorious Voice Leader, in Elixir:
Generating Musical Scales - Lots list manipulation to generate arbitrary musical scales based on a formula, spelling, and root note.
Scales as Multipermutations of 0 and 1 into Twelve Places - Generating all possible scale formulas to write a property test for the solution outlined above.