World Playground Deceit.net

A productive week-end update


Got a 4 days week-end just after my 3 weeks of vacations, can you get any more French than that? But it's not like I was idle, as you'll read. Since I've been doing a lot of small things and didn't post for some time, here's an exceptional potpourri style post.


  • Went to the beach for a few hours, was real nice; at least until the great unwashed started pouring. One of the main reasons for favouring mornings in this situation (that and colder water).
  • My laurel, albeit sparse, is giving nice, vibrant pink flowers. Good for the mood.
  • Discovered that Emacs had directional window focus all along! Can you imagine the relief of someone who had been bumbling around with C-x o for so many years? Out of this world. A few lines is all it took:
    (global-set-key (kbd "C-x <up>")    'windmove-up)
    (global-set-key (kbd "C-x <down>")  'windmove-down)
    (global-set-key (kbd "C-x <left>")  'windmove-left)
    (global-set-key (kbd "C-x <right>") 'windmove-right)
    
  • Fixed my redshift_toggle mpv script that was broken because Lua is crap and changed the return type of os.execute between 5.1 and 5.2; even if I'm using LuaJIT instead of PUC Lua, since the lua52compat USE flag was needed by Aegisub…
  • Ate at the small Japanese restaurant in town. Really incredible taste and quality considering the tiny (5~8k people) town I live in. Got my usual karaage, giozas, miso soup and rice; will get ramen the next time.
  • Debugged my broken VapourSynth install and found the fix.
  • Uploaded my stagit fork whose purpose is to produce prettier output (add a "View raw" button and display pictures); only missing an universal filter thing to apply pygmentize to code and convert CSV/TSV to HTML tables.
  • Did a cool trick to the text file I use to record my running times: using my trusty gnuplot wrapper, I gave it the ability to plot itself:
    $ head -n5 run.txt
    awk -F'[: ]' 'NR > 1 {print $1, $2 + $3 / 60}' "$0" | plot -l "$@" 'set xdata time; set timefmt "%d/%m/%y"'; exit
    28/08/21 7:56
    09/10/21 8:04
    17/10/21 7:59
    27/03/22 8:21
    $ sh run.txt -o run.svg
    
  • Finally completed my RAID/NAS, currently in the process of cleaning up my files and awaiting some cables to make the innards prettier. Will post a massive report once I'm done. Here's the storage topology as a small teaser:
    $ ssh user@server lsblk
    NAME                      MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
    sda                         8:0    0   9.1T  0 disk
    └─sda1                      8:1    0   9.1T  0 part
      └─dm-integrity-WP027C1N 253:0    0   9.1T  0 crypt
        └─md0                   9:0    0  18.2T  0 raid6 /home/user/data
    sdb                         8:16   0   9.1T  0 disk
    └─sdb1                      8:17   0   9.1T  0 part
      └─dm-integrity-WP027C9L 253:3    0   9.1T  0 crypt
        └─md0                   9:0    0  18.2T  0 raid6 /home/user/data
    sdc                         8:32   0   9.1T  0 disk
    └─sdc1                      8:33   0   9.1T  0 part
      └─dm-integrity-WP027C98 253:2    0   9.1T  0 crypt
        └─md0                   9:0    0  18.2T  0 raid6 /home/user/data
    sdd                         8:48   0   9.1T  0 disk
    └─sdd1                      8:49   0   9.1T  0 part
      └─dm-integrity-WP027C38 253:1    0   9.1T  0 crypt
        └─md0                   9:0    0  18.2T  0 raid6 /home/user/data
    sde                         8:64   0 111.8G  0 disk
    ├─sde1                      8:65   0     2M  0 part
    ├─sde2                      8:66   0   128M  0 part  /boot
    ├─sde3                      8:67   0     8G  0 part  [SWAP]
    └─sde4                      8:68   0 103.7G  0 part  /
    
  • Contributed a small something to my favourite Linux sandbox, bubblewrap.
  • Tended to my small Portage overlay with a few bumps/fixes.
  • After reading the woes of a fellow Agora Road user in need of a way to automatically include HTML fragments in pages with a static web server (not even SSI) and without any complex generator, I made a small but feature-complete HTML preprocessor using GNU CPP and Make. Cool, right?
  • Had to patch the kernel on my NAS to finally get proper motherboard hwmon support. And because I don't half-ass things, I made a script to easily update the patch for new kernel versions:
    #!/bin/sh
    # Update the Portage user patch for the it87 hwmon driver
    set -eu
    
    curl() { command ${CURL:-curl} --fail --location --compressed "$@"; }
    
    curl -s https://raw.githubusercontent.com/frankcrawford/it87/refs/heads/master/it87.c |
        grep -vFx '#include "compat.h"'!OA |
        diff -u /usr/src/linux/drivers/hwmon/it87.c - |
        awk 'NR < 3 {$2 = (NR == 1 ? "a" : "b") "/drivers/hwmon/it87.c"} 1' |
        sudo sh -c 'mkdir -p "$(dirname -- "$1")"; cat >"$1"' argv0 \
            /etc/portage/patches/sys-kernel/gentoo-sources/it87.patch
    
  • And I added some music to my collection:
    • Discovered (I knew their name, at least) Smashing Pumpkins: Gish is quite good, Siamese Dream even better but the following acclaimed double album, Mellon Collie and the Infinite Sadness, is way too self-indulgent and bloated for me (someone who listens to full albums).
    • Got into Boredoms, the Japanoise band. More specifically everything before the cult but meh Vision Creation Newsun, incredible stuff when they take themselves seriously enough (e.g. most of Soul Discharge).
    • Found this mesmerizing IDM single by Clark somewhere on the web. Too bad the rest of the album isn't like that.
    • Decided to re-explore post-SoFaD Depeche Mode, to see if there's anything to salvage. Not much except Playing the Angel, a breath of fresh air compared to the two previous LPs and largely more than "good enough to go into my collection". Still not the same as their Some Great Reward/Black Celebration/Music for the Masses era, but that's how it is.
    • And finally, got me Gorillaz's three first albums. Everybody knows their singles, but I didn't remember just how good and consistent they were at their peak (i.e. Demon Days).

That should be all. I think. All of this while locking horns with OpenRC and NFSv4.