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

    Vincent Bernat

    vincent.bernat.ch · Personal blog · on HN since 2011

    Vincent Bernat, a network and Linux engineer, writes detailed posts on Linux networking, Debian packaging, and Python tooling.

    Visit blogRSSHN submissions
    NetworkingOpen Source & LinuxSystems & Performance
    What HN says

    HN commenters call it one of their favorite networking blogs and link its posts on IPv4 route lookup and Debian packaging.

    Stats for nerds
    97HN people shared it
    104linked in comments
    1.2Kstory points
    Jul 2026last shared
    2012people per year2026

    Top posts on HN

    1. 1
      Non-interactive SSH password authentication
      2 people · 272 points · first shared 2023 · 123 comments on HN
    2. 2
      A more privacy-friendly blog
      1 person · 146 points · first shared 2018 · 50 comments on HN
    3. 3
      IPv4 route lookup on Linux
      3 people · 133 points · first shared 2017 · 30 comments on HN
    4. 4
      Switching to the i3 window manager
      3 people · 115 points · first shared 2021 · 85 comments on HN
    5. 5
      Coping with the TCP TIME-WAIT state on busy Linux servers
      7 people · 72 points · first shared 2014 · 18 comments on HN
    6. 6
      Offline PKI using 3 Yubikeys and an ARM single board computer
      1 person · 52 points · first shared 2025 · 9 comments on HN
    7. 7
      Jerikan: A configuration management system for network teams
      2 people · 47 points · first shared 2021 · 12 comments on HN
    8. 8
      Crafting endless AS paths in BGP
      1 person · 47 points · first shared 2024 · 13 comments on HN
    9. 9
      SSL/TLS & Perfect Forward Secrecy
      12 people · 34 points · first shared 2011 · 3 comments on HN
    10. 10
      Network lab with KVM Linux
      1 person · 32 points · first shared 2012 · 1 comments on HN

    What HN people wrote when they linked it

    • devxSep 2013

      Is HTTP 2.0 finalized and approved? If not could we push for it to support PFS by default with ECDHE, which seems to add only 15 percent overhead [1]? That seems like a small price to pay if the security of every session grows exponentially, with each one being encrypted with a new key.

      HTTP 2.0/SPDY already makes TLS mandatory, no? So why not make PFS mandatory, too? I'd rather we do it now than wait for HTTP 3.0, and it might force a lot more companies to adopt it by default as they move to HTTP 2.0 (companies such as Microsoft [2]).

      EDIT: Links

      [1] - http://vincent.bernat.im/en/blog/2011-ssl-perfect-forward-secrecy.html

      [2] - http://news.netcraft.com/archives/2013/06/25/ssl-intercepted-today-decrypted-tomorrow.html

    • mrspuraticFeb 2022

      Back in the HTTP/0.9 era TIME_WAIT was a big problem when running a busy [reverse] proxy. I remember using ndd to "tune" tcp_time_wait_interval on Solaris for this, as well as the anon (ephemeral) port range.

      This is my go to that topic now:
      https://vincent.bernat.ch/en/blog/2014-tcp-time-wait-state-linux

      "The solution is more quadruplets" is for me one those things that's blindingly obvious once pointed out.

      See also the other link Cloudflare "Why we use the Linux kernel's TCP stack" link in a sibling - about half-way through they reveal they use both kernel bypass (DOS can max out iptables at ~1Mpps) and Solarflare NICs (offload options not stated), as well as Intel NICs with netmap bypass.

    • phloJun 2013

      With regard to your latter question, [1] gives a good overview on PFS in TLS. You'll need to exchange keys using (EC)DHE, essentially.

      As for subpoenaing keys: Most CAs will allow for you to generate your key pair and certificate signing request on your own hardware. You'd then submit the CSR which the CA would in turn generate a signed certificate from. The private key should never be shared with the CA.
      In order to eavesdrop on communications, the NSA would then need to subpoena each targeted company's key. Wide reach is easy (go for the 5-10 biggest fish), comprehensive reach nigh impossible.

      [1] http://vincent.bernat.im/en/blog/2011-ssl-perfect-forward-secrecy.html

    • knowhyFeb 2021

      > From the kernel point of view, there is a only one socket with a unique listen queue. This socket is associated to several file descriptors: one in systemd and one in the current process. The socket stays alive as long as there is at least one file descriptor. An incoming connection is put by the kernel in the listen queue and can be dequeued from any file descriptor with the accept() syscall. Therefore, this approach actually achieves zero-downtime deployment: no incoming connection is rejected. [0]

      systemd can be sufficient for a zero-downtime deployment.

      [0] https://vincent.bernat.ch/en/blog/2018-systemd-golang-socket-activation#zero-downtime-deployment

    • vbernatJul 2026

      I have also restored the very first articles I wrote in the 90s when I was young <https://vincent.bernat.ch/en/blog/2026-old-web-articles>. At the time, they were not "great," but now I think they have some limited historical values. For example, one of them is about how the national phone operator was billing minutes. The information was easy to find in the past but is pretty scarce now.

      I didn't use the wayback machine because it didn't archive everything I needed and because I still had the files on my hard drive, but if I didn't, I would have been happy to recover them.

    • dozzieJul 2016

      Actually no, it's not a terrible process, it's a misunderstood process[#].
      Modern tools (debhelper 7+) allow for simple process, though one needs to
      understand how the binary packages thing works.

      This is a decent overview on technical details:
      http://vincent.bernat.im/en/blog/2016-pragmatic-debian-packaging.html

      [#] I assume you meant the friction with the tools, not the fact that package
      builder needs to chase down all the dependencies and generally prepare many
      source tarballs to be included in a repository.

    Related

    Matthew Garrettmjg59.dreamwidth.org306 people

    I stayed in a hotel with Android lightswitches and it was as bad as you'd think

    Matthew Garrett
    Personal · last shared 2026
    APNIC Blogblog.apnic.net253 people

    Internet protocols are changing

    APNIC Blog
    Company · last shared 2026
    Changelog (John Goerzen)changelog.complete.org79 people

    I introduced my 5yo and 2yo to startx and xmonad. They’re delighted.

    Changelog (John Goerzen)
    Personal · last shared 2026
    Qualys Blogblog.qualys.com65 people

    SSL Labs in 2016 and Beyond

    Qualys Blog
    Company · last shared 2026
    ldpreloadldpreload.com34 people

    Finding a kernel regression in half an hour with git bisect run (2018)

    ldpreload
    Personal · last shared 2026
    anarcatanarc.at41 people

    GnuTLS audit: passive cleartext recovery attack

    anarcat
    Personal · last shared 2026
    Marc Bevandblog.zorinaq.com91 people

    Windows NT Kernel Contributor Explains Why Performance is Behind Other OS

    Marc Bevand
    Personal · last shared 2026
    Kernel.org Peoplepeople.kernel.org71 people

    How many kinds of USB-C to USB-C cables are there?

    Kernel.org People
    Publication · last shared 2026