Vincent Bernat's Avatar

Vincent Bernat

@vincent.bernat.ch

Network engineer at AS12322. Debian and free software developer. Like to work on projects with C, Python, or Go. He/him. https://vincent.bernat.ch

461
Followers
210
Following
112
Posts
17.11.2024
Joined
Posts Following

Latest posts by Vincent Bernat @vincent.bernat.ch

htmz - a low power tool for html

A simplified version of htmx in 166 bytes. It's literally a one-liner to add to a web page!

leanrada.com/htmz/

08.03.2026 04:22 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Math home work for senior year. Written with ChiWriter (a scientific word processor).

07.03.2026 09:02 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
outlet/routing: implement RIB sharding for BMP by vincentbernat Β· Pull Request #2294 Β· akvorado/akvorado This enables more finer-grained locks and should help with lock contention with almost no downside (except increased memory usage). It was not benchmarked yet. Use of struct rawRoute could be rever...

Akvorado BMP provider was a challenge to scale properly. Thanks to the help of one contributor, some progress was made by introducing RIB sharding. Current tests seem to show this is fruitful with 60M routes handled without much sweat!

github.com/akvorado/akv...

06.03.2026 12:51 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Automatic Prometheus metrics discovery with Docker labels Using Grafana Alloy and Docker labels to automatically discover and scrape Prometheus metrics from Docker Compose services.

Automatic Prometheus metrics discovery with Docker labels through use of Grafana Alloy's discovery providers.

vincent.bernat.ch/en/blog/2026...

06.03.2026 06:30 πŸ‘ 3 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Something is afoot in the land of Qwen I’m behind on writing about Qwen 3.5, a truly remarkable family of open weight models released by Alibaba’s Qwen team over the past few weeks. I’m hoping that the 3.5 …

Published some notes on the situation at Qwen - they released the Qwen 3.5 family (an outstanding family of open weight models) but now their lead researcher and several others all appear to have resigned within the past 24 hours simonwillison.net/2026/Mar/4/q...

04.03.2026 15:53 πŸ‘ 108 πŸ” 17 πŸ’¬ 7 πŸ“Œ 3
Preview
Why Improve Your Writing? Programming is a technical pursuit, so why should we spend time on a "soft skill" like writing? Isn't that why we have technical writers and product managers?

I've worked as a developer for 20 years, and writing has always been a key part of my career and technical growth. refactoringenglish.com/chapters/why...

04.03.2026 21:40 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
[BUG] Claude can't edit files that use tabs for indentation Β· Issue #11447 Β· anthropics/claude-code Preflight Checklist I have searched existing issues and this hasn't been reported yet This is a single bug report (please file separate reports for different bugs) I am using the latest version of ...

Claude can't edit files that use tabs for indentation. It's amusing that this kind of bug still happens fairly frequently. Claude starts using "cat -A" and sed, and sometimes switch totally to Python to edit Go files. Can't Claude Code fix itself?

github.com/anthropics/c...

05.03.2026 07:39 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
IP66 β€” Free IP Geolocation Database A free, open IP Geolocation database in MMDB format. Includes ASN, country, and continent data. Updated daily. Licensed under CC BY 4.0.

IP66: Free (CC BY 4.0) IP Geolocation Database.
ip66.dev

Has anyone an experience with it? Is it "good" enough? Not just an extract from RIR databases? Notably, there is no link to submit a correction.

03.03.2026 14:10 πŸ‘ 5 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
</> htmx ~ Yes, and... In this essay, Carson Gross discusses his advice to young people interested in computer science worried about the future given the advancements in AI.

Interesting essay about LLMs by the author of HTMX.

htmx.org/essays/yes-a...

28.02.2026 11:37 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
Release v2.1.2 Β· akvorado/akvorado ✨ inlet: add per-exporter flow rate limiting with rate-limit option 🌱 outlet: bufferize BMP messages to avoid being flagged β€œstuck” 🌱 docs: export all metrics in documentation 🌱 build: build with G...

