Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    N

    Nikita Sobolev

    sobolevn.me · Personal blog · on HN since 2019

    Nikita Sobolev is a Python developer who writes about typing, functional patterns, and software design, and maintains git-secret.

    Visit blogHN submissions
    ProgrammingLanguages & CompilersOpen Source & Linux
    What HN says

    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.

    Stats for nerds
    39HN people shared it
    55linked in comments
    360story points
    Sep 2025last shared
    2019people per year2025

    Top posts on HN

    1. 1
      Do Not Log
      4 people · 209 points · first shared 2020 · 148 comments on HN
    2. 2
      Python exceptions considered an anti-pattern
      5 people · 49 points · first shared 2019 · 65 comments on HN
    3. 3
      Typeclasses in Python
      7 people · 25 points · first shared 2021 · Discussion on HN
    4. 4
      Higher Kinded Types in Python
      7 people · 17 points · first shared 2020 · 1 comments on HN
    5. 5
      How async should have been in Python
      6 people · 11 points · first shared 2020 · 2 comments on HN
    6. 6
      Use callable classes, SRP, DI, and composition to write simple Python code
      4 people · 8 points · first shared 2019 · Discussion on HN
    7. 7
      Complexity Waterfall
      3 people · 6 points · first shared 2019 · Discussion on HN
    8. 8
      Strongly TypeScript Vue
      4 people · 5 points · first shared 2019 · Discussion on HN
    9. 9
      Make tests a part of your app
      3 people · 5 points · first shared 2021 · Discussion on HN
    10. 10
      Typechecking Django and DRF
      3 people · 5 points · first shared 2019 · Discussion on HN

    What HN people wrote when they linked it

    • TweyDec 2023

      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

    • guillemsolaOct 2023

      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.

    • tuxxyMay 2020

      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

    • Benjamin_DobellOct 2023

      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?

    • detaroFeb 2019

      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.

    • richbellNov 2024

      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/

    Related

    Pavel Panchekhapavpanchekha.com24 people

    We'd be better off with 9-bit bytes

    Pavel Panchekha
    Personal · last shared 2026
    Nikita Prokopovtonsky.me273 people

    In loving memory of square checkbox

    Nikita Prokopov
    Personal · last shared 2026
    Russ Coxresearch.swtch.com554 people

    Timeline of the xz open source attack

    Russ Cox
    Personal · last shared 2026
    Alex Gaynoralexgaynor.net120 people

    About Python 3

    Alex Gaynor
    Personal · last shared 2026
    Oleg Kiselyovokmij.org251 people

    How the OCaml type checker works (2022)

    Oleg Kiselyov
    Personal · last shared 2026
    Nikita Popovnpopov.com36 people

    Design Issues in LLVM IR

    Nikita Popov
    Personal · last shared 2026
    Armin Ronacherlucumr.pocoo.org417 people

    996

    Armin Ronacher
    Personal · last shared 2026
    Vladimir Khorikoventerprisecraftsmanship.com29 people

    How I tried to get into game development and failed

    Vladimir Khorikov
    Personal · last shared 2025