Wandering Thoughts archives

2022-06-28: What symmetric and asymmetric IP routing are
2022-06-27: Wishing for a simple way to set up multi-interface symmetric routing on Linux
2022-06-26: Modern disk sizes and powers of two
2022-06-25: A limitation on what 'go install' can install (as of Go 1.18)
2022-06-24: Even for us, SSD write volume limits can matter
2022-06-23: A mystery with Fedora 36, fontconfig, and xterm (and urxvt)
2022-06-22: Signing email with DKIM is becoming increasing mandatory in practice
2022-06-21: Some network speeds and network related speeds we see in mid 2022
2022-06-20: Modern HDDs have gotten somewhat better than they used to be
2022-06-19: What fast SSH bulk transfer speed (probably) looks like in mid-2022
2022-06-18: Humanizing numbers in Python through a regexp substitution function
2022-06-17: What is our Python 2 endgame going to be?
2022-06-16: I wish Grafana dashboards and panels could have easy, natural comments
2022-06-15: Understanding some peculiarities of per-cgroup memory usage accounting
2022-06-14: Go programs and Linux glibc versioning
2022-06-13: In general Unix system calls are not cancellable, just abortable
2022-06-12: Framebuffer consoles have been around before on Unix workstations
2022-06-11: Linux kernel mode setting on servers (and Ubuntu 22.04)
2022-06-10: Text consoles and framebuffer consoles in Linux
2022-06-09: How we wound up with Linux's kernel mode setting ('KMS')
2022-06-08: The information theory reason for assuming non-secret cryptography algorithms
2022-06-07: TLS Certificate Transparency logs don't always talk to you
2022-06-06: Doing a selective alert about a host's additional exporters in Prometheus
2022-06-05: Checking a few metrics (time series) at once in Prometheus's query language
2022-06-04: Web URL paths don't quite map cleanly onto the abstract 'filesystem API'
2022-06-03: Regular expressions are effectively a (hard) programming language
2022-06-02: Serving static files versus dynamic web server APIs
2022-06-01: Setting up Linux fair share CPU scheduling with systemd and cgroup v2
2022-05-31: The basics of Linux fair share CPU scheduling in cgroup v2 ('unified cgroups')
2022-05-30: Systemd memory limits and strict memory overcommit
2022-05-29: My wish for per-port IP access controls in systemd .service units
2022-05-28: It's a bit risky to give people access to your Prometheus Blackbox exporter
2022-05-27: Modal dialogs and other things that steal keyboard focus are dangerous
2022-05-26: Stopping an Ubuntu 22.04 desktop from suspending at the login screen
2022-05-25: Shell scripts should be written to be clear first
2022-05-24: Some notes on providing Python code as a command line argument
2022-05-23: Systems should expose a (simple) overall health metric as well as specifics
2022-05-22: Modern (public) TLS has only a limited number of intermediate certificates
2022-05-21: Some things that make languages easy (or not) to embed in Unix shell scripts
2022-05-20: Getting a Bourne shell "here document" into a shell variable
2022-05-19: Moving a libvirt-based virtualization setup from one machine to another
2022-05-18: Missing TLS intermediate certificates can create mysterious browser problems
2022-05-17: Why I'm not all that positive on working through serial consoles
2022-05-16: Python programs as wrappers versus filters of other Unix programs
2022-05-15: The idea of hierarchical filesystems doesn't feel like an API to me
2022-05-14: The web is, in a sense, designed for serving static files
2022-05-13: The cause of an odd DNF/RPM error about conflicting files
2022-05-12: Why I'm considering some use of NetworkManager (and I probably have to)
2022-05-11: Traditionally there are fewer steps in setting up a static website
2022-05-10: Seeing the speed of your USB devices under Linux the easy way
2022-05-09: Snaps don't seem compatible with NFS home directories in Ubuntu 22.04
2022-05-08: Checking if a machine is 'up' for scripts, well, for rsync
2022-05-07: Solving a problem I had with the Unix date command in the right way
2022-05-06: Filtering Prometheus metrics with deliberately repeated labels
2022-05-05: When you install systems semi-manually, when updates get done matters
2022-05-04: The temptation of smartctl's JSON output format given NVMe SSDs
2022-05-03: NVMe disk drives and SMART attributes (and data)
2022-05-02: Monitoring is too hard, as illustrated by TLS certificates expiring
Link: An opinionated list of best practices for textual websites
2022-05-01: Using Linux's libvirt for my virtualization needs has been okay
2022-04-30: Some thoughts about your (our) site needing Javascript
2022-04-29: Our positive experience with having our support site be basic HTML
2022-04-28: The practical problem with /etc/pam.d on long-lived Linux systems
2022-04-27: The root cause of my xdg-desktop-portal problems on a Fedora machine
2022-04-26: Why your physical servers running Ubuntu 22.04 LTS can boot very slowly
2022-04-25: Sort of making snapshots of UEFI libvirt-based virtual machines
2022-04-24: Some things that make shell scripts have performance issues
2022-04-23: The temptation of writing shell scripts, illustrated
2022-04-22: The state of Python (both 2 and 3) in Ubuntu 22.04 LTS
2022-04-21: 4K HiDPI monitors come in inconvenient sizes if you want two of them
2022-04-20: My virtualization setup so far with Linux's virt-manager and friends
2022-04-19: Some bits on keeping isolated network interfaces organized (on Linux)
2022-04-18: How to talk to a local IPMI under OpenBSD
Where Linux's load average comes from in the kernel
2022-04-16: "Long term support" Unixes and versions of software in them
2022-04-15: I need (or at least want) a new virtual machine (GUI) environment
2022-04-14: Building Firefox from source and Rust versions
2022-04-13: A reason why Unix programs sometimes support '-?' for help
2022-04-12: Mangling your distribution version in your Apt sources for fun and profit
2022-04-11: How Debian's procps package is surprisingly opinionated
2022-04-10: A Linux PAM setup and the problem of stopping authentication
2022-04-09: Understanding the effects of PAM module results ('controls' in PAM jargon)
2022-04-08: On the ordering of password and MFA challenges during login
2022-04-07: What goes into an X resource and its name
2022-04-06: Fedora now has a sensible UEFI boot setup (and has for some time)
2022-04-05: The failure of the idea of X resources
2022-04-04: Things I needed to change for HiDPI on Linux that weren't in my X settings
2022-04-03: Some notes on using snmpwalk to poke at devices with SNMP
2022-04-02: Sorting out IPMI and BMC terminology and technology
2022-04-01: Some notes on finding and reading information over SNMP
2022-03-31: The awkward timing of Fedora and Go releases
2022-03-30: Why a (Linux) service delaying its shutdown is a bad thing
2022-03-29: Fixing Pipx when you upgrade your system Python version
2022-03-28: We need a way to scan Microsoft Office files for malware
2022-03-27: Some thoughts on Go's unusual approach to identifier visibility
2022-03-26: Unsurprisingly, the clock in your server's IPMI drifts over time
2022-03-25: Some notes on lslocks, the Linux command to list current file locks
2022-03-24: Some notes on Linux's /proc/locks listing of file locks
2022-03-23: Document your mistakes and then try to block them in the future
2022-03-22: Getting a fixed baud rate on your serial ports for logins under systemd
2022-03-21: The modern trend of variable DNS results and its effects on troubleshooting
2022-03-20: Prometheus: using gauge-like things as if they were counters
2022-03-19: Some problems that Python's cgi.FieldStorage has
2022-03-18: Our limited use of Python's cgi module
2022-03-17: I need to remember to check for ZFS filesystems being mounted
2022-03-16: People might want to think about saving a copy of Go 1.17
2022-03-15: How Linux dynamic loaders can be both shared objects and executables
2022-03-14: Where cut comes into Unix (and a bit on the history of awk)
2022-03-13: We do see ZFS checksum failures, but only infrequently
2022-03-12: I wish ZFS pools kept a persistent count of various errors
2022-03-11: Filesystems can experience at least three different sorts of errors
2022-03-10: It would be nice if Linux had a count of disk errors in sysfs
2022-03-09: Linux disk names you can encounter in your Prometheus host metrics
2022-03-08: Hardware can be weird, server and USB keyboard edition
2022-03-07: The convenience of multi-purpose monitoring (in Prometheus)
2022-03-06: What sort of server it takes to build Firefox in four and a bit minutes
2022-03-05: Dynamic web pages can be viewed as a form of compression (sometimes)
2022-03-04: A pragmatic driver of support for serving static files on the web is efficiency
2022-03-03: Understanding a thing with ZFS on Linux, kernel versions, RPMs, and DKMS
2022-03-02: A Python program can be outside of a virtual environment it uses
2022-03-01: The problem of keeping track of hardlinks as you traverse a directory tree
2022-02-28: Firefox (Nightly) and the case of the fading scrollbars on Unix
2022-02-27: Python's os.environ is surprisingly liberal in some ways
2022-02-26: Unix environment variables (and the environment) are a fuzzy thing
2022-02-25: The varying sizes of images on the web today, and remembering that
2022-02-24: I've come to think that the Git index is a good thing
2022-02-23: Some early notes on Dovecot namespaces (in Dovecot 2.2.33, currently)
2022-02-22: A realization about using DNS sub-names in modern protocols like DMARC
2022-02-21: Python's Global Interpreter Lock is not there for Python programmers
2022-02-20: The history (sort of) of service management in Unix
2022-02-19: The important things about Unix init systems aren't booting the system
2022-02-18: Ubuntu limits the console kernel log level even on servers
2022-02-17: The Linux kernel's message log levels are relatively meaningless
2022-02-16: Lurking complexities in a web server that just serves static files
2022-02-15: A major caution when using 'rsync -a' to copy or move directory trees
2022-02-14: Beware of trying to compare the size of subtrees with du
2022-02-13: Go generics: the question of types made from generic types and type sets
2022-02-12: The 'any' confusion in Go generics between type constraints and interfaces
2022-02-11: Some things on strict and relaxed DKIM alignment in DMARC
2022-02-10: Notes on using DKIM in a DMARC world
2022-02-09: ZFS performance and modern solid state disk systems
2022-02-08: Some SSD write volumes from my machines
2022-02-07: What does it mean for a filesystem to perform well on modern hardware?
2022-02-06: Checking out a Git branch further back than the head
2022-02-05: Go 1.18 won't have a 'constraints' package of generics helpers
2022-02-04: Some notes on Grafana relative time ranges
2022-02-03: The hassles today of having servers with disks that can't be hot-swapped
2022-02-02: Disk drives can have weird SMART values for their power on hours
2022-02-01: The likely long-term result of good on-host (host-based) firewalls
2022-01-31: Git 2.34 has changed how you configure fast-forward only pulls and rebasing
2022-01-30: A thesis: most websites are implicitly designed with a short lifetime
2022-01-29: The reason Unix has the argv[0] issue (and API)
2022-01-28: Some things on Django's CSRF protection, sessions, and REMOTE_USER
2022-01-27: The Linux kernel, simultaneous multithreading, and process scheduling
Django and Apache HTTP Basic Authentication (and REMOTE_USER)
2022-01-25: Giving things an IP address is dangerous (to them)
Go generics are going to be both simple and complex (as of Go 1.18)
2022-01-23: DNS queries to external sources do fail every so often out of the blue
2022-01-22: Modern public TLS is a quite different thing than it used to be
2022-01-21: Sorting out the situation with Intel desktop CPUs and hyper-threading
2022-01-20: I'm using journalctl's --since option now to speed up checking logs
2022-01-19: When I might expect simultaneous multithreading to help
2022-01-18: Logs are invisible (at least most of the time and by default)
2022-01-17: Pipx and a problem with changing the system Python version
2022-01-16: HTTPS is still optional, at least sort of
2022-01-15: You should do lint checks on your Prometheus alert (and recording) rules
2022-01-14: Link: Histograms in Grafana (a howto)
Understanding what a DKIM (spam) replay attack is
2022-01-13: In practice, there are two types of window managers in modern X
2022-01-12: My sunk cost fallacy relationship with my home desktop
2022-01-11: Some things about Prometheus Alertmanager's notification metrics
2022-01-10: The complexity of seeing if your Prometheus Alertmanager is truly healthy
2022-01-09: I have mixed feelings about the Go time package's time formatting strings
2022-01-08: Good web scraping is not just about avoiding load
2022-01-07: In practice, Debian (and Ubuntu) have fixed minimum system UIDs and GIDs
2022-01-06: An annoyance with Debian postinstall scripts during package upgrades
2022-01-05: Some things about Dovecot, its index files, and the IMAP SELECT command
2022-01-04: Some ways to implement /dev/fd in Unix kernels
2022-01-03: The important Unix idea of the "virtual filesystem switch"
2022-01-02: Why "process substitution" is a late feature in Unix shells
Why I'm not interested in rolling back to snapshots of Linux root filesystems
By month for 2022: Jan Feb Mar Apr May Jun; before 2022.

Page tools: See As Normal.
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.