Personal README
Few days ago I was reading again Kent Beck's Extreme Programming Explained, and I have recalled How to make your team read your mind. While I have nev… ...more
Few days ago I was reading again Kent Beck's Extreme Programming Explained, and I have recalled How to make your team read your mind. While I have nev… ...more
Sometimes ago I have stated I was using ViM. After Bram Moolenaar's death, ViM's future was changed and I could not hope for Tree-sitter integration a… ...more
Some times ago we have seen Capabilities, the idea is simple: you have a token (e.g. a string), you provide as a key to to lookup associated permissio… ...more
In the last log, we have studied Open Policy Agent which introduced Policy-as-code, sadly, we cannot easily represent ReBAC with it. That's where topa… ...more
After introducing DAC, we have proposed capabilities. Our implementation was really simple and purely in-memory. Hopefully there are implementations w… ...more
In the previous log, we have introduced DAC, I have stated that ownership is not the only way to do it. Let's introduce Capabilities. The basic idea i… ...more
We have seen many schemes since the first log of the series. Most of the time, our draft implementations were focused on the user/actor. That's called… ...more
Finally, here comes the scheme I have discovered and mentioned in the first log of the series: Relationship-based Access control. This idea is simple:… ...more
Last time, we have seen GBAC, probably the most access control scheme, let's go a little simpler. Organisation-based Access control is a scheme based … ...more
Last time, we has explored ABAC which is quite elegant in my opinion. Well, you can forget it, welcome in one of the corporate version of access contr… ...more
Previously we have seen Role-based Access control, we have seen it has two shortcomings: We have to create one role per access We have to dynamically… ...more
After a quick look at Context-based Access control (CBAC) we can come back to Access Control List (ACL) types of schemes. One big issue with ACL is th… ...more
We have started our series with Access Control List (ACL), the good news is that it's the basis for the most of the access control schemes, however th… ...more
Few days ago I was watching again Welcome to Zanzibar a French talk about authorization which was given at XCraft, an event organized early October by… ...more
I spend the most important part of the maintenance time of Barracuda (my HomeLab) regenerating mes certificates (Server and Client). While it often ta… ...more
A while ago, I have introduced YNIA, which is a set of patterns I set up before really need them. It's not uncommon, when producing software to have t… ...more
In my previous log I have tackled Conway's Game Of Life. In conclusion, I have stated that we could implement the full kata (i.e. even the grid) witho… ...more
Following last year participation I have contributed to Hacktoberfest. Here are my contributions: password: datatypes and functions for easily workin… ...more
Previously we have studied a custom Monad and how to refactor it to make it easier to work with. For reminder, it was this one: class Monad m => My… ...more
I am currently migrating some hand-crafted Monad looking like this: class Monad m => MyAppMonad m where getSmtpConfig :: m SmtpConfig getS3Conf… ...more
Two months ago, I have set up authentication through client certificates. For reference, I have used this configuration: let openssl = https://r… ...more
There is a famous acronym I use over and over again when it comes to design decision: YAGNI. It's a constant reminder to keep things as simple as poss… ...more
Few days ago I was mob programming with my teammates, we had to write some tests for an Event Sourcing Projection which use legacy events to produce n… ...more
While I was working on Bloodhound, I have encountered IndexName, defined as: newtype IndexName = IndexName Text deriving (Eq, Show, Generic, ToJSO… ...more
Nearly three months ago I wrote a log about reducing Docker size, mainly by relying on static builds. While perfectly relevant in this context, when I… ...more
Few days ago, one of my new LinkedIn connection, introduced himself/herself, her/his background and public (Github) contributions, and asked me if I c… ...more
In early 2013, I was in my penultimate year of my software engineering degree. At the time, we were split in groups of 6 people to work on various pro… ...more
One of my favorite features of Haskell are the (G)ADTs, we could for example define a (not really) useful one: data Expr = Val Int | Add Expr Expr… ...more
I have a simple morning routing starting with: Getting up Opening the shutters Making my bed Petting my cat (eventually, opening the door to let her … ...more
Few logs ago, I introduced dashboards I borrowed online. I wrote they were looking like that: services.grafana.provision.dashboards.settings.providers… ...more
Previously, we have set alerting through Grafana alerting, but, if you noticed, I did not expose my alerts more than: services.grafana.provision.alert… ...more
Previously, we have set few Dashboards, which is great for analysis, but not for reactivity. I'm not always on my monitoring tab, but I always have an… ...more