Running Graphical Applications in Incus Containers I didn't know how easy it is to display the graphical console of a virtual machine until I tried recently. $ sudo apt install virt-viewer $ incus launch images:debian/trixie test --vm $ incus console test --type=vga That's it.
My experience at MiniDebConf Campinas 2026 Last week, I spent the entire week in Campinas attending MiniDebConf and MiniDebCamp. The Debian Brazil community organizes this event every year, and this year's edition was the biggest so far. During MiniDebCamp, I sponsored a few uploads and spent two days teaching packaging to two participants. I usually teach packaging online, so it was refreshing to…
How to build reverse dependencies using Salsa CI Last week, I attended MiniDebConf Campinas, and one of my favorites talks was "Salsa CI, showing features that almost nobody knows" by Aquila Macedo. One of the things I learned is that we can easily build reverse dependencies using: $ git push -o ci.variable="SALSA_CI_DISABLE_BUILD_REVERSE_DEPENDENCIES=0" I tried this option before uploading typer…
How to view the Debian Upload Queue Some people may not know this, but the Debian Upload Queue is public and very easy to access: $ curl ftp://ftp.upload.debian.org/pub/UploadQueue/ drwxr-sr-x 18 1518 1281 4096 Jun 26 2019 DELAYED -rw-r--r-- 1 1518 1281 3442 Jul 14 2025 README -rw-r----- 1 117 1281 3052 Apr 20 21:32 neovim-tokyonight_4.14.1-1.debian.tar.xz -rw-r----- 1 117 1281 2119 Apr 20 21:32…
Zero-Code Instrumentation of an Envoy TCP Proxy using eBPF I recently had to debug an Envoy Network Load Balancer , and the options Envoy provides just weren't enough. We were seeing a small number of HTTP 499 errors caused by latency somewhere in our cloud , but it wasn't clear what the bottleneck was. As a result, each team had to set up additional instrumentation to catch latency spikes and…
Avoiding 5XX errors by adjusting Load Balancer Idle Timeout Recently I faced a problem in production where a client was running a RabbitMQ server behind the Load Balancers we provisioned and the TCP connections were closed every minute. My team is responsible for the LBaaS (Load Balancer as a Service) product and this Load Balancer was an Envoy proxy provisioned by our control plane. The error was…
Running Docker (OCI) Images in Incus Incus 6.15 released with a lot of cool features, my favorite so far is the authentication support for OCI registries. Here's an example: $ incus remote add docker https://docker.io --protocol = oci $ incus launch docker:debian:sid sid $ incus shell sid root@sid:~# apt update && apt upgrade -y root@sid:~# cat /etc/os-release PRETTY_NAME = "Debian GNU/Linux…
Query Debian changelogs by keyword with the FTP-Master API In my post about tracking my Debian uploads , I used the ProjectB database directly to retrieve how many uploads I had so far. I was pleasantly surprised to receive a message from Joerg Jaspert, who introduced me to the Debian Archive Kit web API (dak), also known as the FTP-Master API. Joerg gave the idea of integrating the query I had…
Handling malicious requests with fail2ban I've been receiving a lot of malicious requests for a while now, so I decided to try out fail2ban as a possible solution. I see fail2ban as nice to have tool that is useful to keep down the "noise", but I wouldn't rely on it for security. If you need a tool to block unauthorized attempts or monitor log files excessively, you are probably doing something…
How I finally tracked my Debian uploads correctly A long time ago, I became aware of UDD (Ultimate Debian Database), which gathers various Debian data into a single SQL database. At that time, we were trying to do something simple: list the contributions (package uploads) of our local community, Debian Brasília. We ended up with a script that counted uploads to unstable and experimental. I was…
How I deployed this Website I will describe the step-by-step process I followed to make this static website accessible on the Internet. DNS I bought this domain on NameCheap and am using their DNS for now, where I created these records: Record Type Host Value A sergiocipriano.com 201.54.0.17 CNAME www sergiocipriano.com Virtual Machine I am using Magalu Cloud for hosting my VM, since employees…
Why package X is installed in your Debian When I was looking for alternatives to mount a USB flash drive without sudo, I came across udisks2. To my surprise, this package was already installed on my machine. I found these two methods to understand why: $ apt rdepends udisks2 --installed udisks2 Reverse Depends: Depends: gnome-disk-utility (>= 2.7.6) Depends: gvfs-daemons Recommends: fwupd $…
Disable sleep on lid close I am using an old laptop in my homelab, but I want to do everything from my personal computer, with ssh. The default behavior in Debian is to suspend when the laptop lid is closed, but it's easy to change that, just edit /etc/systemd/logind.conf and change the line #HandleLidSwitch=suspend to HandleLidSwitch=ignore then $ sudo systemctl restart systemd-logind That's it.
Why this website exists I believe I can learn more by writing. Besides, I have a terrible memory. This is an attempt to document what I'm learning so that I can refer to it in the future. There are also many concepts that I don't fully understand yet, even the ones I use daily. My idea is to write about these things and explain how they work. This will force me to study them. Lastly, I don't like…