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

    Stavros Korokithakis

    stavros.io · Personal blog · on HN since 2013

    Stavros Korokithakis writes about backups, WireGuard, SSH keys, passkeys, and his own hardware and software projects.

    Visit blogRSSHN submissions
    ProgrammingHardware & ElectronicsSecurity
    What HN says

    One commenter calls him a favourite HN poster with well-turned phrases; others link his posts on Netlify hosting and compressing images with Stable Diffusion.

    Stats for nerds
    81HN people shared it
    132linked in comments
    7.9Kstory points
    Jul 2026last shared
    2014people per year2026

    Top posts on HN

    1. 1
      Open Letter to Mozilla: Bring Back Persona
      1 person · 905 points · first shared 2015 · 237 comments on HN
    2. 2
      I just had over a thousand Euros stolen and Revolut is siding with the thief
      1 person · 705 points · first shared 2019 · 352 comments on HN
    3. 3
      Show HN: Ledonardo, my light painting hardware project
      2 people · 442 points · first shared 2019 · 91 comments on HN
    4. 4
      Winning at Candy Crush
      3 people · 412 points · first shared 2013 · 144 comments on HN
    5. 5
      Why is everything so scalable?
      1 person · 408 points · first shared 2025 · 370 comments on HN
    6. 6
      Show HN: Spamnesty: Waste spammers' time
      1 person · 405 points · first shared 2016 · 183 comments on HN
    7. 7
      I made my own PCBs with a 3D printer
      2 people · 285 points · first shared 2020 · 144 comments on HN
    8. 8
      The microservices cargo cult
      2 people · 277 points · first shared 2015 · 173 comments on HN
    9. 9
      Show HN: I made an alarm clock
      4 people · 275 points · first shared 2021 · 192 comments on HN
    10. 10
      Writing a full-text search engine using Bloom filters (2013)
      3 people · 268 points · first shared 2013 · 44 comments on HN

    What HN people wrote when they linked it

    • geofftJan 2016

      I don't currently see a 500 ms difference, so maybe they figured something out. From my shell, I see about 35 ms to http://www.stavros.io/404 and about 85 ms to https://www.stavros.io/404 (the HTTPS site serves actual content and the HTTP a redirect, which confounds the numbers).

      The HTTPS server is currently offering me a 4096-bit-RSA certificate, signed by the 2048-bit-RSA StartCom class 1 intermediate CA. There's no security benefit in a 4096-bit cert signed by a 2048-bit one, since any attacker capable of breaking 2048-bit RSA but not 4096-bit is just going to attack the CA cert and sign their own forged cert (and any attacker sorta capable of breaking 2048-bit RSA will dedicate their brute force effort to CA certs). And to my knowledge, all current CA intermediate certs are 2048-bit. Meanwhile, because of math, 4096-bit certs take a lot longer to handshake: see e.g. https://certsimple.com/blog/measuring-ssl-rsa-keys

      CertSimple's data indicates a 25 ms difference between 2048-bit and 4096-bit keys on their server, so I'd expect that the 4096-bit key is responsible for at least most of the performance difference here. A few years ago I screwed this up on a production shared web host, and I believe we saw a greater than 50 ms difference. (While we're at it, that cert is SHA-1, so it's possible they can get a reissue for free.)

      Were you able to replicate the 500 ms (!) performance difference on your own server? Are you using a 2048-bit cert and reasonable cipher suites?

    • dcxFeb 2022

      These are fantastic! I'll add two that I have learned from wiser people, and that have paid out again and again in my life.

      1. It's better to target an interesting constellation than one specific star. If you're pushing yourself reasonably hard, you're working close to the limits of your ability, and so there's some chance you will fail. If you go all out to hit an ambitious goal and don't succeed, you're likely to feel burnout [1]. This is much less likely if you make moves in the direction of an interesting area using a cluster of subgoals instead. This diversifies your risk, plus it's easier to adjust as you move in that direction and learn more. (For people in ML there's some clear parallels with the gradient descent process)

      2. A twenty minute walk in the park with no music or media makes all kinds of useful stuff naturally fall out of your brain, and you get some light exercise and sunlight / vitamin D at the same time - which also helps improve your mood and flush out anxiety etc.

      [1] https://www.stavros.io/posts/comment-causes-burnout/

    • TacticalCoderApr 2026

      I'd say this is more up to date:

      https://www.stavros.io/posts/u2f-fido2-with-ssh/

      We've got private Git repos only accessible through ssh (and the users' shell is set to git-shell) and it's SSH only through Yubikey. The challenge to auth happens inside the Yubikey and the secret never leaves the Yubikey.

      This doesn't solve all the worlds' problem (like hunger and war) but at least people are definitely NOT committing to the repo without physically having access to the Yubikey and pushing on it (now ofc a dev's computer may be compromised and he may confirm auth on his Yubikey and push things he didn't meant to but that's a far cry from "we stole your private SSH key after you entered your passphrase a friday evening and are now pushing stuff in your name to 100 repos of yours during the week-end").

    • deweyMay 2019

      I'm probably not the target audience but I'd say that it's usable but still not very straight forward to set up. Yes it has less options than OpenVPN but with a bunch of tutorials I was usually able to get OpenVPN set it up and have my traffic flow through it in 30 min.

      Following tutorials like this https://www.stavros.io/posts/how-to-configure-wireguard/ (which seems like a good one from a fellow HN user) always seems to work that I'm able to connect to the server but my internet doesn't work after running it. Probably something related to the IP tables rules or firewall I assume?

      I'm using the official mac client and Ubuntu 18.10 running on a server at OVH.

    • rsyncDec 2020

      "Can anyone recommend a Linux (preferrably cross-platform) tool like this which is appropriate for use in personal laptops?"

      I think you should look into the 'borg' backup tool - it has become the de facto standard for remote backups because it does everything that rsync does (efficient, changes only backups) but also produces strongly encrypted remote backup sets that only you have a key to ... the remote has no access to the data.

      The borg website is here:

      https://borgbackup.readthedocs.io/en/stable/

      and a good description of how it works and why you should use it is here:

      https://www.stavros.io/posts/holy-grail-backups/

    • shandorFeb 2021

      This one had quite a lot of background, but also the needed commands: https://www.stavros.io/posts/u2f-fido2-with-ssh/

      With a properly set-up token, basically you only need 2 commands:

      ssh-keygen -t ed25519-sk -O resident -f ~/.ssh/id_mykey_sk
      ssh-add -K

      I used a Yubikey and needed also to install 'ykman' to set a PIN for my token, otherwise ssh-add kept failing. Dunno if I omitted something for a proper setup for my token initially, but I don't think that was a problem with OpenSSH in particular.

      Apart from the small headache with the PIN, the whole thing was almost magical in its simplicity.

    Related

    GNOME Blogsblogs.gnome.org490 people

    AirPods fast connect security vulnerability

    GNOME Blogs
    Company · last shared 2026
    antirezantirez.com456 people

    The End of the Redis Adventure

    antirez
    Personal · last shared 2026
    Chris Siebenmannutcc.utoronto.ca/~cks388 people

    Go is Google's language, not ours

    Chris Siebenmann
    Personal · last shared 2026
    Flameeyesblog.flameeyes.eu45 people

    Talk like a systems engineer: Yaks all the way down

    Flameeyes
    Personal · last shared 2026
    Jason Donenfeldzx2c4.com28 people

    Pass: The standard unix password manager

    Jason Donenfeld
    Personal · last shared 2025
    bunnie Huangbunniestudios.com375 people

    Why I’m Suing the US Government

    bunnie Huang
    Personal · last shared 2026
    Michael Stapelbergmichael.stapelberg.ch88 people

    My upgrade to 25 Gbit/s Fiber To The Home

    Michael Stapelberg
    Personal · last shared 2026
    Joanna Rutkowskatheinvisiblethings.blogspot.com91 people

    The Linux Security Circus: On GUI isolation

    Joanna Rutkowska
    Personal · last shared 2026