MTU Ninja
Vincent Bernat
By date#
- DDoS detection and remediation with Akvorado and Flowspec
- Building a SQL-like language to filter flows
- Hacking the Geberit Sigma 70 flush plate
- Fast and dynamic encoding of Protocol Buffers in Go
- Managing infrastructure with Terraform, CDKTF, and NixOS
- Akvorado: a flow collector, enricher, and visualizer
- Broken commit diff on Cisco IOS XR
- FRnOG #36: Akvorado
- ClickHouse SF Bay Area Meetup: Akvorado
- Custom screen saver with XSecureLock
- Automatic login with startx and systemd
- Git as a source of truth for network automation
- How to rsync files between two remotes?
- FRnOG #34: how we deployed a datacenter in one click
- Short feedback on Cisco pyATS and Genie Parser
- Switching to the i3 window manager
- ThinkPad X1 Carbon (Gen 7): 2 years later
- Upgrading my desktop PC
- Serving WebP & AVIF images with Nginx
- Jerikan+Ansible: a configuration management system for network
- Transient prompt with Zsh
- Zero-Touch Provisioning for Juniper
- My collection of vintage PC cards
- Running Isso on NixOS in a Docker container
- Speeding up bgpq4 with IRRd in a container
- Syncing RIPE, ARIN, and APNIC objects with a custom Ansible module
- Keepalived and unicast over multiple interfaces
- Syncing NetBox with a custom Ansible module
- Syncing MySQL tables with a custom Ansible module
- Syncing SSH keys on Cisco IOS-XR with a custom Ansible module
- Writing a custom Ansible module
- Zero-Touch Provisioning for Cisco IOS
- Safer SSH agent forwarding
- Downgrading all Debian packages to a specific date
- ThinkPad X1 Carbon 2014: 5 years later
- Replacing Orange Livebox router with a Linux box
- Self-hosted videos with HLS: subtitles
- Zsh prompt with asynchronous Git status
- Securing BGP on the host with origin validation
- A Makefile for your Go project
- Writing sustainable Python scripts
- Pragmatic Debian packaging
- HiDPI on dual 4K monitors with Linux
- BGP LLGR: robust and reactive BGP sessions
- Multi-tier load-balancing with Linux
- A more privacy-friendly blog
- OPL2 Audio Board: an AdLib sound card for Arduino
- Self-hosted videos with HLS
- Go @ Exoscale
- Integration of a Go service with systemd: socket activation
- Route-based VPN on Linux with WireGuard
- Packaging an out-of-tree module for Debian with DKMS
- OPL2LPT: an AdLib sound card for the parallel port
- L3 routing to the hypervisor with BGP
- (Micro)benchmarking Linux kernel functions
- SwiNOG #32: BGP LLGR
- Vienna Linux Meetup: are distributions still relevant?
- Route-based IPsec VPN on Linux with strongSwan
- Performance progression of IPv6 route lookup on Linux
- IPv6 route lookup on Linux
- Performance progression of IPv4 route lookup on Linux
- IPv4 route lookup on Linux
- SwiNOG #31: L3 routing to the hypervisor
- VXLAN: BGP EVPN with FRR
- VXLAN & Linux
- Proper isolation of a Linux bridge
- Netops with Emacs and Org mode
- Integration of a Go service with systemd: readiness & liveness
- Writing your own terminal emulator
- A Makefile for your Go project (2017)
- Build-time dependency patching for Android
- Pragmatic Debian packaging (2016)
- Testing network software with pytest and Linux namespaces
- Django Meetup #35: pytest all the things!
- dotScale 2015: Docker Machine & Docker Swarm
- Live patching QEMU for VENOM mitigation
- Directory bookmarks with Zsh
- Eudyptula Challenge: superfast Linux kernel booting
- Staging a Netfilter ruleset in a network namespace
- Intel Wireless 7260 as an access point
- Replacing Swisscom router by a Linux box
- Dashkiosk: manage dashboards on multiple displays
- Local corporate APT repositories
- EDNS client subnet support for BIND
- Coping with the TCP TIME-WAIT state on busy Linux servers
- Testing infrastructure with serverspec
- Dailymotion: quick introduction to SystemTap
- Snimpy: SNMP & Python
- Automatic debugging packages in Debian
- High availability with ExaBGP
- Boilerplate for autotools-based C project
- Packaging a daemon for macOS
- lanĉo: a task launcher powered by cgroups
- Comptabilité d'une EURL avec GnuCash (in French)
- lldpd 0.7.1
- Network virtualization with VXLAN
- Network lab with QEMU
- Switching to the awesome window manager
- GPG key transition statement 2012
- Integration of Net-SNMP into an event loop
- XBMC Eden on Debian Wheezy
- Asynchronicity & Net-SNMP AgentX protocol
- Recipes for extending Net-SNMP
- Tuning Linux IPv4 route cache
- TLS & Perfect Forward Secrecy
- A quick look at Typekit
- TLS computational DoS mitigation
- TLS termination: stunnel, nginx & stud, round 2
- Speeding up TLS: enabling session reuse
- TLS termination: stunnel, nginx & stud
- jchroot: chroot with more isolation
- Plot benchmark results with Matplotlib
- Rewriting my .zshrc
- Dealing with missing locales on remote hosts
- Alternate Android firmware on Samsung Galaxy S
- Network lab: site to site VPN
- The sorry state of Flash with 64-bit Debian
- Anycast DNS
- Mobile browsing & content optimization
- Ready for World IPv6 day?
- GNOME Power Manager without GNOME desktop
- Providing a mobile version with CSS Media Queries
- SNMP support for Keepalived
- Network lab with User Mode Linux
- Debian on ThinkPad Edge 11″
- FVWM configuration
- New website with Hyde
- Migrating from Trac to GitHub
- La séparation de privilèges en C (in French)
- RMLL 2007 : Zabbix, un outil de supervision réseau (in French)
- Théories de l'intrus pour la vérification des protocoles cryptographiques (in French)