Want to read about distributed consensus? Here is a great resource list about consensus in distributed systems, created by Heidi Howard.
Resilience4j is a lightweight fault tolerance library which provides higher-order functions to enhance any functional interface, lambda expression or method reference with a Circuit Breaker, Rate Limiter, Retry or Bulkhead.
Nice example of functional composition with pragmatic library with minimum number of dependencies.
Here is an interesting article ‘Stacked Diffs Versus Pull Requests’ written by Jackson Gabbard.
Important note about the quality of the codebase (in context of stacked diff, i.e. trunk based development):
In this model, every commit must pass lint. It must pass unit tests. It must build. Every commit should have a test plan. A description. A meaningful title. Every. Single. Commit. This level of discipline means the code quality bar is fundamentally higher than the Pull Request world… I didn’t think a lot about it before, but it definitely seems realistic.
A couple of articles about distributed transactions and scalability:
Got tired to enter ssh passphrases on mac os and want to know how easily force ssh-agent to remember ssh keys?
Add this snippet to ~/.ssh/config file:
Host *
AddKeysToAgent yes
UseKeychain yes
Simple probabilistic data structure used to count distinct values.
source
Here is html version of Simon Marlow’s book ‘Parallel and Concurrent Programming in Haskell’.
Slides and videos from the Velocity conference 2017.