The Curious Engineer

All blogs / Networking

Vincent Bernat

vincent.bernat.ch/en

Vincent Bernat's homepage

NetworkingLinux / UnixGoDevOps / SRE / infrastructure

Posts
184 from 31 Dec 1996 to 4 Oct 2026
Posting
monthly (17 in the last year)
Kind
personal blog
Feed
https://vincent.bernat.ch/en/blog/atom.xml

2026 16

  1. Hacking the Go compiler to efficiently map IPv4 to IPv6
  2. My blog
  3. Self-hosted HTTP tunnels with SSH and nginx
  4. Bot-free self-hosted analytics with GoatCounter on NixOS
  5. Sidenotes with CSS anchor positioning
  6. An interactive tour of the spanning tree protocol
  7. A non-interactive tour of the spanning tree protocol
  8. Building a Soviet Nail Factory: how KPIs killed efficiency
  9. Blogging with LLMs as a non-native speaker
  10. Sharding a routing table for lock-free reads in Go
  11. CSS & vertical rhythm for text, images, and tables
  12. Calculate “1/(40rods/hogshead) to L/100km” from your Zsh prompt
  13. Automatic Prometheus metrics discovery with Docker labels
  14. Fragments of an adolescent web
  15. RAID 5 with mixed-capacity disks on Linux
  16. Using eBPF to load-balance traffic across UDP sockets with Go

2025 4

  1. Compressing embedded files in Go
  2. Akvorado 2.0
  3. Offline PKI using 3 YubiKeys and an ARM single board computer
  4. Auto-expanding aliases in Zsh

2024 4

  1. Customize Caddy's plugins with Nix
  2. Fixing layout shifts caused by web fonts
  3. Crafting endless AS paths in BGP
  4. Why content providers need IPv6

2023 5

  1. Non-interactive SSH password authentication
  2. DDoS detection and remediation with Akvorado and Flowspec
  3. Building a SQL-like language to filter flows
  4. Hacking the Geberit Sigma 70 flush plate
  5. Fast and dynamic encoding of Protocol Buffers in Go

2022 5

  1. Managing infrastructure with Terraform, CDKTF, and NixOS
  2. Akvorado: a flow collector, enricher, and visualizer
  3. Broken commit diff on Cisco IOS XR
  4. FRnOG #36: Akvorado
  5. ClickHouse San Francisco Bay Area Meetup: Akvorado

2021 12

  1. Custom screen saver with XSecureLock
  2. Automatic login with startx and systemd
  3. Git as a source of truth for network automation
  4. How to rsync files between two remote servers?
  5. FRnOG #34: how we deployed a datacenter in one click
  6. Short feedback on Cisco pyATS and Genie Parser
  7. Switching to the i3 window manager
  8. ThinkPad X1 Carbon (Gen 7): 2 years later
  9. Upgrading my desktop PC
  10. Serving WebP & AVIF images with Nginx
  11. Jerikan+Ansible: a configuration management system for network
  12. Transient prompt with Zsh

2020 14

  1. Zero-Touch Provisioning for Juniper
  2. My collection of vintage PC cards
  3. Running Isso on NixOS in a Docker container
  4. Speeding up bgpq4 with IRRd in a container
  5. Syncing RIPE, ARIN, and APNIC objects with a custom Ansible module
  6. Keepalived and unicast over multiple interfaces
  7. Syncing NetBox with a custom Ansible module
  8. Syncing MySQL tables with a custom Ansible module
  9. Syncing SSH keys on Cisco IOS XR with a custom Ansible module
  10. Writing a custom Ansible module
  11. Zero-Touch Provisioning for Cisco IOS
  12. Safer SSH agent forwarding
  13. Downgrading all Debian packages to a specific date
  14. ThinkPad X1 Carbon 2014: 5 years later

2019 7

  1. Replacing Orange Livebox router with a Linux box
  2. Self-hosted videos with HLS: subtitles
  3. Zsh prompt with asynchronous Git status
  4. Securing BGP on the host with origin validation
  5. A Makefile for your Go project
  6. Writing sustainable Python scripts
  7. Pragmatic Debian packaging

2018 12

  1. HiDPI on dual 4K monitors with Linux
  2. BGP LLGR: robust and reactive BGP sessions
  3. Multi-tier load-balancing with Linux
  4. A more privacy-friendly blog
  5. OPL2 Audio Board: an AdLib sound card for Arduino
  6. Self-hosted videos with HLS
  7. Go @ Exoscale
  8. Integration of a Go service with systemd: socket activation
  9. Route-based VPN on Linux with WireGuard
  10. Packaging an out-of-tree module for Debian with DKMS
  11. OPL2LPT: an AdLib sound card for the parallel port
  12. L3 routing to the hypervisor with BGP

