That cks. Overcommitted sysadmin, photographer, bicyclist, and other multitudes. I write a lot of words for a programmer. he/him/they/them 🇨🇦
Public Key
npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Profile Code
nprofile1qqsdytf70gm53ajdve7gta4uq2jwztgalh7u7km0ye2t7shggauhzyspz4mhxue69uhhyetvv9ujuerfw36x7tnsw43qd20ahy
Show more details
Published at
2026-08-24T17:57:46Z Event JSON
{
"id": "2daf2a74f88156dfcc50104a59db1fd2ae08b29f9704f0fe4935838e44b9a0cf" ,
"pubkey": "d22d3e7a3748f64d667c85f6bc02a4e12d1dfdfdcf5b6f2654bf42e847797112" ,
"created_at": 1787594266 ,
"kind": 0 ,
"tags": [
[
"proxy",
"https://mastodon.social/users/cks",
"activitypub"
],
[
"client",
"Mostr",
"31990:6be38f8c63df7dbf84db7ec4a6e6fbbd8d19dca3b980efad18585c46f04b26f9:mostr",
"wss://relay.ditto.pub"
]
],
"content": "{\"name\":\"Chris Siebenmann\",\"about\":\"That cks. Overcommitted sysadmin, photographer, bicyclist, and other multitudes. I write a lot of words for a programmer. he/him/they/them 🇨🇦\",\"picture\":\"https://files.mastodon.social/accounts/avatars/000/035/310/original/43aec69802c8a4c9.jpg\",\"nip05\":\"[email protected] \",\"fields\":[[\"Techblog\",\"https://utcc.utoronto.ca/~cks/space/blog/\"],[\"Github\",\"https://github.com/siebenmann\"],[\"Flickr\",\"https://www.flickr.com/photos/22276923@N06/\"]]}" ,
"sig": "3bd15ff8a7acd826eb24625a5bedc181fa272984e66b93aea59e44d93360a906dac41280e453ba063f0c133acdd7bfbaaab582a1a1bdd5fb633a6dd0d1985e49"
}
Last Notes npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann These machines have 8x compute-only GPUs each and right now each GPU appears to be idling at around 257 watts each as they report it to the kernel (no I don't know why), plus ~110 watts each for each CPU socket, but that still leaves ~1,000 watts unaccounted for. The fans are not running at full power (we did a load test and all of these numbers went up, full load draw is reported as about 11,000 watts). npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…r9vg It's with a standard Ubuntu 26.04 LTS server install and whatever power-saving settings that provides (and whatever BIOS settings for that they were shipped with). We aren't particularly going to tune the idle power because these machines theoretically aren't supposed to be idle once in production¹ but busy with compute jobs. Of course in full compute load they soar to something like 11,000 watts (!), so who knows. ¹ they will probably not be constantly in use in practice. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann This is my face when a couple of very special new servers at work are using over 3,000 watts sitting idle (or at least that's what their BMC reports as power usage, and they have 12 PSUs in I think a 6x2 redundant configuration). This is an x86 server, not an IBM mainframe, but apparently this is our glorious GPU future. (They and other servers in the room are Very Loud, like "hearing protection is now mandatory" loud.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Do I know why SSH logins on Ubuntu 26.04 don't register their pty with logind, at least based on loginctl and other indicators? No, sadly I don't, but I do know that this breaks some important things on multi-user machines. Oddly, 'who' does report ptys, who knows how. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…h6ty Yes, instant resolution (and 'resolvectl query' resolves instantly, and the resolvectl settings are the same; we're using systemd-resolved since that's the 26.04 Ubuntu LTS default). npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…h6ty On all of our machines this only reports link-local IPv6 addresses for local reasons. If I use the fully qualified name it gets the right IPv4 address. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…h6ty The machine has our standard DNS configuration and everything appears healthy on it. (And the network speed and etc are the same as everything else.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Today's mystery: on exactly one system (with shared NFS home directories), logins take 3+ seconds to start because '/usr/lib/systemd/systemd --user' sits on its hands between running systemd-xdg-autostart-generator and running the next step of a remarkably opaque login process. I don't even know where to start and I only got this far with a hacked version of the great extrace¹ that also reports a process start time number. ¹ https://github.com/leahneukirchen/extrace (seriously, sysadmins, get a copy today) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Can I maybe repair git accidents if I try hard enough? Sure. Is it a lot easier to delete and re-pull my entire clone of upstream? Also sure. I have opinions about git and they aren't entirely positive. (This is also why I copy git trees around with rysnc, because you never know.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Hot take: people who think that the Instructure Canvas compromise wouldn't have happened if Canvas was built and operated by a university consortium are quite optimistic about the state of computer security at universities, and also about budget pressure on said state (and on other aspects of university computing). Universities are not lands of sparkling ponies (or of devastated desolation, at least not in most of the world). (A university Canvas would still be good for other reasons.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann People are rightly up in arms over Google restricting who can develop for and load apps on Android. Now extend this to the LLM programming era: if all real programming is LLM programming, and all LLM coding assistants are the AaaS of a few US corporations, those corporations control your development. By extension, so does the US government, even and especially for foreign companies. Get put on a US sanctions list? No LLM coding assistants for you any more. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Ah. It is probably possible to append files to modern Linux initramfs images, such as the Ubuntu server installer initramfs. My actual problem is that the Ubuntu server initramfs is not what the installer runs in. Instead the installer boot process discards the initramfs in favor of a 'real' root filesystem built from things from the ISO, making my additions to the initramfs basically moot. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I admire how the Canonical server installer for Ubuntu 26.04 appears to "support" mounting the install image/tree over NFS. On the one hand, it definitely works! On the other hand, the moment Canonical's installer starts running it decides to take down the network to reconfigure it (or ask you about that). This works extremely badly when you're accessing everything over NFS, for the obvious reasons. It's pretty obvious that no one really tested this, not that I'm surprised. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Now I'm wondering to what extent the current situation is affecting the plans of gaming studios for in-development games. If much of your audience is not going to be upgrading their hardware any time soon, especially CPUs and RAM, what performance can you expect and demand for a new game? (I'm not the only one having these thoughts, cf https://mindof.jrconlin.com/@jrconlin/statuses/01KJJYNNZQG5FTPK178D8BF4P6 ) #nevent1q…vx7t npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann A little life hack: a while back I got a number of little LED night lights that have motion detection and light level sensing and plug into wall sockets, and plugged them in to random spare sockets. It's great; no more blundering around dark rooms, especially small ones like the bathroom. Also they're handy for letting me know when it really is overcast and dim during the day. If I walk around and they come on, it's not my imagination, it really is that overcast. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann "The Go team debates AI-generated contributions", that's nice but there's probably no real debate. A lot of the Go team work at Google, and Google has very likely mandated that everyone use LLMs to 'help' with programming and made them part of performance reviews. The same is true for major corporate contributions to any FOSS project. Don't accept LLM stuff? Either people lie or you lose those corporate contributions, take your pick. (I pick the second, but that's a hard sell.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I should write a shell script that dumps out the default values of all XDG_*_HOME settings/environment variables/etc, so I can stop looking them up every time. It would be nice if the XDG programs provided something for this already, but ehh whatever. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Current status: shaving the yaks to reboot my home desktop after 42 days of uptime. I didn’t start out planning this reboot but one thing led to another. Why don’t I reboot more often? Well, yak shaving and the lack of it in some bits of my current desktop setup. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann The joys of modern email: "Has Microsoft decided to put all of our email on hold or are they having a global M365 inbound SMTP email incident?" (For about the last hour and a half, if it's an incident someone is having a bad day.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann It has been '0' days since non-breaking space in email text wound up blowing up a program that did not accept UTF-8 encoded non-breaking spaces in its configuration file. This is my angry face at mail composition tools. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…sx8u @nprofile…ds0l I once heard an Elizabeth Zwicky sysadmin war story from the late 80s or early 90s about how SRI's (I think) Bay Area machine room overheated during a rare Bay Area freezing snap ... because the AC pipes ran outside on the roof and no one had insulated them because why would you need to in the Bay Area of all places. So the sysadmins had to run around opening doors and windows to let all the outside freezing cold air in to cool the place down enough. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…p7lw @nprofile…8qgv I wish it was that simple, but some of it is that SaaS can concentrate expertise and develop better software than non-SaaS can, because of scale and focus. I feel this extremely vividly with webmail; there is 0% chance that my (large!) university could develop a webmail environment half as good as the big ones, never mind their spam filtering. We don't have the money to pay the amount and quality of developers that would be needed, if we could even attract their attention. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Today, for no particular reason¹, I was reminded of the fun fact that at the South Pole research station, their stored ice cream winds up so cold that they have to let it warm up for a few days before they can actually serve it. This comes from https://brr.fyi/posts/the-last-egg (the whole blog is very interesting if you like this sort of infrastructure information). ¹ okay it was because of https://mathstodon.xyz/@mjd/115691337448389296 #nevent1q…uwev npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Is it useful for a Unix sysadmin to know how to use ed(1) and do basic things with it? Sure. Sometimes ed(1) is all you have or is your best choice. Is it a priority for a sysadmin to learn ed(1), given that there are so many other things to learn in this field? I don't know, but I feel much less certain. There's a ton of things in system administration that are 'useful' to know, too many for any one person to actually know. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…feen I wonder if there's some sort of payment processor requirement involved, to the effect that you can never, ever save a new card without explicit consent from the person involved. But that doesn't explain why they don't suggest it (unless that too falls under payment processor requirements for some reason). npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann My hot take on Rust .unwrap(): no matter what you do, people want convenient shortcut ways of not explicitly handling errors in programming languages. And then people will use them in what turn out to be inappropriate places, because people aren't always right and sometimes make mistakes. Every popular programming language lets your code not handle errors in some way, taking an optimistic approach. If you're lucky, your program notices at runtime when there actually is an error. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Blog post: We need to start doing web blocking for non-technical reasons https://utcc.utoronto.ca/~cks/space/blog/web/WeShouldBlockForSocialReasons tl;dr: the modern web is held together by a fragile social consensus that is now being violated so aggressively that we've noticed technical failures (eg overwhelmed sites). We need to block for mere 'bad behavior' violations of the social consensus¹ if we want to preserve it, not wait until our websites fall over. ¹ summaries of some mere 'bad behavior' I was thinking of: https://lobste.rs/s/xtunoa/we_need_start_doing_web_blocking_for_non#c_yepcxt npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann University: We want to be a great employer and recruit great staff. Also university: surprise, no more work from home starting 2026, everyone has to be in the office all the time. Union: clears its throat in a significant way, gestures to 'people can work from home' in the union agreement/contract. Get a union, people. It's good for you. (We'll have to see how this one goes.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann This history of Return / Enter / whatever it is on your keyboard is more fascinating and surprising than I expected. Worth reading: https://aresluna.org/the-day-return-became-enter/ (via https://twostopbits.com/ which will be of interest to some of you, via https://tilde.zone/@movq/115124813215685011 via @nprofile…0y80 because Attribution Damnit™ as I was indoctrinated long ago and feel like indulging tonight.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann This is my face when 2.5" SATA SSDs larger than 4TB appear to be, shall we say, extremely uncommon (and $$$$), while 8 TB NVMe drivers are garden variety and not unreasonably priced. Look, people, I have a lot more SATA ports than spare PCIe slots (even 1x slots, which you can get NVMe adapters for). Why am I looking at this? Music FLACs, that's why. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann There's some GNU Emacs hackery I could and should do (to make it properly open links in my environment even when it's not running with $DISPLAY set), but it involves dealing with regular expressions in GNU Emacs and ... well. I am sure that people who do this a lot do not stare at the level of peculiar and opaque quoting required and back away slowly. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I thought I had a good awareness of the sort of terrible and terrifying things you could put in an email address, until I did this quiz. It turns out, not so much (for modern stuff). https://e-mail.wtf/ Disclaimer: crawling horrors are within. Technically legal crawling horrors, no less, always the best sorts. (The quiz cares specifically about syntactic validity, which tripped me up on one question.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Today's sad thought: I wonder if there's any easy, request efficient (and bandwidth efficient) way to offer git repos for cloning that won't be excessively ransacked by LLM crawlers. (... because if there is maybe the modern way to publish a git repo is 'here is the readme, here is how to clone, if you want anything more clone and look, you can thank LLM crawlers for this'. Maybe a (static) text page with a few of the recent commits.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…aam2 My wild-ass guess is that Microsoft, Intel, and so on didn't want to mandate either a TPM or disk encryption. Even today at least one big vendor (Dell) will sell servers that ship without a TPM as a base feature (you can buy it for extra), so their only protection is a chain of trust. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Hot take: if people say data is oil, agree with them and then point out what they're saying. Which is that it's a relatively low value toxic substance that's hard to store safely or move around, and if you do things wrong it explodes, catches on fire, or contaminates your entire company, or all three at once. Do you want to store a bunch of barrels of oil in your building? Not if you're sane. In re: https://infosec.exchange/@SwiftOnSecurity/114916823693937019 npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann On the one hand, I like the spirit of small computers and "cyberdeck" computers and so on. On the other hand, my eyes are no longer young and so I have Opinions™ about tiny screens and their tiny fonts if you want to see anything much. Including on phones. (Yes, 'just have one full screen window', but. I have used real serial 80x24 terminals and I don't want to go back, no matter how cute and small they are now. Especially if that's 80x24 with relatively tiny fonts.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…wkxy That's it in one. I was accumulating more and more things I was manually opening in xterms to run when I started my session (and sometimes forgetting them), because some of the time I wanted to stop and restart them and etc etc. Now I can automate all of that. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann A silly little Unix shell thing that I've vaguely wanted for ages but only put together today. See if you can guess what it's for: #!/bin/sh trap 'exec $SHELL' 2 "$@" exec $SHELL (The use of this is pretty obscure and is due to my eccentric X environment.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Hot take: I don't think a useful response to the open source maintenance crisis is 'throw money at people'. One reason is that there's not reliable full time paid work maintaining things for all of the many, many scattered maintainers out there. The real answer is 'corporations use less open source code', but that's the one answer corporations don't want to hear. (But they're going to be forced into it by eg the EU CRA.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…36ma They moved all our office VOIP phones to Teams a year or so ago and now I'm wondering why I was never asked this myself. Perhaps they already had all the VOIP phone locations on file. (Your VOIP phone's call history shows up in Teams and I think so does voicemail. You can probably tell how often I use my office phone...) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Thanks to the Fediverse, I will never forget that sharks are older than the north star (which is to say the brightest star that makes up Polaris), and horseshoe crabs are not crabs and are older than horseshoes, horses, and crabs. And sharks. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann A thought on Go error handling: you could reduce the annoyance of writing the boiler plate by creating a code formatter (along the lines of goimports) that added the standard 'if (err != nil) {...}' stuff to any unhandled 'err' return in your code. Then you'd write code with just 'a, err := Thing(); b, err := Thing2(a)' and so on, and the code formatter would fill in things for you. (Sparked by reading https://go.dev/blog/error-syntax ) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Me: I guess I should start the Fedora VM I keep around on my home desktop so I can apply the latest Fedora package updates to it. virsh: "error: Domain is already active" Well that's certainly something that wouldn't have happened in the old days, as I keep re-discovering. I just didn't used to be able to forget running VMs on my desktops. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…aam2 Django's CSRF documentation says that their scrambling of their random token is designed to defend against BREACH attacks: https://docs.djangoproject.com/en/4.0/ref/csrf/#how-it-works Something similar may be in action here. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann It's my further view (not expressed in my original toot) that it's not enough for command line tools to suppress their fancy output if they're not being run through a tty. I want to be able to run them from a regular shell session, in a pty, without the fancy output, for a variety of reasons. I may be running them under `script' to capture their output but still leave them interactive. I may be working over a slow or saturated network link and I don't want to get all that extra text. Etc. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Every command line tool that pretty-prints progress bars and live status reports and all that stuff as it goes along in ways that constantly print characters and require a cursor-addressable display (or ANSI code support or etc) should have a way of turning all that off and printing things a line at a time with no fancy progress bars. This rant is brought to you by dnf5, but it's not the only offender. At least 'apt' isn't the only way, you can use 'apt-get' and so on. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Thesis: DNS is not meaningfully a database, because it's explicitly designed and used today so that it gives different answers to different people. Is it implemented with databases? Sure. But treating it as a database is a mistake. It's a query oracle, and as a query oracle it's not trustworthy in the way that you would normally trust a database to be, for example, consistent between different people querying it. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Calling the lazyweb, sysadmin edition: are there inexpensive wall-powered devices with a wired Ethernet port that can be pinged over the network? We don't care what they do, we just want them for 'is our network actually working in this location' checks. Maybe cheap four-port switches with a management interface? (Wifi power plugs work great for this for wireless networking and you can get them for $20 Canadian, but I don't know of wired equivalents.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I wonder how many of the bad AI crawlers either don't handle cookies or don't handle even basic JavaScript + browser JS APIs + DOM, and so would be dropped by simple measures well short of the current heavyweight proof of work stuff. On the other hand, many blog/etc websites require JavaScript these days to display anything, so serious crawlers probably have to handle the basics. (I think Googlebot has for a long time, for example.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I am apparently going to need a Linux 'secret(s) provider' (something that handles org.freedesktop.secrets). Gnome-keyring is not what I want, in fact I would like a 'secret provider' that stores secrets in memory only and throws them away almost immediately. Most options are heavyweight, but there's pass-secrets¹ which uses pass², except that pass wants to use gpgp and this is my face. Life is too short to wrestle with the greased gpg pig. ¹ https://github.com/nullobsi/pass-secrets ² https://www.passwordstore.org/ npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I will admit that until I saw the CouchDB post, the scenario of 'program writes but crashes before fsync, restarted program re-reads the just written data and assumes it's safe on disk instead of just in the kernel buffer cache' had not occurred to me. I guess everything that reads a WAL or other recovery file should immediately fsync() it on startup. In re: https://narrativ.es/@janl/114076211520071258 npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @nprofile…m3qg People in your situation definitely have a different set of threats than 'ordinary' people (so far, who knows). Locally, corporations / universities / etc are very spooked about stolen laptops, discarded HDs, etc leaking stuff that gets them bad press and other things. (There's a whole category of "personal information' that organizations are legally obliged to safeguard if they have it, so laptop encryption for all.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Blog post: Institutions care about their security threats, not your security threats https://utcc.utoronto.ca/~cks/space/blog/tech/InstitutionSecurityVsYourSecurity (sparked by a conversation with @nprofile…r9rs ) tl;dr: I think this helps explain significantly different views around things like aspects of MFA, disk encryption, exposing who has accounts, etc. And also MDM as applied to personal devices, which is great for the institution and terrible for you since now the institution controls your personal phone. Your interests couldn't be more different. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Did I just buy a (digital) album partly because of its name? Yes, yes I did, sometimes I'm slightly shallow[1]. On the other hand the last time I bought a digital album partly because of the cover it worked out extremely well[2]. 1: https://dreamshoretapes.bandcamp.com/album/voice-of-revolutionary-girl 2: https://mastodon.social/@cks/112759493691012309 npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I wish Mastodon let you easily do strike-out edits of your posts so you could clearly strike out an old word you changed when you realized that you wrote, say, 'wrong labels' instead of 'missing labels' (a significantly different meaning). (This is a rare time when it's really about Mastodon, not the Fediverse in general, because I believe some Fediverse servers let you do more elaborate markup that can do strikeouts.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann A little wish: new Linux init system projects should re-use the definite good ideas from systemd: * put every separate service in its own cgroup and use that for process tracking * capture output from the service's cgroup and log it (syslog is fine). * start and restart services in a controlled environment; no more leaking things from your session into the service on '/etc/init.d/whatever restart'. * optional non-daemonization mode * reliable 'is it running' status information for shell scripts. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Hot take: that tools want you to have ~/.local/bin and ~/.cargo/bin on your $PATH is a sign that these shouldn't have been hidden dot-directories in the first place (or at least the <dir>/bin shouldn't be in a dot-directory). Go had the right idea with ~/go/bin. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann It has been '0' days since a periodically flaky alert check that flickered very briefly every so often and tempted me to disable it was actually a sign of a real problem (intermittent packet loss, causing ping checks to flake briefly). npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Current status: it would be handy to have a website where I could plug in an IP or an ASN and it would tell me 'there is no route to this thing at the following network observation points around the world'. Or perhaps routing issues mostly don't manifest as completely missing routes. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @npub17qe…v7la The whole ZFS shutdown and boot process is arcane and not really documented (eg, that ZFS does not actually export pools on shutdown). The 'zfs.cache' file has a single name for each disk, and if the disk isn't there, you lose on boot as ZFS won't start the pool. There's no good way apart from abandoning zfs.cache, as suggested by others, and using zfs-import-scan.service. (It was worse on Solaris, where the kernel itself magically loaded zfs.cache and did things with it.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Github demanding that I set up MFA because I publish my own code to it sure is making me want another read-only way to publish my own Git repos. But every time I look things are annoying here. Maybe I need to look again. (A CGI would be ideal, I can easily run those on the department's general purpose web server.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @npub1ysu…2jyl I was thinking more things like how the BIOS setting for 'when power is restored, stay off/turn on/return to last state' is actually implemented. But apparently that is probably entwined with the S3/etc sleep logic, which I guess I shouldn't be surprised by. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Today's interest: just how does a modern PC motherboard implement soft ATX power control? Presumably the main CPU isn't running all the time, although parts of the motherboard are powered. Is there a separate little always-on SOC that implements the logic? Something more clever? The information is probably somewhere on the Internet but my search luck on this is 'lol no', probably since I don't know the right technical terms to look for. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Today I've once again been reminded that different people have all sorts of different views of how they want their shell history to work. I am firmly in the camp of isolated, per-shell history; if I cursor up, I want to reliably get the previous commands I entered in that specific window, the ones I may be able to see right there. (Am I a sysadmin who works across multiple contexts with interruptions and all sorts of terminal windows and shells on the go at once? Yes, yes I am.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann In re JSON causing problems, I would rather deal with JSON than yet another bespoke 'simpler' format. I have plenty of tools that can deal with JSON in generally straightforward ways and approximately none that work on your specific new simpler format. Awk may let me build a tool, depending on what your format is, and Python definitely will, but I don't want to. This is re: https://infosec.exchange/@tychotithonus/113012173172896900 npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann My heretical opinion is that I would rather file a Github issue against your project than send you or your bug tracker email, because I do not trust you to safeguard my email against spammers, so I have to make up an entire new email address for you and carefully manage it. I don't trust Github either, but I have already done all of this email address handling for them. (I also make up an email address for my Git commits. And yes, spammers have scraped it and spammed me.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann We used to operate one of the university's authoritative secondary DNS servers for all of the university's domains. Many years ago, we ceased doing this, reducing the server to just being authoritative for our own domains. Today I learned that there are a lot of people on the Internet still querying us for other people's domains that we haven't been NS records for for years. Where are they picking this up from? It is a mystery. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Great moments in dry (Go) commit comments[1]: runtime: remove note about goid reuse Goids are designed to be big enough that they will never be reused: a uint64 is enough to generate a new goroutine every nanosecond for 500+ years before wrapping around, and after 500 years you should probably stop and pick up some security updates. [...] 1: https://go.googlesource.com/go/+/8f71c7633fd70fffc5fa65e7865e763238fa6f46 npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Blog post: Don't require people to change 'source code' to configure your programs https://utcc.utoronto.ca/~cks/space/blog/programming/ConfigureNoSourceCodeChanges (where 'source code' is anything you ship or that is in your repository, except maybe things you absolutely promise to never, ever change) tl;dr: apart from the obvious other issues, you're making people who build your software do merges between their settings and your changes to settings files at some point in the future. Merges are terrible, especially this sort of merges. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann My hot take: if corporations are going to insist that OSS software they use have things like mandatory two-person code reviews, SLAs, written succession plans, and so on, then the end result is going to be that corporations don't use anywhere near as much as OSS code as they do today. Since that would be unpalatably expensive to corporations (that's why they're using this OSS today), this is corporate hot air plus yet another attempt to lean on OSS for even more unpaid labour. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann This is my face when Python's socket.gethostbyaddr() appears not to be able to return multiple names for a single IP address. Or at least it doesn't on Fedora and Ubuntu with their versions of Python 3. (If you want to test it yourself, try 72.136.172.146, which right now returns 17 DNS PTR results for me. I would be interested if this works for you.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann This is my face when I realize that on a big multi-core machine, I want to do 'sed ... | sed ... | sed ...' instead of the nominally more efficient 'sed -e ... -e ... -e ...' because sed is single-threaded and if I have several costly patterns, multiple seds will parallelize them across those multiple cores. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I don't know which is sadder to see, the manga series that just stop being released (either quietly or openly), or the manga that have an ending that's very obviously 'oops we got cancelled, you have two chapters left, wrap the story up somehow'. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann This is my system administrator's "what is wrong" face when Internet ssh authentication probes against our systems seem to have fallen off a cliff, as reported by system logs. We shouldn't be seeing only *two* in the last hour. (The nose dive seems to have started at 6:30 am Eastern and hit 'basically nothing' by 9:30 am.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @npub1y0e…mm9n My sysadmin view is that even if you expect to need stronger keyalgs, by default make the lifetime longer than five or ten years. If you need new keyalgs you can go through the rollover process, and if you don't, you aren't forced to anyway in five or ten years. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I just wrote a blog entry arguing that TLS certificate expiry times are a hack[1], because apparently sometimes I like setting things on fire. I can always blame it on the fever. (Also I look forward to people explaining to me other good reasons for TLS certificates to expire that aren't hacks to get around key compromise and the lack of revocation.) 1: https://utcc.utoronto.ca/~cks/space/blog/tech/TLSCertificateExpiryHack npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Blog post: Why systemd-resolved can give weird results for nonexistent bare hostnames, where 'ping nosuchname' will report a temporary failure in resolution https://utcc.utoronto.ca/~cks/space/blog/linux/SystemdResolvedSingleNamesDNS tl;dr: if you have a DNS search path and your programs make DNS queries to talk to resolved instead of using DBus, you'll make an A/AAAA query for the bare DNS name 'nosuchname.' and resolved's DNS server will answer those queries with a SERVFAIL instead of a NXDOMAIN the way other DNS servers do. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I keep using @npub1upk…tcwy 's dnspeep ( https://github.com/jvns/dnspeep ) every so often for diagnosing exactly what's going on with DNS lookups on a system. It's such a handy tool for seeing what exactly is being queried for and which DNS servers it's being done against (and more or less what answers you're getting). It even sweeps up queries to localhost DNS servers, which is surprisingly handy. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @npub1a4c…t2kf In group cycling there's a huge social split between different sorts of riders. Some riders are there to be social and do comfortable recreational riding, some are there to go fast and hard but not particularly to compete with each other and try to drop people out the back of the group, and some groups are full bore competitive and will drop you in a moment. Accidentally picking the wrong group for your tastes is a definite problem, and I expect their forums are quite different. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann It's always a good day when I can share cursed NFS v3 knowledge with innocent bystanders. (Someday I should test how much of this cursed knowledge is still true in NFS v4, since work has now switched over to v4 for reasons. Yes, it took us a while; for a long time we didn't see much of a reason to switch.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Today's ancient Unix trivia: in the Research Unix V6 shell, 'goto' and 'exit' were both external programs. They worked by changing the seek position on the file descriptor of the shell script (which they shared with the shell). This worked because the shell read its input line by line (which actually meant character by character). Interested parties can read more on the V6 shell's control flow at https://utcc.utoronto.ca/~cks/space/blog/unix/V6ShellControlFlow npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Mechanical split keyboards are the kind of thing that looks cool when I see photos and writeups, but I in no way believe in enough to spend my own money without any experience. In this they're much like recumbent bicycles, which I keep finding eternally cool and attractive in theory but not something I buy in practice. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Ah yes Android, the mobile ecosystem where the sensible answer to your phone offering to do something convenient for you is generally to refuse, because the convenient thing comes with a side of privacy invasion (and your Android vendor not merely doesn't care, they're cheerfully cooperating with it for extra money). Why do I have an Android device? It's from work. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @npub19lt…qfjk Recent versions of Bash and readline have a workaround for this in some terminal environments, called 'bracketed paste'. When you paste into the terminal to Bash, the pasted text doesn't immediately take effect (even if it has embedded newlines) but instead gets highlighted and you have to explicitly accept it (or you can edit it, abort it with Ctrl-C, etc). npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I know ZFS is very nifty and all, but I rather wish that all 'ZFS on root' guides for Linux (for regular distributions like Debian) came with a big disclaimer of 'this is for experts, things can go wrong and you will be in a world of pain, consider ext4 for root and ZFS for everything else'. (I say this as someone who's had his $HOME on ZFS on Linux for what turns out to be almost a decade now.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Hot take: modern GNU Emacs is not really a terminal program any more, not in the way that modern vim still is. You can use Emacs in a terminal (over ssh, say), but it probably won't make you happy. Too many things assume mouse support, multiple frames, popup windows, and so on, and aren't particularly usable in a terminal environment without them. (And you really better have colours.) This makes me a bit sad, but it is what it is and the Emacs-in-X stuff is pretty nice. And I still have vim. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I know it might not make sense, but I'd love a weather site feature that shows how the forecasts for a specific time (eg, tomorrow) have changed over time. What did they think it would be a week ago, a few days ago, etc. Was there a sudden change (as some weather system showed up)? Did they steadily get more optimistic or pessimistic? Etc etc. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Blog post: The technical merits of Wayland are mostly irrelevant https://utcc.utoronto.ca/~cks/space/blog/unix/WaylandTechnicalMeritsIrrelevant tl;dr: both the people who can move to Wayland without it being disruptive and the people who are motivated (enough) by Wayland improvements have already moved; what's left is the people who can't move or who find it too disruptive. Wayland's technical merits are mostly irrelevant to them. Also, Wayland is the only future of Linux graphics, so what it can and can't do doesn't really matter any more. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann I feel like I should write a blog entry about why the current pitches from Wayland advocates are extremely unconvincing. The short version is that for most people, switching to Wayland is either transparent, because their desktop environment just supports it, or extremely disruptive for very little practical change, because they have to blow up their current setup to switch desktop environments. (I am in the latter category.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann Hot take: packaging open source software is actual work (and is sometimes what we demurely call 'non-trivial' in this field). I say this as a sysadmin who has sometimes had to deal with the results of not packaging software and then not keeping up with the state of the software we didn't package but installed anyway. (Sure, sometimes you get lucky and the packaging instructions are easy to write (Debian rules, RPM specfiles, whatever Arch uses, etc). And sometimes they aren't.) npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @npub1pjx…cw4w I'd be happy with something in the mini/small PC form factor, as long as it's inexpensive (and has a standard boot/hardware environment, instead of the ARM madness that there was for years). And not a server, even a cheap one, because those are loud; you're not going to get people to put them in a corner of their home work area. npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann If RISC-V is going to be significant in datacenters in five to ten years, as someone claimed[1], there's a lot of prep work that's going to be needed. Where are the Linux distributions? Where are the reasonable computers for developers to use and for eg Debian package builders? I look at how far ARM64 isn't on all of that, and it's well ahead of RISC-V. 1: https://www.eetimes.com/jim-keller-on-ai-risc-v-tenstorrents-move-to-edge-ip/ via https://mastodon.social/@danluu/110539383653947021 npub16gknu73hfrmy6enushmtcq4yuyk3ml0aeadk7fj5hapws3mewyfq45g9hv Chris Siebenmann @npub1a4c…t2kf AMD also had the huge advantage of running Intel binaries unchanged. You could usually trivially drop in AMD machines in place of Intel ones and vice versa, without having to either operate a multi-architecture environment or make a multi-year bet on one horse. And as you note AMD still didn't couldn't get people to flip over.