Show more

My only "grudge" against Ecto is that the docs suggest using :string in migrations, and then this happens.

My very first validator.

At first I was kind of repelled by the notion of validators in ecto because, as Alexis King teaches us mere mortals, "parse, not validate".

But then I realised that ecto validators don't discard error / success information (see xor_mark_as_required and xor_insert_errors). So I am content.

Oh yeah, baby, nice UX to insert stuff into the database.

Important bit is that we just supplied PK as a string and we let Ecto figure out how to fetch it...

I wish there was a cache layer so that I don't have to query stuff every time I make a changeset...

There isn't much that is similar to a pure joy of using new technology for the first time.

My first insert into an -powered :

Had to look up a hint for "the Goat Puzzle".
So embarrassed, I think I could've solved it, since I've spotted the main element of the puzzle myself.

While thinking about a way for users to control their identity, disclosing nothing by default AND high availability / replication, I came up with the notion of disclosure event logs.

After just a little bit of tinkering with the definition, it turned out that it's getting modelled with existing approach to credentials / claims really well.

I love that immediate positive feedback on design and architecture.

doma.dev/blog is live for 25 days. Here is a rough distribution of visitors by country.

(Thanks, @plausible!)

I'm really bummed out by the fact that doesn't come with a property-based test engine.

Since propex is unstable right now, I write plain stupid unit tests and hate every moment of this bullshit.

URI implementation: one of the few reasons why you might want to have optional values.

Show more
Doma Social

Mastodon server of https://doma.dev.