Wandering Thoughts archives

2019-04-19: V7 Unix programs are often not written the way you would expect
Links: A Practitioner's Guide to System Dashboard Design (with a bonus)
2019-04-18: One reason ed(1) was a good editor back in the days of V7 Unix
A pattern for dealing with missing metrics in Prometheus in simple cases
2019-04-17: Private browsing mode versus a browser set to keep nothing on exit
2019-04-15: How Linux starts non-system software RAID arrays during boot under systemd
2019-04-14: A VPN for me but not you: a surprise when tethering to my phone
2019-04-13: Remembering that Prometheus expressions act as filters
WireGuard was pleasantly easy to get working behind a NAT (or several)
2019-04-12: Getting (and capturing) spam can sometimes be useful to see what's in it
2019-04-10: The tarfile module is too generous about what is considered a tar file
A Git tool that I'd like and how I probably use Git differently from most people
2019-04-08: An example of a situation where Go interfaces can't substitute for generics
2019-04-07: Why selecting times is still useful even for dashboards that are about right now
A ZFS resilver can be almost as good as a scrub, but not quite
2019-04-05: I won't be trying out ZFS's new TRIM support for a while
It's always DNS (a story of our circular dependency)
2019-04-03: A sign of people's fading belief in RSS syndication
NVMe and an interesting technology change
2019-04-01: Our plan for handling TRIM'ing our ZFS fileserver SSDs
2019-03-31: Our likely ZFS fileserver upgrade plans (as of March 2019)
Erasing SSDs with blkdiscard (on Linux)
2019-03-29: Our current approach for significantly upgrading or modifying servers
My NVMe versus SSD uncertainty (and hesitation)
2019-03-27: A new and exciting failure mode for Linux UEFI booting
2019-03-26: Drifting away from OmniOS (CE)
2019-03-25: The mystery of my desktop that locks up when it gets too cold
2019-03-24: Prometheus's delta() function can be inferior to subtraction with offset
Link: What has your microcode done for you lately?
A bit more on ZFS's per-pool performance statistics
2019-03-22: Sometimes the simplest version of a graph is a text table
2019-03-21: What sorts of good email attachments our users get (March 2019 edition)
2019-03-20: The types of attachments we see in malware email (March 2019 edition)
2019-03-19: ZFS Encryption is still under development (as of March 2019)
2019-03-18: Prometheus subqueries pick time points in a surprising way
2019-03-17: Going from a bound instance method to its class instance in Python
2019-03-16: Callable class instances versus closures in Python
Staying away from Google Chrome after six months or so
2019-03-14: The plague of 'you've logged in to our site again' notification emails
2019-03-13: Peculiarities about Unix's statfs() or statvfs() API
2019-03-12: An easy optimization for restricted multi-metric queries in Prometheus
2019-03-11: Testing Prometheus alert conditions through subqueries
2019-03-10: What the default query step is for Prometheus subqueries
Turning something into a script encourages improving it
2019-03-08: Exploring how and why interior pointers in Go keep entire objects alive
2019-03-07: Exploring the mild oddity that Unix pipes are buffered
Our problem with Netplan and routes on Ubuntu 18.04
2019-03-06: Using Prometheus subqueries to look for spikes in rates
2019-03-04: A surprisingly arcane little Unix shell pipeline example
2019-03-03: Understanding a change often requires understanding how the code behaves
Really understanding diffs requires knowing their context too
2019-03-01: What you get when you do a DNS A record lookup for a CNAME'd name
2019-02-28: Taking advantage of the Linux kernel NFS server's group membership cache
2019-02-27: How to see and flush the Linux kernel NFS server's group membership cache
Using Prometheus subqueries to do calculations over time ranges
2019-02-25: ntpdate has a surprising restriction on what it will sync to
Link: Vim anti-patterns
2019-02-24: Process states from /proc/[pid]/stat versus /proc/stat's running and blocked numbers
The modern danger of locales when you combine sort and cron
2019-02-22: Using default function arguments to avoid creating a class
2019-02-21: An advantage of tablets and two-in-one devices over small laptops
2019-02-20: What /proc/[pid]/stat's process state means and where it comes from
The cliffs in the way of adding tests to our Django web app
2019-02-18: When cloning git repos, things go faster if you start from a good base
2019-02-17: Why I like middle mouse button paste in xterm so much
Some notes on heatmaps and histograms in Prometheus and Grafana
2019-02-15: Accumulating a separated list in the Bourne shell
2019-02-14: A pleasant surprise with a Thunderbolt 3 10G-T Ethernet adapter
2019-02-13: An unpleasant surprise with part of Apache's AllowOverride directive
2019-02-12: Using grep with /dev/null, an old Unix trick
2019-02-11: Thinking about the merits of 'universal' URL structures
2019-02-10: Open protocols can evolve fast if they're willing to break other people
2019-02-09: 'Scanned' versus 'issued' numbers for ZFS scrubs (and resilvers)
2019-02-08: Making more use of keyboard control over window position and size
2019-02-07: A touchpad is not a mouse, or at least not a good one
2019-02-06: Using a single git repo to compare things between two upstreams
2019-02-05: A problem with strict memory overcommit in practice
2019-02-04: Hand-building an updated upstream kernel module for your (Fedora) kernel
2019-02-03: My temptation of getting a personal laptop
2019-02-02: A little appreciation for Vim's 'g' command
2019-02-01: A bit of Sun's history that still lingers on in Illumos
2019-01-31: What getopt package I use for option handling in my Go programs
2019-01-30: ZFS On Linux's kernel modules issues are not like NVidia's
How having a metrics system centralized information and got me to check it
2019-01-28: Go 2 Generics: some features of contracts that I like
The potential risk to ZFS created by the shift in its userbase
2019-01-27: How to handle Unicode character decoding errors depends on your goals
2019-01-25: A piece of email malware that wanted to make sure we rejected it
The Linux kernel's pstore error log capturing system, and ACPI ERST
2019-01-23: Consider setting your Linux servers to reboot on kernel problems
A little surprise with Prometheus scrape intervals, timeouts, and alerts
2019-01-22: Things you can do to make your Linux servers reboot on kernel problems
2019-01-21: Two annoyances I have with Python's imaplib module
2019-01-20: A few notes on using SSL in Python 3 client programs
2019-01-19: A surprise potential gotcha with sharenfs in ZFS on Linux
2019-01-18: Linux CPU numbers are not necessarily contiguous
2019-01-17: Why C uninitialized global variables have an initial value of zero
2019-01-16: Perhaps you no longer want to force a server-preferred TLS cipher order on clients
2019-01-14: Why your fresh new memory pages are zero-filled
2019-01-13: Two views of ZFS's GPL-incompatibility and the Linux kernel
The risk that comes from ZFS on Linux not being GPL-compatible
Even thinking about spam makes me angry
2019-01-12: I have somewhat mixed feelings about Python 3's socket module errors
2019-01-11: A new drawback of using my custom-compiled Firefox
2019-01-10: Why I still have a custom-compiled Firefox (early 2019 edition)
2019-01-09: On right and wrong ways to harvest system-level performance stats
2019-01-08: Link: The IOCCC 2018 "Best of show" program
2019-01-07: Daemons and the pragmatics of unexpected error values from system calls
2019-01-06: accept(2)'s problem of trying to return two different sorts of errors
Linux network-scripts being deprecated is a problem for my home PPPoE link
2019-01-05: Some things on ZFS's per-pool performance statistics
2019-01-04: Planning ahead in documentation worked out for us
2019-01-02: You shouldn't allow Firefox to recommend things to you any more
How I get a copy of the Ubuntu kernel source code (as of Ubuntu 18.04)
By month for 2019: Jan Feb Mar Apr; before 2019.

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.