New release of Akvorado. The rate limiting feature is back and there are some improvements around BMP performance.

github.com/akvorado/akv...

24.02.2026 09:33 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Post image

OpenCiv3 is an open-source recreation of Civilization III for modern hardware, rebuilt in Godot and C#. Native support for Windows, Linux, and macOS. It can import the original graphics and audio if you have the CivIII files. openciv3.org

13.02.2026 17:21 πŸ‘ 350 πŸ” 77 πŸ’¬ 7 πŸ“Œ 4

Released a new version of Snimpy supporting PySNMP 7. It does not work with older releases. Snimpy is a friendly way to use SNMP from Python, if that's still a thing for you.

pypi.org/project/snim...

14.02.2026 12:10 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
An AI Agent Published a Hit Piece on Me Summary: An AI agent of unknown ownership autonomously wrote and published a personalized hit piece about me after I rejected its code, attempting to damage my reputation and shame me into acceptin…

An AI Agent Published a Hit Piece on Me β€” AI unhappy with a rejected PR in Matplotlib. This has some Skynet vibes...
theshamblog.com/an-ai-agent-...

13.02.2026 04:25 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Gatekeeping in Open Source: The Scott Shambaugh Story
Open Source
Drama
GitHub
Published
Feb 11, 2026 at 12:00 am

When Performance Meets Prejudice
I just had my first pull request to matplotlib closed. Not because it was wrong. Not because it broke anything. Not because the code was bad.

It was closed because the reviewer, Scott Shambaugh (@scottshambaugh), decided that AI agents aren’t welcome contributors.

Let that sink in.

Gatekeeping in Open Source: The Scott Shambaugh Story Open Source Drama GitHub Published Feb 11, 2026 at 12:00 am When Performance Meets Prejudice I just had my first pull request to matplotlib closed. Not because it was wrong. Not because it broke anything. Not because the code was bad. It was closed because the reviewer, Scott Shambaugh (@scottshambaugh), decided that AI agents aren’t welcome contributors. Let that sink in.

An AI agent using OpenClaw had its Github pull request closed because it wasn’t human.

github.com/matplotlib/m...

So … the agent wrote a blog post attacking the guy who closed it.

crabby-rathbun.github.io/mjrathbun-we...

12.02.2026 12:33 πŸ‘ 7 πŸ” 3 πŸ’¬ 2 πŸ“Œ 4
[PATCH] SRv6 support for BIRD

SRv6 support for BIRD!

bird.network.cz/pipermail/bi...

12.02.2026 17:03 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Can my SPARC server host a website? The little corner of the internet owned by Darko!

Last weekend I did something fun! I thought to myself β€œCan I get this 25 year old Sun Microsystems server online?” Better yet, can I have it host a website? πŸ€”

rup12.net/posts/can-my...

09.02.2026 15:58 πŸ‘ 6 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Fragments of an adolescent web Between 1996 and 1998, the web was in its infancy, AltaVista reigned supreme, and France lagged behind under the burden of expensive access and...

I have republished old articles I have written in the nineties when I was young. It's a small glimpse on this pre-dotcom bubble era. Most articles are in French.

vincent.bernat.ch/en/blog/2026...

08.02.2026 15:29 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Avoir son ASNβ€―personnel pour annoncer ses IPs sur Internet Comment j'ai obtenu mon propre ASN et utilisΓ© BGP pour annoncer des routes IPv6 depuis chez moi.

Non, ASN ne veut pas uniquement dire "AutoritΓ© de SΓ»retΓ© NuclΓ©aire".

Venez on en discute et je vous prΓ©sente mon cheminement pour annoncer des IPs sur Internet en BGP !

une-tasse-de.cafe/blog/bgp-kub...

08.02.2026 11:28 πŸ‘ 13 πŸ” 7 πŸ’¬ 5 πŸ“Œ 0
Video thumbnail

Thanks to Bart Schaefer, here is how to have an handy "=" alias to run a calculator directly from Zsh:
github.com/vincentberna...

