Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #1305

L

Loup Vaillant

Personal blog · loup-vaillant.fr/articles · on HN as loup-vaillantprogrammingsecurity

Loup Vaillant writes New stuff, a personal blog at loup-vaillant.fr about programming and security. Since 2009, 53 different Hacker News readers have linked it 198 times, most often “The Source of Readability”. It is still writing: the last post was on 2026-05-16, and you can follow it by feed.

Visit the blog
198mentions?
2recommend?
53HN people?
2009–2026first – last linked?
Links on Hacker News per year · peak 26 in 2017

Too few sampled comments (11) to say how often HN recommends it.?

Why HN links it

HN readers link Loup Vaillant's writing on cryptography, including 'Rolling your own crypto' and the Monocypher project, plus his Earley parsing and ChaCha20 tutorials. Many comments cite these as sources.

Recommended for · 2 comments
Monocypher manual called amazing for explaining proper and improper use; author's style praised.

Summarised by Claude from a sample of 11 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

This is my personal web site. I write mainly about programming.

The author on HN?

loup-vaillant · 10,104 karma · member since 2009

http://www.loup-vaillant.fr https://monocypher.org https://elligator.org

From their public HN profile, which links to this site.

Most-linked posts?

  1. The Source of Readability
    6 people · 9 mentions · first linked 2023-08-14
  2. Rolling Your Own Crypto
    5 people · 6 mentions · first linked 2016-12-20
  3. The design of Poly1305
    4 people · 6 mentions · first linked 2017-01-30
  4. A Solid Load of Bull
    4 people · 4 mentions · first linked 2025-12-31
  5. Earley Parsing Explained
    3 people · 4 mentions · first linked 2015-09-15
  6. The Repeated Deaths of OOP (2015)
    3 people · 3 mentions · first linked 2021-06-06
  7. The repeated deaths of OOP
    3 people · 3 mentions · first linked 2015-02-09
  8. Surrounded by Elligators: Implementing Crypto with Nothing to Compare To
    3 people · 3 mentions · first linked 2020-04-15
  9. Fixing the TPM: hardware security modules done right (2023)
    3 people · 3 mentions · first linked 2023-08-18
  10. /articles/better-keyboards
    2 people · 6 mentions · first linked 2012-07-18

