Nikita Sobolev is a Python developer who writes about typing, functional patterns, and software design, and maintains git-secret.
HN users recommend his git-secret tool for encrypting secrets in repos, while his anti-pattern post on Python exceptions draws criticism from some commenters.
A (correct) description of monads requires talking about higher-kinded types, which rules out those languages immediately, unless MyPy has come a long way since I last looked.
Apart from that, frankly, I think that Haskell syntax (or just mathematical type syntax, which looks very similar) is so much cleaner when talking about higher-order functions that it's worth spending a little while explaining what `m a → (a → m b) → m b` means in the prerequisites of the article rather than have the reader have to wade through `Callable[[Kind[M, A]], Callable[[Callable[[A], Kind[M, B]]], Kind[M, B]]]` [1] for the rest of it. When you're trying to explain a novel topic, the last thing you want to force your reader to do is waste their brainpower counting brackets.
[1]: https://sobolevn.me/2020/10/higher-kinded-types-in-python
This example on python exceptions on their sample queries... The second result is a very opinionated result about exceptions considered and anti pattern https://sobolevn.me/2019/02/python-exceptions-considered-an-antipattern
Maybe this was tweaked to be catchy for developers but I don't think is the right thing to see as the second entry.
If you search for exceptions you want to learn how they work, that is what 99% of the people would need. An entry like this is dangerous for instance if you are just someone trying to learn about them.
IMO this is a red flag about the quality for a search engine. Maybe they are just targeting seasoned tech people who would see this content interesting. But definitely not a search engine for the masses.
The project cites this blog post[0] on the "anti-pattern" that is Python exceptions, and I honestly couldn't be turned off on this project anymore after reading it if this is the inspiration behind it.
The examples in the README and this blog post just give me huge "nope" vibes. Obviously Python could learn a lot more from functional programming, but this is the wrong way to go about a lot of it.
0. https://sobolevn.me/2019/02/python-exceptions-considered-an-antipattern
I've happily been using git-secret (https://sobolevn.me/git-secret/) for encrypting and committing non-critical (i.e. non-production) secrets for a while now. It sounds like Gittuf will do a lot more than git-secret, but for the use case of encrypted files specifically, are there any significant differences in the approach that Gittuf has taken?
The interesting bit starts at https://sobolevn.me/2019/02/python-exceptions-considered-an-antipattern#how-to-be-safe, where it introduces a library for wrapping errors in return types, even if it got little to do with the headline. IMHO the article would be stronger with a title about what it presents and without the first half.
I believe git-secret[0] does what you describe. The author of Lunar[1] uses it to hide the private elements in a public repo.
[0]: https://sobolevn.me/git-secret/
[1]: https://github.com/alin23/Lunar/