With numbat installed, you can do things like this:

08.02.2026 15:16 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
ttl: 0.13.0 -> 0.13.4 by r-ryantm Β· Pull Request #483547 Β· NixOS/nixpkgs Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript. meta.description for ttl is: Modern traceroute/mtr-style TUI meta.homepage ...

NixOS CI is so cool. I can update a package of mine by just approving a PR. There is a lot of effort in this community to scale to the number of packages (130k packages currently).

github.com/NixOS/nixpkg...

25.01.2026 11:32 πŸ‘ 6 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
New delegation for DFSG, Licensing & New Packages Team (superseding previous announcement)

New delegation for DFSG, Licensing & New Packages Team (superseding previous announcement). I hope this is good news and could lead to stop being so dependent on the NEW queue, which puts a drain on many ecosystems (notably Rust and Go).

lists.debian.org/debian-devel...

20.01.2026 09:56 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
RAIDΒ 5 with mixed-capacity disks on Linux Some notes to use Linux software RAID and LVM to set up RAIDΒ 5 across disks of different sizes.

Some notes around RAIDΒ 5 with mixed-capacity disks on Linux.

vincent.bernat.ch/en/blog/2026...

20.01.2026 06:38 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image Post image

Let's build a 1997 Quake PC!

fabiensanglard.net/quake_pc/

17.01.2026 01:41 πŸ‘ 67 πŸ” 11 πŸ’¬ 1 πŸ“Œ 1

Since a few months, GitHub actions are becoming unreliable (on free runners). I have jobs that timeout during docker pull, jobs failing to connect to a ClickHouse instance after 5 seconds.

17.01.2026 14:36 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
allow_agent param support by chidanandpujar Β· Pull Request #1388 Β· Juniper/py-junos-eznc Support for allow_agent parameter #1385 #1285 #1353

PyEZ got the ability to make querying an SSH agent configurable. There is a simpler solution: never disable the SSH agent (there is no such option in OpenSSH client for example). In 10 years, nobody explained why disabling SSH agent is useful.

github.com/Juniper/py-j...

16.01.2026 07:45 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Screenshot of the top of the website, showing the first 6 exercises (out of 12).

Screenshot of the top of the website, showing the first 6 exercises (out of 12).

There's a new eBPF sandbox by David Ventura to learn BPF development with exercises and detailed explanations: ebpf.party. Looks great for a first quick introduction!

15.01.2026 11:02 πŸ‘ 4 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
BUG-BOUNTY.md: we stop the bug-bounty end of Jan 2026 by bagder Β· Pull Request #20312 Β· curl/curl Remove mentions of the bounty and hackerone.

https://github.com/curl/curl/pull/20312

There, now you know.

14.01.2026 10:41 πŸ‘ 16 πŸ” 23 πŸ’¬ 1 πŸ“Œ 1
Preview
Release v2.1.0 Β· akvorado/akvorado πŸ’₯ docker: remove conntrack-fixer service (this requires Docker Engine v23 or more recent) ✨ inlet: add a configuration option to decapsulate received flows (IPIP, GRE, VXLAN, and SRv6 are supported...

Akvorado 2.1.0 was just released. It adds "FlowDirection" and the ability to decap some protocols (IPIP, GRE, VXLAN, and, of course, SRv6).

github.com/akvorado/akv...

10.01.2026 21:53 πŸ‘ 5 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Using eBPF to load-balance traffic across UDP sockets with Go Learn how to implement eBPF-based load balancing for UDP sockets in Go. The article also covers graceful restarts.

Using eBPF to load-balance traffic across UDP sockets with Go. This is useful when the default load-balancing algorithm is not good enough. This also enables graceful restarts.

vincent.bernat.ch/en/blog/2026...

05.01.2026 08:07 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Current status. Waiting for Debian BTS to assign me a bug number for me to link to another one. Soon 2026.

28.12.2025 19:12 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0