News for hackers. Stuff that matters.

vbernat

I love it as I can customize it to match the metrics and weights of my main font on web pages. See here for me: https://github.com/vincentbernat/vincent.bernat.ch/blob/main....
Re:Don't Put Tilde In Your Path on Sunday October 11, 2026 @09:48AM (#50043273)
In Zsh, you can set PATH with path=(~/.local/bin $path). There, it works as shell expansion works.
Re:Self-hosted HTTP tunnels with SSH and Nginx on Monday October 05, 2026 @01:03AM (#49960870)
It's already using a high port. Forwarding a high port directly with SSH prevent exposing the service through a virtual host and provide HTTPS (but I didn't think of it until your mentioned it). And it would open the service to be discovered by enumerating all possible ports, like you mentioned in your first comment.

sish and ngrok are mentioned in the intro along with the reasons I didn't go this way (specific SSH server to run for the first and not self-hosted for the later).

This domain is crowded with solutions. I only explored that myself because the "free" solutions only requiring an SSH client were unreliable, including the free tier of ngrok (broken SSH tunnel).

Re:Self-hosted HTTP tunnels with SSH and Nginx on Monday October 05, 2026 @12:26AM (#49960672)
The attack you mention is solved in the second part of the article.
Re:Show HN: HN.watch – Videos of all Hacker News posts on Monday September 28, 2026 @03:25PM (#49883122)
This looks a good idea to let people choose their preferred medium. I am not into video either, but I turned one of my latest blog article into a video using Claude, since I thought it would be “easy.” I asked it to build the video by screencasting a browser presenting the interactive diagrams of the article and add some titles. It build some kind of recording app for me. It still took me many hours, but I think I would be faster if I redid it. I would pay to have it done faster, but I want to keep control of the text, not have a summary.

The article: https://vincent.bernat.ch/en/blog/2026-spanning-tree-video

The tool built by Claude to make the video: https://github.com/vincentbernat/vincent.bernat.ch/tree/2808...

Re:Grim Fandango Puzzle Document (1996) [pdf] on Monday September 21, 2026 @02:22AM (#49783658)
Re:English: A vs. An on Sunday September 20, 2026 @12:06AM (#49772429)
"anorack" is a specific spell checker to tell if we need "a" or "an". It uses espeak to decompose a word into phonemes.
Re:Scaling Golang CI by Replacing actions/setup-go on Wednesday September 16, 2026 @03:53PM (#49732030)
I am setting cache to `false` and directly use actions/cache:

    - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
      if: ${{ inputs.setup-go == 'true' }}
      with:
        path: |
          ${{ env.gocache }}
          ${{ env.gomodcache }}
        key: ${{ runner.os }}-${{ runner.arch }}-go${{ steps.go-setup.outputs.go-version }}-${{ hashFiles('go.sum') }}-${{ env.today }}
        restore-keys: |
          ${{ runner.os }}-${{ runner.arch }}-go${{ steps.go-setup.outputs.go-version }}-${{ hashFiles('go.sum') }}-
          ${{ runner.os }}-${{ runner.arch }}-go${{ steps.go-setup.outputs.go-version }}-
You get one new cache every day, and you can still load the most recent one if you are the first run today.
Re:An interactive tour of the spanning tree protocol on Friday September 11, 2026 @08:33AM (#49657349)
If you like watching the first animation, you can get it for the other diagrams with a well-known video game code.
Mostly, they try to avoid it by allocating extents instead of blocks (so, they look for a contiguous space to store most files) and by delaying allocation to accommodate for a growing files.
Author here. This article features interactive demonstrations of the spanning tree protocol (an old protocol to detect and fix loops in Ethernet networks) using MSTPD (user-space implementation for Linux) compiled to WebAssembly with Emscripten.
The page from which the data is sourced allows this: http://pldb.info/lists/creators.
This is not untrue, but I suppose that if you don't prevent bots from accessing your website, they won't try to use the more advanced scrapers running JS and won't trigger your analytics.
Re:The Legend of the Novell NE2000 [video] on Friday August 14, 2026 @12:51AM (#49294865)
The bug on Linux still exists today on this family (e100, e1000, e1000e). Maybe the root cause is different, but the solution is still to disable TCP segmentation offload and I suppose this is a firmware bug. At some point, Mellanox took over the "top" card segment for servers.
It is now mostly unusable for web analytics. So many scrapers are pretending to be browsers. On my site, there is a factor 10 with what I consider an honest view of human visitors.
Re:France to ban unsolicited telemarketing calls on Tuesday August 11, 2026 @07:16AM (#49256391)
In France, thanks to STIR/SHAKEN, this is not possible any more for the fixed phone numbering plans (and telemarketers have to register their phone numbers in a subset of this numbering plan). For mobile lines, this is still not 100% implemented due to the difficulty of handling roaming, but I think it is becoming efficient as I didn't have a telemarketer with a mobile number since a long time (they seem to hide their number now).
Re:Monitors for Work on Saturday August 08, 2026 @05:27PM (#49226068)
After 27" 4K OLED last year, I suppose 24" are next! I didn't have the patience to wait and I have migrated to 27" 4k OLED (Alienware).
I have switched from FVWM to awesome because of Lua. Many years later, I have switched to i3 because it's not using a programming language for configuration. It's fine to have a configuration language if you have time to maintain, but your configuration can become quite complex and difficult to evolve. And it is also far more subject to breakage when upgrading.

I think I've found balance by using a Python daemon as a "companion" for my i3 configuration. It listens and react to event. It enhances the configuration, so when it's broken, it's not a big deal. And the interface exposed by i3 is smaller, so less risk of breakage. https://vincent.bernat.ch/en/blog/2021-i3-window-manager#i3-...

Re:Gone but Not Forgotten: Recovering the Dead Web on Sunday July 05, 2026 @12:06AM (#48791170)
It's easy to disprove. This website is not behind CF. Also: https://backlinko.com/cloudflare-users.
Re:Gone but Not Forgotten: Recovering the Dead Web on Saturday July 04, 2026 @02:13PM (#48787493)
I don't think CF is that much present, but yes, the situation is dire.
Re:Gone but Not Forgotten: Recovering the Dead Web on Saturday July 04, 2026 @05:46AM (#48784150)
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.

Re:Gone but Not Forgotten: Recovering the Dead Web on Saturday July 04, 2026 @05:43AM (#48784134)
I often run a linkchecker on my blog and substitute broken URL with links to the Wayback machine. Unfortunately, this is becoming quite difficult to detect broken URL as everybody is fighting bots. I am using linkchecker <https://github.com/linkchecker/linkchecker/> and it respects robots.txt but many sites are now serving 503 or various other codes.
Re:The Deadly Rise of Giant Trucks and S.U.V.s on Tuesday June 23, 2026 @02:32PM (#48649314)
Biking is not meant to replace everything. More people biking means more room for people that cannot bike. Bike-heavy cities like Amsterdam show that most of your "facts" are incorrect (bikes can be used to transport goods, are usable when it rains, are used by a large part of the population). That's a trope common when bike displaces cars, but studies show the reverse (for example in Madrid: https://www.sciencedirect.com/science/article/abs/pii/S02642...). Also, biking is good for health despite the risks (for example https://www.bmj.com/content/343/bmj.d4521).
Re:Google Hits 50% IPv6 on Sunday June 21, 2026 @08:16AM (#48618269)
It already does. With IPv6, you don't go through some CGNAT box, that could misbehave or just break (and since the biggest chunk of content is available through IPv6, this may not be a priority). Also, a shared IPv4 can be banned by various sites if one of the owner misbehave. This issue is not present with IPv6.

More on this: https://vincent.bernat.ch/en/blog/2024-why-ipv6

Re:Google Hits 50% IPv6 on Sunday June 21, 2026 @08:14AM (#48618249)
6rd will soon get away to get native IPv6 instead. Also, 6rd is what allowed France to lead IPv6 deployment.

Older »