My very first #ecto 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...
While thinking about a way for #doauth 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.
https://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 #elixir 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.
Hot take: calling protocols like CHAP "authentication" protocols just because they prevent MITM (frontrunning) and replays, is misleading and yields a ton of vulnerable software.
People at best think of authentication as something to do with identity, not as of a way to validate integrity of an API request.
I'm currently making a CHAP-inspired implementation, and I think, I'm managing to document it well enough without claiming that it's an "authentication" solution.
Vettel is back, baby! Really hoping for a good performance this season to prove that toxic teams like #Ferrari don't boost the results with their shitty culture.
That https://doma.dev guy
#lean #elixir #typescript #react #nix
In my non-existent free time I design and run #TTRPG
If you use tools made by genocide-apologists, you are a genocide-apologist.
#lemmy users aren't welcome here.