I should keep track of what Python packages I install through pip

These days I'm increasingly making use of installing Python packagesthrough pip , whether this is into a PyPy environment or with ' pip install --user ' for thingslike python-lsp-server . Having done this for awhile, complete with trying to keep up with potential packageupgrades, I've come to the conclusion that I should explicitly keeptrack of what packages I install, recording this in some place Ican find it again.

There are two problems (or issues) that push me to


Some notes on what's in Linux's /sys/class/net for network interface status

Due to discovering that one of our servers had had a networkinterface at 100 Mbits/sec for some time ,I've become interested in what information is exposed by the Linuxkernel about network interfaces in /sys , specifically in /sys/class/net/ . I'm mostly interested in the informationthere because it's the source of what the Prometheus host agent exposes as networkinterface status metrics, and thus what's easy to monitor and alerton in our metrics


Ethernet network cables can go bad over time, with odd symptoms

Last week we got around to updating the kernels on all of our Ubuntuservers, including our Prometheus metrics server , which is directly connected to fournetworks. When the metrics server rebooted, one of those networkinterfaces flapped down and up for a bit, then suddenly had a lotof intermittent ping failures to machines on that subnet. At firstI thought that this might be a network driver bug in the new kernel,but when I rebooted the server again the network interface came upat 100 Mbit/sec


A couple of Linux top-like programs for network traffic

I have an enduring interest in programs that give you some sort of top -like view of current network traffic, stemming in part fromhaving our NFS fileservers , an activeIMAP server, a sometimes quite used web server, all sorts of NFSclients, and so on. In the shiny future where we have Ubuntu 20.04and 22.04 machines, this interest will probably be significantlymet with eBPF based programs. But for now we'restill mostly on Ubuntu 18.0


Go 1.17 is deprecating the traditional use of 'go get'

A change recently landed in the development version of Go, and willbe in Go 1.17, with the title of doc/go1.17: note deprecation of'go get' for installing commands .The actual updated documentation (from the current draft releasenotes ) says:

go get prints a deprecation warning when installing commands outsidethe main module (without the -d flag). go install cmd@version should be used instead to install a command at a specific version,using a suffix


I like WireGuard partly because it doesn't have 'sessions'

I like WireGuard for any number ofreasons, both on a technical level and on the pragmatic level of itworking well. One of the pragmatic things I like about it is that at thelevel of the user experience, it doesn't have the idea of 'sessions' theway at least OpenVPN and L2TP do.

The problem with sessions is that an established session can bedropped or broken, and this can happen for relatively mysteriousreasons (at least as the person using the VPN sees it)


Some notes on building Firefox from source on Ubuntu

I'm accustomed to being able to build an Ubuntu packaged programfrom its upstream source by doing ' apt-get build-dep 'and then following the upstream's build process (well, for theversion that Ubuntu packages; later versions may have additionaldependencies). Ubuntu packages the latest version of Firefox on allLTS releases because it has no real choice. This forces Ubuntuto update Rust to relatively current versions even on LTS releases , and in theory it should force Ubuntu toalso package


A realization about our VPN and IPv6 traffic

At work, we operate a VPN forour users. The VPN is used to access both internal resources inside our networks and university resources thatare normally only available from 'on-campus' IP addresses. Becauseof the latter, and for historical reasons, our VPN servers areconfigured to tell VPN clients to route all of their traffic throughthe VPN, regardless of the destination. In other words, the VPNmakes itself the default route for traffic. Today, in the processof investigating an unfortunate Google decision ,


A bit on ZFS's coming raidz expansion and ZFS DVAs

The ZFS news of the time interval is Ars Technica's report of raidzexpansion potentially being added ( via ). More detailsand information about how it works are in the links in MatthewAhrens' pull request ,which as of yet hasn't landed in the master development version.I've previously written about ZFS DVAs and their effects on growingZFS pools , in which I said that how DVAoffsets are defined was by itself a goodreason as to why you couldn't expand raidz vdevs ( in


The Unix background of Linux's 'file-max' and nr_open kernel limits on file descriptors

Somewhat recently, Lennart Poettering wrote about File DescriptorLimits . Inpassing, Poettering said (emphasis mine):

[...] Specifically on Linux there are two system-wide sysctls: fs.nr_open and fs.file-max . (Don't ask me why one uses a dashand the other an underscore, or why there are two of them ...) [...]

I can't help much about the first question, but the answer tothe second one