What Hacker News says?

  1. Here's the advanced version, that let you use different, mostly uncorrelated passwords for different services. http://blog.jgc.org/2010/12/write-your-passwords-down.html I have implemented a little program to generate such a square: http://loup-vaillant.fr/projects/password-generator Though by now, I find this a little tedious. I'm thinking of using an encrypted password database, protected with a diceware generated…

    Comment linking /projects/password-generator

    on “The Dropbox hack is real”
  2. Submitted How I implemented my own crypto as a story · 380 points

    HN discussion
  3. Here in France, as far as I know I have a right to private copy, which I pay for through a specific tax whenever I buy storage. I can rip my DVDs, Blu-rays, or even Nintendo Switch cartridges or hard drive, perfectly legally, even if it means cracking open the thing and circumvent stuff. It's awfully less convenient than downloading the stuff, but it is legal. Or at least it was 20 years ago, but I'm not aware of an…

    Comment linking /articles/ideal-computer

    on “Nintendo is suing the creators of Switch emulator Yuzu”
  4. Submitted The design of Chacha20 as a story · 258 points

    HN discussion
  5. (A suitable subset of) Parsec is about 100 lines of OCaml. Implementing a PEG syntax on top of it is about 150 lines of Haskell (or less, I'm a Haskell noob). Building up the knowledge to get to this point however… nope, those students were better off going hand written recursive descent (or Lex/Yacc, since an equivalent was allowed). https://github.com/LoupVaillant/Monokex/blob/master/src/pars... http://loup-vailla…

    Comment linking /projects/metacompilers/nometa-haskell-grammar.tar.gz

    on “Comparing the Same Project in Rust, Haskell, C++, Python, Scala and OCaml”
  6. Submitted Rolling Your Own Crypto as a story · 192 points

    HN discussion
  7. Very glad to see "Falsehoods Programmers Believe About Names" included in this list [1]. I still struggle to always get this right. One thing I'd suggest including is something about not rolling your own crypto in the security section. Does anyone know a canonical article for this? I've got [2] bookmarked but not sure if a guide with the pitfalls of designing your own crypto scheme is right for this list. [1] http:/…

    Comment linking /articles/rolling-your-own-crypto

    on “A collection of things software developers should know”
  8. Submitted Cofactor Explained: Clearing Elliptic Curves' dirty little secret as a story · 164 points

    HN discussion
  9. The overarching criterion really is how it affects locality of behaviour: repeating myself and adding an indirection are both bad, the trick is to pick the one that will affect locality of behaviour the least. https://loup-vaillant.fr/articles/source-of-readability#avoi...

    Comment linking /articles/source-of-readability

    on “John Carmack on inlined code (2014)”
  10. Submitted Cryptography is not magic as a story · 146 points

    HN discussion
  11. What you're describing is how net neutrality works, not how the Internet works. > First, bandwidth is limited. It's whatever download and upload you sign for. I said that I don't encourage bandwidth limits, not that it wasn't limited. The point is you usually sign a flat fee, you don't have universal access and then pay for traffic, more like in a country like Andorra. > Second, there is no such thin as "full speed…

    Comment linking /

    on “One Step Closer to a Closed Internet”
  12. Submitted How Class-based Programming Sucks (2011) as a story · 140 points

    HN discussion
  13. First, bandwidth is limited. It's whatever download and upload you sign for. Second, there is no such thin as "full speed access to Netflix" or whatever. It's limited by your own bandwidth at least. Third, when you pay for an internet access, you pay for a public IP and associated bandwidth, so you can send and receive as much IP packet as your bandwidth will allow you, no matter the provenance or destination . In p…

    Comment linking /

    on “One Step Closer to a Closed Internet”
  14. Submitted The Repeated Deaths of OOP (2015) as a story · 130 points

    HN discussion
  15. > Writing solid encryption software is very difficult on its own. It's not. You can use existing software, reuse existing protocols, and stick to safe languages as much as possible. Even implementing your own crypto isn't all that difficult¹. I have written my own crypto library², and I can almost recommend it for production use. [1]: http://loup-vaillant.fr/articles/rolling-your-own-crypto [2]: http://loup-vaillant…

    Comment linking /projects/monocypher/

    on “UK Home Secretary says encryption on messaging services is unacceptable”
  16. Submitted Show HN: Monocypher: a small, easy to use crypto library as a story · 90 points

    HN discussion
  17. Well, I'm not sure. First, assignments are evil[1], which means you should avoid setters. Second, inheritance is evil, for similar reasons (thick interface). Third, every time I saw mixins or class polymorphism, lambdas or sum types, would have been simpler, respectively. Once you like lambdas, functional programming becomes more attractive than a black hole. [1]: http://www.loup-vaillant.fr/articles/assignment

    Comment linking /articles/assignment

    on “Oracle sues Google over use of Java in Android”
  18. Submitted How to Avoid the Assignment Statement (2010) as a story · 84 points

    HN discussion
  19. I second the remarks about poor teaching (though C type syntax does sucks hard). The main problem probably comes from the fact that ordinary variables are themselves an indirection of sorts, and programming courses do not make that clear (we tend to confuse the variable and the value it holds). Excerpt from my article on assignment[1]: [The pervasive use of the assignment statement] influenced many programming langu…

    Comment linking /articles/assignment

    on “Signs that you are a bad programmer”
  20. Submitted Fast Multiplication with Slow Additions as a story · 80 points

    HN discussion
  21. > this example should come with some caveats listed. No longer. You would know if you spent 10 hours reviewing Monocypher (which I reckon is not a good use of your time), so it's natural that you don't. > It is generally considered "best practice" to -not- attempt to roll your own cryptographic system I am keenly¹, painfully² aware of what it takes to write production grade crypto. And I didn't really roll my own. I…

    Comment linking /articles/rolling-your-own-crypto

    on “Our Software Dependency Problem”
  22. Submitted “Smartphone” is the wrong name as a story · 75 points

    HN discussion
  23. Could you list the main pitfalls you are thinking about? Also, I may have mentioned some of them in this earlier article: http://loup-vaillant.fr/articles/rolling-your-own-crypto

    Comment linking /articles/rolling-your-own-crypto

    on “How I implemented my own crypto”
  24. Submitted Lua metacompiler as a story · 71 points

    HN discussion
  25. We don't have to chose between embedded DSL (meaning, a kind of fancy library), and a fully fledged external DSL. I was advocating source-to-source transformation, which I think is a nice compromise between the two: it feels almost like an external DSL, but doesn't require much more work than an internal one. The way I see it, source-to-source transformation helps a lot with 2, 4, 5, and 7: we can rely on the host l…

    Comment linking /projects/metacompilers/

    on “What it's like to use Haskell”
  26. Submitted String Interning – Trie vs. Hash Table Deathmatch as a story · 60 points

    HN discussion
  27. Yup. That works. Just don't forget the follow-up, where external feedback is crucial. Shameless plug: I've written my own crypto library¹. Not just for the lulz, I fully intend to use it in production. To do that, I had to disregard the crypto community, that basically says anyone who does that deserves to burn in Crypto Hell the time it takes them to count to 2^256. (I might exaggerate a tad). They say that for a r…

    Comment linking /projects/monocypher

    on “Feynman’s Breakthrough: Disregard Others”
  28. Submitted Anthropomorphism Gone Wrong: OOP as a story · 57 points

    HN discussion
  29. If I have generics, first class functions, and garbage collection, frankly I don't care about sub-typing. http://loup-vaillant.fr/articles/classes-as-syntactic-sugar

    Comment linking /articles/classes-as-syntactic-sugar

    on “Proposal: Go should have generics”
  30. Submitted Earley Parsing Explained as a story · 53 points

    HN discussion

Search all of HN for loup-vaillant.fr

Linked by the same people?