Top all-time · #1305
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.
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.
Most-linked posts?
- The Source of Readability6 people · 9 mentions · first linked 2023-08-14
- Rolling Your Own Crypto5 people · 6 mentions · first linked 2016-12-20
- The design of Poly13054 people · 6 mentions · first linked 2017-01-30
- A Solid Load of Bull4 people · 4 mentions · first linked 2025-12-31
- Earley Parsing Explained3 people · 4 mentions · first linked 2015-09-15
- The Repeated Deaths of OOP (2015)3 people · 3 mentions · first linked 2021-06-06
- The repeated deaths of OOP3 people · 3 mentions · first linked 2015-02-09
- Surrounded by Elligators: Implementing Crypto with Nothing to Compare To3 people · 3 mentions · first linked 2020-04-15
- Fixing the TPM: hardware security modules done right (2023)3 people · 3 mentions · first linked 2023-08-18
- /articles/better-keyboards2 people · 6 mentions · first linked 2012-07-18
What Hacker News says?
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”Submitted How I implemented my own crypto as a story · 380 points
HN discussionHere 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”Submitted The design of Chacha20 as a story · 258 points
HN discussion(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”Submitted Rolling Your Own Crypto as a story · 192 points
HN discussionVery 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”Submitted Cofactor Explained: Clearing Elliptic Curves' dirty little secret as a story · 164 points
HN discussionThe 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)”Submitted Cryptography is not magic as a story · 146 points
HN discussionWhat 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”Submitted How Class-based Programming Sucks (2011) as a story · 140 points
HN discussionFirst, 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”Submitted The Repeated Deaths of OOP (2015) as a story · 130 points
HN discussion> 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”Submitted Show HN: Monocypher: a small, easy to use crypto library as a story · 90 points
HN discussionWell, 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”Submitted How to Avoid the Assignment Statement (2010) as a story · 84 points
HN discussionI 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”Submitted Fast Multiplication with Slow Additions as a story · 80 points
HN discussion> 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”Submitted “Smartphone” is the wrong name as a story · 75 points
HN discussionCould 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”Submitted Lua metacompiler as a story · 71 points
HN discussionWe 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”Submitted String Interning – Trie vs. Hash Table Deathmatch as a story · 60 points
HN discussionYup. 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”Submitted Anthropomorphism Gone Wrong: OOP as a story · 57 points
HN discussionIf 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”Submitted Earley Parsing Explained as a story · 53 points
HN discussion