My CppCon keynote yesterday is available on YouTube
Yesterday I gave the opening talk at CppCon 2024 here in Aurora, CO, USA, on “Peering Forward: C++’s Next Decade.” Thanks to the wonderful folks at Bash Films and DigitalMedium pulling out all the stops overnight to edit and post the keynote videos as fast as possible, it’s already up on YouTube right now, below! … Continue reading My CppCon keynote yesterday is available on YouTube →
My Chair
I realize that because I have several chairs, the phrase “my chair” is ambiguous. To reduce confusion, I will refer to the head of my academic department as “my office chair” going forward.
Banking: the pain
Last Wednesday Yvonne had problems with the Bank of Melbourne: her debit card expired in February, and she had to go to the branch in Ballarat to get money. It took her nearly an hour, and the person who dealt with it?clearly an immigrant?spoke English so badly that she could barely understand him. And this at the ?we speak your language? Bank of Melbourne! So why did she not get a new card? After over 30 frustrating minutes on the phone, we established: Yvonne never received a replacement card.
Back to the old slog
So after only 11 days I have finally copied my disk. Time to shut down quartet and revert to the other system configuration issues I have. One relatively minor issue is that the function of the Prev and Next keys (marked PageUp and PageDown) on xterm has changed: it should, as the inscriptions suggest, page up and down, but now it pages through the shell history. Why? It must have something to do with the X resources. I've been playing with them recently, adding additional key bindings. Initially they were: *VT100.Translations: #override \ <Key>Next: scroll-forw(1,page) \n\ <Key>Prior: scroll-back(1,page) But in the course of my configuration attempts, I changed them to: xterm*VT100.Translations: #override \ <Key>Next: scroll-forw(1,page) \n\ <Key>Prior: scroll-back(1,page) \n\ Shift <Key>Insert: ...
Disk copy, day 11
Into the office today to find: x ./grog/20110827/Components/dam-panorama-CPL-6-1EV.jpeg x ./grog/20110827/Components/dam-panorama-CPL-6.jpegtar: (null) : Truncated tar archive: Unknown error: -1 tar: Error exit delayed from previous errors. Another NFS issue! OK, that's enough. Try the rest with rsync, this time with the H option. And how about that, after hardly more than 5 hours: grog/www/test/ grog/www/test/big/ grog/www/Photos/small/white-background.gif => grog/www/Photos/big/white-background.gif sent 1,193,207,971,130 bytes received 18,071,175 bytes 63,800,349.81 bytes/sec total size is 7,886,580,015,513 speedup is 6.61 rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1359) [sender=3.3.0] 18702.08 real 433.88 user 1307.03 sys What's that error?
Anti-cheat, gamers, and the Crowdstrike disaster
This week on my podcast, I read my latest Pluralistic.net column, “Anti-cheat, gamers, and the Crowdstrike disaster” about the way that gamers were sucked into the coalition to defend trusted computing, and how the Crowdstrike disaster has seen them ejected from the coalition by Microsoft: As a class, gamers *hate* digital rights management (DRM), the... more
Disk copy, day 10
Into my office in the morning to find that quartet had rebooted as a result of the grid power outage. Had it finished the copy? No. Mounted /newphotos (not in /etc/fstab) and discovered, to my horror: === root@quartet (/dev/pts/0) /home/grog 8 -> df -i /newphotos Filesystem 1048576-blocks Used Avail Capacity iused ifree %iused Mounted on /dev/ada1p1 15,257,008 903 15,103,534 0% 3 6,486,139 0% /newphotos Only 3 inodes and 903 MB in use.
Ethernet issues?
Seen in my daily report: Sep 13 01:32:47 eureka kernel: em0: Watchdog timeout Queue[0]-- resetting Sep 13 01:32:47 eureka kernel: Interface is RUNNING and ACTIVE Sep 13 01:32:47 eureka kernel: em0: TX Queue 0 ------ Sep 13 01:32:47 eureka kernel: em0: hw tdh = 785, hw tdt = 903 Sep 13 01:32:47 eureka kernel: em0: Tx Queue Status = -2147483648 Sep 13 01:32:47 eureka kernel: em0: TX descriptors avail = 903 Sep 13 01:32:47 eureka kernel: em0: Tx Descriptors avail failure = 5 Sep 13 01:32:47 eureka kernel: em0: RX Queue 0 ------ Sep 13 01:32:47 eureka kernel: em0: hw rdh = 330, hw rdt = 329 Sep 13 01:32:47 eureka kernel: em0: RX discarded packets = 0 Sep 13 01:32:47 eureka kernel: em0: RX Next to Check = 330 Sep 13 01:32:47 eureka kernel: em0: RX Next to Refresh = ...
Disk copy, day 9
Into the office this morning thinking that I hadn't been overly clever by copying an archive to quartet. It had completed, after only about 24 hours, but now I had to extract it, and that could take as long again. But it didn't. It was over in about 10 seconds: truncated archive. Now it was no longer 6.8 TB in size, only 2048 bytes! How did that happen? Oh. In another xterm I had accidentally entered: === root@quartet (/dev/pts/0) /newphotos 274 -> tar cvf Photos.tar /Photosiostat 1 tar: /Photosiostat: Cannot stat: No such file or directory tar: 1: Cannot stat: No such file or directory tar: Error exit delayed from previous errors.
NBN outage?
So how long did the announced overnight NBN outage last? It didn't. It seems that it didn't happen, and both Aussie Broadband and NBN web sites deny all knowledge of it.
NBN outages: yes, no, maybe?
Email from Aussie Broadband today: Date: Thu, 12 Sep 2024 12:41:14 +1000 From: Aussie Broadband <no-reply@team.aussiebroadband.com.au> Subject: nbn Unscheduled Outage NBN has let us know that your service/s may currently be affected by an outage. That's one of these ?impossible? messages. How can I receive it if my link is down? Checked, and of course it was still up. But my phone (connected via my NBN link) agreed: Had there been an outage? Checked my NBN stats page.
Disk copy pain
Copying my photo disk to the new 16 TB drive still isn't done! My first attempt ended up with far more inode and data use than the old disk. Part of that was because I used the wrong invocation: I omitted the H option, meaning that rsync created new files for each copy of a link. OK, start again with /Photos/grog to see if it works. But it put the result in /newphotos/grog/grog, and I couldn't find a way to stop it. Next time I'll try something like cd to the source directory and referring to it as . (dot), specifying the destination accordingly.
Understanding shell syntax
While investigating my lost space on my new photo disk, entered this: === grog@eureka (/dev/pts/6) /Photos/grog 17 -> DATE=20101009 ls -li $DATE/*jpeg www/$DATE/big ls: /*jpeg: No such file or directory ls: www//big: No such file or directory Huh? === grog@eureka (/dev/pts/6) /Photos/grog 18 -> DATE=20101009 === grog@eureka (/dev/pts/6) /Photos/grog 19 -> ls -li $DATE/*jpeg www/$DATE/big === grog@hydra (/dev/pts/28) /Photos/grog 14 -> ls -li $DATE/*jpeg www/$DATE/big 863295 -rwxrw-r-- 2 grog lemis 3099465 9 Oct 2010 20101009/dam-dup-panorama.jpeg ... www/20101009/big: 863295 -rwxrw-r-- 2 grog lemis 3099465 9 Oct 2010 dam-dup-panorama.jpeg ...
Aussie web site hangs
Why can't I access the tariff information on the Aussie Broadband web site? Started writing an email and looked on the web site for information. Pop! Up came a ?chat? window. OK, ask Dominic. No, site working fine. Will he report that it isn't for me? No, not worth the trouble. With a bit of insistence, along with my possibly visible negative response to the ?are you happy with this response?? popup, he went off and investigated, something that took a total of round an hour, including a restart because of a timeout (7 minutes, he says) on his part. I ticked ?send me the transcript?
Understanding the photo size discrepancy
It's been a few days since I investigated the cause of my excess data usage on the new /Photos disk. I had suspected issues with links between my photos processing directory and the ?big? versions in the web hierarchy. Both images are the same, so they should be links, not copies. But preliminary investigations showed that they were copies on the original as well. That was for photos taken on 3 September 2024. Was it always that way? Off looking. No! === root@quartet (/dev/pts/0) /Photos/grog 119 -> l -i $DATE/*jpeg www/$DATE/big 1480997 -rwxr--r-- 2 grog lemis 3,544,601 1 Jan 2015 20150101/Ceiling.jpeg www/20150101/big: 1480997 -rwxr--r-- 2 grog lemis 3,544,601 1 Jan 2015 Ceiling.jpeg That's the same file, as intended.
Academia surpasses itself
For years I've been getting email from Academia with questions like ?Greg Lehey ?? Did you write "Treasurer"??. To answer I first need to pay them money! I can do without that. But today I got the ultimate question: 131 ND 08-09-2024 To academia@lem ( 903) Mentioned by Greg Le $1, 30 day trial. ?G. Lehey? mentioned by ?Greg Lehey?
NBN advice for morons
The National Broadband Network sends information emails from time to time, maybe monthly. I've only just found out about them and signed up. I don't know why I bothered. Today I got a newsletter offering Avoid the ?Wi-Fi gap? and get the internet you need (capitalization original). It also offers a TL:DR (punctuation also original), which can be summarized: buy new equipment and a faster Internet link. No mention of troubleshooting of any kind. Thank you, NBN, for reinforcing my negative impressions. To be fair, though, there was more information about the upcoming outages: this page explains that they're upgrading the system to new ?5G mm Wave technology?
New Amplification
The less interesting part of the story is that my big home stereo has new amplification: Tiny Class-D Monoblocks! (Terminology explained below.) More interesting, another audiophile tenet has been holed below the waterline by Moore?s Law. This is a good thing, both for people who just want good sound to be cheaper, and for deranged audiophiles like me. Tl;dr This was going to be a short piece, but it got out of control. So, here?s the deal: Audiophiles who love good sound and are willing to throw money at the problem should now throw almost all of it at the pure-analog pieces: Speakers.
Unwise actions
Received in the mail today: Yes, I'm still with ?Wise?, despite my annoyance last month. My searches show that they're the best of a bad lot. But now they're asking me to migrate my secure desktop environment to my mobile phone. Or are they? This is just an email, asking me to log in. Most emails of that nature are scams. What do they say on their web site? How do I access the web site? Once again these HORRIBLE CAPTCHAs, asking me to identify fire hydrants, whatever they may be.
Marshmallow Longtermism
This week on my podcast, I read my latest Locus Magazine column, “Marshmallow Longtermism” a reflection on how conservatives self-mythologize as the standards-bearers for deferred gratification and making hard trade-offs, but are utterly lacking in these traits when it comes to climate change and inequality. I?m no fan of Charles Koch, but I agree that... more
Standing on High Ground
That?s the title of a book coming out October 29th that has my name on the cover. The subtitle is ?Civil Disobedience on Burnaby Mountain?. It?s an anthology; I?m both an author and co-editor. The other authors are people who, like me, were arrested resisting the awful ?TMX? Trans Mountain pipeline project. Pulling together a book with 25 contributing authors is a lot of work! One of the contributions started out as a 45-minute phone conversation, transcribed by me. The others manifested in a remarkable melange of styles, structures, and formats. Which is what makes it fun.
Understanding the disk copy issues
So why is the copy of my /Photos disk so much bigger? === grog@quartet (/dev/pts/2) ~ 31 -> df -i /Photos /newphotos/ Filesystem 1048576-blocks Used Avail Capacity iused ifree %iused Mounted on eureka:/Photos 7,629,565 6,806,976 746,292 90% 1,764,291 1,479,355 54% /Photos /dev/ada1p1 15,257,008 7,237,056 7,867,381 48% 1,877,931 4,608,211 29% /newphotos It strongly suggests symlinks changed to separate files. Off for a look, and discovered?not surprisingly?the main discrepancy in /newphotos/grog: === root@eureka (/dev/pts/1) /Photos 83 -> du -s /Photos/grog 6603970 /Photos/grog === root@quartet (/dev/pts/0) /newphotos 97 -> du -s /newphotos/grog 7011999 /newphotos/grog Those are sizes in megabytes!
Disk copy, continued
Into the office this morning to discover that my disk copy had failed after transferring 4 TB: ... x ./grog/20160115/orig/P1153725.jpg x ./grog/20160115/orig/P1153728.jpg x ./grog/20160115/orig/P1153729.jpgtar: (null) : Truncated tar archive: Unknown error: -1 tar: Error exit delayed from previous errors. That wasn't completely unexpected. OK, continue with rsync, something that I'll have to do anyway a couple of times. In the process, discovered that the --delete-after option changes rsync's behaviour: it first builds a list of files, which takes some time. I wanted immediate results, so I restarted without: === root@quartet (/dev/pts/0) /var/tmp 34 -> Log rsync -av --delete-after /Photos/ /newphotos ===== Fri 6 Sep 2024 09:30:09 AEST on quartet.lemis.com: rsync -av --delete-after /Photos/ /newphotos building file list ...
Installing the new disk
So what do I do with my new 16 TB Seagate Exos disk? On the whole it seems to be a better idea to put it in eureka, where the old disk is. That would save issues with NFS and SMB, and there's plenty of space for it. So reluctantly shut eureka down for the second time in a few days, put the disk in, cabled it up, rebooted into the BIOS setup menu. No new disk. What happened there? I know I've had cable problems in eureka?after all, it is over 10 years old?but I thought that this would work.
NFS recovery
So why am I getting these stale NFS handles? Discovered a number of these messages in /var/log/messages: Sep 4 18:40:48 teevee kernel: newnfs: server 'hydra' error: fileid changed. fsid 0:0: expected fileid 0x31700, got 0x2. (BROKEN NFS SERVER OR MIDDLEWARE) What does that mean? The result of trying to remount a new mount on hydra? What does hydra say? Sep 4 18:44:50 hydra kernel: UFS: forcibly unmounting /dev/da0p1 from /VB3 But that was a few minutes later. Nothing obvious.
More NFS pain
Watching TV in the evening, I wanted to watch a film. They're on /spool/Videos/, NFS mounted on an external drive from hydra. And I had an access error. Oh. Yes, hydra agreed. Disk not accessible. I must have accidentally disconnected it while looking at the machine this afternoon, and /var/log/messages agreed: Sep 4 14:25:03 hydra kernel: ugen3.2: <Western Digital My Passport 2627> at usbus3 (disconnected) Sep 4 14:25:03 hydra kernel: umass0: at uhub2, port 4, addr 1 (disconnected) Sep 4 14:25:03 hydra kernel: da0 at umass-sim0 bus 0 scbus8 target 0 lun 0 Sep 4 14:25:03 hydra kernel: da0: <WD My Passport 2627 4008> s/n 575856324537304557343143 detached Sep 4 14:25:03 hydra kernel: ses0 at umass-sim0 bus 0 scbus8 target 0 lun 1 Sep 4 14:25:03 hydra kernel: ses0: <WD SES Device 4008> s/n 575856324537304557343143 detached Sep 4 14:25:03 hydra kernel: (ses0:umass-sim0:0:0:1): ...
New disk
My new 16 TB Seagate Exos disk has arrived already. How do I install it? One issue with having hydra built commercially is that I don't understand it as well as the machines I built myself. Took off the covers and compared with the motherboard documentation (at https://download.msi.com/archive/mnu_exe/mb/MAGX670ETOMAHAWKWIFI.pdf), and that's straightforward enough. But where do I mount the disk? When I picked up the machine, Seth pointed out disk mounting positions, but they're for SSDs. There seems to be no provision for 3½" magnetic disks. Should I put it on the base? Or remove the DVD, find an adapter frame and put it in there?
0 dependencies!
Here?s a tiny little done-in-a-couple-hours project consisting of a single static Web page and a cute little badge you can slap on your GitHub project. The Web site is at 0dependencies.dev. The badge is visible on my current open-source projects, for example check out Topfew (you have to scroll down a bit). Zero, you say? In recent months I keep seeing these eruptions of geek angst about the fulminating masses of dependencies squirming under the surface of just about any software anyone uses for anything. The most recent, and what precipitated this, was Mike Perham?s Kill Your Dependencies.
Finding the lost disk space
After my concerns about disk space yesterday, the backup ran normally today, and for some reason there was much more space available. Here yesterday, then today, seen from eureka: Filesystem 1M-blocks Used Avail Capacity Mounted on /dev/da0p1 7,630,093 7,630,043 -76,250 101% /videobackup tiwi:/spool 7,567,870 7,423,744 68,447 99% /spool ... /dev/da0p1 7,630,093 7,372,189 181,603 98% /videobackup tiwi:/spool 7,567,870 7,374,421 117,770 98% /spool Why? A look around showed me that everything was gone from /spool/Videos, my collection of films.
Reader Q&A: What?s the best way to pass an istream parameter?
Here’s a super simple question: “How do I write a parameter that accepts any non-const std::istream argument? I just want an istream I can read from.” (This question isn’t limited to streams, but includes any similar type you have to modify/traverse to use.) Hopefully the answer will be super simple, too! So, before reading further: … Continue reading Reader Q&A: What’s the best way to pass an istream parameter? →
Another disk fail?
Seen in this morning's logs: Sep 2 01:12:21 eureka kernel: (da1:umass-sim1:1:0:0): READ(16). CDB: 88 00 00 00 00 01 22 76 29 a8 00 00 00 08 00 00 Sep 2 01:12:21 eureka kernel: (da1:umass-sim1:1:0:0): CAM status: SCSI Status Error Sep 2 01:12:21 eureka kernel: (da1:umass-sim1:1:0:0): SCSI status: Check Condition Sep 2 01:12:21 eureka kernel: (da1:umass-sim1:1:0:0): SCSI sense: ABORTED COMMAND asc:47,3 (Information unit iuCRC error detected) Sep 2 01:12:21 eureka kernel: (da1:umass-sim1:1:0:0): Retrying command (per sense data) Sep 2 01:12:29 eureka kernel: (da1:umass-sim1:1:0:0): READ(16). CDB: 88 00 00 00 00 01 22 76 29 a8 00 00 00 08 00 00 Sep 2 01:12:29 eureka kernel: (da1:umass-sim1:1:0:0): CAM status: SCSI Status Error Sep 2 01:12:29 eureka kernel: (da1:umass-sim1:1:0:0): SCSI status: Check Condition Sep 2 01:12:29 eureka kernel: (da1:umass-sim1:1:0:0): SCSI sense: NOT READY asc:4,1 (Logical unit is in process of becoming ready) ...
Where did all my disk space go?
My nightly backups have another surprise in store: Filesystem 1M-blocks Used Avail Capacity Mounted on /dev/da0p1 7,630,093 7,630,043 -76,250 101% /videobackup tiwi:/spool 7,567,870 7,423,744 68,447 99% /spool videobackup a copy of tiwi:/spool, made with rsync. Why the discrepancy? Off to find out, and, not surprisingly, discovered a number of files on /videobackup that didn't get removed when they went away on /spool. OK, remove them: === root@eureka (/dev/pts/0) ~ 55 -> df Filesystem 1048576-blocks Used Avail Capacity Mounted on /dev/da0p1 7,630,093 7,563,450 -9,658 100% /videobackup tiwi:/spool 7,567,870 7,420,523 71,668 99% /spool How can that happen?
Long Links
It?s been a while. Between 2020 and mid-2023, I wrote pretty regular ?Long Links? posts, curating links to long-form pieces that I thought were good and I had time to read all of because, unlike my readers, I was lightly employed. Well, then along came my Uncle Sam gig, then fun Open Source with Topfew and Quamina, then personal turmoil, and I?ve got really a lot of browser tabs that I thought I?d share one day. That day is today. Which is to say that some of these are pretty old.
distress despair
House photo day today, involving lots of processing. And distress, my Microsoft 10 box, decided that it wanted to reboot. OK, what the hell, though I hate being told what to do. But after rebooting, things didn't work normally. DxO PhotoLab isn't a ball of fire at the best of times, but now it just hung. And other photo software wasn't much better. Bloody Microsoft! While waiting for that, start processing on dischord, a Microsoft 7 box. It was also glacially slow! What's wrong with these things? Samba? How do you connect these things? Wasn't there some program I could use to test connectivity?
Skittish rodents?
We've had enough issues with mice and rats in the house lately, but there are more. One of the many outstanding issues in my transition to hydra is the mouse: for reasons I don't understand, it seems to work intermittently. When marking text (left button down, move the mouse) it seems to reset the start point from time to time. My fault? I was beginning to think so, but lately there has been a second issue: suddenly the mouse pointer will jump to another screen. That's not my fault, but whose fault is it? The mouse? X? The Nvidia driver?