Something akin to a blog. Thoughts, photos, and relevant updates are collected here, click a tag to narrow by interest.
π
Weekly Roundup: Apr 18, 2025
Working for a small agency I am fortunate to work on a number of fast moving projects simultaneously. For years I've fai...
Personal Heuristic: Make it Readable
I wrote this post back in January, just dusted it off to post today as I attempt to get back on the blogging horse.
***
...
Not to rush Christmas, but I think I'll try my hand at Advent of Code this year. It will be a good chance to play aroun...
Adding a `soft_delete` to Ecto Multi pipelines
I'm a big fan of `Ecto,` Elixir's database wrapper. The `Multi` library lets you build up a series of operations that ha...
Multi-tenancy with Phoenix and Elixir
There are lots of good places to start with multi-tenancy in Elixir (although I'd recommend Ecto's own docs for either [...
TIL Struct matching in Guards
Not so much a TIL but I always get confused with the proper syntax. You can pattern match on a struct and use it in a gu...
TIL UUIDv4 vs UUIDv7
I've always run with UUID v4 because it's the default for the `Ecto.UUID` library in Elixir. However a coworker recommen...
TIL INSERT INTO with SELECT constraints
In the past month I've had to write a lot of SQL to migrate a system and split existing "locations" into tenants ie. mig...
Today I Learned ~D[2024-01-03]
You can use Erlang's `tc` function to see how many microseconds a function takes. For example, say you were curious if ...