2017 16

  1. (Micro)​benchmarking Linux kernel functions
  2. SwiNOG #32: BGP LLGR
  3. Vienna Linux Meetup: are distributions still relevant?
  4. Route-based IPsec VPN on Linux with strongSwan
  5. Performance progression of IPv6 route lookup on Linux
  6. IPv6 route lookup on Linux
  7. Performance progression of IPv4 route lookup on Linux
  8. IPv4 route lookup on Linux
  9. SwiNOG #31: L3 routing to the hypervisor
  10. VXLAN: BGP EVPN with FRR
  11. VXLAN & Linux
  12. Proper isolation of a Linux bridge
  13. Netops with Emacs and Org mode
  14. Integration of a Go service with systemd: readiness & liveness
  15. Writing your own terminal emulator
  16. A Makefile for your Go project (2017)

2016 4

  1. Build-time dependency patching for Android
  2. Pragmatic Debian packaging (2016)
  3. Testing network software with pytest and Linux namespaces
  4. Django Meetup #35: pytest all the things!

2015 3

  1. dotScale 2015: Docker Machine & Docker Swarm
  2. Live patching QEMU for VENOM mitigation
  3. Directory bookmarks with Zsh

2014 9

  1. Eudyptula Challenge: superfast Linux kernel booting
  2. Staging a Netfilter ruleset in a network namespace
  3. Intel Wireless 7260 as an access point
  4. Replacing Swisscom router by a Linux box
  5. Dashkiosk: manage dashboards on multiple displays
  6. Local corporate APT repositories
  7. EDNS client subnet support for BIND
  8. Coping with the TCP TIME-WAIT state on busy Linux servers
  9. Testing infrastructure with serverspec

2013 10

  1. Dailymotion: quick introduction to SystemTap
  2. Snimpy: SNMP & Python
  3. Automatic debugging packages in Debian
  4. High availability with ExaBGP
  5. Boilerplate for autotools-based C project
  6. Packaging a daemon for macOS
  7. lanĉo: a task launcher powered by cgroups
  8. Contributing to open source: a new feature for RRDtool
  9. Comptabilité d'une EURL avec GnuCash
  10. lldpd 0.7.1

2012 8

  1. Network virtualization with VXLAN
  2. Network lab with QEMU
  3. Switching to the awesome window manager
  4. GPG key transition statement 2012
  5. Integration of Net-⁠SNMP into an event loop
  6. XBMC Eden on Debian Wheezy
  7. Asynchronicity & Net-⁠SNMP AgentX protocol
  8. Recipes for extending Net-⁠SNMP

2011 25

  1. Tuning Linux IPv4 route cache
  2. TLS & Perfect Forward Secrecy
  3. A quick look at Typekit
  4. TLS computational DoS mitigation
  5. TLS termination: stunnel, nginx & stud, round 2
  6. Speeding up TLS: enabling session reuse
  7. TLS termination: stunnel, nginx & stud
  8. jchroot: chroot with more isolation
  9. Plot benchmark results with Matplotlib
  10. Rewriting my .zshrc
  11. Dealing with missing locales on remote hosts
  12. Alternate Android firmware on Samsung Galaxy S
  13. Network lab: site to site VPN
  14. The sorry state of Flash with 64-bit Debian
  15. Anycast DNS
  16. Mobile browsing & content optimization
  17. Ready for World IPv6 day?
  18. GNOME Power Manager without GNOME desktop
  19. Providing a mobile version with CSS Media Queries
  20. SNMP support for Keepalived
  21. Network lab with User Mode Linux
  22. Debian on ThinkPad Edge 11″
  23. FVWM configuration
  24. New website with Hyde
  25. Migrating from Trac to GitHub

2010 1

  1. Python and C

2009 2

  1. Privilege separation in C
  2. Python and networking

2007 1

  1. RMLL 2007 : Zabbix, un outil de supervision réseau

2006 1

  1. Théories de l'intrus pour la vérification des protocoles cryptographiques

2001 1

  1. Contre les brevets logiciels

1998 6

  1. 3 secondes !
  2. Achats électroniques
  3. Le manque d'efficacité des moteurs de recherche
  4. Le e-commerce d'IBM
  5. Coup de vent sur Netscape
  6. Pratiques monopolistiques de Microsoft

1997 16

  1. Dix vœux pour 1998
  2. Interview : Philippe Supera
  3. France Télécom : baisse des tarifs
  4. Reduce your France Télécom bill
  5. Les spams
  6. La guerre du push
  7. Législatives et sondages
  8. Rumeurs : virus par e-mail
  9. La jungle des plugins
  10. Le commerce électronique
  11. La France en retard ?
  12. Client d'Internet
  13. Une page de pub
  14. Le web multimédia
  15. Les cookies
  16. Microsoft Virtual Machine

1996 1

  1. Le Network Computer

Undated 1

  1. © 2026