Recent changes to this wiki. Not to be confused with my history.

Complete source to the wiki is available on GitLab:

git clone http://gitlab.com/anarcat/anarc.at.git
stop publishing to sks-keyservers.net, they're not responding
diff --git a/.well-known/openpgpkey/Makefile b/.well-known/openpgpkey/Makefile
index 7caae090..532c2e5b 100644
--- a/.well-known/openpgpkey/Makefile
+++ b/.well-known/openpgpkey/Makefile
@@ -19,7 +19,6 @@ hu:
 upload:
 	gpg --keyserver keyring.debian.org --send-keys $(FINGERPRINT)
 	gpg --keyserver keys.openpgp.org --send-keys $(FINGERPRINT)
-	gpg --keyserver pool.sks-keyservers.net --send-keys $(FINGERPRINT)
 	@echo "Not covered: GitLab and GitHub accounts:"
 	@echo "https://gitlab.torproject.org/-/profile/gpg_keys"
 	@echo "https://gitlab.com/-/profile/gpg_keys"

transition to a new ECC key
I have a new YubiKey 5 and I'm rotating my keys to make use of the new
ECC features on there.
I have published the new key on the openpgp.org keyservers and will
shortly issue a rotation in Debian as well.
The old key is not revoked yet, but will soon expire.
diff --git a/.well-known/openpgpkey/Makefile b/.well-known/openpgpkey/Makefile
index a08a1d55..7caae090 100644
--- a/.well-known/openpgpkey/Makefile
+++ b/.well-known/openpgpkey/Makefile
@@ -1,7 +1,7 @@
 .PHONY: all warn hu upload renew upload-tpo
 
-ADDRESS=anarcat@debian.org
-FINGERPRINT=8DC901CE64146C048AD50FBB792152527B75921E
+ADDRESS=anarcat@anarc.at
+FINGERPRINT=BBB6CD4C98D74E1358A752A602293A6FA4E53473
 NEXT_EXPIRE=$(shell LANG=C date -d '+1 year +1 month' '+%Y-%m-%d')
 TPO_KEYRING=~/src/tor/account-keyring/
 TPO_PWMANAGER=~/src/tor/tor-passwords/
@@ -12,9 +12,9 @@ warn:
 	@echo "run '$(MAKE) renew hu upload upload-tpo' to make a full renewal"
 	@echo "this is not default because 'renew' and 'upload-tpo' are not idempotent"
 
+# thanks to kushal for this: https://kushaldas.in/posts/setting-up-wkd.html
 hu:
-	@echo "Consider switching to weasel's version in https://kushaldas.in/posts/setting-up-wkd.html"
-	generate-openpgpkey-hu-3 --address $(ADDRESS) --exist-ok
+	echo "$(FINGERPRINT) $(ADDRESS)" | /usr/lib/gnupg/gpg-wks-client -v --install-key --directory .
 
 upload:
 	gpg --keyserver keyring.debian.org --send-keys $(FINGERPRINT)
diff --git a/.well-known/openpgpkey/hu/.gitattributes b/.well-known/openpgpkey/anarc.at/.gitattributes
similarity index 100%
rename from .well-known/openpgpkey/hu/.gitattributes
rename to .well-known/openpgpkey/anarc.at/.gitattributes
diff --git a/.well-known/openpgpkey/anarc.at/hu/myctwj4an6ne7htuzyoo8osctuji68xe b/.well-known/openpgpkey/anarc.at/hu/myctwj4an6ne7htuzyoo8osctuji68xe
new file mode 100644
index 00000000..5fc43adf
Binary files /dev/null and b/.well-known/openpgpkey/anarc.at/hu/myctwj4an6ne7htuzyoo8osctuji68xe differ
diff --git a/.well-known/openpgpkey/anarc.at/policy b/.well-known/openpgpkey/anarc.at/policy
new file mode 100644
index 00000000..e925bd36
--- /dev/null
+++ b/.well-known/openpgpkey/anarc.at/policy
@@ -0,0 +1 @@
+protocol-version: 7
diff --git a/.well-known/openpgpkey/hu/myctwj4an6ne7htuzyoo8osctuji68xe b/.well-known/openpgpkey/hu/myctwj4an6ne7htuzyoo8osctuji68xe
deleted file mode 100644
index b8451159..00000000
Binary files a/.well-known/openpgpkey/hu/myctwj4an6ne7htuzyoo8osctuji68xe and /dev/null differ
diff --git a/.well-known/openpgpkey/policy b/.well-known/openpgpkey/policy
deleted file mode 100644
index e925bd36..00000000
--- a/.well-known/openpgpkey/policy
+++ /dev/null
@@ -1 +0,0 @@
-protocol-version: 7
diff --git a/.well-known/openpgpkey/policy b/.well-known/openpgpkey/policy
new file mode 120000
index 00000000..bd2797dd
--- /dev/null
+++ b/.well-known/openpgpkey/policy
@@ -0,0 +1 @@
+anarc.at/policy
\ No newline at end of file
diff --git a/openpgp-transition-2023.txt b/openpgp-transition-2023.txt
new file mode 100644
index 00000000..532349a1
--- /dev/null
+++ b/openpgp-transition-2023.txt
@@ -0,0 +1,79 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+Today is 2023-05-30.
+
+I have transitioned from my 2009 RSA key to a elliptic curve
+(Curve25519) key.
+
+The old key will continue to be valid for some time, but I prefer all
+future correspondence to use the new one. I would also like this new key
+to be reintegrated into the web of trust. This message is signed with
+both keys to certify this transition.
+
+The old key was:
+
+pub   rsa4096/792152527B75921E 2009-05-29 [SC] [expires: 2023-06-19]
+      8DC901CE64146C048AD50FBB792152527B75921E
+
+And the new key is:
+
+pub   ed25519/02293A6FA4E53473 2023-05-30 [SC] [expires: 2024-05-29]
+      BBB6CD4C98D74E1358A752A602293A6FA4E53473
+
+Here is a copy of the new public key:
+
+- -----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mDMEZHZPzhYJKwYBBAHaRw8BAQdAWdVzOFRW6FYVpeVaDo3sC4aJ2kUW4ukdEZ36
+UJLAHd60I0FudG9pbmUgQmVhdXByw6kgPGFuYXJjYXRAYW5hcmMuYXQ+iJYEExYI
+AD4WIQS7ts1MmNdOE1inUqYCKTpvpOU0cwUCZHZPzgIbAwUJAeEzgAULCQgHAgYV
+CgkICwIEFgIDAQIeAQIXgAAKCRACKTpvpOU0c/T0AP9eKqSDooC9IwGp0ms69Mau
+E9YhsejSOVLEgXCf732OIQEAysJX3SRvjUkVT3qHDYL6uqmDtRhK8QWdshNp2H4G
+dQyJAjMEEAEIAB0WIQSNyQHOZBRsBIrVD7t5IVJSe3WSHgUCZHZewAAKCRB5IVJS
+e3WSHpl6EADD8F3sFn9hL30/Nlp44LS0FHCqo4tU/9uf0nMuBmgSJHXKi6Jpsy4J
+cxkmf5xAyO8A3HiNAporrINSLRwBPSUMReLiD8rzJ/xJO4W+F0jxrNSPWBi+pbZc
+NPJSogmcnv8bdh6Cbye1V2p+VWv9kIuY21o7zvRazqs4IRA8bRfBzusrsDBuQqYa
+SXnHupXGcBylcEIHXpSSAgZfSpoLjpY23iZexbksCpF96lMJ5pH9cOEdljsI8HL0
+WATq0zNdFEWQgq5c/Fh0ku4DDfHSnsf62Qe5j4N9CuZDtknl8ON5pFrzlWU1Yukt
+Qv8jgkWLrz4gxXPQizfJHPBtlYApIbt8nGLNp6mtgrO9CWMAnInksfKPLIFwNW1d
+45etQgGXQXbBbaq5K9g4fJc4HUQVLg/mEIRtk7xO+Ohsj1h3EjfoLh0X+w/SfUcc
+12lcSR1rFPMBs2HKd0u1SUlWhCDxJqFej4ZkE7Ec6IxExj0Pm/Umqxl9nilp/uT4
+RBB10iLqkoDAZpTGoUwqG0/gUnWiqAAZKjJku/ZNjO+rzUmzRZBqfX+xD4p97dgb
+KgugstucU4t9BsiPQ+FlTCh+25qaP3K3xhjEo1+j1rO9YOgs7dwHVs7zIXeaZ9YY
+DfhGS/slkZRz74nGUUThdpFK0p6+1ZrJVeQttiwvm/gb/jjWuWbk9LQlQW50b2lu
+ZSBCZWF1cHLDqSA8YW5hcmNhdEBkZWJpYW4ub3JnPoiWBBMWCAA+FiEEu7bNTJjX
+ThNYp1KmAik6b6TlNHMFAmR2YJUCGwMFCQHhM4AFCwkIBwMFFQoJCAsFFgIDAQAC
+HgECF4AACgkQAik6b6TlNHP7DwEA1tED4AwfQs3u2u6BWFpZ7jAOmD3hRUmWgc8v
+5p0kwr8BAKHf2HJBeTeK9LZwrvEplSArR0Gxu0nYjZcFe8v11LcJtCpBbnRvaW5l
+IEJlYXVwcsOpIDxhbmFyY2F0QG9yYW5nZXNlZWRzLm9yZz6IlgQTFggAPhYhBLu2
+zUyY104TWKdSpgIpOm+k5TRzBQJkdmCtAhsDBQkB4TOABQsJCAcDBRUKCQgLBRYC
+AwEAAh4BAheAAAoJEAIpOm+k5TRzVdsBAL2kAWg6DdxdA2c1FkAGXdHAMglOgPnM
+FH1vhW0n2j9YAP9MUqfJhqGPL8+6NHkf7NLMNJhta+qN7raoFfZiE5j3DbQpQW50
+b2luZSBCZWF1cHLDqSA8YW5hcmNhdEB0b3Jwcm9qZWN0Lm9yZz6IlQQTFggAPhYh
+BLu2zUyY104TWKdSpgIpOm+k5TRzBQJkdmC/AhsDBQkB4TOABQsJCAcDBRUKCQgL
+BRYCAwEAAh4BAheAAAoJEAIpOm+k5TRzjtIA90Sp94e0UPH1Q+ESVl/udIzr0rK8
+9Zcyhy70py7+zDUBAPlCQ/MrmjGJ6uKazr8pSQgoMd23xRw2nbfhX5R0P9kHuDgE
+ZHZQzhIKKwYBBAGXVQEFAQEHQJhmFrYgxjnhYVcwbhL39KZ5/ng+Cif30sn+Enzz
+mnRkAwEIB4h3BBgWCAAgFiEEu7bNTJjXThNYp1KmAik6b6TlNHMFAmR2UM4CGwwA
+CgkQAik6b6TlNHMGDQD4htyxmEvHoVEioEkJ19gyjuqi8Sj69fQdmxQ9GWrgeQEA
+hy0LOYfdbJ84P9pRN44Xe1j60gZTHGNAsaw1Bl4atAi4MwRkdlFSFgkrBgEEAdpH
+DwEBB0CqMy8Q2nyA/C+3lfNOLzQ4aN6QJqb3ON52IVwF3h+8B4h4BBgWCAAgFiEE
+u7bNTJjXThNYp1KmAik6b6TlNHMFAmR2UVICGyAACgkQAik6b6TlNHOU+wEA0s2A
+frhExOr9elwl2j2ZzAVBe36qCsIyQgy1uSBR7ScBAMt+pv/ltcybxNQSCt/PWvMj
+UfKUt6k5TBMzm1bGnokN
+=T57O
+- -----END PGP PUBLIC KEY BLOCK-----
+-----BEGIN PGP SIGNATURE-----
+
+iHUEARYIAB0WIQS7ts1MmNdOE1inUqYCKTpvpOU0cwUCZHZi/wAKCRACKTpvpOU0
+czFYAQDfZw/4IWYLZ254Y70oU1GIZP6Ro3YiYt+v9RigQL3x/gD/ThZEW9ELcVv4
+1OqdFB00XiAWCPoXZBpNCOxXAgysUAyJATMEAQEIAB0WIQR7FkIE0JZyOwGWNas+
+od3dsmHZewUCZHZjAwAKCRA+od3dsmHZe/h9B/9I2kFBpXot9a3YS1KxjPslDlOx
+29FOvZLSVjy+sfEMApkv//R9BolkMvBC8ceFlT6/dN5dJCpd55gni0bPgIGTH3Q5
+1P7F+sqOurUdA/Xx8+p64YhcYPwPNs1VR/CLc5ckJVFvwGdly6VBbt+/TsulHgBd
+8buKJejH7/p7KHXjzlV58LDCilAFcekWS2Krvv13l9fbyPp2D9oYBa2fgnLfSzPk
+7Kh65kJC3EaJk5xZZl4G4c8/6gLJVCCkRzlFAZTiocX3Rh0jx3ka5IwThG6qnRFS
+hCSIwyZbhYCK4LtGdNUOSQyXOaZa/NoJGtp9GPDqZ5ox6BCryte0aGBg3N6a
+=qC8y
+-----END PGP SIGNATURE-----

i am not using x11 anymore, reflect that in main desktop page
That basically means moving all of it in a subpage.
diff --git a/software/desktop.mdwn b/software/desktop.mdwn
index 0a8d25a1..0902e228 100644
--- a/software/desktop.mdwn
+++ b/software/desktop.mdwn
@@ -4,259 +4,10 @@ This page documents, in a spirit of sharing known recipes, my current and older
 
 # Current setup
 
-I'm still using X11, with a tiling manager and a custom desktop, which
-makes my life a little harder sometimes, but I'm so used to the setup
-that using *anything else* is extremely disorienting and less
-productive.
+I'm now using [[wayland]] with Sway, see the [[wayland]] page for the
+full documentation of the transition away from [[x11]].
 
-I am considering switching to [[wayland]], but that's what I have so
-far. Note that this list is bound to be out of date as I make minute
-changes to my desktops. Typically, changes will be visible in my
-[Puppet repository](https://gitlab.com/anarcat/puppet), somewhere like the [desktop.pp file](https://gitlab.com/anarcat/puppet/-/blob/main/site-modules/profile/manifests/desktop.pp).
-
-## Window manager: i3
-
-I have switched from [[xmonad]] to [i3][]. I (again) don't quite
-remember why: but I probably got tired of battling Haskell
-configuration files. In comparison, i3 is much easier to configure and
-closer to what I had with [awesome][] all the way back then.
-
-One nice thing with i3 is the way it handles external monitors:
-they're just other workspaces.
-
-You can review my [[i3 configuration here|i3.conf]].
-
- [i3]: http://i3wm.org/
- [Awesome]: https://awesomewm.org/
-
-I was first using the built-in i3status bar, but eventually switched
-to [taffybar](https://github.com/travitch/taffybar) because it had a lot of cool fancy stuff like
-historic graphs for the CPU. But taffybar is difficult to [maintain in
-Debian](https://tracker.debian.org/pkg/taffybar) and has weird bugs, like the scaling and background of the
-notification area. The styling of the windows list was also especially
-troublesome to figure out.
-
-So I eventually gave up on taffybar and gave [py3status](https://py3status.readthedocs.io/) a
-shot. The results are pretty cool, although it [doesn't have
-historical graphs](https://github.com/ultrabug/py3status/issues/1610) and probably never will, because of [a
-limitation in i3status](https://github.com/i3/i3/issues/3578). Performance benchmarks seem to show that
-py3status and i3status (when used together) use slightly more
-resources than taffybar, for what it's worth.
-
-I have high hopes in [polybar](https://github.com/polybar/polybar/) but it is [not packaged in Debian
-yet](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=856179). Update: it's now in NEW and might just be the right thing.
-
-It looks like it's the fastest of all three in terms of CPU usage
-although it uses slightly more memory than py3status/i3status:
-
-    anarcat@curie:bin(master)$ date
-    lundi 2 mars 2020, 16:29:17 (UTC-0500)
-    anarcat@curie:bin(master)$ ps axfu | grep -e polybar -e status -e CPU -e taffybar
-    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
-    anarcat   4685  0.6  0.5 1074556760 90908 pts/4 Sl  16:09   0:08          \_ /home/anarcat/.cache/taffybar/taffybar-linux-x86_64 +RTS -I0 -V0 --RTS --dyre-master-binary=/usr/bin/taffybar
-    anarcat   4686  0.5  0.1 1267248 30804 pts/4   Sl   16:09   0:06          \_ polybar example
-    anarcat  24629  0.0  0.0   6032   888 pts/4    S+   16:29   0:00          \_ grep -e polybar -e status -e CPU -e taffybar
-    anarcat   4658  0.0  0.0   2388   756 ?        S    16:09   0:00      \_ /bin/sh -c py3status
-    anarcat   4659  1.1  0.1 552932 26964 ?        Sl   16:09   0:13          \_ py3status
-    anarcat   4664  0.0  0.0 374532  6296 ?        Sl   16:09   0:00              \_ /usr/bin/i3status -c /tmp/py3status_vs2xhih_
-    anarcat@curie:bin(master)$
-
-## Web browser: Firefox
-
-I always have a web browser opened, so that is a key tool for me
-since, unfortunately, everything seems to be moving inside a browser
-window... After using [[chromium]] for a few years, I am now back to
-using Firefox, see the [[firefox]] page for more details.
-
-## Emails: notmuch
-
-Boy oh boy that one is crazy. Not enough space for this here, but
-let's just say I have piles of lisp code that allow me to have 83k
-mails in my inbox and not notice, which makes the sysadmin in me quite
-angry.
-
-I have improved on that setup and documented it in
-[[blog/2016-05-12-email-setup]].
-
-## News: feed2exec and gnus
-
-I tried Liferea and Tiny Tiny RSS, both would take up too much
-resources - how hard can RSS be really?? Unbelievable. I ended up
-using a simple [feed2imap][] cron job (`@hourly nice feed2imap`). The
-[[configuration|.feed2imaprc]] is fairly simple, and I imported an old
-`OPML` feed I had lying around from Liferea.
-
- [feed2imap]: https://github.com/feed2imap/feed2imap
-
-Eventually, however, feed2imap wasn't enough: I wanted to do more
-things on the RSS feeds I use, like checking for broken links on my
-new posts or archiving them automatically to the Internet Archive. So
-I ended up writing my own RSS feed reader, [feed2exec][].
-
-[feed2exec]: http://feed2exec.rtfd.io/
-
-I also use Emacs' [GNUS](https://en.wikipedia.org/wiki/Gnus) to read whatever is left of Usenet, which
-really, for me, is free software mailing lists through [Gmane](https://en.wikipedia.org/wiki/Gmane) and
-(eventually? hopefully?) [public-inbox](https://public-inbox.org/).
-
-## Editor: emacs or vim
-
-I am not a religious zealot, except when it's about fighting
-religion. Therefore, I use vim for quick edits on server, but Emacs
-for everything else. I have a long history of emacs programming that I
-have only begun to document in [[emacs]]. See also the [Emacs
-wiki](http://emacswiki.org/).
-
-My Emacs configuration files are in [this git repository](https://gitlab.com/anarcat/emacs-d).
-
-## Backups: borg
-
-I used to have a [custom script to do a rsync][] to a crypted drive
-regularly - but it was not that regular, and i was worried about not
-having an incremental history.
-
-[custom script to do a rsync]: https://www.jwz.org/doc/backups.html
-
-I started to work on using [Bup][] and ended up writing a whole
-wrapper around it named [bup-cron][]. Then I found out about
-[attic][], [tried to help][], which ended up creating a fork called
-[borg][] which ended up being used by everyone and more active, so I'm
-using that now.
-
-I contributed to borg for a while (see [[tag/borg]] for reports) as
-well.
-
-[borg]: http://borgbackup.github.io/
-[tried to help]: https://github.com/jborg/attic/issues/217
-[attic]: https://attic-backup.org/
-
-I also considered [Obnam][] but it seems it doesn't scale so well.
-
- [bup]: https://bup.github.io/
- [bup-cron]: https://gitlab.com/anarcat/bup-cron
- [Obnam]: http://liw.fi/obnam/
-
-See [[services/backup]] for details on backups.
-
-## Color theme: srcery and redshift
-
-I am using the [srcery](https://srcery-colors.github.io/) color theme now. I like how it has a better
-contrast than solarized. Main disadvantage is that [srcery doesn't
-have a light theme](https://github.com/srcery-colors/.github/issues/3).
-
-I previously used [Solarized](http://ethanschoonover.com/solarized), mostly because it made by desktop
-usable in plain daylight. But it was a huge pain in the butt, because
-many console applications broke, especially those using colors like
-iptraf or htop.
-
-I also use [redshift](http://jonls.dk/redshift/) to reduce the amount of "blue light" in my
-face. If you are in Montreal, this is the magic formula: `redshift -l
-45.5:-73.7`.
-
-## Terminal: xterm
-
-I have used urxvt for a long time because of text reflow, clickable
-links, some bracketed paste protection. But its color support is
-*really* bad, and I have doubts about its security and maintenance
-status overall. I recently (late 2022) went back to using xterm
-
-I have considered using [godothecorrectthing](https://github.com/andrewchambers/godothecorrectthing) or [dsearch](https://github.com/halfwit/dotfiles) to
-handle URLs and .. uh... other things, but that code really looks
-pretty clunky. Instead, now I have a Xterm keybinding to [this wrapper
-script](https://gitlab.com/anarcat/scripts/-/blob/d899bf6f4f4bd66e0d9e4c5f2496e0193e6e98a0/xterm-print-wrap). It's kind of annoying.
-
-Hilariously, I wrote a full, two-part [[review of terminal
-emulators|blog/2018-04-12-terminal-emulators-1]], yet it seems I can't
-make up my mind of what the best terminal emulator is. I'm interested
-in going back to xterm now, but [foot](https://codeberg.org/dnkl/foot) (for Wayland) and [zutty](https://github.com/tomszilagyi/zutty)
-(for performance) are quite interesting as well. I am keeping a
-directory of known terminal emulators in the [terms-benchmark
-page](https://gitlab.com/anarcat/terms-benchmarks).
-
-## Launcher: rofi
-
-I'm using [rofi](https://github.com/davatorium/rofi/) to launch commands, for power management (restart,
-power off, reboot, suspend, etc), password management (through
-[rofi-pass-modi](https://gitlab.com/anarcat/scripts/-/blob/main/pass-rofi-modi) and [rofi-wrap](https://gitlab.com/anarcat/scripts/-/blob/main/rofi-wrap)).
-
-## Image viewer: geeqie / eog
-
-I'm using [geeqie](https://www.geeqie.org/) as my generic image viewer. It literally
-"claiming to be the best image viewer / photo collection browser", but
-I have a few issues with it: the UI is a little counter-intuitive and
-it doesn't have simple "copy-paste this image" support (you can copy
-an image file path, but not the actual image content), which, it turns
-out, is something I do quite often. So I sometimes switch to the
-generic GNOME viewer (eog).
-
-Other alternatives I have considered or used in the past:
-
- * [feh](https://feh.finalrewind.org/): actually used to set my image background, powerful,
-   scriptable, counter-intuitive, in Debian
- * [fim](https://www.nongnu.org/fbi-improved/): similar hack tool

(Diff truncated)
don't autoremove puppet
diff --git a/services/upgrades/bookworm.md b/services/upgrades/bookworm.md
index 885034b9..14f7deb7 100644
--- a/services/upgrades/bookworm.md
+++ b/services/upgrades/bookworm.md
@@ -146,7 +146,7 @@ can log back in over a serial console or virtual terminal.
         export LC_ALL=C.UTF-8 &&
         sudo ttyrec -a -e screen /var/log/upgrade-bookworm.ttyrec
 
-        apt-mark manual bind9-dnsutils
+        apt-mark manual bind9-dnsutils puppet-agent
         apt purge gcc-9-base gcc-10-base
         apt purge $(dpkg -l | awk '/^rc/ { print $2 }') # purge removed packages
         apt autoremove -y --purge

new font
diff --git a/blog/2020-03-10-font-changes.mdwn b/blog/2020-03-10-font-changes.mdwn
index dc490ed8..a1834578 100644
--- a/blog/2020-03-10-font-changes.mdwn
+++ b/blog/2020-03-10-font-changes.mdwn
@@ -277,4 +277,6 @@ out a little better:
  * [Font Style Matcher](https://meowni.ca/font-style-matcher/)
  * [Modern Font Stacks](https://modernfontstacks.com/)
 
+2023-05-29: Intel made a monospace font, [Intel One Mono](https://github.com/intel/intel-one-mono/).
+
 [[!tag debian-planet python-planet typography meta ikiwiki theming usability]]

purism update
diff --git a/blog/2020-07-13-not-recommending-purism.mdwn b/blog/2020-07-13-not-recommending-purism.mdwn
index 6b9c83f2..14a7ffe5 100644
--- a/blog/2020-07-13-not-recommending-purism.mdwn
+++ b/blog/2020-07-13-not-recommending-purism.mdwn
@@ -61,4 +61,10 @@ Second update: the laptop is basically dead, case is broken without
 replacement parts available, see [[this
 followup|blog/2022-08-25-one-dead-purism-laptop]] for details.
 
+Third (and hopefully last) update (2023-05-29): people are now having
+trouble getting *refunds* from never-shipped or DOA Librem 5 phones,
+see [this thread](https://forums.puri.sm/t/has-purism-refunded-you-is-purism-going-insolvent/18953). Purism's [last take on this (2022)](https://puri.sm/posts/where-is-my-librem-5/) is that
+"your Librem phone is coming", "currently shipping backlogs", "20
+weeks lead time", and "Buy now".
+
 [[!tag debian-planet python-planet hardware review phone laptop]]
diff --git a/hardware/laptop/purism-librem13v4.mdwn b/hardware/laptop/purism-librem13v4.mdwn
index 0587db83..6b7e35b3 100644
--- a/hardware/laptop/purism-librem13v4.mdwn
+++ b/hardware/laptop/purism-librem13v4.mdwn
@@ -411,6 +411,12 @@ hold it the right way, with the power cable plugged in.
 
 At least the Pine64 folks don't bullshit you on that...
 
+Update (2023-05-29): people are now having trouble getting *refunds*
+from never-shipped or DOA Librem 5 phones, see [this
+thread](https://forums.puri.sm/t/has-purism-refunded-you-is-purism-going-insolvent/18953). Purism's [last take on this (2022)](https://puri.sm/posts/where-is-my-librem-5/) is that "your
+Librem phone is coming", "currently shipping backlogs", "20 weeks lead
+time", and "Buy now".
+
 High cost
 ---------
 

ZFS and mariadb: arghl
diff --git a/software/zfs.md b/software/zfs.md
index aafea3eb..fa9f07aa 100644
--- a/software/zfs.md
+++ b/software/zfs.md
@@ -252,8 +252,11 @@ Packaged in Debian.
 ### Other DIY solutions
 
 twb (`#debian-til`) wrote [cyber-zfs-backup](https://github.com/cyberitsolutions/cyber-zfs-backup). It's short (~300
-SLOCC lines of Python, 1600 with comments) and features a MySQL
-"quiescence" hook (another 100 SLOCC).
+SLOCC lines of Python, 1600 with comments). There's a [MySQL/MariaDB
+part](https://github.com/cyberitsolutions/cyber-mariadb-zfs-snapshot) that has a "quiescence" hook (another 100 SLOCC) and does the
+good ol' `FLUSH TABLES WITH READ LOCK;` trick which, it turns out, is
+apparently better served by the `BACKUP STAGE` command now (see [the
+upstream docs](https://mariadb.com/kb/en/storage-snapshots-and-backup-stage-commands/)).
 
 Another person from the Debian community wrote their own shell script,
 [backup-zfs](https://github.com/ChibaPet/backup-zfs).

did some research on ZMI devices
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index c6c5ec9c..872c39e1 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -342,6 +342,34 @@ plenty of ports.
 
 A good choice.
 
+### ZMI
+
+[ZMI](https://www.zmifi.com/) has interesting products like [this 65W international travel
+adapter](https://www.zmifi.com/en/product/2/171.html). Found out about the company in [this post on the
+Framework forum](https://community.frame.work/t/this-looks-like-a-decent-portable-140w-power-bank-good-match-for-the-fw-laptop/23032/8?u=anarcat) referring to some battery pack of theirs they
+were happy with.
+
+One charger I was puzzled by is this [combined charger /
+battery](https://www.zmifi.com/en/product/1/156.html). It's a 45W charger with a small (6700mAh, so about
+presumably 25Wh). It has a USB-A and USB-C port. Otherwise they have a
+single [30W 10Ah battery](https://www.zmifi.com/en/product/1/173.html) which can presumably charge a Framework
+laptop in an hour.
+
+They're also doing this [crowdfunding campaign](https://www.indiegogo.com/projects/zmi-no-20-the-world-s-most-powerful-powerpack#/) for "ZMI No. 20:
+The World's Most Powerful PowerPack 25000mAh Battery w/ 3 PD Ports |
+Revolutionary 210W Max Output | 100W USB-C/USB-A | Fast Charge". That
+product is actually "shipping" but is not on their main store page
+yet, and it's not possible to buy it on the IndieGogo page either.
+
+Interestingly, it seems to embed a 21700 battery, similar to the 18650
+but more compact and apparently [used in Tesla cars](https://www.ecolithiumbattery.com/21700-vs-18650/), see also
+[this comparison with the 18650](https://tritekbattery.com/21700-or-18650-battle-of-batteries-on-lev/). This gives at least some promise
+that the batteries could be eventually changed, although there's no
+promise on the repairability of this thing, which I would assume to be
+poor unless proven otherwise.
+
+Untested.
+
 ## USB Docks
 
 Specification: 

fix typo
diff --git a/hardware/tablet/gts4lvwifi.md b/hardware/tablet/gts4lvwifi.md
index f09c0c8f..3d9dce3b 100644
--- a/hardware/tablet/gts4lvwifi.md
+++ b/hardware/tablet/gts4lvwifi.md
@@ -77,7 +77,7 @@ Note: some parts below were written before the above.
 
 ## Failures
 
-While this devices *is* (still in 2023!) supported by LOS, it *still*
+While this device *is* (still in 2023!) supported by LOS, it *still*
 doesn't seem possible to flash it without Windows ([reddit](https://www.reddit.com/r/LineageOS/comments/hj3j80/comment/fwkc3wz/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button)). I
 have tried with Heimdall and tried to follow the [postmarket
 instructions](https://wiki.postmarketos.org/wiki/Manual_flashing) to use Heimdall with:

more framework reviews
diff --git a/hardware/laptop/framework-12th-gen.md b/hardware/laptop/framework-12th-gen.md
index fd75a139..bea2fc49 100644
--- a/hardware/laptop/framework-12th-gen.md
+++ b/hardware/laptop/framework-12th-gen.md
@@ -123,9 +123,23 @@ shit. It's amazing.
 
 Reviews:
 
- * [The Verge](https://www.theverge.com/23725039/framework-laptop-13-2023-intel-review): "DIY dream come true", "Framework fixed the biggest
-   complaint I had about its laptop last year. The battery life used
-   to be bad. And reader, now it is good"
+ * [The Verge: Framework Laptop 13 review: a DIY dream come true](https://www.theverge.com/23725039/framework-laptop-13-2023-intel-review ):
+   "Framework fixed the biggest complaint I had about its laptop last
+   year. The battery life used to be bad. And reader, now it is good"
+
+ * [The Verge: The Framework Laptop 16 is trying to bring back snap-on
+   removable batteries](https://www.theverge.com/2023/3/30/23612467/framework-laptop-16-battery-parts-games): also showcases possible keyboard mods
+   Framework is experimenting with
+
+ * [The Verge: I nearly bought a Framework Laptop, but logistical
+   realities got in the way](https://www.theverge.com/2023/3/24/23655616/framework-laptop-battery-i5-ryzen-5-higher-price): "Framework CEO Nirav Patel explains
+   why you can’t easily pick an entry-level CPU with his
+   longer-lasting battery"
+
+ * [Linus Tech Tips: I Made a Bad Decision – Framework Investment
+   Update](https://www.youtube.com/watch?v=UeCdBVHYa_8), note that Linus is now an investor in Framework and his
+   opinions should therefore be taken with a grain of salt (well, more
+   than usually)
 
 # Specifications
 

another procedure
diff --git a/hardware/tablet/gts4lvwifi.md b/hardware/tablet/gts4lvwifi.md
index 95894540..f09c0c8f 100644
--- a/hardware/tablet/gts4lvwifi.md
+++ b/hardware/tablet/gts4lvwifi.md
@@ -304,6 +304,40 @@ So it seems I now need to reflash the device *again*, but this time
 with the much larger stock firmware. Considering how flaky this whole
 process is, this is depressingly unlikely to happen.
 
+## Alternative procedure
+
+As an aside, a colleague sent me the following procedure which *might*
+have worked better:
+
+ 1. patch heimdall using github.com/Benjamin-Dobell/Heimdall/pull/478
+
+ 2. boot to download from adb
+
+        adb reboot download
+
+ 3. now write the new VBMETA image
+
+        ~/src/heimdall/Heimdall/build/bin/heimdall flash --VBMETA vbmeta.img --verbose
+
+ 4. reboot, reset up android with wifi, now reboot into download
+
+        adb reboot download
+
+ 5. flash LOS recovery:
+ 
+        ~/src/heimdall/Heimdall/build/bin/heimdall flash --RECOVERY lineage-18.1-20220228-recovery-gts4lvwifi.img --verbose --no-reboot
+
+ 6. then reboot straight into recovery - power and volume down to get
+    out of download, then as soon as the screen goes black power and
+    volume up
+
+        adb sideload lineage-18.1-20220228-nightly-gts4lvwifi-signed.zip
+
+ 7. optional: google apps and Magisk
+
+        adb sideload MindTheGapps-11.0.0-arm64-20220217_100228.zip
+        adb sideload Magisk-Canary-v24.2.apk.zip
+
 ## Installing Android 11 stock firmware
 
 I did try to go legit. I went on <https://samsung.com/> and asked what

note that i still had to use apt-show-versions
diff --git a/services/upgrades/bookworm.md b/services/upgrades/bookworm.md
index 0b487f1d..885034b9 100644
--- a/services/upgrades/bookworm.md
+++ b/services/upgrades/bookworm.md
@@ -484,6 +484,9 @@ managed by Debian anymore:
 
     apt list '?obsolete'
 
+Those didn't catch the non-standard versions that `apt-show-versions`
+caught however, so this still needs work.
+
 TODO: update above procedure
 
 # References

fix typo in apt incantation
diff --git a/services/upgrades/bookworm.md b/services/upgrades/bookworm.md
index 1e8fb1b3..0b487f1d 100644
--- a/services/upgrades/bookworm.md
+++ b/services/upgrades/bookworm.md
@@ -482,7 +482,7 @@ details (e.g. it doesn't show the version in the repo).
 Then, after the upgrade, we list obsolete packages, which are not
 managed by Debian anymore:
 
-    apt list '~obsolete'
+    apt list '?obsolete'
 
 TODO: update above procedure
 

update on the LEDs and device status
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index 6c282f02..c6c5ec9c 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -258,6 +258,28 @@ actually fit in the case if you roll them up just so.
 A little bulky. Doesn't seem to actually charge anything, hugely
 disappointing.
 
+Update: in contact with tech support, it seems I am misinterpreting
+the output of the LEDs. Also, when the battery is fully discharged, it
+can't charge fast with USB-C.
+
+Here are the LED meanings I could gather:
+
+ * when clicked:
+   * all four LEDs steady: battery full, 100% charged
+   * 3 LEDs steady: 75% charged
+   * 2 LEDs steady: 50% charged
+   * 1 LED steady: 25% charged
+   * all four LEDs blinking: low battery warning, plug in a USB-A slow
+     charger for an hour
+   * no LED: flat dead, plug in a slow charger
+ * when charging:
+   * rightmost LED blinking: 0-25% charged, need slow charging
+   * one steady LED, second LED blinking: 25%+ charged, can charge
+     fast
+
+The LED button can be pushed for two seconds to reset the protection
+circuits.
+
 Specifications:
 
  * Full recharge in 3 hours with 33W input, 50% in one hour

add a title, we're fancy like that
diff --git a/blog/2023-05-18-terrible-pixel-tablet.md b/blog/2023-05-18-terrible-pixel-tablet.md
index 8e1c25cb..6703e5c4 100644
--- a/blog/2023-05-18-terrible-pixel-tablet.md
+++ b/blog/2023-05-18-terrible-pixel-tablet.md
@@ -1,3 +1,5 @@
+[[!meta title="A terrible Pixel Tablet"]]
+
 In a strange twist of history, Google finally woke and thought "I know
 what we need to do! We need to make a TABLET!".
 

automatic federated post of blog/2023-05-18-terrible-pixel-tablet.md
Command: ['/usr/bin/feed2exec', '-v', 'fetch']
Plugin file: /usr/lib/python3/dist-packages/feed2exec/plugins/ikiwikitoot.py
Source directory: /home/w-anarcat/source
Running on: marcos
diff --git a/blog/2023-05-18-terrible-pixel-tablet.md b/blog/2023-05-18-terrible-pixel-tablet.md
index f6b67e7a..8e1c25cb 100644
--- a/blog/2023-05-18-terrible-pixel-tablet.md
+++ b/blog/2023-05-18-terrible-pixel-tablet.md
@@ -82,3 +82,7 @@ whatever Samsung threw over the fence before the apocalypse (remember
 else gets any bright ideas like this.
 
 [[!tag debian-planet android review hardware]]
+
+
+<!-- posted to the federation on 2023-05-18T12:04:31.580338 -->
+[[!mastodon "https://kolektiva.social/@Anarcat/110390533906128226"]]
\ No newline at end of file

publish
diff --git a/blog/2023-05-18-terrible-pixel-tablet.md b/blog/2023-05-18-terrible-pixel-tablet.md
index c6a016c7..f6b67e7a 100644
--- a/blog/2023-05-18-terrible-pixel-tablet.md
+++ b/blog/2023-05-18-terrible-pixel-tablet.md
@@ -81,4 +81,4 @@ whatever Samsung threw over the fence before the apocalypse (remember
 "The tablet that only Google could make." Amazing. Hopefully no one
 else gets any bright ideas like this.
 
-[[!tag draft]]
+[[!tag debian-planet android review hardware]]

add toc
diff --git a/blog/2023-05-18-terrible-pixel-tablet.md b/blog/2023-05-18-terrible-pixel-tablet.md
index 5c96501e..c6a016c7 100644
--- a/blog/2023-05-18-terrible-pixel-tablet.md
+++ b/blog/2023-05-18-terrible-pixel-tablet.md
@@ -15,6 +15,8 @@ In any case, Google made a tablet. I own a Pixel phone and I'm
 moderately happy with it. It's easy to flash with [CalyxOS](https://calyxos.org/), maybe
 this is the promise land of tablets?
 
+[[!toc]]
+
 # Compared with the Samsung
 
 But it turns out that the [Pixel Tablet pales in comparison with the

fix tag location
diff --git a/blog/2023-05-18-terrible-pixel-tablet.md b/blog/2023-05-18-terrible-pixel-tablet.md
index 67558859..5c96501e 100644
--- a/blog/2023-05-18-terrible-pixel-tablet.md
+++ b/blog/2023-05-18-terrible-pixel-tablet.md
@@ -78,3 +78,5 @@ whatever Samsung threw over the fence before the apocalypse (remember
 
 "The tablet that only Google could make." Amazing. Hopefully no one
 else gets any bright ideas like this.
+
+[[!tag draft]]
diff --git a/hardware/tablet.mdwn b/hardware/tablet.mdwn
index a3e50c0d..ae832c70 100644
--- a/hardware/tablet.mdwn
+++ b/hardware/tablet.mdwn
@@ -558,5 +558,3 @@ are either 10" or 12".
    specifications
 
 [[!tag research]]
-
-[[!tag draft]]

move that to a blog post
diff --git a/blog/2023-05-18-terrible-pixel-tablet.md b/blog/2023-05-18-terrible-pixel-tablet.md
new file mode 100644
index 00000000..67558859
--- /dev/null
+++ b/blog/2023-05-18-terrible-pixel-tablet.md
@@ -0,0 +1,80 @@
+In a strange twist of history, Google finally woke and thought "I know
+what we need to do! We need to make a TABLET!".
+
+So some time soon in 2023, Google will release "The tablet that only
+Google could make", the [Pixel Tablet](https://store.google.com/product/pixel_tablet).
+
+Having owned a [[Samsung Galaxy Tab S5e|hardware/tablet/gts4lvwifi]]
+for a few years, I was very curious to see how this would pan out and
+especially whether it would be easier to flash than the Samsung. As an
+aside, I figured I would give *that* a shot, and within a few days
+managed to completely brick the device. Awesome. See
+[[hardware/tablet/gts4lvwifi]] for the painful details of that.
+
+In any case, Google made a tablet. I own a Pixel phone and I'm
+moderately happy with it. It's easy to flash with [CalyxOS](https://calyxos.org/), maybe
+this is the promise land of tablets?
+
+# Compared with the Samsung
+
+But it turns out that the [Pixel Tablet pales in comparison with the
+Samsung tablet, produced 4 years ago, in 2019](https://m.gsmarena.com/compare.php3?idPhone1=9581&idPhone2=11905):
+
+ * it's thicker (8.1mm vs 5.5mm)
+ * it's heavier (493g vs 400g)
+ * it's not AMOLED (IPS LCD)
+ * it doesn't have an SD card reader
+ * its camera is worse (8MP vs 13MP, 1080p video instead of 4k)
+ * it's more expensive (670EUR vs 410EUR)
+
+What the Pixel tablet has going for it:
+
+ * a slightly more powerful CPU
+ * a stylus
+ * more storage (128GB or 256GB vs 64GB or 128GB)
+ * more RAM (8GB vs 4GB or 6GB)
+ * Wifi 6
+
+I guess I should probably wait for the actual device to come out to
+see reviews and how it stacks up, but so far it's kind of impressive
+how underwhelming this is. 
+
+Also note that we're comparing against a very old Samsung tablet here,
+a fairer comparison might be against the [Samsung Galaxy Tab
+S8](https://m.gsmarena.com/compare.php3?&idPhone2=11905&idPhone1=11343). There the sizes are comparable, and the Samsung is more
+expensive than the Pixel, but then the Pixel has absolutely zero
+advantages and all the other disadvantages.
+
+# The Dock
+
+The "Dock" is also worth a little aside.
+
+See, the tablet comes with a dock that doubles as a speaker. 
+
+You can't buy the tablet without the dock. You have to have a
+dock.
+
+I shit you not, actual quote: "Can I purchase a Pixel Tablet without
+the Charging Speaker Dock? No, you can only purchase the Pixel Tablet
+with the Charging Speaker Dock."
+
+In case you really, really like the dock, "You may purchase additional
+Charging Speaker Docks separately (coming soon)." And no, they can't
+all play together, only the dock the tablet is docked into will play
+audio.
+
+The dock is not a Bluetooth speaker, it can only play audio from that
+one tablet that Google made, this one time.
+
+It's also not a battery pack. It's just a charger with speakers in
+it.
+
+Promising e-waste.
+
+Again, I hope I'm wrong and that this is going to be a fine
+tablet. But so far, it looks like it doesn't even come close to
+whatever Samsung threw over the fence before the apocalypse (remember
+2019? were we even born yet?). 
+
+"The tablet that only Google could make." Amazing. Hopefully no one
+else gets any bright ideas like this.
diff --git a/hardware/tablet.mdwn b/hardware/tablet.mdwn
index ae99d0f1..a3e50c0d 100644
--- a/hardware/tablet.mdwn
+++ b/hardware/tablet.mdwn
@@ -509,50 +509,8 @@ https://www.ifixit.com/Device/Surface_Go_2
 
 ## Google
 
-In a strange twist of history, Google finally woke and thought "I know
-what we need to do a TABLET". So in the summer of 2023, Google will
-release "The tablet that only Google could make", the [Pixel
-Tablet](https://store.google.com/product/pixel_tablet).
-
-Having owned a [[Samsung Galaxy Tab S5e|hardware/tablet/gts4lvwifi]]
-for a few years, I was very curious to see how this would pan out and
-especially whether it would be easier to flash than the Samsung (which
-I ended up bricking in the process).
-
-Turns out that the [Pixel Tablet pales in comparison](https://m.gsmarena.com/compare.php3?idPhone1=9581&idPhone2=11905):
-
- * it's thicker (8.1mm vs 5.5mm)
- * it's heavier (493g vs 400g)
- * it's not AMOLED (IPS LCD instead)
- * it doesn't have an SD card reader
- * its camera is worse (8MP vs 13MP)
- * it can't do 4k video
- * it's more expensive (670EUR vs 410EUR)
-
-It's also worth mentioning the dock.
-
-See the tablet comes with a dock that doubles as a speaker. You can't
-buy the tablet without the dock.
-
-I shit you not, actual quote: "Can I purchase a Pixel Tablet without
-the Charging Speaker Dock? No, you can only purchase the Pixel Tablet
-with the Charging Speaker Dock. You may purchase additional Charging
-Speaker Docks separately (coming soon)."
-
-The dock is not a Bluetooth speaker, it can only play audio from that
-one tablet that Google made, this one time. Total garbage.
-
-What the Pixel tablet has going for it:
-
- * a slightly more powerful CPU
- * a stylus
- * more storage (128GB or 256GB vs 64GB or 128GB)
- * more RAM (8GB vs 4GB or 6GB)
- * Wifi 6
-
-I guess I should probably wait for the actual device to come out to
-see reviews and how it stacks up, but so far it's kind of impressive
-how bad this is.
+Google made a tablet. I think it's bad, see [[this blog
+post|blog/2023-05-18-terrible-pixel-tablet]].
 
 # Phones
 
@@ -600,3 +558,5 @@ are either 10" or 12".
    specifications
 
 [[!tag research]]
+
+[[!tag draft]]

it's even worse
diff --git a/hardware/tablet.mdwn b/hardware/tablet.mdwn
index 1857f24c..ae99d0f1 100644
--- a/hardware/tablet.mdwn
+++ b/hardware/tablet.mdwn
@@ -512,11 +512,12 @@ https://www.ifixit.com/Device/Surface_Go_2
 In a strange twist of history, Google finally woke and thought "I know
 what we need to do a TABLET". So in the summer of 2023, Google will
 release "The tablet that only Google could make", the [Pixel
-Tablet](https://store.google.com/product/pixel_tablet). Having owned a [[Samsung Galaxy Tab
-S5e|hardware/tablet/gts4lvwifi]] for a few years, I was very curious
-to see how this would pan out and especially whether it would be
-easier to flash than the Samsung (which I ended up bricking in the
-process).
+Tablet](https://store.google.com/product/pixel_tablet).
+
+Having owned a [[Samsung Galaxy Tab S5e|hardware/tablet/gts4lvwifi]]
+for a few years, I was very curious to see how this would pan out and
+especially whether it would be easier to flash than the Samsung (which
+I ended up bricking in the process).
 
 Turns out that the [Pixel Tablet pales in comparison](https://m.gsmarena.com/compare.php3?idPhone1=9581&idPhone2=11905):
 
@@ -528,7 +529,20 @@ Turns out that the [Pixel Tablet pales in comparison](https://m.gsmarena.com/com
  * it can't do 4k video
  * it's more expensive (670EUR vs 410EUR)
 
-What it has going for it:
+It's also worth mentioning the dock.
+
+See the tablet comes with a dock that doubles as a speaker. You can't
+buy the tablet without the dock.
+
+I shit you not, actual quote: "Can I purchase a Pixel Tablet without
+the Charging Speaker Dock? No, you can only purchase the Pixel Tablet
+with the Charging Speaker Dock. You may purchase additional Charging
+Speaker Docks separately (coming soon)."
+
+The dock is not a Bluetooth speaker, it can only play audio from that
+one tablet that Google made, this one time. Total garbage.
+
+What the Pixel tablet has going for it:
 
  * a slightly more powerful CPU
  * a stylus

google made a crap tablet
diff --git a/hardware/tablet.mdwn b/hardware/tablet.mdwn
index 95d5f107..1857f24c 100644
--- a/hardware/tablet.mdwn
+++ b/hardware/tablet.mdwn
@@ -507,6 +507,39 @@ Pretty bad iFixit score (3/10):
 
 https://www.ifixit.com/Device/Surface_Go_2
 
+## Google
+
+In a strange twist of history, Google finally woke and thought "I know
+what we need to do a TABLET". So in the summer of 2023, Google will
+release "The tablet that only Google could make", the [Pixel
+Tablet](https://store.google.com/product/pixel_tablet). Having owned a [[Samsung Galaxy Tab
+S5e|hardware/tablet/gts4lvwifi]] for a few years, I was very curious
+to see how this would pan out and especially whether it would be
+easier to flash than the Samsung (which I ended up bricking in the
+process).
+
+Turns out that the [Pixel Tablet pales in comparison](https://m.gsmarena.com/compare.php3?idPhone1=9581&idPhone2=11905):
+
+ * it's thicker (8.1mm vs 5.5mm)
+ * it's heavier (493g vs 400g)
+ * it's not AMOLED (IPS LCD instead)
+ * it doesn't have an SD card reader
+ * its camera is worse (8MP vs 13MP)
+ * it can't do 4k video
+ * it's more expensive (670EUR vs 410EUR)
+
+What it has going for it:
+
+ * a slightly more powerful CPU
+ * a stylus
+ * more storage (128GB or 256GB vs 64GB or 128GB)
+ * more RAM (8GB vs 4GB or 6GB)
+ * Wifi 6
+
+I guess I should probably wait for the actual device to come out to
+see reviews and how it stacks up, but so far it's kind of impressive
+how bad this is.
+
 # Phones
 
 When a tablet goes below 9", it's not a tablet anymore. See [[phone]]

fix headings
diff --git a/hardware/tablet.mdwn b/hardware/tablet.mdwn
index 640a914c..95d5f107 100644
--- a/hardware/tablet.mdwn
+++ b/hardware/tablet.mdwn
@@ -19,8 +19,7 @@ possession or evaluated directly.
 
 [[!toc levels=3]]
 
-E-readers
-=========
+# E-readers
 
 An [e-reader](https://en.wikipedia.org/wiki/E-reader) "also called an e-book reader or e-book device, is a
 mobile electronic device that is designed primarily for the purpose of
@@ -36,8 +35,7 @@ displays.
 
 As far as I know, all e-reader batteries are non-removable.
 
-Kobo
-----
+## Kobo
 
 [Kobo](https://en.wikipedia.org/wiki/Kobo_Inc.) (an anagram of "book") is a company that was started by
 [Indigo books](https://en.wikipedia.org/wiki/Indigo_Books_and_Music) so it used to be Canadian but was bought by the
@@ -92,8 +90,7 @@ Otherwise similar to the Glo HD. Retail price around 180$CAD.
 See [[the guide I wrote for hacking on this device|kobo-clara-hd]],
 similar to the above two devices.
 
-Onyx
-----
+## Onyx
 
 [Onyx][] make all sorts of (e-ink) tablets, from big to small, mostly running
 Android. They [publish some of their source on GitHub][], mostly as a
@@ -189,8 +186,7 @@ Not an e-reader, but a monitor, similar to the Dasungs:
 
 In depth review: <https://www.youtube.com/watch?v=oBfWkxOfUfQ>
 
-reMarkable
-----------
+## reMarkable
 
 The [reMarkable][] seems promising:
 
@@ -263,8 +259,7 @@ according to this [Techcrunch review](https://techcrunch.com/2020/03/17/remarkab
  * marker now has an eraser
  * cheaper (400$ instead of 700$)
 
-Sony
-----
+## Sony
 
 ### PRS-T2
 
@@ -315,8 +310,7 @@ Downsides:
    RAM and used a i.MX508 SOC with a ARM Cortex-A8 CPU 1GHz
  * no backlight?
 
-Freewrite
----------
+## Freewrite
 
 Le [freewrite](https://astrohaus.com/) pourrait être une façon intéressante de me forcer à
 écrire. Amener seulement ça dans une chalet dans le bois pour une
@@ -326,8 +320,7 @@ l'écran "E ink" (550$USD).
 C'est aussi une machine beaucoup plus restreinte (délibérément) qu'une
 tablette générique.
 
-Dasung
-------
+## Dasung
 
 [Dasung Tech](http://www.dasungtech.com/) make kind of weird devices. Their first device was a
 [13.3" e-ink monitor](https://www.indiegogo.com/projects/first-e-ink-monitor-with-front-light-touch/x/16580847#/) that only supported display and touch input,
@@ -337,8 +330,7 @@ They also make a weird [not-ereader](https://www.indiegogo.com/projects/not-erea
 that's designed to be a "phone monitor" but that also runs Android
 (6!) and can act as a standalone e-reader.
 
-Tablets
-=======
+# Tablets
 
 Tablets are basically like ebook-readers, except they use a normal,
 backlit color display which uses more power and is less readable in
@@ -346,8 +338,7 @@ direct sunlight. It's also not good for your eyes and your sleep, but
 those are generally cheaper and more powerful than ebook readers
 because the technology is more common.
 
-Sony
-----
+## Sony
 
 Sony has a [Xperia Z2 tablet](https://en.wikipedia.org/wiki/Sony_Xperia_Z2_tablet) that was recommended on the `#tech`
 channel. Apparently, it "runs mainline" (thanks to [postmarketOS](https://wiki.postmarketos.org/wiki/Sony_Xperia_Z2_Tablet_(sony-castor-windy)),
@@ -377,8 +368,7 @@ But even the newer Sony machines are seemingly hard to find in Canada:
 nothing at Monoprice, BestBuy, Canada Computers, and Amazon has weird
 stuff at 2000+$.
 
-Samsung
--------
+## Samsung
 
 The [Galaxy tab S2](https://www.samsung.com/global/galaxy/galaxy-tab-s2/) ([LOS page for 8.0](https://wiki.lineageos.org/devices/gts28vewifi) and [9.7"](https://wiki.lineageos.org/devices/gts210vewifi)) were
 [recommended on Reddit](https://www.reddit.com/r/LineageOS/comments/7ki1vn/what_lineageos_device_would_you_buy/) as "pretty much the only recent tablet
@@ -435,8 +425,7 @@ one of very few tablets [supported by LOS](https://wiki.lineageos.org/devices/gt
 
 See [[gts4lvwifi]] for notes.
 
-Asus
-----
+## Asus
 
 Another player in the tablet market is Asus. The only one [supported](https://wiki.lineageos.org/devices/P024) by
 LOS is the [ZenPad 8.0](https://www.asus.com/us/Tablets/ASUS-ZenPad-8-0-Z380M/):
@@ -458,8 +447,7 @@ Bestbuy: [200$ for 16GB](https://www.bestbuy.ca/en-ca/product/asus-zenpad-8-16gb
 
 Definitely on the cheaper end of the market.
 
-iPad 4
-------
+## iPad 4
 
 Donated by family. [Specifications](https://everymac.com/systems/apple/ipad/specs/apple-ipad-a1458-4th-gen-late-2012-wi-fi-only-specs.html):
 
@@ -484,8 +472,7 @@ Downsides:
 
 Originally priced at 500-700$USD, now at around 250-350$USD.
 
-Lenovo
-------
+## Lenovo
 
 Lenovo made a weird mix between a tablet, a laptop and a e-reader that
 we should mention her. The Verge has a [good review](https://www.theverge.com/2018/8/30/17788476/lenovo-yoga-book-c930-dual-e-ink-screen-price-photos-release-date-ifa-2018) of the thing
@@ -495,8 +482,7 @@ as a keyboard.
 
 Insane.
 
-Pine64
-------
+## Pine64
 
 Those guys known for their cheap [[laptop]] are [making a cheap
 tablet](https://www.omgubuntu.co.uk/2019/01/pine-tab-linux-tablet) as well, running Ubuntu.
@@ -521,15 +507,13 @@ Pretty bad iFixit score (3/10):
 
 https://www.ifixit.com/Device/Surface_Go_2
 
-Phones
-======
+# Phones
 
 When a tablet goes below 9", it's not a tablet anymore. See [[phone]]
 instead. Some people wish they had those without a baseband, but
 unfortunately that's not possible right now.
 
-A word on sizes
-===============
+# A word on sizes
 
 As usual, sizes can be confusing. Here are a few examples of diagonal
 sizes:
@@ -561,8 +545,7 @@ are either 10" or 12".
  [US letter paper]: https://en.wikipedia.org/wiki/Letter_(paper_size)
  [reMarkable]: https://remarkable.com/
 
-References
-==========
+# References
 
  * [GSMArena](https://gsmarena.com) has a good directory and complete specs for many (but
    not all) tablets (and no e-readers)

last resort tablet
diff --git a/hardware/tablet/gts4lvwifi.md b/hardware/tablet/gts4lvwifi.md
index d0ac1520..95894540 100644
--- a/hardware/tablet/gts4lvwifi.md
+++ b/hardware/tablet/gts4lvwifi.md
@@ -457,3 +457,6 @@ So maybe I flashed the wrong thing, the wrong way. In any case, the
 thing is just totally dead now and I have lost all hope of recovery.
 
 I was so close, yet so far. Typical Android flashing experience.
+
+The machine is out of warranty at the retailer (30 days) but maybe the
+"Samsung Experience Store" can do something with it, we'll see.

linkon doesn't ship to canada
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index 4ba803e3..6c282f02 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -81,7 +81,8 @@ The spec here is at least 65W USB-C with international plugs.
   their certification but LinkOn actually wrote me to clarify they
   only have the PD 3.0 certification, while offering some affiliate
   links and free stuff, to which I have said (basically) sure, send me
-  stuff, interesting gear)
+  stuff and then they said "oh canada we don't ship there",
+  interesting gear nevertheless)
 
 ### TOFU power station
 

add big fat warnings
diff --git a/hardware/tablet/gts4lvwifi.md b/hardware/tablet/gts4lvwifi.md
index 3843ded5..d0ac1520 100644
--- a/hardware/tablet/gts4lvwifi.md
+++ b/hardware/tablet/gts4lvwifi.md
@@ -1,5 +1,9 @@
 [[!toc levels=3]]
 
+[[!warning "I have NOT been able to flash my Samsung tablet with the
+procedure here. The tablet is completely bricked and unusable. Do NOT
+follow the instructions here, you have been warned."]]
+
 # Picking an OS
 
 During the brief moment where I thought I could recover this device, I
@@ -327,6 +331,8 @@ Then I tried to sideload other LOS versions, still no lock.
 
 ## Completely bricking the device
 
+[[!warning "DO NOT RUN THE COMMANDS BELOW IT WILL BRICK YOUR DEVICE"]]
+
 Noticing TWRP was complaining about Android 11 right after doing a
 comparison of `TZ`, I figured i might be able to flash just that
 partition and fool TWRP in going ahead. So I foolishly uploaded some

more details
diff --git a/hardware/tablet/gts4lvwifi.md b/hardware/tablet/gts4lvwifi.md
index d07c9397..3843ded5 100644
--- a/hardware/tablet/gts4lvwifi.md
+++ b/hardware/tablet/gts4lvwifi.md
@@ -336,10 +336,67 @@ binary I found on the internet, from the
     ~/dist/Heimdall/bin/heimdall flash --TZ tz.mbn
 
 This ... kind of worked ("TZ upload successful" and no error from
-Heimdall!), but then after rebooting the device from download mode
-(power and volume down for 10 seconds), it ...
+Heimdall!). Full output:
 
-... never came back up.
+    anarcat@angela:files[1]$ ~/dist/Heimdall/bin/heimdall  flash  --TZ tz.mbn --no-reboot
+    Heimdall v2.0.2
+
+    Copyright (c) 2010-2017 Benjamin Dobell, Glass Echidna
+    https://www.glassechidna.com.au/
+
+    This software is provided free of charge. Copying and redistribution is
+    encouraged.
+
+    If you appreciate this software and you would like to support future
+    development please consider donating:
+    https://www.glassechidna.com.au/donate/
+
+    Initialising connection...
+    Detecting device...
+    Claiming interface...
+    Initialising protocol...
+    Protocol initialisation successful.
+
+    Beginning session...
+
+    Some devices may take up to 2 minutes to respond.
+    Please be patient!
+
+    Session begun.
+
+    Downloading device's PIT file...
+    PIT file download successful.
+
+    Uploading TZ
+    100%
+    TZ upload successful
+
+    Ending session...
+    Releasing device interface...
+
+    anarcat@angela:files$ ~/dist/Heimdall/bin/heimdall  flash  --TZ tz.mbn 
+    Heimdall v2.0.2
+
+    Copyright (c) 2010-2017 Benjamin Dobell, Glass Echidna
+    https://www.glassechidna.com.au/
+
+    This software is provided free of charge. Copying and redistribution is
+    encouraged.
+
+    If you appreciate this software and you would like to support future
+    development please consider donating:
+    https://www.glassechidna.com.au/donate/
+
+    Initialising connection...
+    Detecting device...
+    Claiming interface...
+    Initialising protocol...
+    ERROR: Protocol initialisation failed!
+
+    Releasing device interface...
+
+... but then after rebooting the device from download mode (power and
+volume down for 10 seconds), it never came back up!!!
 
 Now the device is all blank. It's unclear if it's powered down at
 all. Plugging in a USB-C cable into my laptop doesn't bring it to life

details
diff --git a/hardware/tablet/gts4lvwifi.md b/hardware/tablet/gts4lvwifi.md
index 6f8335d1..d07c9397 100644
--- a/hardware/tablet/gts4lvwifi.md
+++ b/hardware/tablet/gts4lvwifi.md
@@ -56,7 +56,7 @@ and has [this map of versions](https://doc.e.foundation/support-topics/about-e#f
 and S is 12, which means that /e/ is one major version behind the
 latest Android.
 
-# Installing microG's LOS
+# Picked microG's LOS
 
 The [microG LOS installation instructions](https://lineage.microg.org/#instructions) are basically the same
 as LOS's except they have their own [fork of the update_verifier](https://github.com/lineageos4microg/update_verifier)
@@ -69,6 +69,8 @@ This is [their download link](https://download.lineage.microg.org/gts4lvwifi/).
 
 # Flashing a Samsung Galaxy Tab S5e
 
+Note: some parts below were written before the above.
+
 ## Failures
 
 While this devices *is* (still in 2023!) supported by LOS, it *still*
@@ -304,7 +306,8 @@ I did try to go legit. I went on <https://samsung.com/> and asked what
 was probably a chat bot a link to download the official stock rom
 images. The [[Chat_Transcript.txt]] is pretty obnoxious.
 
-So instead, I tried again with some stock firmware I found online.
+So instead, I tried again with some stock firmware I found online, one
+of the files found on [samfw.com section about the tablet](https://samfw.com/firmware/SM-T720/XAC/bit/all/av/R(Android%2011)).
 
 First I extracted the ZIP file and then all the `tar.md5` files (which
 are really just normal `.tar` files) and *then* the embedded `.lz4`
@@ -326,7 +329,9 @@ Then I tried to sideload other LOS versions, still no lock.
 
 Noticing TWRP was complaining about Android 11 right after doing a
 comparison of `TZ`, I figured i might be able to flash just that
-partition and fool TWRP in going ahead. So I foolishly did:
+partition and fool TWRP in going ahead. So I foolishly uploaded some
+binary I found on the internet, from the
+`Samfw.com_SM-T720_XAC_T720XXS3DWA1_fac.zip` file.
 
     ~/dist/Heimdall/bin/heimdall flash --TZ tz.mbn
 

tweak toc
diff --git a/hardware/tablet/gts4lvwifi.md b/hardware/tablet/gts4lvwifi.md
index 11951656..6f8335d1 100644
--- a/hardware/tablet/gts4lvwifi.md
+++ b/hardware/tablet/gts4lvwifi.md
@@ -1,4 +1,4 @@
-[[!toc]]
+[[!toc levels=3]]
 
 # Picking an OS
 

finalize android failure notes
diff --git a/hardware/tablet/gts4lvwifi.md b/hardware/tablet/gts4lvwifi.md
index 96399c79..11951656 100644
--- a/hardware/tablet/gts4lvwifi.md
+++ b/hardware/tablet/gts4lvwifi.md
@@ -1,5 +1,72 @@
 [[!toc]]
 
+# Picking an OS
+
+During the brief moment where I thought I could recover this device, I
+had to make a choice of which OS to install on there. There's
+basically two options here:
+
+ * LineageOS
+ * /e/
+
+## LineageOS
+
+I've flashed LineageOS in the past (see [[hardware/phone/lg-g3-d852]]
+and [[hardware/phone/htc-one-s]]) but the rather hostile IRC community
+has always been undesirable to me. Still, it's kind of the baseline
+that everyone looks at for everything, and has a crushing number of
+supported devices, including this one.
+
+The [install instructions](https://wiki.lineageos.org/devices/gts4lvwifi/install) are hellish and require Windows and
+calling Odin. The [builds](https://download.lineageos.org/devices/gts4lvwifi/builds) are relatively up to date.
+
+Unfortunately, [microg](https://microg.org/) is still not shipped with LOS and
+sideloading it is challenging, so much so that microg now [builds its
+own LOS fork](https://lineage.microg.org/).
+
+Still, I should be able to sideload the [F-Droid privileged
+extension](https://gitlab.com/fdroid/privileged-extension/#f-droid-privileged-extension) to get a minimum going in there.
+
+## /e/
+
+/e/ is an interesting LOS fork that is focused on privacy and "open
+source". It also, more importantly, supports a large range of devices
+including the tablet.
+
+Oddly, it also ships one [proprietary maps app](https://doc.e.foundation/maps), [Magic
+Earth](https://www.magicearth.com/). They make [their own privacy-branded phones](https://murena.com/) now. Also
+ships with this weird [App Lounge](https://doc.e.foundation/app-lounge) that blends together apps from
+the Google Store and F-Droid, although the latter is shipped through
+this weird [CleanAPK thing](https://info.cleanapk.org/) (see also the [/e/ FAQ about
+this](https://doc.e.foundation/app-lounge#how-can-i-trust-the-cleanapk-api-cleanapkorg)). See also [What's in /e/OS?](https://doc.e.foundation/what-s-e#whats-in-eos) and [default
+applications](https://doc.e.foundation/what-s-e#eos-default-applications).
+
+It should be noted that /e/ funds the development of microG since
+2020.
+
+The [install instructions](https://doc.e.foundation/devices/gts4lvwifi/install) are very similar to LOS and [here is the
+direct link to their images](https://images.ecloud.global/dev/gts4lvwifi/).
+
+The Q, R and S builds are /e/ code names for Android versions,
+[according to ChatGPT](https://www.phind.com/search?cache=16f71844-cc16-410e-a725-583f3dcb6c86). It seems like after Android 9 "Pie" Google
+stopped using candy names publicly and instead refer only to numbers
+although internally they still use incrementing literal versions,
+[according to Wikipedia](https://en.wikipedia.org/wiki/Android_version_history#Overview). So /e/ seems to be taking a cue from that
+and has [this map of versions](https://doc.e.foundation/support-topics/about-e#from-which-version-of-android-is-eos-forked) so that Q is Androind 10, R is 11
+and S is 12, which means that /e/ is one major version behind the
+latest Android.
+
+# Installing microG's LOS
+
+The [microG LOS installation instructions](https://lineage.microg.org/#instructions) are basically the same
+as LOS's except they have their own [fork of the update_verifier](https://github.com/lineageos4microg/update_verifier)
+(which, interestingly, LOS doesn't actually mention in their
+instructions). I have quickly audited commit
+`7529ac8fdd82c758ab9520b20ea42b956811dcdb` of the microG fork and it
+seems somewhat like a legit implementation of a ZIP signature check.
+
+This is [their download link](https://download.lineage.microg.org/gts4lvwifi/).
+
 # Flashing a Samsung Galaxy Tab S5e
 
 ## Failures
@@ -11,7 +78,8 @@ instructions](https://wiki.postmarketos.org/wiki/Manual_flashing) to use Heimdal
 
     heimdall download-pit --output file.pit
 
-... because I don't have a `.pit` file. But this fails with:
+... because I don't have a `.pit` file and presumably I need that? But
+this fails with:
 
     Initialising connection...
     Detecting device...
@@ -45,7 +113,7 @@ Heimdall is not very well documented. Part of the problem I'm having
 Heimdall expects `.pit` files or "Heimdall Firmware Package" files,
 which I don't know how to create. The [Heimdall Linux README](https://raw.githubusercontent.com/Benjamin-Dobell/Heimdall/master/Linux/README) has
 more information which could possibly fix this, but then the
-communication issue keeps me from even downloading the origin .pit
+communication issue keeps me from even downloading the original pit
 file.
 
 It does seem like [this person produces images](https://github.com/luk1337/gts4lv-fw/releases/tag/T720XXS3DWA1) for the Samsung S5e
@@ -57,7 +125,7 @@ At some point I *was* able to dump the PIT (see the output in
 [[pit.txt]]), but nothing much more. I think the next step is to flash
 a recovery with:
 
-    ~/dist/Heimdall/bin/heimdall flash --RECOVERY recovery.img   --no-reboot --verbose
+    ~/dist/Heimdall/bin/heimdall flash --RECOVERY recovery.img --no-reboot --verbose
 
 And then, from recovery, load the LOS `.zip` file. Update: it looks
 like this kind of works, but is very flaky:
@@ -207,8 +275,9 @@ rooting the box with [Magisk](https://topjohnwu.github.io/Magisk/) (some obscure
 to follow last time I attempted this) or Odin. At first, this seemed
 like a dead end, but eventually, it *worked*, see [[success-output.txt]].
 
-The trick is to just try and try again. Eventually, I managed to flash
-TWRP onto the device with:
+The trick is to just try and try again. Encouraged by [a fellow
+developer](https://github.com/Benjamin-Dobell/Heimdall/pull/478#issuecomment-817360071), I eventually managed to flash TWRP onto the device
+with:
 
     heimdall flash --VBMETA vbmeta.img --RECOVERY recovery.img --no-reboot
 
@@ -220,7 +289,7 @@ together until the download menu comes up. Then press <kbd>volume
 up</kbd> *twice* to get to the actual download mode.
 
 This moment of pure joy was short though, as when I tried to sideload
-the LOS .zip file from MicroG (see below), I was served with this
+the LOS ZIP file from MicroG (see below), I was served with this
 error:
 
     ERROR: This package requires firmware from an Android 11 based stock ROM build. Please upgrade firmware and retry!
@@ -235,72 +304,88 @@ I did try to go legit. I went on <https://samsung.com/> and asked what
 was probably a chat bot a link to download the official stock rom
 images. The [[Chat_Transcript.txt]] is pretty obnoxious.
 
+So instead, I tried again with some stock firmware I found online.
 
+First I extracted the ZIP file and then all the `tar.md5` files (which
+are really just normal `.tar` files) and *then* the embedded `.lz4`
+files. There were 32 files. I tried to generate a single commandline
+to flash them all:
+    
     for f in *.* ; do echo --$(grep -B 1 "$f" ~/wikis/anarc.at/hardware/tablet/gts4lvwifi/pit.txt | grep Partition | head -1 | sed 's/.*: //') $f \\ ; done
 
-# Picking an OS
-
-During the brief moment where I thought I could recover this device, I
-had to make a choice of which OS to install on there. There's
-basically two options here:
-
- * LineageOS
- * /e/
-
-## LineageOS
-
-I've flashed LineageOS in the past (see [[hardware/phone/lg-g3-d852]]
-and [[hardware/phone/htc-one-s]]) but the rather hostile IRC community
-has always been undesirable to me. Still, it's kind of the baseline
-that everyone looks at for everything, and has a crushing number of
-supported devices, including this one.
-
-The [install instructions](https://wiki.lineageos.org/devices/gts4lvwifi/install) are hellish and require Windows and
-calling Odin. The [builds](https://download.lineageos.org/devices/gts4lvwifi/builds) are relatively up to date.
-
-Unfortunately, [microg](https://microg.org/) is still not shipped with LOS and
-sideloading it is challenging, so much so that microg now [builds its
-own LOS fork](https://lineage.microg.org/).
-
-Still, I should be able to sideload the [F-Droid privileged
-extension](https://gitlab.com/fdroid/privileged-extension/#f-droid-privileged-extension) to get a minimum going in there.
-
-## /e/
-
-/e/ is an interesting LOS fork that is focused on privacy and "open
-source". It also, more importantly, supports a large range of devices
-including the tablet.
-
-Oddly, it also ships one [proprietary maps app](https://doc.e.foundation/maps), [Magic
-Earth](https://www.magicearth.com/). They make [their own privacy-branded phones](https://murena.com/) now. Also
-ships with this weird [App Lounge](https://doc.e.foundation/app-lounge) that blends together apps from
-the Google Store and F-Droid, although the latter is shipped through
-this weird [CleanAPK thing](https://info.cleanapk.org/) (see also the [/e/ FAQ about
-this](https://doc.e.foundation/app-lounge#how-can-i-trust-the-cleanapk-api-cleanapkorg)). See also [What's in /e/OS?](https://doc.e.foundation/what-s-e#whats-in-eos) and [default
-applications](https://doc.e.foundation/what-s-e#eos-default-applications).
-
-It should be noted that /e/ funds the development of microG since
-2020.
-
-The [install instructions](https://doc.e.foundation/devices/gts4lvwifi/install) are very similar to LOS and [here is the
-direct link to their images](https://images.ecloud.global/dev/gts4lvwifi/).
-
-The Q, R and S builds are /e/ code names for Android versions,
-[according to ChatGPT](https://www.phind.com/search?cache=16f71844-cc16-410e-a725-583f3dcb6c86). It seems like after Android 9 "Pie" Google
-stopped using candy names publicly and instead refer only to numbers
-although internally they still use incrementing literal versions,
-[according to Wikipedia](https://en.wikipedia.org/wiki/Android_version_history#Overview). So /e/ seems to be taking a cue from that
-and has [this map of versions](https://doc.e.foundation/support-topics/about-e#from-which-version-of-android-is-eos-forked) so that Q is Androind 10, R is 11
-and S is 12, which means that /e/ is one major version behind the
-latest Android.
-
-# Installing microG's LOS
-
-The [microG LOS installation instructions](https://lineage.microg.org/#instructions) are basically the same
-as LOS's except they have their own [fork of the update_verifier](https://github.com/lineageos4microg/update_verifier)
-(which, interestingly, LOS doesn't actually mention in their

(Diff truncated)
add toc
diff --git a/hardware/tablet/gts4lvwifi.md b/hardware/tablet/gts4lvwifi.md
index 31780762..96399c79 100644
--- a/hardware/tablet/gts4lvwifi.md
+++ b/hardware/tablet/gts4lvwifi.md
@@ -1,3 +1,5 @@
+[[!toc]]
+
 # Flashing a Samsung Galaxy Tab S5e
 
 ## Failures

more android pain
diff --git a/hardware/tablet/gts4lvwifi.md b/hardware/tablet/gts4lvwifi.md
index 75acd9e0..31780762 100644
--- a/hardware/tablet/gts4lvwifi.md
+++ b/hardware/tablet/gts4lvwifi.md
@@ -1,3 +1,7 @@
+# Flashing a Samsung Galaxy Tab S5e
+
+## Failures
+
 While this devices *is* (still in 2023!) supported by LOS, it *still*
 doesn't seem possible to flash it without Windows ([reddit](https://www.reddit.com/r/LineageOS/comments/hj3j80/comment/fwkc3wz/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button)). I
 have tried with Heimdall and tried to follow the [postmarket
@@ -47,12 +51,6 @@ that are usable. And [this reddit thread](https://www.reddit.com/r/LineageOS/com
 them. But neither of those because I can't communicate with the
 device with any Heimdall version.
 
-Note that [/e/ also has an install guide](https://doc.e.foundation/devices/gts4lvwifi/install) but it's virtually
-identical to the LineageOS one except it installs /e/ obviously. It
-also uses Odin. The [TWRP install instructions](https://twrp.me/samsung/samsunggalaxytabs5ewifi.html) require either
-rooting the box with [Magisk](https://topjohnwu.github.io/Magisk/) (some obscure process I believe I failed
-to follow last time I attempted this) or Odin, also a dead end.
-
 At some point I *was* able to dump the PIT (see the output in
 [[pit.txt]]), but nothing much more. I think the next step is to flash
 a recovery with:
@@ -62,135 +60,133 @@ a recovery with:
 And then, from recovery, load the LOS `.zip` file. Update: it looks
 like this kind of works, but is very flaky:
 
-```
-anarcat@angela:lineage-20.0-20230515-nightly-gts4lvwifi-signed[SIGINT]$ ~/dist/Heimdall/bin/heimdall flash --RECOVERY recovery.img   --no-reboot --verbose
-Heimdall v2.0.2
-
-Copyright (c) 2010-2017 Benjamin Dobell, Glass Echidna
-https://www.glassechidna.com.au/
-
-This software is provided free of charge. Copying and redistribution is
-encouraged.
+    anarcat@angela:lineage-20.0-20230515-nightly-gts4lvwifi-signed[SIGINT]$ ~/dist/Heimdall/bin/heimdall flash --RECOVERY recovery.img   --no-reboot --verbose
+    Heimdall v2.0.2
 
-If you appreciate this software and you would like to support future
-development please consider donating:
-https://www.glassechidna.com.au/donate/
+    Copyright (c) 2010-2017 Benjamin Dobell, Glass Echidna
+    https://www.glassechidna.com.au/
 
-Initialising connection...
-Detecting device...
-      Manufacturer: "Samsung"
-           Product: "SDM710"
+    This software is provided free of charge. Copying and redistribution is
+    encouraged.
 
-            length: 18
-      device class: 2
-               S/N: 0
-           VID:PID: 04E8:685D
-         bcdDevice: 021B
-   iMan:iProd:iSer: 1:2:0
-          nb confs: 1
+    If you appreciate this software and you would like to support future
+    development please consider donating:
+    https://www.glassechidna.com.au/donate/
 
-interface[0].altsetting[0]: num endpoints = 1
-   Class.SubClass.Protocol: 02.02.01
-       endpoint[0].address: 82
-           max packet size: 0010
-          polling interval: 09
-
-interface[1].altsetting[0]: num endpoints = 2
-   Class.SubClass.Protocol: 0A.00.00
-       endpoint[0].address: 01
-           max packet size: 0200
-          polling interval: 00
-       endpoint[1].address: 81
-           max packet size: 0200
-          polling interval: 00
-Claiming interface...
-Initialising protocol...
-Linux distro ID: debian
-Protocol initialisation successful.
+    Initialising connection...
+    Detecting device...
+          Manufacturer: "Samsung"
+               Product: "SDM710"
+
+                length: 18
+          device class: 2
+                   S/N: 0
+               VID:PID: 04E8:685D
+             bcdDevice: 021B
+       iMan:iProd:iSer: 1:2:0
+              nb confs: 1
+
+    interface[0].altsetting[0]: num endpoints = 1
+       Class.SubClass.Protocol: 02.02.01
+           endpoint[0].address: 82
+               max packet size: 0010
+              polling interval: 09
+
+    interface[1].altsetting[0]: num endpoints = 2
+       Class.SubClass.Protocol: 0A.00.00
+           endpoint[0].address: 01
+               max packet size: 0200
+              polling interval: 00
+           endpoint[1].address: 81
+               max packet size: 0200
+              polling interval: 00
+    Claiming interface...
+    Initialising protocol...
+    Linux distro ID: debian
+    Protocol initialisation successful.
 
-Beginning session...
+    Beginning session...
 
-Some devices may take up to 2 minutes to respond.
-Please be patient!
+    Some devices may take up to 2 minutes to respond.
+    Please be patient!
 
-Session begun.
+    Session begun.
 
-Downloading device's PIT file...
-WARNING: Empty bulk transfer after receiving packet failed. Continuing anyway...
-PIT file download successful.
+    Downloading device's PIT file...
+    WARNING: Empty bulk transfer after receiving packet failed. Continuing anyway...
+    PIT file download successful.
 
-Uploading RECOVERY
-0%ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
-ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
-ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
-ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
-ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
-ERROR: libusb error -7 whilst receiving bulk transfer.
+    Uploading RECOVERY
+    0%ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
+    ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
+    ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
+    ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
+    ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
+    ERROR: libusb error -7 whilst receiving bulk transfer.
 
-ERROR: Failed to receive file part response!
+    ERROR: Failed to receive file part response!
 
-ERROR: Retrying...
-1%
+    ERROR: Retrying...
+    1%
 
-3%
+    3%
 
-4%
+    4%
 
-6%
+    6%
 
-7%
+    7%
 
-9%
+    9%
 
-10%
+    10%
 
-12%
+    12%
 
-14%
+    14%
 
-15%
+    15%
 
-17%
+    17%
 
-18%
+    18%
 
-20%
+    20%
 
-21%
+    21%
 
-23%
+    23%
 
-25%
+    25%

(Diff truncated)
a framework 13th gen review
diff --git a/hardware/laptop/framework-12th-gen.md b/hardware/laptop/framework-12th-gen.md
index ca3cb892..fd75a139 100644
--- a/hardware/laptop/framework-12th-gen.md
+++ b/hardware/laptop/framework-12th-gen.md
@@ -121,6 +121,12 @@ and camera are crap, clapping seems to be from whatever staff they
 managed to get together in a room, decor is bizarre, colors are
 shit. It's amazing.
 
+Reviews:
+
+ * [The Verge](https://www.theverge.com/23725039/framework-laptop-13-2023-intel-review): "DIY dream come true", "Framework fixed the biggest
+   complaint I had about its laptop last year. The battery life used
+   to be bad. And reader, now it is good"
+
 # Specifications
 
 Those are the specifications of the 12th gen, in general terms. Your

linkon wrote me to clarify their certification
See in my personal mailbox, <000e01d9863e$398a0060$ac9e0120$@linkon.biz>
I replied:
> Hey Nikolay,
>
> Thanks for the note. I'll update the blog post to reflect that change!
>
> I don't really do affiliate stuff, but I surely won't say no to free
> stuff. :p I don't really do hardware reviews these days, those are just
> my personal notes that I happen to publish on a well-known blog. When I
> do get donated hardware and review it, I only mention the donation and
> that's it.
>
> The car charger and the wall charger both seem interesting, that said,
> so if you have extras to ship, I'd be happy to take them. No promises on
> a review or anything though, but I'll probably update said page with the
> results after I get my hands on it.
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index f7ac788f..4ba803e3 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -73,11 +73,15 @@ The spec here is at least 65W USB-C with international plugs.
   international plugs, also acts as a 7A international adapter,
   built-in fuse, [mentioned by Wired](https://www.wired.com/gallery/best-travel-adapters/#62f6189c4d6c332046cb7387), 15% off with code
   `OneWorld65_15%Off`
-* The [LinkOn 166W](https://linkon.biz/en/product/748-linkon-ganius-166w-gan-wall-charger.html) looks really promising (2 USB-A 2 USB-C, near
-  universal) but "This charger got certification for 100W but its
-  maximum output when using the two USB C ports and the two USB A
-  ports is 166W", which is fishy: there *are* standards beyond PD 3.0
-  ([power delivery 3.1](https://en.wikipedia.org/wiki/USB_hardware#USB_Power_Delivery) allows for 240W delivery), untested otherwise
+* The [LinkOn 166W](https://linkon.biz/en/product/748-linkon-ganius-166w-gan-wall-charger.html) looks really promising (2 USB-A, 2 USB-C, near
+  universal), delivering the full 100W permitted under power delivery
+  (PD) 3.0 ([PD 3.1](https://en.wikipedia.org/wiki/USB_hardware#USB_Power_Delivery) allows for 240W delivery) and 166W
+  (100+30+18+18) when all ports are in use, untested otherwise
+  (update: a previous version of this entry expressed concerned about
+  their certification but LinkOn actually wrote me to clarify they
+  only have the PD 3.0 certification, while offering some affiliate
+  links and free stuff, to which I have said (basically) sure, send me
+  stuff, interesting gear)
 
 ### TOFU power station
 

move ui.com gear
diff --git a/services/wifi.mdwn b/services/wifi.mdwn
index e1f04fa5..6c735383 100644
--- a/services/wifi.mdwn
+++ b/services/wifi.mdwn
@@ -28,9 +28,9 @@ Possible models:
    tnt.ca, back-order](https://1tnt.ca/prestashop/ubiquiti/137-edgemax-edgeswitch10-xp.html), not available in Canada. There we have
    [Switch Lite 8 PoE](https://ca.store.ui.com/ca/en/collections/unifi-network-switching/products/usw-lite-8-poe) (desk-mount, 52W, 145$CAD, [266$ for 16
    ports](https://ca.store.ui.com/ca/en/collections/unifi-network-switching/products/usw-lite-16-poe), 45W), or a rack-mount [16-port PoE switch](https://ca.store.ui.com/ca/en/collections/unifi-network-switching/products/usw-16-poe) (400$,
-   42W). They also have a [neat toolless rack](https://store.ui.com/collections/unifi-accessories-racks/products/toolless-mini-rack) but only 6U and
-   obviously unfindable as well. Be warned that SNMP support in
-   Ubiquiti is [spotty](https://community.ui.com/questions/Unifi-Switch-16-POE-gen2-not-supporting-SNMP-v3-and-snmp-v2c-appear-bugged/7f2cb538-8186-4e9c-9dd8-d72e6400db4e) [at best](https://community.ui.com/questions/SNMP-information-from-AP/ccd327f9-916b-4483-949e-9d9c0dc3a5d4)...
+   42W). They also have a [neat toolless rack](https://store.ui.com/collections/unifi-accessories-racks/products/toolless-mini-rack) but only 6U
+   ([400$CAD](https://ca.store.ui.com/ca/en/collections/unifi-accessories-racks/products/toolless-mini-rack)). Be warned that SNMP support in Ubiquiti is
+   [spotty](https://community.ui.com/questions/Unifi-Switch-16-POE-gen2-not-supporting-SNMP-v3-and-snmp-v2c-appear-bugged/7f2cb538-8186-4e9c-9dd8-d72e6400db4e) [at best](https://community.ui.com/questions/SNMP-information-from-AP/ccd327f9-916b-4483-949e-9d9c0dc3a5d4)...
 
  * [TP-Link EAP245v3](https://www.tp-link.com/en/business-networking/omada-sdn-access-point/eap245/v3/#overview), [openwrt page](https://openwrt.org/toh/tp-link/eap245_v3), [100$ at Canada
    Computers](https://www.canadacomputers.com/product_info.php?cPath=27_1056&item_id=135916), [105$CAD at Staples](https://www.staples.ca/products/2946195-en-tp-link-eap245-v3-ac1750-wireless-mu-mimo-gigabit-ceiling-mount-access-point), [102$ at BestBuy with

more failures at flashing crap
diff --git a/hardware/tablet.mdwn b/hardware/tablet.mdwn
index 70dd2f58..640a914c 100644
--- a/hardware/tablet.mdwn
+++ b/hardware/tablet.mdwn
@@ -433,6 +433,8 @@ one of very few tablets [supported by LOS](https://wiki.lineageos.org/devices/gt
  * 245 x 160 x 5.5 mm
  * 400g
 
+See [[gts4lvwifi]] for notes.
+
 Asus
 ----
 
diff --git a/hardware/tablet/gts4lvwifi.md b/hardware/tablet/gts4lvwifi.md
new file mode 100644
index 00000000..75acd9e0
--- /dev/null
+++ b/hardware/tablet/gts4lvwifi.md
@@ -0,0 +1,203 @@
+While this devices *is* (still in 2023!) supported by LOS, it *still*
+doesn't seem possible to flash it without Windows ([reddit](https://www.reddit.com/r/LineageOS/comments/hj3j80/comment/fwkc3wz/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button)). I
+have tried with Heimdall and tried to follow the [postmarket
+instructions](https://wiki.postmarketos.org/wiki/Manual_flashing) to use Heimdall with:
+
+    heimdall download-pit --output file.pit
+
+... because I don't have a `.pit` file. But this fails with:
+
+    Initialising connection...
+    Detecting device...
+    Claiming interface...
+    Setting up interface...
+
+    Initialising protocol...
+    ERROR: Failed to send handshake!ERROR: Protocol initialisation failed!
+
+    Releasing device interface...
+
+It seems this is a known problem with Heimdall and that [this
+patch](https://github.com/Benjamin-Dobell/Heimdall/pull/478) fixes it! The patch was never merged though and it looks
+like the Heimdall project is moribund. [This fork](https://git.sr.ht/~grimler/Heimdall) includes a bunch
+of patches (including the above) and [/e/ OS](https://gitlab.e.foundation/e/tools/heimdall) and [LineageOS also
+have forks](https://github.com/LineageOS/android_external_heimdall). Heimdall *does* detect the device:
+
+    anarcat@angela:Downloads$ heimdall detect
+    Device detected
+    anarcat@angela:Downloads$
+
+... when in "download mode" (power down and unplug device, press
+power, volume up and down simultaneously and plug it back in).
+
+The [postmarket OS](https://wiki.postmarketos.org/wiki/Samsung_Galaxy_Tab_S5e_Wi-Fi_(gts4lvwifi)) page claims this device doesn't boot under
+postmarket, so that's already a bad sign. However it *does* say the
+pull request fixes the issue, but [in my experience](https://github.com/Benjamin-Dobell/Heimdall/pull/478#issuecomment-1548205467) it doesn't.
+
+Heimdall is not very well documented. Part of the problem I'm having
+(even before failing to communicate with the device above) is that
+Heimdall expects `.pit` files or "Heimdall Firmware Package" files,
+which I don't know how to create. The [Heimdall Linux README](https://raw.githubusercontent.com/Benjamin-Dobell/Heimdall/master/Linux/README) has
+more information which could possibly fix this, but then the
+communication issue keeps me from even downloading the origin .pit
+file.
+
+It does seem like [this person produces images](https://github.com/luk1337/gts4lv-fw/releases/tag/T720XXS3DWA1) for the Samsung S5e
+that are usable. And [this reddit thread](https://www.reddit.com/r/LineageOS/comments/101c2iy/upgrade_firmware_of_samsung_tab_s5e_gts4lvwifi/) shows how to use
+them. But neither of those because I can't communicate with the
+device with any Heimdall version.
+
+Note that [/e/ also has an install guide](https://doc.e.foundation/devices/gts4lvwifi/install) but it's virtually
+identical to the LineageOS one except it installs /e/ obviously. It
+also uses Odin. The [TWRP install instructions](https://twrp.me/samsung/samsunggalaxytabs5ewifi.html) require either
+rooting the box with [Magisk](https://topjohnwu.github.io/Magisk/) (some obscure process I believe I failed
+to follow last time I attempted this) or Odin, also a dead end.
+
+At some point I *was* able to dump the PIT (see the output in
+[[pit.txt]]), but nothing much more. I think the next step is to flash
+a recovery with:
+
+    ~/dist/Heimdall/bin/heimdall flash --RECOVERY recovery.img   --no-reboot --verbose
+
+And then, from recovery, load the LOS `.zip` file. Update: it looks
+like this kind of works, but is very flaky:
+
+```
+anarcat@angela:lineage-20.0-20230515-nightly-gts4lvwifi-signed[SIGINT]$ ~/dist/Heimdall/bin/heimdall flash --RECOVERY recovery.img   --no-reboot --verbose
+Heimdall v2.0.2
+
+Copyright (c) 2010-2017 Benjamin Dobell, Glass Echidna
+https://www.glassechidna.com.au/
+
+This software is provided free of charge. Copying and redistribution is
+encouraged.
+
+If you appreciate this software and you would like to support future
+development please consider donating:
+https://www.glassechidna.com.au/donate/
+
+Initialising connection...
+Detecting device...
+      Manufacturer: "Samsung"
+           Product: "SDM710"
+
+            length: 18
+      device class: 2
+               S/N: 0
+           VID:PID: 04E8:685D
+         bcdDevice: 021B
+   iMan:iProd:iSer: 1:2:0
+          nb confs: 1
+
+interface[0].altsetting[0]: num endpoints = 1
+   Class.SubClass.Protocol: 02.02.01
+       endpoint[0].address: 82
+           max packet size: 0010
+          polling interval: 09
+
+interface[1].altsetting[0]: num endpoints = 2
+   Class.SubClass.Protocol: 0A.00.00
+       endpoint[0].address: 01
+           max packet size: 0200
+          polling interval: 00
+       endpoint[1].address: 81
+           max packet size: 0200
+          polling interval: 00
+Claiming interface...
+Initialising protocol...
+Linux distro ID: debian
+Protocol initialisation successful.
+
+Beginning session...
+
+Some devices may take up to 2 minutes to respond.
+Please be patient!
+
+Session begun.
+
+Downloading device's PIT file...
+WARNING: Empty bulk transfer after receiving packet failed. Continuing anyway...
+PIT file download successful.
+
+Uploading RECOVERY
+0%ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
+ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
+ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
+ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
+ERROR: libusb error -7 whilst receiving bulk transfer. Retrying...
+ERROR: libusb error -7 whilst receiving bulk transfer.
+
+ERROR: Failed to receive file part response!
+
+ERROR: Retrying...
+1%
+
+3%
+
+4%
+
+6%
+
+7%
+
+9%
+
+10%
+
+12%
+
+14%
+
+15%
+
+17%
+
+18%
+
+20%
+
+21%
+
+23%
+
+25%
+
+26%
+
+28%
+
+29%
+
+31%
+
+32%
+
+34%
+
+35%
+
+37%
+
+39%

(Diff truncated)
racks
diff --git a/services/wifi.mdwn b/services/wifi.mdwn
index aa101528..e1f04fa5 100644
--- a/services/wifi.mdwn
+++ b/services/wifi.mdwn
@@ -74,6 +74,17 @@ Discarded:
    extra 45$... i already have one of those so i guess i could just
    buy the PoE adapter... but i find their thing a little confusing
 
+Other racks:
+
+ * https://www.deploydepot.ca/rack-equipment-1/
+ * https://lextec.com/product-category/racks-brackets-shelves/
+ * https://www.monoprice.com/category/networking/network-racks-&-cabinets
+ * https://www.canadacomputers.com/index.php?cPath=38_944 and
+   particularly
+   https://www.canadacomputers.com/product_info.php?cPath=38_944&item_id=166475
+ * https://recyborg.com/?s=rack&post_type=product&type_aws=true
+ * https://recyborg.com/?s=gigabit&post_type=product&type_aws=true
+
 The point of running OpenWRT on the APs is to get monitoring about
 traffic on each node, which can be done with the Prometheus node
 exporter that can be installed in OpenWRT.

start working on ubiquiti
diff --git a/services/wifi.mdwn b/services/wifi.mdwn
index 4235eda4..aa101528 100644
--- a/services/wifi.mdwn
+++ b/services/wifi.mdwn
@@ -16,10 +16,22 @@ Specification:
 
 Possible models:
 
- * [Ubiquiti Access Point U6 Lite](https://store.ui.com/products/u6-lite-us): 100$, WiFi 6, 1gbps, has some
-   Ubiquiti bracket mounting option that actually sounds interesting
-   and easier to install, worried about a bright blue LED and
-   Ubiquiti's proprietary stuff...
+ * [Ubiquiti Access Point U6 Lite](https://store.ui.com/products/u6-lite-us): 100$, [132$CAD at .ca store,
+   backorder](https://ca.store.ui.com/ca/en/collections/unifi-network-wireless/products/u6-lite), [150$CAD at convertbit.ca](https://converbit.ca/u6-lite-wifi-6-ap-unifi-pas-de-poe-48v-inclus/), [144$ at
+   deploydepot.ca](https://www.deploydepot.ca/ubiquiti-unifi-6-lite-wireless-access-point-u6-lite/), WiFi 6, 1gbps, no SNMP, has some Ubiquiti
+   bracket mounting option that actually sounds interesting and easier
+   to install, worried about a bright blue LED and Ubiquiti's
+   proprietary stuff... Ubiquiti's default shop only ships to the US
+   by default, but there's a [.ca store](https://ca.store.ui.com/) with a smaller product
+   selection. Ubiquiti also makes the [PoE EdgeSwitches XP](https://store.ui.com/collections/operator-edgemax-switches/edgeswitch-xp) like
+   the [10XP](https://store.ui.com/collections/operator-edgemax-switches/products/edgeswitch-10xp), [160$CAD at deploydepot, back-order](https://www.deploydepot.ca/ubiquiti-edgeswitch-es-10xp-ethernet-switch-es-10xp/), [153$CAD at
+   tnt.ca, back-order](https://1tnt.ca/prestashop/ubiquiti/137-edgemax-edgeswitch10-xp.html), not available in Canada. There we have
+   [Switch Lite 8 PoE](https://ca.store.ui.com/ca/en/collections/unifi-network-switching/products/usw-lite-8-poe) (desk-mount, 52W, 145$CAD, [266$ for 16
+   ports](https://ca.store.ui.com/ca/en/collections/unifi-network-switching/products/usw-lite-16-poe), 45W), or a rack-mount [16-port PoE switch](https://ca.store.ui.com/ca/en/collections/unifi-network-switching/products/usw-16-poe) (400$,
+   42W). They also have a [neat toolless rack](https://store.ui.com/collections/unifi-accessories-racks/products/toolless-mini-rack) but only 6U and
+   obviously unfindable as well. Be warned that SNMP support in
+   Ubiquiti is [spotty](https://community.ui.com/questions/Unifi-Switch-16-POE-gen2-not-supporting-SNMP-v3-and-snmp-v2c-appear-bugged/7f2cb538-8186-4e9c-9dd8-d72e6400db4e) [at best](https://community.ui.com/questions/SNMP-information-from-AP/ccd327f9-916b-4483-949e-9d9c0dc3a5d4)...
+
  * [TP-Link EAP245v3](https://www.tp-link.com/en/business-networking/omada-sdn-access-point/eap245/v3/#overview), [openwrt page](https://openwrt.org/toh/tp-link/eap245_v3), [100$ at Canada
    Computers](https://www.canadacomputers.com/product_info.php?cPath=27_1056&item_id=135916), [105$CAD at Staples](https://www.staples.ca/products/2946195-en-tp-link-eap245-v3-ac1750-wireless-mu-mimo-gigabit-ceiling-mount-access-point), [102$ at BestBuy with
    injector](https://www.bestbuy.ca/fr-ca/produit/13468699), [94$CAD at CDW (BO)](https://www.cdw.ca/product/tp-link-omada-eap245-v3-wireless-access-point/5473084?pfm=srh), Wifi 6, 2 gbit ports, PoE, ceiling mount bracket,
@@ -31,13 +43,14 @@ Possible models:
    that this switch will fill up quick as each EAP245 takes its own
    12.3W of power and the switch can only provide 60W, so only 5 of
    the 8 ports are actually usable in that sense
+
  * [Zyxel NWA50AX](https://www.zyxel.com/us/en-us/products/wireless/802-11ax-wifi-6-dual-radio-poe-access-point-nwa50ax/overview) was [recommended on reddit](https://old.reddit.com/r/openwrt/comments/1398t1b/power_over_ethernet_small_hotspot_recommendation/jj2vx2k/), [supported](https://openwrt.org/toh/hwdata/zyxel/zyxel_nwa50ax),
-   with [antenna radiation patterns](https://download.zyxel.com/NWA50AX/antenna_specification_matrix/NWA50AX_1.pdf), mounting bracket, Wifi 6, one
-   gigabit port, 16W PoE 802.3at, [full specs](https://www.zyxel.com/us/en-us/products/wireless/802-11ax-wifi-6-dual-radio-poe-access-point-nwa50ax/specifications), [okay docs](https://www.zyxel.com/us/en-us/support/download?model=nwa50ax),
-   only from a [third party at newegg.com, 120$USD](https://www.newegg.com/p/1EC-0018-000C3), [same at
-   amazon.ca, 180$CAD+](https://www.amazon.ca/Wireless-802-11ax-MU-MIMO-Manageable-Standalone/dp/B09924QS1T), really promising especially since they
-   have switches that run OpenWRT (!) like the [GS1900](https://openwrt.org/toh/hwdata/zyxel/zyxel_gs1900-24hp_v2) (which can
-   give [pretty awesome per-port power usage reports](https://forum.openwrt.org/t/recommendation-for-a-wi-fi-6-ap-that-also-supports-802-3at-poe/117438/20?u=anarcat) but
+   with [antenna radiation patterns](https://download.zyxel.com/NWA50AX/antenna_specification_matrix/NWA50AX_1.pdf), mounting bracket, Wifi 6, NO
+   SNMP, one gigabit port, 16W PoE 802.3at, [full specs](https://www.zyxel.com/us/en-us/products/wireless/802-11ax-wifi-6-dual-radio-poe-access-point-nwa50ax/specifications), [okay
+   docs](https://www.zyxel.com/us/en-us/support/download?model=nwa50ax), only from a [third party at newegg.com, 120$USD](https://www.newegg.com/p/1EC-0018-000C3),
+   [same at amazon.ca, 180$CAD+](https://www.amazon.ca/Wireless-802-11ax-MU-MIMO-Manageable-Standalone/dp/B09924QS1T), really promising especially since
+   they have switches that run OpenWRT (!) like the [GS1900](https://openwrt.org/toh/hwdata/zyxel/zyxel_gs1900-24hp_v2) (which
+   can give [pretty awesome per-port power usage reports](https://forum.openwrt.org/t/recommendation-for-a-wi-fi-6-ap-that-also-supports-802-3at-poe/117438/20?u=anarcat) but
    availability is a problem... they have a [Europe store](https://store.zyxel.com/) but it
    doesn't ship to Canada, so the only alternative is basically
    Amazon.com, e.g. [GS1900-8HP at 144$USD](https://www.amazon.com/8-Port-Gigabit-Managed-Fanless-GS1900-8HP/dp/B00GU1KULM), [NWA50AX at USD70$+20$
@@ -61,6 +74,21 @@ Discarded:
    extra 45$... i already have one of those so i guess i could just
    buy the PoE adapter... but i find their thing a little confusing
 
+The point of running OpenWRT on the APs is to get monitoring about
+traffic on each node, which can be done with the Prometheus node
+exporter that can be installed in OpenWRT.
+
+But we could also use the existing implementation, with something like
+the [snmp_exporter](https://github.com/prometheus/snmp_exporter) (complete with [dashboard and alerts](https://github.com/prometheus/snmp_exporter/tree/main/snmp-mixin)!) to
+monitor APs with SNMP, as long as they support that which is not the
+case for the Zyxel NWA50AX and doesn't seem to be the case for the
+Ubiquiti U6 Lite either...
+
+The point is to not be locked into any one system and being able to
+fallback to OpenWRT if we don't like the basic system. It also allows
+us to run a heterogeneous environment and not be forced to use a
+single solution for all networking hardware.
+
 # AP public (désuet)
 
 J'ai depuis longtemps un point d'accès ouvert mais maintenant contrôlé pour donner accès publiquement à internet.

link to awesome power stats
diff --git a/services/wifi.mdwn b/services/wifi.mdwn
index 82eef82e..4235eda4 100644
--- a/services/wifi.mdwn
+++ b/services/wifi.mdwn
@@ -36,7 +36,8 @@ Possible models:
    gigabit port, 16W PoE 802.3at, [full specs](https://www.zyxel.com/us/en-us/products/wireless/802-11ax-wifi-6-dual-radio-poe-access-point-nwa50ax/specifications), [okay docs](https://www.zyxel.com/us/en-us/support/download?model=nwa50ax),
    only from a [third party at newegg.com, 120$USD](https://www.newegg.com/p/1EC-0018-000C3), [same at
    amazon.ca, 180$CAD+](https://www.amazon.ca/Wireless-802-11ax-MU-MIMO-Manageable-Standalone/dp/B09924QS1T), really promising especially since they
-   have switches that run OpenWRT (!) like the [GS1900](https://openwrt.org/toh/hwdata/zyxel/zyxel_gs1900-24hp_v2) but
+   have switches that run OpenWRT (!) like the [GS1900](https://openwrt.org/toh/hwdata/zyxel/zyxel_gs1900-24hp_v2) (which can
+   give [pretty awesome per-port power usage reports](https://forum.openwrt.org/t/recommendation-for-a-wi-fi-6-ap-that-also-supports-802-3at-poe/117438/20?u=anarcat) but
    availability is a problem... they have a [Europe store](https://store.zyxel.com/) but it
    doesn't ship to Canada, so the only alternative is basically
    Amazon.com, e.g. [GS1900-8HP at 144$USD](https://www.amazon.com/8-Port-Gigabit-Managed-Fanless-GS1900-8HP/dp/B00GU1KULM), [NWA50AX at USD70$+20$

some zyxel options
diff --git a/services/wifi.mdwn b/services/wifi.mdwn
index 96e0372d..82eef82e 100644
--- a/services/wifi.mdwn
+++ b/services/wifi.mdwn
@@ -37,7 +37,10 @@ Possible models:
    only from a [third party at newegg.com, 120$USD](https://www.newegg.com/p/1EC-0018-000C3), [same at
    amazon.ca, 180$CAD+](https://www.amazon.ca/Wireless-802-11ax-MU-MIMO-Manageable-Standalone/dp/B09924QS1T), really promising especially since they
    have switches that run OpenWRT (!) like the [GS1900](https://openwrt.org/toh/hwdata/zyxel/zyxel_gs1900-24hp_v2) but
-   availability kills it
+   availability is a problem... they have a [Europe store](https://store.zyxel.com/) but it
+   doesn't ship to Canada, so the only alternative is basically
+   Amazon.com, e.g. [GS1900-8HP at 144$USD](https://www.amazon.com/8-Port-Gigabit-Managed-Fanless-GS1900-8HP/dp/B00GU1KULM), [NWA50AX at USD70$+20$
+   shipping](https://www.amazon.com/AX1800-Wireless-Seamless-WPA3-PSK-Management/dp/B09924QS1T)
 
 Discarded:
 

hotspot research
diff --git a/services/wifi.mdwn b/services/wifi.mdwn
index 18011737..96e0372d 100644
--- a/services/wifi.mdwn
+++ b/services/wifi.mdwn
@@ -1,3 +1,64 @@
+# Hotspot reviews
+
+[Discussed on reddit](https://www.reddit.com/r/openwrt/comments/1398t1b/power_over_ethernet_small_hotspot_recommendation/). The plan is to have three hotspots in the
+house, one for the whole second floor and two in the first floor.
+
+Specification:
+
+ * small footprint
+ * ceiling mount, ideally with a nice socket for easier installation
+ * 2.4GHz and 5GHz hard requirement, WiFi 6 bonus
+ * no need for USB ports
+ * only one Gbit port necessary, ideally 2.5gbps+ (wiring is cat6a)
+ * power over ethernet is a must, no injector
+ * must run OpenWRT and still be supported
+ * can be bought in Canada, ideally
+
+Possible models:
+
+ * [Ubiquiti Access Point U6 Lite](https://store.ui.com/products/u6-lite-us): 100$, WiFi 6, 1gbps, has some
+   Ubiquiti bracket mounting option that actually sounds interesting
+   and easier to install, worried about a bright blue LED and
+   Ubiquiti's proprietary stuff...
+ * [TP-Link EAP245v3](https://www.tp-link.com/en/business-networking/omada-sdn-access-point/eap245/v3/#overview), [openwrt page](https://openwrt.org/toh/tp-link/eap245_v3), [100$ at Canada
+   Computers](https://www.canadacomputers.com/product_info.php?cPath=27_1056&item_id=135916), [105$CAD at Staples](https://www.staples.ca/products/2946195-en-tp-link-eap245-v3-ac1750-wireless-mu-mimo-gigabit-ceiling-mount-access-point), [102$ at BestBuy with
+   injector](https://www.bestbuy.ca/fr-ca/produit/13468699), [94$CAD at CDW (BO)](https://www.cdw.ca/product/tp-link-omada-eap245-v3-wireless-access-point/5473084?pfm=srh), Wifi 6, 2 gbit ports, PoE, ceiling mount bracket,
+   TP-Link particularly interesting because [widely available](https://www.tp-link.com/ca/where-to-buy/#Retails), cheap,
+   known to produce devices working with OpenWRT, and even has some
+   switches that can be flashed e.g. the [SG2210P](https://openwrt.org/toh/hwdata/tp-link/tp-link_sg2210p_v3), although PoE
+   doesn't work in "auto" according to [the commit](https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=01e2184c49c52ac5169207cd9fabf662f50b56b8) which sounds
+   bad, [170$ at Canada Computers](https://www.canadacomputers.com/product_info.php?cPath=27_1045&item_id=086410), [177$CAD at CDW](https://www.cdw.ca/product/tp-link-tl-sg2210p-8-port-gigabit-smart-poe-switch-with-2-sfp-slots-switc/3693751?enkwrd=SG2210P), watch out
+   that this switch will fill up quick as each EAP245 takes its own
+   12.3W of power and the switch can only provide 60W, so only 5 of
+   the 8 ports are actually usable in that sense
+ * [Zyxel NWA50AX](https://www.zyxel.com/us/en-us/products/wireless/802-11ax-wifi-6-dual-radio-poe-access-point-nwa50ax/overview) was [recommended on reddit](https://old.reddit.com/r/openwrt/comments/1398t1b/power_over_ethernet_small_hotspot_recommendation/jj2vx2k/), [supported](https://openwrt.org/toh/hwdata/zyxel/zyxel_nwa50ax),
+   with [antenna radiation patterns](https://download.zyxel.com/NWA50AX/antenna_specification_matrix/NWA50AX_1.pdf), mounting bracket, Wifi 6, one
+   gigabit port, 16W PoE 802.3at, [full specs](https://www.zyxel.com/us/en-us/products/wireless/802-11ax-wifi-6-dual-radio-poe-access-point-nwa50ax/specifications), [okay docs](https://www.zyxel.com/us/en-us/support/download?model=nwa50ax),
+   only from a [third party at newegg.com, 120$USD](https://www.newegg.com/p/1EC-0018-000C3), [same at
+   amazon.ca, 180$CAD+](https://www.amazon.ca/Wireless-802-11ax-MU-MIMO-Manageable-Standalone/dp/B09924QS1T), really promising especially since they
+   have switches that run OpenWRT (!) like the [GS1900](https://openwrt.org/toh/hwdata/zyxel/zyxel_gs1900-24hp_v2) but
+   availability kills it
+
+Discarded:
+
+ * [TP-Link EAP690](https://www.tp-link.com/uk/business-networking/ceiling-mount-ap/eap690e-hd/) also interesting (10gbit port!) but not in sale
+   locally and not supported (6GHz), [EPA620](https://www.tp-link.com/en/business-networking/omada-sdn-access-point/eap620-hd/) also interesting and
+   [sold at staples](https://www.staples.ca/products/3004169-en-tp-link-eap620-hd-ax1800-wireless-dual-band-ceiling-mount-access-point) but possibly not supported either, [AP
+   comparison](https://www.tp-link.com/en/compare/?type=smb&typeId=5747&productIds=53553%2C52511%2C60436)
+ * Engenius is also [listed as supported](https://openwrt.org/toh/hwdata/engenius/start) and I found an
+   [interesting model](https://www.engeniustech.com/engenius-products/enturbo-11ac-wave-2-indoor-wireless-network-access-point-ac1300/) but it's discontinued and what's [available
+   on staples](https://www.staples.ca/collections/access-points-bridges-8713?configure%5Bfilters%5D=tags%3A%22en_CA%22&configure%5BruleContexts%5D%5B0%5D=logged-out&page=1&refinementList%5Bnamed_tags.brand%5D%5B0%5D=EnGenius&sortBy=shopify_products) is too expensive (150$+), furthermore none of the [three
+   indoor models](https://www.engeniustech.com/wifi-access-point-engenius-fit-indoor.html) are listed as supported by OpenWRT
+ * [gl-inet b1300](https://www.gl-inet.com/products/gl-b1300/): seems interesting, i have heard good things
+   about their [travel router](https://www.gl-inet.com/products/gl-sft1200/) that comes with openwrt, wireguard
+   and Tor pre-installed (!), but their PoE setup is with an "optional
+   module" and was [confirmed unavailable](https://old.reddit.com/r/openwrt/comments/1398t1b/power_over_ethernet_small_hotspot_recommendation/jj3zc87/)
+ * [Turrix MOX](https://www.turris.com/en/mox/overview/): 146$, a little gimmicky, 5GHz only, PoE adapter an
+   extra 45$... i already have one of those so i guess i could just
+   buy the PoE adapter... but i find their thing a little confusing
+
+# AP public (désuet)
+
 J'ai depuis longtemps un point d'accès ouvert mais maintenant contrôlé pour donner accès publiquement à internet.
 
 Cherchez le point d'accès `acces.reseaulibre.ca`.
@@ -8,8 +69,7 @@ Ports ouverts: 22 ([[!wikipedia SSH]]), 53 ([[!wikipedia DNS]]), 80 ([[!wikipedi
 
 Update: le point d'accès public est fermé.
 
-Multicasting
-============
+# Multicasting
 
 Je roule un multicast d'une radio interne (voir [[radio]]). Ceci a
 tendance à polluer le wifi catastrophiquement: contrairement à un

headings
diff --git "a/services/r\303\251seau.mdwn" "b/services/r\303\251seau.mdwn"
index 0dc266b1..e676a6a8 100644
--- "a/services/r\303\251seau.mdwn"
+++ "b/services/r\303\251seau.mdwn"
@@ -6,8 +6,7 @@ patch panel, des prises dans chaque pièce, des routeurs au plafond, un
 rack, etc, etc. J'ai acheté un [punch](https://www.kleintools.com/catalog/punchdown-tools/impact-punchdown-tool-66110-blade) et un [network tester](https://www.kleintools.com/catalog/cable-testers/lan-scout-jr-2-cable-tester)
 que j'aime bien.
 
-Problèmes connus
-================
+# Problèmes connus
 
  * le réseau [[IPv6]] est intermittent, <del>semble être résolu avec
    teksavvy</del> nope, IPv6 tombe environ une fois par mois (à
@@ -24,15 +23,13 @@ Problèmes connus
  * c'est cher, et pas vite, voir [[blog/2020-05-28-isp-upgrade]] for
    options.
 
-Voir aussi
-==========
+# Voir aussi
 
  * [[DNS]]
  * [[wifi]]
  * [[mesh]]
 
-Plan du réseau
-==============
+# Plan du réseau
 
 ![Plan du réseau][1]
 
@@ -57,8 +54,7 @@ La configuration DHCP de octavia inclus aussi des static lease pour:
  * [[hardware/curie]] (workstation, moved to the office)
  * [[hardware/atwood]] (Turris Mox router, unused)
 
-Vitesse
-=======
+# Vitesse
 
 2015-12-11, juste après la première mise en ligne au crapn':
 

more dock woes
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index 6a71b612..f7ac788f 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -371,6 +371,9 @@ Options found so far:
    but after reaching out to their support by email, they pointed out
    a [product page that works in Canada](https://www.amazon.ca/dp/B07PFFN219).
 
+ * a friend [recommended](https://mastodon.social/@magicfab/110338922212624966) this [Belkin 11-in-1](https://www.belkin.com/usb-c-11-in-1-multiport-dock/P-INC004.html) and [Pwaytech
+   11-in-1](https://www.aliexpress.com/item/1005003649201467.html)
+
 Also: [this post from Big Mess Of Wires](https://www.bigmessowires.com/2019/05/19/explaining-4k-60hz-video-through-usb-c-hub/) has me worried that
 *anything* might work at all. It's where I had the Cable Matters
 reference however...
@@ -396,6 +399,12 @@ Update 2: Cable Matters support responded by simply giving me this
 hack that solved it at least for now. Just reverse the USB-C cable,
 and poof, everything works. *Magic*.
 
+Update 3: turns out that was overly optimistic. It seems the problem
+actually resides in Sway, because when it happens (and it still does),
+logging out fixes the issue: GDM3 takes over and reinitializes the
+monitors properly. Then Sway can do its thing when I log back in
+again.
+
 # Your turn!
 
 So what's your desktop setup like? Do you have docks? a laptop? a

more TOFU specs
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index 42a6ce88..6a71b612 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -183,9 +183,13 @@ oscillating between 24 and 30W and then jumping to about 36W](https://paste.anar
 
 Update 2: I traveled quite a bit with this device and I like it. The
 main downside is the cable is just too damn short and a larger cable
-doesn't fit well in the case. I also bought the [YOYO cable](https://www.elvesfactory.com/worldshop/EN/TOFU/TYC) in the
-hope it would fix that problem while simultaneously provide three
-other purposes I carry stuff for:
+doesn't fit well in the case. Otherwise it's really nice.
+
+### TOFU YOYO Cable
+
+I also bought the [YOYO cable](https://www.elvesfactory.com/worldshop/EN/TOFU/TYC) in the hope it would fix that
+problem while simultaneously provide three other purposes I carry
+stuff for:
 
  * multi-USB connector (USB-C, micro-USB, Lightning) for charging
  * longer charging cable
@@ -209,12 +213,61 @@ it does fulfill the "I want just one thing" purpose, and I haven't
 actually carried it around while traveling, so we'll see how useful
 this actually is.
 
+Specifications:
+
+ * YoYo cable case x1
+ * Silicon cable 100cm x1
+ * SIM ejector x1
+ * (nano?)SIM card storage
+ * SD card reader?
+ * 1W LED??
+ * Adapter cap x2
+ * Type-c to Lightning adapter x1
+ * Type-c to Micro adapter x1
+ * Type-c to Type-A adapter x1
+ * Dimensions: 56Øx29mm
+ * Weight: 55g
+ * [User manual](https://www.zentofu.com/book/en_TYC.pdf)
+ * [Home page](https://www.zentofu.com/tyc.php)
+ * [Store](https://www.elvesfactory.com/worldshop/EN/TOFU/TYC) (29$USD)
+
+The funny thing with this is there's so much stuff crammed in there
+that the manual doesn't even mention all of it. For example, the
+specifications mention a LED and an SD card reader somewhere in there,
+and I haven't found those yet, and they're not in the manual.
+
+This and the MASA power bank (below) were ordered together and took
+over a *month* to ship.
+
+### TOFU MASA power bank
+
+This is getting off-topic but...
+
 I also bought the [MASA power bank](https://zentofu.com/tpb.php) which promise a 68.4Wh supply
 so, in theory, could act as a second battery for my framework
 laptop. I'll believe it when I see it though. It also acts as a
 wireless charger which would be nice if I had any wireless charging
 thing. It ships in a nice case and a USB-C wire with two adapters that
-actually fit in the case if you roll them up just so. A little bulky.
+actually fit in the case if you roll them up just so. 
+
+A little bulky. Doesn't seem to actually charge anything, hugely
+disappointing.
+
+Specifications:
+
+ * Full recharge in 3 hours with 33W input, 50% in one hour
+ * Type-c Port1: Support USB-PD/Maximum 30W(5/9/12/15/20V)
+ * Output Port1: Maximum 36W(20/15/12/9/5V)
+ * Output Port2: Maximum 18W(9V2A,5V3A)
+ * Wireless: QI standard Maximum 7.5W
+ * Battery: Li-ion Polymer battery
+ * 3 cells: 68.4Wh (18000mAh±5%)
+ * Dimensions, closed: 80x80x28 mm
+ * Dimensions, opened: 82x80x57 mm
+ * Weight: 320g 
+ * [User manual](https://www.zentofu.com/book/en_TPB.jpg)
+ * [Home page](https://zentofu.com/tpb.php)
+ * [Shop](https://www.elvesfactory.com/worldshop/EN/TOFU/TPB) (88$USD)
 
 ### Ugreen
 

details on qotom
diff --git a/hardware/server/marcos.mdwn b/hardware/server/marcos.mdwn
index d9e67a08..c80c377f 100644
--- a/hardware/server/marcos.mdwn
+++ b/hardware/server/marcos.mdwn
@@ -381,9 +381,25 @@ little [NAS case](https://wiki.pine64.org/wiki/NASCase). Make sure you also get
 
 https://www.crowdsupply.com/traverse-technologies/ten64/updates/building-a-nas-with-ten64-and-rockstor-and-new-turnkey-nas-bundle
 
-## Brix and Qotom
+## Brix
 
-To investigate: see the [Brix](https://www.gigabyte.com/us/Mini-PcBarebone) and [Qotom](https://www.qotom.net/) mini-PCs.
+Gigabyte (motherboard makers) have the
+[Brix](https://www.gigabyte.com/us/Mini-PcBarebone) platform that's
+similar to the Intel NUC.
+
+## Qotom
+
+[Qotom](https://www.qotom.net/) also makes mini-PCs.
+
+Qotom is interesting: they make rugged devices that are passively
+cooled, in a wide (and I mean very wide) variety. So wide that it's
+actually hard to find *anything* on their [13-page long product
+section](https://www.qotom.net/product/). It *seems* like they basically do "mini PC" style [main
+boards](https://www.qotom.net/product/list-57.html) that range anywhere from 2 to 8 gigabit port, with USB-2,
+USB-3, audio, DP, HDMI, VGA, serial ports (or not).
+
+All the cases are kind of a distraction on top of that. Was used by at
+least one Debian Planet user for [a project with Proxmox](https://wp.c9h.org/cj/?p=1862).
 
 ## Protectli
 

got more TOFU stuff, and the one world charger
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index 07e545ef..42a6ce88 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -181,6 +181,41 @@ minutes then switching to the Anker charger.
 ![A graph from the GNOME Power Statistics program showing samples
 oscillating between 24 and 30W and then jumping to about 36W](https://paste.anarc.at/publish/2023-03-16-amcFIf8oTbnxK9CTgo4fxSi0tvMg8J0dvGWpNClD71w/snap-20230316T105040.png)
 
+Update 2: I traveled quite a bit with this device and I like it. The
+main downside is the cable is just too damn short and a larger cable
+doesn't fit well in the case. I also bought the [YOYO cable](https://www.elvesfactory.com/worldshop/EN/TOFU/TYC) in the
+hope it would fix that problem while simultaneously provide three
+other purposes I carry stuff for:
+
+ * multi-USB connector (USB-C, micro-USB, Lightning) for charging
+ * longer charging cable
+ * phone stand
+ * "eject SIM" pin
+
+That device is a little more disappointing. First off, like the TOFU
+power station, the cable needs to be manually rewound which makes it
+kind of annoying. Also, the cable is kind of short: only 1m long, so
+with the TOFU, we're still 1m+ short of the 3m cable offered stock by
+the Framework laptop.
+
+The design is also a little gimmicky: it has a more "plasticky"
+feeling than the power station, and some parts are hard to take
+out. For example, there's a Micro-USB to USB-C adapter that I almost
+broke trying to figure out how to pry it out of there.
+
+It's also a bit annoying to have all those adapters dangling around
+when the basic use case is "I just want to power my laptop". I guess
+it does fulfill the "I want just one thing" purpose, and I haven't
+actually carried it around while traveling, so we'll see how useful
+this actually is.
+
+I also bought the [MASA power bank](https://zentofu.com/tpb.php) which promise a 68.4Wh supply
+so, in theory, could act as a second battery for my framework
+laptop. I'll believe it when I see it though. It also acts as a
+wireless charger which would be nice if I had any wireless charging
+thing. It ships in a nice case and a USB-C wire with two adapters that
+actually fit in the case if you roll them up just so. A little bulky.
+
 ### Ugreen
 
 So I was recommended the Ugreen chargers, but unfortunately it seems
@@ -219,6 +254,14 @@ around 50$USD, a bargain.
 Ordered on 2023-03-28, we'll see if it ever gets here or if it
 works. I mean to use it as a backup to the TOFU.
 
+Update: I eventually got the device, some weeks later, but too late
+for me trip. It works pretty well, so well that I actually use it as a
+daily driver at home. It's compact and holds well in the plug,
+delivers fast charging for my laptop and other USB-C devices and has
+plenty of ports. 
+
+A good choice.
+
 ## USB Docks
 
 Specification: 

kanshi update, mention shikane
diff --git a/software/desktop/wayland.md b/software/desktop/wayland.md
index baf432a4..44982dfb 100644
--- a/software/desktop/wayland.md
+++ b/software/desktop/wayland.md
@@ -1035,20 +1035,25 @@ See also:
 
 Note that arandr and autorandr are not directly part of
 X. [arewewaylandyet.com][] refers to a few alternatives. We suggest
-[wdisplays][] and [kanshi][] above (see also [this service
-file][]) but [wallutils][] can also do the autorandr stuff, apparently,
-and [nwg-displays][] can do the arandr part. Neither are packaged in
-Debian yet.
+[wdisplays][] and [kanshi][] above (see also [this service file][])
+but [wallutils][] can also do the autorandr stuff, apparently, and
+[nwg-displays][] can do the arandr part. [shikane][] is a promising
+kanshi rewrite in Rust. None (but kanshi) are packaged in Debian yet.
 
 So I have tried [wdisplays][] and it Just Works, and well. The UI even
 looks better and more usable than arandr, so another clean win from
 Wayland here.
 
-TODO: test [kanshi][] as a autorandr replacement
+I'm currently [kanshi][] as a autorandr replacement and it mostly
+works. It can be hard to figure out the right configuration to put,
+and auto-detection doesn't always work. A key feature missing for me
+is the [save profile functionality](https://todo.sr.ht/~emersion/kanshi/81) that autorandr has and which
+makes it much easier to use.
 
 [wdisplays]: https://github.com/artizirk/wdisplays
 [nwg-displays]: https://github.com/nwg-piotr/nwg-displays
 [wlclock]: https://git.sr.ht/~leon_plickat/wlclock
+[shikane]: https://docs.rs/crate/shikane/latest
 
 # Other issues
 

another framework mod
diff --git a/hardware/laptop/framework-12th-gen.md b/hardware/laptop/framework-12th-gen.md
index f8dd2c12..ca3cb892 100644
--- a/hardware/laptop/framework-12th-gen.md
+++ b/hardware/laptop/framework-12th-gen.md
@@ -2027,7 +2027,7 @@ long road trip across the continental US.
  * [Excellent 12th gen review from an Arch Linux user](https://github.com/lhl/linuxlaptops/wiki/2022-Framework-Laptop-DIY-Edition-12th-Gen-Intel-Batch-1)
  
  * cool expansion port mods:
-   * [empty drawer](https://community.frame.work/t/the-snack-drawer-v2-back-in-snacktion/18442)
+   * [empty drawer](https://community.frame.work/t/the-snack-drawer-v2-back-in-snacktion/18442) and (probably a joke) [cup holder](https://www.printables.com/model/467332-framework-laptop-cupholder-expansion-card)
    * [dual USB-C](https://community.frame.work/t/dual-usb-c-expansion-card-mockup/2325) (mockup only), [expansion hub](https://community.frame.work/t/project-idea-expansion-card-hub/10988/2) (just an idea,
      references other discussions), actually [seriously considered by
      Framework](https://community.frame.work/t/what-new-expansion-card-types-do-you-want-to-see-released/193/3?u=anarcat), limited by existing chipsets for now

add another epub reader
diff --git a/software/desktop/calibre.mdwn b/software/desktop/calibre.mdwn
index 597e65a2..c22ae9ba 100644
--- a/software/desktop/calibre.mdwn
+++ b/software/desktop/calibre.mdwn
@@ -126,7 +126,10 @@ since I read my ebooks on a e-reader, on purpose. There is, besides, a
 good variety of ebook-readers, on different platforms, that can
 replace Calibre here:
 
- * [apvlv][], poppler-based viewer, supports EPUBs, vi-like keybindings
+ * [apvlv][], poppler-based viewer, supports EPUBs, vi-like
+   keybindings
+ * [arianna][], KDE's epub.js implementation, similar to Foliate and
+   inspired by [Peruse][]
  * [Atril][], MATE's version of [Evince][], supports ePUBs (Evince
    doesn't seem to), but fails to load certain ebooks (book #1459 for
    example)
@@ -200,6 +203,8 @@ See also the [pdf-viewer metapackage](https://packages.debian.org/sid/pdf-viewer
 [zathura]: https://pwmt.org/projects/zathura/
 [backend]: https://pwmt.org/projects/zathura-pdf-mupdf/
 [baca]: https://github.com/wustho/baca
+[arianna]: https://apps.kde.org/arianna/
+[Peruse]: https://peruse.kde.org/
 
 ## ebook editor
 

update matrix apps, fluffychat again interesting
diff --git a/blog/2022-06-17-matrix-notes.md b/blog/2022-06-17-matrix-notes.md
index 6ddc93f9..5fa92b1f 100644
--- a/blog/2022-06-17-matrix-notes.md
+++ b/blog/2022-06-17-matrix-notes.md
@@ -761,8 +761,11 @@ Matrix](https://matrix.org/clients-matrix/) (confusing right?) to try to figure
 and, even after selecting `Linux` as a filter, the chart is just too
 wide to figure out anything. So I tried those, kind of randomly:
 
+ * [FluffyChat](https://fluffychat.im/) (Dart, Flutter not in Debian, [Flatpak](https://flathub.org/apps/im.fluffychat.Fluffychat), solid Android,
+   iOS app)
  * [Fractal](https://gitlab.gnome.org/GNOME/fractal) (Rust, [not in Debian](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900928))
- * [Mirage](https://github.com/mirukana/mirage) (not in Debian, inactive upstream since 2021)
+ * [Mirage](https://github.com/mirukana/mirage) (not in Debian, inactive upstream since 2021, forked
+   into [Moment](https://mx-moment.xyz/))
  * [Nheko](https://github.com/Nheko-Reborn/nheko) (C++, Python, Qt) [![Debian Unstable package](https://repology.org/badge/version-for-repo/debian_unstable/nheko.svg)](https://repology.org/project/nheko/versions)
  * [Quaternion](https://github.com/quotient-im/Quaternion) (C++, Qt) [![Debian Unstable package](https://repology.org/badge/version-for-repo/debian_unstable/quaternion.svg)](https://repology.org/project/quaternion/versions)
 

another app
diff --git a/blog/mobile-massive-gallery.md b/blog/mobile-massive-gallery.md
index 14cb678c..003b900f 100644
--- a/blog/mobile-massive-gallery.md
+++ b/blog/mobile-massive-gallery.md
@@ -125,4 +125,12 @@ file manager](https://f-droid.org/en/packages/com.amaze.filemanager/) which actu
 tests it didn't work so well and of course didn't leverage existing
 thumbnails...
 
+
+photoprism it is... compose-photoprism.yml in my home, new app in
+f-droid works
+excellently. https://f-droid.org/en/packages/ua.com.radiokot.photoprism/
+([source code](https://github.com/Radiokot/photoprism-android-client)
+
+consider tls client certs.
+
 [[!tag draft]]

another ebook reader
diff --git a/software/desktop/calibre.mdwn b/software/desktop/calibre.mdwn
index 29c1f58a..597e65a2 100644
--- a/software/desktop/calibre.mdwn
+++ b/software/desktop/calibre.mdwn
@@ -130,6 +130,7 @@ replace Calibre here:
  * [Atril][], MATE's version of [Evince][], supports ePUBs (Evince
    doesn't seem to), but fails to load certain ebooks (book #1459 for
    example)
+ * [baca][] is a TUI interface that also looks interesting
  * [Bookworm][] looks very promising, not in Debian ([883867][]), but
    [Flathub][flathub-bookworm]. scans books on exit, and can take a
    loong time to scan an entire library (took 24+ hours here, and had
@@ -198,6 +199,7 @@ See also the [pdf-viewer metapackage](https://packages.debian.org/sid/pdf-viewer
 [xreader]: https://github.com/linuxmint/xreader
 [zathura]: https://pwmt.org/projects/zathura/
 [backend]: https://pwmt.org/projects/zathura-pdf-mupdf/
+[baca]: https://github.com/wustho/baca
 
 ## ebook editor
 

APUs are EOL
diff --git a/hardware/server/marcos.mdwn b/hardware/server/marcos.mdwn
index 09af781c..d9e67a08 100644
--- a/hardware/server/marcos.mdwn
+++ b/hardware/server/marcos.mdwn
@@ -377,7 +377,6 @@ thing starts at 1000$.
 They have SBCs of course -- that's how they started -- but also a neat
 little [NAS case](https://wiki.pine64.org/wiki/NASCase). Make sure you also get [all the parts needed](https://wiki.pine64.org/wiki/NASCase#What_other_bare-minimum_things_do_I_need_for_a_NAS_build.3F).
 
-
 ## Ten64
 
 https://www.crowdsupply.com/traverse-technologies/ten64/updates/building-a-nas-with-ten64-and-rockstor-and-new-turnkey-nas-bundle
@@ -402,7 +401,7 @@ requirements (8+GB):
  * [Minnowboard](https://minnowboard.org/minnowboard-turbot/technical-specs), Intel Atom based, 2GB max
  * [Espressobin](https://espressobin.net/), Marvell ARM Cortex A53, 2GB max
  * [Banana PI](http://www.banana-pi.org/), IMX6 or MediaTek ARM, 1GB max
- * [PC Engines](https://pcengines.ch/apu2.htm), AMD, 4GB max
+ * [PC Engines](https://pcengines.ch/apu2.htm), AMD, 4GB max, coreboot ([EOL](https://www.pcengines.ch/eol.htm))
  * [ODROID](https://www.hardkernel.com/), Intel and ARM, cheap and powerful, 2.5admins.com
    suggest the [Odroid H3](https://www.hardkernel.com/shop/odroid-h3-plus/) which can pack a good punch with little
    power usage (but Intel)
@@ -453,4 +452,8 @@ needs to be double-checked.
 
 See also <https://mtlynch.io/budget-nas/>.
 
+At work, we built two rescue hosts with the PC engines boards, right
+before they went EOL. I documented a bunch of alternatives, see [this
+list](https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/apu#apu-eol-and-alternatives).
+
 [[!tag node]]

another github discussion system
diff --git a/services/wiki/ikiwiki-hugo-conversion.mdwn b/services/wiki/ikiwiki-hugo-conversion.mdwn
index 83532bc8..d999014e 100644
--- a/services/wiki/ikiwiki-hugo-conversion.mdwn
+++ b/services/wiki/ikiwiki-hugo-conversion.mdwn
@@ -316,7 +316,7 @@ Feature comparison:
 Discarded alternatives:
 
 | Platform                | Why                                                                              |
-| ----------------------- | -------------------------------------------------------------------------------- |
+|-------------------------|----------------------------------------------------------------------------------|
 | Disqus                  | common, proprietary spyware, to be avoided                                       |
 | Facebook comments       | same, thoguh maybe less common                                                   |
 | CMSes (WP, Drupal, etc) | I want a static website                                                          |
@@ -325,9 +325,11 @@ Discarded alternatives:
 | [Hypothes.is][]         | annotation system                                                                |
 | [Caliopen][]            | "not ready for prod", interface for proprietary platforms like  Facebook/Twitter |
 | [Utterances][]          | github issues commenting system                                                  |
+| [Giscus][]              | same                                                                             |
 | [Staticman][]           | assumes a GitHub backend                                                         |
 | [Talkyard][]            | Scala? seems way overkill for a simple blog                                      |
 
+
 [Staticman]: https://staticman.net/
 [Utterances]: https://utteranc.es/
 [Hypothes.is]: https://web.hypothes.is/
@@ -349,6 +351,7 @@ Other ideas:
 [isso-debian]: https://tracker.debian.org/pkg/isso
 [hosted version]: https://commento.io/
 [Hashover]: https://www.barkdull.org/software/hashover
+[Giscus]: https://giscus.app/
 
 # Other converters
 

another notifier
diff --git a/software/desktop/wayland.md b/software/desktop/wayland.md
index ea3b21e4..baf432a4 100644
--- a/software/desktop/wayland.md
+++ b/software/desktop/wayland.md
@@ -929,9 +929,9 @@ how many things you were using are tightly bound to X.
    programs, basically)
 
  * notifications: currently using [dunst][] in some places, which
-   works well in both Xorg and Wayland, not a blocker, [salut][] a
-   possible alternative (not in Debian), damjan [uses mako][]. TODO:
-   install dunst everywhere
+   works well in both Xorg and Wayland, not a blocker, [fnott][] ([not
+   in Debian](https://bugs.debian.org/997020)), [salut][] (not in Debian) possible alternatives,
+   damjan [uses mako][]. TODO: install dunst everywhere
 
  * notification area: I had trouble making `nm-applet` work. based on
    [this nm-applet.service][], I found that you need to pass `--indicator`.  In
@@ -994,6 +994,7 @@ See also [this list of useful addons][] and [this other list][] for other app al
 [this other bespoke hack]: https://gitlab.com/anarcat/scripts/-/blob/main/sway-focus
 [this list of useful addons]: https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway
 [this other list]: https://github.com/swaywm/sway/wiki/i3-Migration-Guide
+[fnott]: https://codeberg.org/dnkl/fnott
 
 ## More X11 / Wayland equivalents
 

i'm using fuzzel now
diff --git a/software/desktop/wayland.md b/software/desktop/wayland.md
index 16345c4c..ea3b21e4 100644
--- a/software/desktop/wayland.md
+++ b/software/desktop/wayland.md
@@ -579,7 +579,7 @@ It's Friday.
 [TUI]: https://en.wikipedia.org/wiki/Text-based_user_interface
 [foot wiki]: https://codeberg.org/dnkl/foot/wiki
 
-## Launcher: rofi → rofi??
+## Launcher: rofi → fuzzel
 
 rofi does [not support Wayland][]. There was a [rather disgraceful
 battle in the pull request][] that led to the creation of a fork
@@ -634,9 +634,6 @@ left with reinventing those wheels from scratch or using the rofi +
 wayland fork... It's really too bad that fork isn't being
 reintegrated...
 
-For now, I'm actually still using rofi under Xwayland. The main
-downside is that fonts are fuzzy, but it otherwise just works.
-
 Note that [wlogout][] could be a partial replacement (just for the
 "power menu").
 
@@ -674,6 +671,30 @@ Note that [wlogout][] could be a partial replacement (just for the
 [wlogout]: https://github.com/ArtsyMacaw/wlogout
 [wofi-pass]: https://github.com/TinfoilSubmarine/wofi-pass
 
+### Fuzzel
+
+I ended up completely switching to [fuzzel][] after realizing it was
+the same friendly author as [foot][]. I did have to severely hack
+around its limitations, by rewriting my rofi "modis" with plain shell
+scripts. I wrote the following:
+
+ * [dmenu-ssh.py](https://gitlab.com/anarcat/scripts/-/blob/main/dmenu-ssh.py): reads your SSH config and extracts hostnames,
+   keeps history sorted by frequency in `~/.cache/dmenu-ssh`
+ * [dmenu-bash-history](https://gitlab.com/anarcat/scripts/-/blob/main/dmenu-bash-history): reads your `.history` and `.bash_history`
+   files and prompts for a command to run, appending `dmenu_path`,
+   which is basically all available commands in your `$PATH`, also
+   saves the command in your `.history` file (also required me to bump
+   the size of that file to really be useful)
+ * [pass-dmenu](https://gitlab.com/anarcat/scripts/-/blob/main/pass-dmenu): was already in use, just a little patch to support
+   Wayland, basically list the pass entries sorted by domains
+   ([pass-domains](https://gitlab.com/anarcat/scripts/-/blob/main/pass-domains)) and piped the picked password to the clipboard
+   or `wl-type`
+ * [dmenu-unicode](https://gitlab.com/anarcat/scripts/-/blob/main/dmenu-unicode): (NEW!) grep around the unicode database for
+   emojis and other stuff
+
+With those, I can basically use fuzzel or any other `dmenu`-compatible
+program and not care, it will "just work".
+
 ## Image viewers: geeqie → ?
 
 I'm not very happy with geeqie in the first place, and I suspect the

add examples for device-to-device rescue
diff --git a/services/archive/rescue.mdwn b/services/archive/rescue.mdwn
index 47e9894b..c514cfc0 100644
--- a/services/archive/rescue.mdwn
+++ b/services/archive/rescue.mdwn
@@ -46,6 +46,14 @@ should be followed for CD-ROMs, detailed below.
 
 [examples section]: https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Examples
 
+To copy to another *device* you need to pass an extra `--force`:
+
+    ddrescue --force --no-scrape /dev/sda /dev/sdb /tmp/sda.map
+
+And then with the scrape phase, in direct I/O mode:
+
+    ddrescue --force --idirect /dev/sda /dev/sdb /tmp/sda.map
+
 ddrescueview
 ============
 

add wlclock, HybridBar
diff --git a/software/desktop/wayland.md b/software/desktop/wayland.md
index fdc11cd2..16345c4c 100644
--- a/software/desktop/wayland.md
+++ b/software/desktop/wayland.md
@@ -248,6 +248,7 @@ ultimately, it worked.
 Other alternatives include:
 
  * [hybridbar](https://github.com/hcsubser/hybridbar)
+ * [HybridBar](https://github.com/vars1ty/HybridBar) (yes, another)
  * [rootbar](https://hg.sr.ht/~scoopta/rootbar)
  * [sfwbar](https://github.com/LBCrion/sfwbar)
  * [yambar](https://codeberg.org/dnkl/yambar)
@@ -984,6 +985,7 @@ case, they should be listed here:
 |--------------|---------------------------------------|-----------|
 | `arandr`     | [wdisplays][]                         | yes       |
 | `autorandr`  | [kanshi][]                            | yes       |
+| `xclock`     | [wlclock][]                           | no        |
 | `xdotool`    | [wtype][]                             | yes       |
 | `xev`        | [wev][], `xkbcli interactive-wayland` | yes       |
 | `xlsclients` | `swaymsg -t get_tree`                 | yes       |
@@ -1024,6 +1026,7 @@ TODO: test [kanshi][] as a autorandr replacement
 
 [wdisplays]: https://github.com/artizirk/wdisplays
 [nwg-displays]: https://github.com/nwg-piotr/nwg-displays
+[wlclock]: https://git.sr.ht/~leon_plickat/wlclock
 
 # Other issues
 

start testing libredirect, mainly for medium
diff --git a/software/desktop/firefox.mdwn b/software/desktop/firefox.mdwn
index 3a3d7242..cdabeae4 100644
--- a/software/desktop/firefox.mdwn
+++ b/software/desktop/firefox.mdwn
@@ -78,6 +78,9 @@ I am testing those and they might make it to the top list once I'm happy:
    [source](https://www.cathalmcnally.com/tools/the-archiver/)) is another option that does the reverse: save only, no
    view.
  * [Clean URLs](https://docs.clearurls.xyz/) (no deb, [source](https://github.com/ClearURLs/Addon)) - remove garbage in URLs
+ * [LibRedirect]() ([no deb](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1018865), [source](https://libredirect.github.io/source_code.html)) - redirect big platforms
+   to proxied alternatives, i particularly like the Medium.com
+   alternative, https://scribe.rip
 
 [tridactyl]: https://github.com/tridactyl/tridactyl
 [builtin Firefox shortcuts]: https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly

forgot to add evelyn
diff --git a/hardware/evelyn.md b/hardware/evelyn.md
new file mode 100644
index 00000000..d8cbeb39
--- /dev/null
+++ b/hardware/evelyn.md
@@ -0,0 +1,37 @@
+[[!toc levels=2]]
+
+evelyn is named [Evelyn Berezin][], inventor of the computer word
+processor, who developed the first computerized banking system.
+
+[Evelyn Berezin]: https://en.wikipedia.org/wiki/Evelyn_Berezin
+
+It's my third cloud VM, replacing [[fumiko]], designed to handle
+outages or overloads on [[hardware/server/marcos]]..
+
+I picked Digital Ocean because it's cheap. I picked the NYC PoP
+because it was cheaper than the Toronto one.
+
+I hope to eventually shut down this shit.
+
+I set it up with a plain Debian 11 bullseye install from DO, then went
+through the [[services/upgrades/bullseye]] upgrade, after a very basic
+bootstrap:
+
+    apt install foot-terminfo tmux
+
+Then went with the Puppet bootstrap:
+
+    tmux
+    apt install puppet
+    puppet agent  --test --server puppet.anarc.at
+
+then on the master:
+
+    puppetserver ca list | grep $HASH_FROM_ABOVE
+    puppetserver ca sign fumiko.anarc.at
+
+then on the client again:
+
+    puppet agent --test
+
+[[!tag node]]

update from TPA: no libgcc1 in bookworm
diff --git a/services/upgrades/bookworm.md b/services/upgrades/bookworm.md
index b2221b37..1e8fb1b3 100644
--- a/services/upgrades/bookworm.md
+++ b/services/upgrades/bookworm.md
@@ -147,7 +147,7 @@ can log back in over a serial console or virtual terminal.
         sudo ttyrec -a -e screen /var/log/upgrade-bookworm.ttyrec
 
         apt-mark manual bind9-dnsutils
-        apt purge libgcc1 gcc-9-base gcc-10-base
+        apt purge gcc-9-base gcc-10-base
         apt purge $(dpkg -l | awk '/^rc/ { print $2 }') # purge removed packages
         apt autoremove -y --purge
         apt purge $(deborphan --guess-dummy)

gcc-10-base is also dead code
diff --git a/services/upgrades/bookworm.md b/services/upgrades/bookworm.md
index bb0ccf2c..b2221b37 100644
--- a/services/upgrades/bookworm.md
+++ b/services/upgrades/bookworm.md
@@ -147,7 +147,7 @@ can log back in over a serial console or virtual terminal.
         sudo ttyrec -a -e screen /var/log/upgrade-bookworm.ttyrec
 
         apt-mark manual bind9-dnsutils
-        apt purge libgcc1 gcc-9-base
+        apt purge libgcc1 gcc-9-base gcc-10-base
         apt purge $(dpkg -l | awk '/^rc/ { print $2 }') # purge removed packages
         apt autoremove -y --purge
         apt purge $(deborphan --guess-dummy)

retire fumiko
diff --git a/hardware/fumiko.md b/hardware/fumiko.md
index 7693cfbf..98ca09df 100644
--- a/hardware/fumiko.md
+++ b/hardware/fumiko.md
@@ -1,6 +1,8 @@
 [[!toc levels=2]]
 
-fumiko is named after [Fumiko Kaneko](https://en.wikipedia.org/wiki/Fumiko_Kaneko), a Japanese feminist,
+Update: this server was retired in favor of [[evelyn]].
+
+fumiko was named after [Fumiko Kaneko](https://en.wikipedia.org/wiki/Fumiko_Kaneko), a Japanese feminist,
 anti-colonialist, anarchist and nihilist, (possibly self-)convicted of
 plotting to assassinate the Japanese emperor.
 
diff --git a/services/dns.mdwn b/services/dns.mdwn
index b0be060b..d3be5760 100644
--- a/services/dns.mdwn
+++ b/services/dns.mdwn
@@ -96,7 +96,8 @@ femmes. Exemples utilisés:
  * [[hardware/server/mafalda]] ([yes, the character][])
  * [[hardware/server/plastik]] (a "piece of plastic")
  * ([Harriet][]) [[hardware/tubman]]
- * [[hardware/fumiko]] ([Fumiko Kaneko][])
+ * [[hardware/evelyn]] ([Evelyn Berezin][] - inventor of the computer
+   word processor, developed the first computerized banking system
 
 [Parks]: https://en.wikipedia.org/wiki/Rosa_Parks
 [Davis]: https://en.wikipedia.org/wiki/Angela_Davis
@@ -129,6 +130,7 @@ plus compatibles avec la nouvelle convention.
  * tangerine
  * roadkill
  * [[hardware/server/roadkiller]]
+ * [[hardware/fumiko]] ([Fumiko Kaneko][]) - replaced by [[hardware/evelyn]]
 
 [Abu Jamal]: https://en.wikipedia.org/wiki/Mumia_Abu-Jamal
 
@@ -141,8 +143,6 @@ Les noms suivants pourraient être utilisés pour de futures machines:
    of Algonquin and Mohawk ancestry"
  * [Hannah Arendt][] - "one of the most important political
    philosophers of the twentieth century"
- * [Evelyn Berezin][] - inventor of the computer word processor,
-   developed the first computerized banking system
  * [Wendy Carlos][] - trans women, "helped in the development of the
    Moog synthesizer", wrote music for Kubrick's Clockwork Orange, The
    Shining, basically invented electronic music

argenteuil a de la fibre!!
diff --git a/blog/2022-09-25-pourquoi-nationaliser.md b/blog/2022-09-25-pourquoi-nationaliser.md
index 2c32955d..c529e854 100644
--- a/blog/2022-09-25-pourquoi-nationaliser.md
+++ b/blog/2022-09-25-pourquoi-nationaliser.md
@@ -201,4 +201,15 @@ Je viens de découvrir [cette nouvelle de 2021](https://dgtlinfra.com/hydro-one-
 maintenant [Acronym solutions](https://acronymsolutions.com/) qui vend l'accès à son réseau de
 fibre qui connecte, entre autres, Montréal à Toronto.
 
+## Argenteuil aussi
+
+Je viens d'apprendre que la [MRC d'Argenteuil](https://fr.wikipedia.org/wiki/Argenteuil_(municipalit%C3%A9_r%C3%A9gionale_de_comt%C3%A9)) (au Québec!) a 180km
+de fibre municipale, voir <https://fibreargenteuil.ca/>. Population:
+36 017 habitants (!).
+
+Leur site a également un lien vers cette [carte interactive de
+Québec](https://www.quebec.ca/gouvernement/politiques-orientations/carte-internet-haute-vitesse) qui montre quelles régions sont couvertes par un service de
+"haute vitesse". On peut aussi chercher par adresse pour voir quels
+fournisseurs sont disponibles à un point donné.
+
 [[!tag analyse bell histoire "network neutrality" internet politique canada québec ledevoir-rejet]]

cleanup keybindings section, add alternative browsers
diff --git a/software/desktop/firefox.mdwn b/software/desktop/firefox.mdwn
index 0078c7ed..3a3d7242 100644
--- a/software/desktop/firefox.mdwn
+++ b/software/desktop/firefox.mdwn
@@ -369,6 +369,9 @@ More similar projects:
  * [Firefox Privacy Guide for Dummies!](https://12bytes.org/articles/tech/firefox/the-firefox-privacy-guide-for-dummies/): actually pretty complete
    and not at all "for dummies"
 
+ * [Mullvad Browser](https://mullvad.net/en/browser/): Tor Browser without Tor, has a [good list of
+   tweaks](https://mullvad.net/en/browser/hard-facts)
+
 ## Keybindings
 
 I use the default keybindings in Firefox, but try to bind some
@@ -378,16 +381,24 @@ without the mouse.
 I was originally using [vimperator][] for a while, until the
 [XULocalypse](#surviving-the-xulocalypse) anyway...
 
-A few [vimperator alternatives][] have popped up. [tridactyl][] was
-the most prominent one, but was also [pulled from AMO][] for a policy
-violation in August 2019. [vimium-ff][] ([vimium][]) and [vim-vixen][]
-seem like the only working alternatives right now, although the
-vimperator folks say they lack some features, I couldn't figure out
-which. [pentadactyl][] is the father to all of those, but seems to
-have disappeared off the internet. [salsa key][] is one without
-vi-like keybindings. [vimfx][] also did not survive the
-XULocalypse. there's also lighter versions like [link hints][] and
-[key jump][].
+Since then, quite a few [vimperator alternatives][] have popped
+up. [tridactyl][] is possibly the most prominent one. tridactyl has
+some annoyances, like <kbd>C-f</kbd> being bound to "page down"
+although that can be disabled with `:unbind <C-f>`.
+
+[vimium-ff][] ([vimium][]) and [vim-vixen][] are also working
+alternatives right now, although the vimperator folks say they lack
+some features, I couldn't figure out which. Vimium has the major
+problem of not entering the "edit mode" (where keybindings are not
+effective) in text areas, or at least in Etherpad.
+
+[SurfingKeys](https://github.com/brookhong/Surfingkeys) is another vim-like extension.
+
+[pentadactyl][] is the father to all of those, but seems to have
+disappeared off the internet. [vimfx][] also did not survive the
+XULocalypse.
+
+There's also lighter versions like [link hints][] and [key jump][].
 
 [vimium]: https://github.com/philc/vimium
 [vimperator]: https://github.com/vimperator/vimperator-labs
@@ -399,17 +410,20 @@ XULocalypse. there's also lighter versions like [link hints][] and
 [pulled from AMO]: https://github.com/tridactyl/tridactyl/issues/1800
 [vimperator alternatives]: https://github.com/vimperator/vimperator-labs#end-of-life-and-alternatives
 
-Also tried out [vimium][], which has the major problem of not entering
-the "edit mode" (where keybindings are not effective) in text areas,
-or at least in etherpad. tridactyl has its own annoyances though, like
-<kbd>C-f</kbd> being bound to "page down". this can be disabled with
-`:unbind <C-f>`. also see the [builtin Firefox shortcuts][] and the
-`pentadactyl` entry in the XULocalypse section below. [Krabby](https://krabby.netlify.com/),
-another of those implementations, has an [interesting list of
-alternatives](https://github.com/alexherbo2/krabby/blob/c525cf13962f72f4810fdc8f8032e6d9001308ea/docs/alternatives.md).
+[Krabby](https://krabby.netlify.com/), another of those implementations, has an [interesting
+list of alternatives](https://github.com/alexherbo2/krabby/blob/c525cf13962f72f4810fdc8f8032e6d9001308ea/docs/alternatives.md). Krabby itself is marked as inactive in
+[Qutebrowser][]'s list of alternatives, it hasn't had a commit since
+2021 at the time of writing (April 2023).
 
 [key jump]: https://addons.mozilla.org/en-US/firefox/addon/key-jump-keyboard-navigation/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search
 
+Other dead alternatives include:
+
+ * [salsa key][], without vi-like keybindings, GitHub repository
+   archived in 2022-11-07
+
+See also the [builtin Firefox shortcuts][].
+
 # Remaining work
 
 My Firefox configuration is not fully automated yet. The `user.js`
@@ -481,3 +495,24 @@ My remaining concerns with Firefox, right now, are:
    is just huge. For example, it keeps 162 751 pages here, keeping
    pages well over 6 months. There are extensions to fix this like
    [Expire history by days](https://addons.mozilla.org/en-US/firefox/addon/expire-history-by-days/) and [History cleaner](https://addons.mozilla.org/en-US/firefox/addon/history-cleaner/) 
+
+# Alternative browsers
+
+Even though writing a browser is *hard* these days, quite a few people
+have tried to tackle this. Here are some interesting alternatives
+here:
+
+ * [Tor Browser](https://www.torproject.org/download/): basically a fork of Firefox with (mandatory) Tor
+   support baked in, alongside lots of strong privacy patches,
+   includes No Script by default
+ * [Qutebrowser][]: keyboard-driven, Python and Qt5,
+   QtWebEngine-based, some support for adblock
+ * [Luakit](https://luakit.github.io/): "micro-browser framework", extensible with Lua,
+   C, WebKit2, GTK+
+ * [vimb](https://fanglingsu.github.io/vimb/): vim-like, C, WebKit2, GTK
+
+[Qutebrowser]: https://www.qutebrowser.org/
+
+Dead browsers:
+
+ * [uzbl](https://github.com/uzbl/uzbl) (2018)

merge the "keybindings" sections together
diff --git a/software/desktop/firefox.mdwn b/software/desktop/firefox.mdwn
index e355668a..0078c7ed 100644
--- a/software/desktop/firefox.mdwn
+++ b/software/desktop/firefox.mdwn
@@ -99,16 +99,7 @@ tired of them...
  * [Switch container](https://addons.mozilla.org/en-US/firefox/addon/switch-container/) (no deb, [source](https://gitlab.com/mjanetmars/switch-container)) - fixes *one* of the
    issues with multi-account containers (ie. moving tab to another
    container)
- * [tridactyl][] - to use the web browser without the mouse. was
-   [pulled from AMO][] for a policy violation, might return but in the
-   meantime, i'm trying out [vimium][], which has the major problem of
-   not entering the "edit mode" (where keybindings are not effective)
-   in text areas, or at least in etherpad. tridactyl has its own
-   annoyances though, like <kbd>C-f</kbd> being bound to "page
-   down". this can be disabled with `:unbind <C-f>`. also see the
-   [builtin Firefox shortcuts][] and the `pentadactyl` entry in the
-   XULocalypse section below. [Krabby](https://krabby.netlify.com/), another of those
-   implementations, has an [interesting list of alternatives](https://github.com/alexherbo2/krabby/blob/c525cf13962f72f4810fdc8f8032e6d9001308ea/docs/alternatives.md).
+ * [tridactyl][] - see the [keybindings](#keybindings) section below
 
 ## Previously used
 
@@ -225,27 +216,8 @@ And here are the replacements I have found:
  * [uMatrix][]: ported
  * [Wallabager][]: ported
  * [web developer](https://addons.mozilla.org/en-US/firefox/addon/web-developer/): ported
- * [vimperator][]: a few [vimperator alternatives][] have popped
-   up. [tridactyl][] was the most prominent one, but was also [pulled
-   from AMO][] for a policy violation. [vimium-ff][] ([vimium][]) and [vim-vixen][]
-   seem like the only working alternatives right now, although the
-   vimperator folks say they lack some features, I couldn't figure out
-   which. [pentadactyl][] is the father to all of those, but seems to
-   have disappeared off the internet. [salsa key][] is one without
-   vi-like keybindings. [vimfx][] also did not survive the
-   XULocalypse. there's also lighter versions like [link hints][] and
-   [key jump](https://addons.mozilla.org/en-US/firefox/addon/key-jump-keyboard-navigation/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search)
-
-[vimium]: https://github.com/philc/vimium
-[vimperator]: https://github.com/vimperator/vimperator-labs
-[vim-vixen]: https://github.com/ueokande/vim-vixen
-[vimfx]: https://github.com/akhodakivskiy/VimFx
-[pentadactyl]: http://web.archive.org/web/20171019152504/http://5digits.org/pentadactyl/
-[vimium-ff]: https://addons.mozilla.org/en-US/firefox/addon/vimium-ff/
-[salsa key]: https://addons.mozilla.org/en-US/firefox/addon/saka-key/
-[pulled from AMO]: https://github.com/tridactyl/tridactyl/issues/1800
-[vimperator alternatives]: https://github.com/vimperator/vimperator-labs#end-of-life-and-alternatives
-
+ * [vimperator][]: see the [keybindings section](#keybindings) below
+ 
 Those are the extensions I was using for which no replacement exists:
 
  * *alternative trust models*, like [Monkeysphere][]. as [pabs][]
@@ -397,6 +369,47 @@ More similar projects:
  * [Firefox Privacy Guide for Dummies!](https://12bytes.org/articles/tech/firefox/the-firefox-privacy-guide-for-dummies/): actually pretty complete
    and not at all "for dummies"
 
+## Keybindings
+
+I use the default keybindings in Firefox, but try to bind some
+extensions by hand. I have also meddled with using the web browser
+without the mouse.
+
+I was originally using [vimperator][] for a while, until the
+[XULocalypse](#surviving-the-xulocalypse) anyway...
+
+A few [vimperator alternatives][] have popped up. [tridactyl][] was
+the most prominent one, but was also [pulled from AMO][] for a policy
+violation in August 2019. [vimium-ff][] ([vimium][]) and [vim-vixen][]
+seem like the only working alternatives right now, although the
+vimperator folks say they lack some features, I couldn't figure out
+which. [pentadactyl][] is the father to all of those, but seems to
+have disappeared off the internet. [salsa key][] is one without
+vi-like keybindings. [vimfx][] also did not survive the
+XULocalypse. there's also lighter versions like [link hints][] and
+[key jump][].
+
+[vimium]: https://github.com/philc/vimium
+[vimperator]: https://github.com/vimperator/vimperator-labs
+[vim-vixen]: https://github.com/ueokande/vim-vixen
+[vimfx]: https://github.com/akhodakivskiy/VimFx
+[pentadactyl]: http://web.archive.org/web/20171019152504/http://5digits.org/pentadactyl/
+[vimium-ff]: https://addons.mozilla.org/en-US/firefox/addon/vimium-ff/
+[salsa key]: https://addons.mozilla.org/en-US/firefox/addon/saka-key/
+[pulled from AMO]: https://github.com/tridactyl/tridactyl/issues/1800
+[vimperator alternatives]: https://github.com/vimperator/vimperator-labs#end-of-life-and-alternatives
+
+Also tried out [vimium][], which has the major problem of not entering
+the "edit mode" (where keybindings are not effective) in text areas,
+or at least in etherpad. tridactyl has its own annoyances though, like
+<kbd>C-f</kbd> being bound to "page down". this can be disabled with
+`:unbind <C-f>`. also see the [builtin Firefox shortcuts][] and the
+`pentadactyl` entry in the XULocalypse section below. [Krabby](https://krabby.netlify.com/),
+another of those implementations, has an [interesting list of
+alternatives](https://github.com/alexherbo2/krabby/blob/c525cf13962f72f4810fdc8f8032e6d9001308ea/docs/alternatives.md).
+
+[key jump]: https://addons.mozilla.org/en-US/firefox/addon/key-jump-keyboard-navigation/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search
+
 # Remaining work
 
 My Firefox configuration is not fully automated yet. The `user.js`

refs galore
diff --git a/services/wiki.mdwn b/services/wiki.mdwn
index c957d70d..52bc31e4 100644
--- a/services/wiki.mdwn
+++ b/services/wiki.mdwn
@@ -113,6 +113,7 @@ Here are some things I'm thinking of doing on the website:
      * [pure.css][]
      * [skeleton][]
      * [tailwind][]
+     * [100 bytes][]
      * and [plenty][] [more][]
    * <del>ditch the Fira font</del> done - this greatly reduced the
      loading time
@@ -158,6 +159,7 @@ Here are some things I'm thinking of doing on the website:
 [customersite]: http://ikiwiki-hosting.branchable.com/design/customersite/
 [ikiwikihosting-dns]: http://ikiwiki-hosting.branchable.com/ikidns/
 [ikiwiki-hosting let's encrypt integration]: http://ikiwiki-hosting.branchable.com/todo/letsencrypt_support/
+[100 bytes]: https://dev.to/swyx/100-bytes-of-css-to-look-great-everywhere-19pd
 
 # Update log
 
diff --git a/software/desktop.mdwn b/software/desktop.mdwn
index f55cd1c4..0a8d25a1 100644
--- a/software/desktop.mdwn
+++ b/software/desktop.mdwn
@@ -199,6 +199,7 @@ Other alternatives I have considered or used in the past:
    years (as of 2022)
  * [pho](http://shallowsky.com/software/pho/): streamlined, minimal, batch operations, not in Debian
  * [sxiv](https://github.com/muennich/sxiv): abandoned upstream
+ * [qview](https://interversehq.com/qview/): minimalist, relatively new (2018), promising
 
 I'm also using RPD and Darktable for my photography work, see
 [[communication/photo]] for details.
diff --git a/software/desktop/wayland/config b/software/desktop/wayland/config
index d811a1bb..ef9835c3 100644
--- a/software/desktop/wayland/config
+++ b/software/desktop/wayland/config
@@ -294,6 +294,8 @@ for_window [class="Pavucontrol"] floating enable
 # color theme
 # some folks are using https://github.com/dylanaraps/pywal here, see
 # https://github.com/dylanaraps/pywal/pull/121
+#
+# see also https://deviantfero.github.io/wpgtk/
 set $black #1C1B19
 set $bright_black #918175
 

cross-ref the three powerstat pages better
diff --git a/hardware/laptop/framework-12th-gen/powerstat-306.md b/hardware/laptop/framework-12th-gen/powerstat-306.md
index de885f82..bea0f656 100644
--- a/hardware/laptop/framework-12th-gen/powerstat-306.md
+++ b/hardware/laptop/framework-12th-gen/powerstat-306.md
@@ -29,6 +29,9 @@ session, with this command:
 
 Those tests were also performed after the [3.06 beta BIOS upgrade](https://community.frame.work/t/12th-gen-intel-core-bios-3-06-beta/25726/109?u=anarcat).
 
+See also the [[powerstat]] page for an in-depth discussion on the test
+procedure.
+
 ## No modules, no radios, no backlight, screen off
 
     -------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------ 
diff --git a/hardware/laptop/framework-12th-gen/powerstat-wayland.md b/hardware/laptop/framework-12th-gen/powerstat-wayland.md
index 3b3706a2..a655e5fc 100644
--- a/hardware/laptop/framework-12th-gen/powerstat-wayland.md
+++ b/hardware/laptop/framework-12th-gen/powerstat-wayland.md
@@ -10,6 +10,25 @@ installed (podman is, but doesn't keep a daemon around).
 Those tests were all performed before the 3.06 BIOS update, which is
 supposed to improve power usage.
 
+The procedure here is slightly different than the original
+[[powerstat]] procedure:
+
+ 1. disable `swayidle` to keep the screensaver from starting:
+
+        systemctl --user stop swayidle
+
+ 2. prepare the test
+
+ 3. set desired brightness, run test, reset brightness
+
+        sudo true; brightnessctl set 0 ; sudo powerstat ; brightnessctl set 50
+
+See the [[powerstat]] page for an in-depth discussion of the test
+procedure.
+
+See the [[powerstat-306]] page for results after the BIOS 3.06 beta
+release.
+
 ## screen off, no modules, radios
 
 First test:
diff --git a/hardware/laptop/framework-12th-gen/powerstat.md b/hardware/laptop/framework-12th-gen/powerstat.md
index f68a4c0f..a369d250 100644
--- a/hardware/laptop/framework-12th-gen/powerstat.md
+++ b/hardware/laptop/framework-12th-gen/powerstat.md
@@ -27,26 +27,13 @@ real-life, actual work loads. The tests here are only *idle*
 workloads, which have limited applications for real life situations,
 but do show a good baseline for power consumption.
 
+See also the [[powerstat-306]] page for results after the 3.06 BIOS
+beta release and [[powerstat-wayland]] page for results done on
+[[software/desktop/wayland]] (instead of Xorg, here).
+
 [method]: https://olickel.com/benchmarking-the-battery-on-an-ubuntu-machine
 [GNOME battery bench]: https://blog.fishsoup.net/2015/01/15/gnome-battery-bench/
 
-## Sway test procedure
-
-Those tests were redone later with [[software/desktop/wayland]],
-specifically under my Sway environment, in [[powerstat-wayland]].
-
-The procedure there is slightly different:
-
- 1. disable `swayidle` to keep the screensaver from starting:
-
-        systemctl --user stop swayidle
-
- 2. prepare the test
-
- 3. set desired brightness, run test, reset brightness
-
-        sudo true; brightnessctl set 0 ; sudo powerstat ; brightnessctl set 50
-
 # Research hypothesis and bias
 
 My bias is to interpret results based on the "minimum": that's the

link to another test procedure
diff --git a/hardware/laptop/framework-12th-gen/powerstat.md b/hardware/laptop/framework-12th-gen/powerstat.md
index 548c813a..f68a4c0f 100644
--- a/hardware/laptop/framework-12th-gen/powerstat.md
+++ b/hardware/laptop/framework-12th-gen/powerstat.md
@@ -21,6 +21,15 @@ graphical Xorg session. Further tests [performed in single-user
 mode](https://community.frame.work/t/intel-12th-gen-frame-work-laptop-consumer-reviews/22123/8?u=anarcat) showed that single user mode saves about 300-400mW of power
 from the full session.
 
+Other folks have different test procedures. Hrishi Olickel worked on a
+[method][] based on [GNOME battery bench][] which is interesting for
+real-life, actual work loads. The tests here are only *idle*
+workloads, which have limited applications for real life situations,
+but do show a good baseline for power consumption.
+
+[method]: https://olickel.com/benchmarking-the-battery-on-an-ubuntu-machine
+[GNOME battery bench]: https://blog.fishsoup.net/2015/01/15/gnome-battery-bench/
+
 ## Sway test procedure
 
 Those tests were redone later with [[software/desktop/wayland]],

another ff privacy guide
diff --git a/software/desktop/firefox.mdwn b/software/desktop/firefox.mdwn
index 3398b446..e355668a 100644
--- a/software/desktop/firefox.mdwn
+++ b/software/desktop/firefox.mdwn
@@ -394,6 +394,9 @@ More similar projects:
  * [SebastianSimon/firefox-omni-tweaks](https://github.com/SebastianSimon/firefox-omni-tweaks): "A script that disables
    the clickSelectsAll behavior of Firefox, and more."
 
+ * [Firefox Privacy Guide for Dummies!](https://12bytes.org/articles/tech/firefox/the-firefox-privacy-guide-for-dummies/): actually pretty complete
+   and not at all "for dummies"
+
 # Remaining work
 
 My Firefox configuration is not fully automated yet. The `user.js`

docu du réseau minimale
diff --git "a/services/r\303\251seau.mdwn" "b/services/r\303\251seau.mdwn"
index b20f899b..0dc266b1 100644
--- "a/services/r\303\251seau.mdwn"
+++ "b/services/r\303\251seau.mdwn"
@@ -1,6 +1,11 @@
 Le réseau est constitué d'une ensemble d'interconnexions [[!wikipedia
 gigabit]] et d'un réseau [[wifi]], avec un uplink DSL.
 
+Note: le réseau est en train d'être reconstruit de zéro. En plan: un
+patch panel, des prises dans chaque pièce, des routeurs au plafond, un
+rack, etc, etc. J'ai acheté un [punch](https://www.kleintools.com/catalog/punchdown-tools/impact-punchdown-tool-66110-blade) et un [network tester](https://www.kleintools.com/catalog/cable-testers/lan-scout-jr-2-cable-tester)
+que j'aime bien.
+
 Problèmes connus
 ================
 

low bandwidth matrix
diff --git a/blog/2022-06-17-matrix-notes.md b/blog/2022-06-17-matrix-notes.md
index 6eb56bc6..6ddc93f9 100644
--- a/blog/2022-06-17-matrix-notes.md
+++ b/blog/2022-06-17-matrix-notes.md
@@ -670,6 +670,11 @@ Matrix people have also [announced](https://matrix.org/blog/2021/05/06/introduci
 network](https://github.com/matrix-org/pinecone) which aims at solving large, internet-scale routing
 problems. See also [this talk at FOSDEM 2022](https://www.youtube.com/watch?v=diwzQtGgxU8&list=PLl5dnxRMP1hW7HxlJiHSox02MK9_KluLH&index=19).
 
+Update: there is a formal proposal ([MSC3079](https://github.com/matrix-org/matrix-spec-proposals/pull/3079)) about a
+low-bandwidth, UDP-based transport, but it's been stuck at that stage
+for a few years now, because of security issues inherent to the UDP
+protocol, at first glance. There's also a [golang implementation](https://github.com/matrix-org/lb).
+
 # Usability
 
 ## Onboarding and workflow

mention more issues with zfs
diff --git a/software/zfs.md b/software/zfs.md
index fcc6fef2..aafea3eb 100644
--- a/software/zfs.md
+++ b/software/zfs.md
@@ -36,8 +36,8 @@ it.
 I've had trouble moving encrypted datasets between pools when trying
 to move the [[hardware/tubman]] `rpool` from HDDs to SSDs. This is a
 problem many people are facing, without good solutions, see also [this
-truenas discussion](https://www.truenas.com/community/threads/cant-zfs-send-between-encrypted-pools.90532/), [this reddit thread](https://www.reddit.com/r/zfs/comments/dkldqr/having_trouble_using_sendreceive_on_encrypted/), [this openzfs docs
-thread](https://github.com/openzfs/openzfs-docs/issues/354), and [this other one](https://github.com/openzfs/openzfs-docs/pull/127#issuecomment-785491091).
+TrueNAS discussion](https://www.truenas.com/community/threads/cant-zfs-send-between-encrypted-pools.90532/), [reddit thread](https://www.reddit.com/r/zfs/comments/dkldqr/having_trouble_using_sendreceive_on_encrypted/), [HN thread](https://news.ycombinator.com/item?id=32340433), [this
+openzfs docs thread](https://github.com/openzfs/openzfs-docs/issues/354), and [this other one](https://github.com/openzfs/openzfs-docs/pull/127#issuecomment-785491091).
 
 Also, native encryption "will not encrypt metadata related to the pool
 structure, including dataset and snapshot names, dataset hierarchy,
@@ -308,6 +308,23 @@ See also [this idea in grml](https://github.com/grml/grml-live/issues/78) and [t
 Also note that Ubuntu actually ships binary packages for ZFS and are
 questioning the incompatibility claims.
 
+## Write amplification
+
+When layering filesystems, you are always at risk of causing "write
+amplification" because of mismatched block sizes or alignment. For
+example, if you have a virtual machine with a filesystem with a 4kB
+block size over a host device with a 8kB block size, the host will
+have to read that 8kB block to get the other 4kB half before writing
+it back.
+
+In ZFS, it's even worse; from what I understand, because of the
+copy-on-write semantics. I'm not exactly clear on the details of this
+unfortunately, but it's something to keep in mind when deploying ZFS
+in complex setups.
+
+In particular, this affects Proxmox which uses 8kB block size zvols
+for virtual machines, which seems to [cause performance problems](https://bugzilla.proxmox.com/show_bug.cgi?id=4190).
+
 # Other documentation
 
 - TODO: document those debugging tools:

photos of the battery case out there
diff --git a/hardware/laptop/framework-12th-gen.md b/hardware/laptop/framework-12th-gen.md
index 68c12f0a..f8dd2c12 100644
--- a/hardware/laptop/framework-12th-gen.md
+++ b/hardware/laptop/framework-12th-gen.md
@@ -2011,6 +2011,8 @@ long road trip across the continental US.
      desktop adapter](https://github.com/whatthefilament/Framework-Desktop-Adapter) to reuse an existing case (from [this
      thread](https://community.frame.work/t/framework-desktop-case-adapter/19126))
    * [mainboard case](https://frame.work/products/cooler-master-mainboard-case) (official!)
+   * battery case (!), [the verge has extra photos of the mainboard
+     and battery cases](https://www.theverge.com/2023/3/23/23652939/framework-cooler-master-sff-pc-case)
    * [tablet mod](https://www.instructables.com/Framework-Tablet-Assembly-Manual/) (kind of clunky, but works!)
    * [keyboard mod](https://www.tindie.com/products/crimier/framework-input-cover-controller/) (i.e. turn the Framework keyboard, touch pad,
      fingerprint reader and power buttons into a "normal" USB keyboard

found another power supply
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index cf5a7367..07e545ef 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -73,6 +73,11 @@ The spec here is at least 65W USB-C with international plugs.
   international plugs, also acts as a 7A international adapter,
   built-in fuse, [mentioned by Wired](https://www.wired.com/gallery/best-travel-adapters/#62f6189c4d6c332046cb7387), 15% off with code
   `OneWorld65_15%Off`
+* The [LinkOn 166W](https://linkon.biz/en/product/748-linkon-ganius-166w-gan-wall-charger.html) looks really promising (2 USB-A 2 USB-C, near
+  universal) but "This charger got certification for 100W but its
+  maximum output when using the two USB C ports and the two USB A
+  ports is 166W", which is fishy: there *are* standards beyond PD 3.0
+  ([power delivery 3.1](https://en.wikipedia.org/wiki/USB_hardware#USB_Power_Delivery) allows for 240W delivery), untested otherwise
 
 ### TOFU power station
 

ordered another gizmo
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index ca581294..cf5a7367 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -69,6 +69,10 @@ The spec here is at least 65W USB-C with international plugs.
   AU/US/UK/EU Mac-compatible adapters, 3-port 7A power strip (!)
 * [Volta GIGA 130W GAN charger](https://www.voltacharger.com/collections/best-seller-2022/products/giga-130w-gan-charger): 99$ 3 USB-C, 1 USB-A, 5$ extra for
   each international adapter
+* [One World 65](https://oneadaptr.com/products/oneworld-65-international-adapter-with-65w-pd-charger): 69$ 3 USB-C (one with 65W PD), 2 USB-A, slide-out
+  international plugs, also acts as a 7A international adapter,
+  built-in fuse, [mentioned by Wired](https://www.wired.com/gallery/best-travel-adapters/#62f6189c4d6c332046cb7387), 15% off with code
+  `OneWorld65_15%Off`
 
 ### TOFU power station
 
@@ -193,6 +197,23 @@ get extra international adapters for their chargers by email (which
 wasn't obvious from the website). But their charger is currently
 (2023-03-13) marked as "sold out", so I guess I'm stuck there as well.
 
+### One World
+
+I have ordered a [One World 65](https://oneadaptr.com/products/oneworld-65-international-adapter-with-65w-pd-charger) as well. At 69$USD, it boasts 2
+USB-A and 3 USB-C, with one 65W PD. It has slide-out international
+plugs which means it basically works everywhere. It also acts as a 7A
+international adapter as it has this funky array of connectors in the
+back where you can plug other AC devices. It has built-in timeout
+fuse.
+
+I found it on [Tech advisor](https://www.techadvisor.com/article/724320/best-travel-adapters.html) but when I noticed it was quoting
+Wired, I found it was indeed [mentioned by Wired](https://www.wired.com/gallery/best-travel-adapters/#62f6189c4d6c332046cb7387), which also
+provided a promo code `OneWorld65_15%Off`, so this ended up being
+around 50$USD, a bargain.
+
+Ordered on 2023-03-28, we'll see if it ever gets here or if it
+works. I mean to use it as a backup to the TOFU.
+
 ## USB Docks
 
 Specification: 

mention (un?)documented issues with timesyncd
diff --git a/blog/2022-01-23-chrony.md b/blog/2022-01-23-chrony.md
index e3739f1b..2bbb955c 100644
--- a/blog/2022-01-23-chrony.md
+++ b/blog/2022-01-23-chrony.md
@@ -407,4 +407,10 @@ table][] doesn't mention it, and an [audit by the Core Infrastructure
 Initiative from 2017](https://www.coreinfrastructure.org/blogs/securing-network-time/) doesn't mention it either, even though
 [timesyncd was announced in 2014](https://lists.freedesktop.org/archives/systemd-devel/2014-May/019537.html). (Same with [this blog post from Facebook](https://engineering.fb.com/2020/03/18/production-engineering/ntp-service/).)
 
+Update: now (2023-03-28, about a year later), bookworm is about to
+ship with ntpsec as a replacement package for ntp. There is a
+discussion about an [update to the release notes](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1028149) that is relevant
+here; it seems we never clearly announced that `timesyncd` was the
+default, and that there are actually [serious issue](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1028149#15) with it.
+
 [[!tag debian-planet python-planet time sysadmin debian ntp]]

follow the battery optimization guide, turning it into a patch
diff --git a/hardware/laptop/framework-12th-gen.md b/hardware/laptop/framework-12th-gen.md
index 4a219677..68c12f0a 100644
--- a/hardware/laptop/framework-12th-gen.md
+++ b/hardware/laptop/framework-12th-gen.md
@@ -1130,6 +1130,13 @@ tweaks you can make to improve it. Try:
  * latest Linux kernels (6.2) promise power savings as well
    (unverified)
 
+Update: also try to follow the [official optimization guide](https://knowledgebase.frame.work/en_us/optimizing-ubuntu-battery-life-Sye_48Lg3). It
+was made for Ubuntu but will probably also work for your distribution
+of choice with a few tweaks. They recommend using [tlpui](https://github.com/d4nj1/TLPUI) but it's
+[not packaged in Debian](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1006598). There is, however, [a Flatpak
+release](https://flathub.org/apps/details/com.github.d4nj1.tlpui). In my case, it resulted in the following diff to
+`tlp.conf`: [[tlp.patch]].
+
 ### Background on CPU architecture
 
 There were power problems in the 11th gen Framework laptop, according
diff --git a/hardware/laptop/framework-12th-gen/tlp.patch b/hardware/laptop/framework-12th-gen/tlp.patch
new file mode 100644
index 00000000..07eaf7fc
--- /dev/null
+++ b/hardware/laptop/framework-12th-gen/tlp.patch
@@ -0,0 +1,136 @@
+diff --git a/tlp.conf b/tlp.conf
+index e7f2c8a..1571e98 100644
+--- a/tlp.conf
++++ b/tlp.conf
+@@ -84,8 +84,8 @@
+ #   changing the governor.
+ # Default: <none>
+ 
+-#CPU_SCALING_GOVERNOR_ON_AC=powersave
+-#CPU_SCALING_GOVERNOR_ON_BAT=powersave
++CPU_SCALING_GOVERNOR_ON_AC=performance
++CPU_SCALING_GOVERNOR_ON_BAT=powersave
+ 
+ # Set the min/max frequency available for the scaling governor.
+ # Possible values depend on your CPU. For available frequencies see
+@@ -113,8 +113,8 @@
+ # - When HWP.EPP is available, EPB is not set
+ # Default: balance_performance (AC), balance_power (BAT)
+ 
+-#CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
+-#CPU_ENERGY_PERF_POLICY_ON_BAT=balance_power
++CPU_ENERGY_PERF_POLICY_ON_AC=performance
++CPU_ENERGY_PERF_POLICY_ON_BAT=power
+ 
+ # Set Intel CPU P-state performance: 0..100 (%).
+ # Limit the max/min P-state to control the power dissipation of the CPU.
+@@ -123,18 +123,18 @@
+ # newer CPU.
+ # Default: <none>
+ 
+-#CPU_MIN_PERF_ON_AC=0
+-#CPU_MAX_PERF_ON_AC=100
+-#CPU_MIN_PERF_ON_BAT=0
+-#CPU_MAX_PERF_ON_BAT=30
++CPU_MIN_PERF_ON_AC=0
++CPU_MAX_PERF_ON_AC=100
++CPU_MIN_PERF_ON_BAT=0
++CPU_MAX_PERF_ON_BAT=30
+ 
+ # Set the CPU "turbo boost" (Intel) or "turbo core" (AMD) feature:
+ #   0=disable, 1=allow.
+ # Note: a value of 1 does *not* activate boosting, it just allows it.
+ # Default: <none>
+ 
+-#CPU_BOOST_ON_AC=1
+-#CPU_BOOST_ON_BAT=0
++CPU_BOOST_ON_AC=1
++CPU_BOOST_ON_BAT=0
+ 
+ # Set the Intel CPU HWP dynamic boost feature:
+ #   0=disable, 1=enable.
+@@ -142,8 +142,8 @@
+ # 6th gen. or newer CPU.
+ # Default: <none>
+ 
+-#CPU_HWP_DYN_BOOST_ON_AC=1
+-#CPU_HWP_DYN_BOOST_ON_BAT=0
++CPU_HWP_DYN_BOOST_ON_AC=1
++CPU_HWP_DYN_BOOST_ON_BAT=0
+ 
+ # Minimize number of used CPU cores/hyper-threads under light load conditions:
+ #   0=disable, 1=enable.
+@@ -166,8 +166,8 @@
+ # hardware and additional profiles such as: balanced-performance, quiet, cool.
+ # Default: <none>
+ 
+-#PLATFORM_PROFILE_ON_AC=performance
+-#PLATFORM_PROFILE_ON_BAT=low-power
++PLATFORM_PROFILE_ON_AC=performance
++PLATFORM_PROFILE_ON_BAT=low-power
+ 
+ # Define disk devices on which the following DISK/AHCI_RUNTIME parameters act.
+ # Separate multiple devices with spaces.
+@@ -279,12 +279,12 @@
+ # the output of tlp-stat -g.
+ # Default: <none>
+ 
+-#INTEL_GPU_MIN_FREQ_ON_AC=0
+-#INTEL_GPU_MIN_FREQ_ON_BAT=0
+-#INTEL_GPU_MAX_FREQ_ON_AC=0
+-#INTEL_GPU_MAX_FREQ_ON_BAT=0
+-#INTEL_GPU_BOOST_FREQ_ON_AC=0
+-#INTEL_GPU_BOOST_FREQ_ON_BAT=0
++INTEL_GPU_MIN_FREQ_ON_AC=100
++INTEL_GPU_MIN_FREQ_ON_BAT=100
++INTEL_GPU_MAX_FREQ_ON_AC=1300
++INTEL_GPU_MAX_FREQ_ON_BAT=800
++INTEL_GPU_BOOST_FREQ_ON_AC=1300
++INTEL_GPU_BOOST_FREQ_ON_BAT=1000
+ 
+ # AMD GPU power management.
+ # Performance level (DPM): auto, low, high; auto is recommended.
+@@ -313,7 +313,7 @@
+ # Default: off (AC), on (BAT)
+ 
+ #WIFI_PWR_ON_AC=off
+-#WIFI_PWR_ON_BAT=on
++WIFI_PWR_ON_BAT=off
+ 
+ # Disable Wake-on-LAN: Y/N.
+ # Default: Y
+@@ -365,6 +365,7 @@
+ # Default: "mei_me nouveau radeon", use "" to disable completely.
+ 
+ #RUNTIME_PM_DRIVER_DENYLIST="mei_me nouveau radeon"
++RUNTIME_PM_DRIVER_DENYLIST=""
+ 
+ # Permanently enable/disable Runtime PM for listed PCIe device addresses
+ # (independent of the power source). This has priority over all preceding
+@@ -378,7 +379,8 @@
+ # Set to 0 to disable, 1 to enable USB autosuspend feature.
+ # Default: 1
+ 
+-#USB_AUTOSUSPEND=1
++#USB_AUTOSUSPEND=0
++USB_AUTOSUSPEND=1
+ 
+ # Exclude listed devices from USB autosuspend (separate with spaces).
+ # Use lsusb to get the ids.
+@@ -387,6 +389,7 @@
+ # Default: <none>
+ 
+ #USB_DENYLIST="1111:2222 3333:4444"
++USB_DENYLIST="0bda:8156 1050:0116"
+ 
+ # Exclude audio devices from USB autosuspend:
+ #   0=do not exclude, 1=exclude.
+@@ -476,7 +479,7 @@
+ #   bluetooth, nfc, wifi, wwan.
+ # Default: <none>
+ 
+-#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth nfc wifi wwan"
++DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth nfc wifi wwan"
+ 
+ # Battery Care -- Charge thresholds
+ # Charging starts when the charge level is below the START_CHARGE_THRESH value

rsendmail now packaged in debian, mention PEP 668 issue
diff --git a/services/upgrades/bookworm.md b/services/upgrades/bookworm.md
index ca608a3e..bb0ccf2c 100644
--- a/services/upgrades/bookworm.md
+++ b/services/upgrades/bookworm.md
@@ -134,10 +134,6 @@ can log back in over a serial console or virtual terminal.
         printf "Press enter to continue, Ctrl-C to abort." &&
         read -r _ &&
         (puppet agent -t || true) &&
-        : reinstall Python packages to follow Python upgrade &&
-        for package in rsendmail ; do
-            cd ~anarcat/src/$package && pip3 install . || echo WARNING: failed to install $package
-        done &&
         : rm -f /etc/apt/apt.conf.d/50unattended-upgrades.dpkg-dist /etc/ca-certificates.conf.dpkg-old /etc/cron.daily/bsdmainutils.dpkg-remove /etc/default/prometheus-apache-exporter.dpkg-dist /etc/default/prometheus-node-exporter.dpkg-dist /etc/logrotate.d/apache2.dpkg-dist /etc/nagios/nrpe.cfg.dpkg-dist /etc/ssh/ssh_config.dpkg-dist /etc/ssh/sshd_config.ucf-dist /etc/unbound/unbound.conf.dpkg-dist &&
         printf "\a" &&
         /home/anarcat/src/koumbit-scripts/vps/clean_conflicts &&
@@ -145,16 +141,6 @@ can log back in over a serial console or virtual terminal.
         printf "End of Step 6\a\n" &&
         shutdown -r +1 "rebooting to get rid of old kernel image..."
 
-    NOTE: the pip install is not great. What I should do instead is:
-
-        pip freeze --local > requirements.txt
-        apt upgrade
-        pip install -r requirements.txt
-        rm -rf .../python3.x # remove old crap
-
-    That way we reinstall what's already setup, and we have pinned
-    versions, but [not checksums](https://github.com/psf/fundable-packaging-improvements/issues/31).
-
  7. Post-upgrade checks:
 
         export LC_ALL=C.UTF-8 &&
@@ -318,6 +304,13 @@ also:
     apt install puppet-module-puppetlabs-cron-core puppet-module-puppetlabs-augeas-core puppet-module-puppetlabs-sshkeys-core
     puppetserver gem install trocla:0.4.0 --no-document
 
+## pip install changes (PEP 668)
+
+This is not yet documented in the Debian release notes ([1033564](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1033564)),
+but we are now enforcing [PEP 668][] which means that a simple `pip
+install foo` will fail unless you pass `--break-system-packages` or
+use a virtual environment.
+
 # Issues
 
 See also the official list of [known issues](https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.en.html).
@@ -422,6 +415,32 @@ Those packages were removed from bookworm and eventually restored.
  * [tty-clock](https://tracker.debian.org/pkg/tty-clock) - [FTBFS](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=997179), fixed upstream, but orphaned
  * [yubikey-manager](https://tracker.debian.org/pkg/yubikey-manager) - [some policy failure](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1012587), fixed
 
+### pip installation
+
+NOTE: this procedure used to advise to use pip to reinstall packages
+but my own packages are all in Debian now, so that is not an issue
+anymore. But in case that problem comes up again in the future, what I
+was doing was:
+
+    : reinstall Python packages to follow Python upgrade &&
+    for package in rsendmail ; do
+        cd ~anarcat/src/$package && pip3 install . || echo WARNING: failed to install $package
+    done
+
+This wasn't great. First, it now doesn't work in bookworm anymore
+because pip forbids installing packages that way, you *must* use
+virtual environments. Second, it doesn't cleanup old things and *will*
+forget stuff that hasn't been added to the procedure. I have
+considered this instead:
+
+    pip freeze --local > requirements.txt
+    apt upgrade
+    pip install -r requirements.txt
+    rm -rf .../python3.x # remove old crap
+
+That way we reinstall what's already setup, and we have pinned
+versions, but [not checksums](https://github.com/psf/fundable-packaging-improvements/issues/31).
+
 # Troubleshooting
 
 ## Upgrade failures

jmtd linked to my post!
diff --git a/services/archive/rescue.mdwn b/services/archive/rescue.mdwn
index 55c8b432..47e9894b 100644
--- a/services/archive/rescue.mdwn
+++ b/services/archive/rescue.mdwn
@@ -556,8 +556,9 @@ References
 ==========
 
 I'm following the path blazed by [jmtd](https://jmtd.net/) [here](https://jmtd.net/log/imaging_discs/) and
-[here](https://jmtd.net/log/imaging_discs/2). The [forensics wiki](https://www.forensicswiki.org/) also has [docs on ddrescue](https://www.forensicswiki.org/wiki/Ddrescue)
-which were useful.
+[here](https://jmtd.net/log/imaging_discs/2). (Update: [inspired by this very post](https://jmtd.net/log/imaging_discs/3/), jmtd collected
+his notes in a [new page](https://jmtd.net/computing/imaging_discs/).) The [forensics wiki](https://www.forensicswiki.org/) also has [docs
+on ddrescue](https://www.forensicswiki.org/wiki/Ddrescue) which were useful.
 
 Tools used:
 

truenas has nice cases
diff --git a/hardware/server/marcos.mdwn b/hardware/server/marcos.mdwn
index cd8330f5..09af781c 100644
--- a/hardware/server/marcos.mdwn
+++ b/hardware/server/marcos.mdwn
@@ -354,7 +354,7 @@ a high TDP power consumption (+30W) but we estimate the total power
 consumption is still well below the PSU's 500W capacity. They also did
 not have the 2400G in stock, for future reference.
 
-## FreeNAS mini
+## TrueNAS mini
 
 The folks behind FreeNAS are offering NAS hardware pre-installed with
 the (FreeBSD-based) distribution:
@@ -368,6 +368,10 @@ It's unclear if I could just migrate marcos to this platform as is,
 and the prices might be slightly higher than what I would get when
 building it from scratch...
 
+Update: FreeNAS is now called [TrueNAS](https://www.truenas.com/) and they have pretty sexy
+cases now, checkout their [TrueNAS mini](https://www.truenas.com/truenas-mini/) boxes. Their 4-bay hotswap
+thing starts at 1000$.
+
 ## Pine 64
 
 They have SBCs of course -- that's how they started -- but also a neat

clarify marcos case specifications, mention the UPS
diff --git a/hardware/server/marcos.mdwn b/hardware/server/marcos.mdwn
index 6fe8d158..cd8330f5 100644
--- a/hardware/server/marcos.mdwn
+++ b/hardware/server/marcos.mdwn
@@ -20,14 +20,18 @@ particulier [[services/mail]] et [[services/backup]].
 
 # Specification
 
- * [CSE-733TQ-500B][]: [300$][] (80+ bronze 500W PSU)
- * [ASUS PRIME X470-PRO][]: [187$][] (AM4/PGA 1331 ATX 12"x9.6" 6 SATA
-   Intel® I211-AT chipset, [detailed specs][])
- * Kingston KSM26ED8/16ME (16GB RAM): [114$][]
+ * Case: [CSE-733TQ-500B][] ([300$][]), incl. 80+ bronze 500W PSU,
+   4x3.5" hotswap bays, 2x5.25" bays, 1x3.5" bay, 7" (4U) x 20.9" x
+   16.8" (WxDxL), 17Kg ([manual](https://www.supermicro.com/manuals/chassis/Mid-tower/SC733.pdf))
+ * Motherboard: [ASUS PRIME X470-PRO][]: [187$][] (AM4/PGA 1331 ATX
+   12"x9.6" 6 SATA Intel® I211-AT chipset, [detailed specs][])
+ * Memory: Kingston KSM26ED8/16ME (16GB RAM): [114$][]
  * [AMD Ryzen 5 2600][] - replaced with a [2600x](http://www.atic.ca/index.php?page=details&psku=196096) at same cost (no
    GPU, 6 cores, 95W 3.4GHz): [287$][]
  * Total: 889$CAD
 
+The server is also backed by a UPS, a [APC 1500VA BX1500m](https://www.apc.com/ca/en/product/BX1500M/apc-back-ups-1500-compact-tower-1500va-120v-avr-lcd-10-nema-outlets-5-surge/).
+
 [CSE-733TQ-500B]: https://www.supermicro.com/en/products/chassis/tower/733/SC733TQ-500B
 [300$]: http://www.atic.ca/index.php?page=details&psku=63796
 [ASUS PRIME X470-PRO]: https://www.asus.com/us/Motherboards/PRIME-X470-PRO/

mention the USB-C dock issues
diff --git a/hardware/angela.mdwn b/hardware/angela.mdwn
index 95db3f17..49ca09e9 100644
--- a/hardware/angela.mdwn
+++ b/hardware/angela.mdwn
@@ -88,4 +88,9 @@ this installed" problem and just deal with this as I go along.
 
 See [[hardware/laptop/framework-12th-gen]] for a detailed review.
 
+Note that the monitors are hooked up to angela through a USB-C /
+Thunderbolt dock from [Cable Matters](https://www.cablematters.com/), with the lovely name of
+[201053-SIL](https://www.cablematters.com/pc-1054-127-usb-c-docking-station-with-dual-4k-hdmi-and-80w-charging-for-windows-computers.aspx). It has issues, see [[this blog
+post|blog/2023-02-10-usb-c]] for an in-depth discussion.
+
 [[!tag node]]
diff --git a/hardware/laptop/framework-12th-gen.md b/hardware/laptop/framework-12th-gen.md
index e87a0f10..4a219677 100644
--- a/hardware/laptop/framework-12th-gen.md
+++ b/hardware/laptop/framework-12th-gen.md
@@ -1918,6 +1918,13 @@ USB hub) drop keys, lag a lot or hang, and I get visual glitches.
 The fix was to tighten the screws around the CPU on the motherboard
 (!), which is, thankfully, a rather simple repair.
 
+## USB docks are hell
+
+Note that the monitors are hooked up to angela through a USB-C /
+Thunderbolt dock from [Cable Matters](https://www.cablematters.com/), with the lovely name of
+[201053-SIL](https://www.cablematters.com/pc-1054-127-usb-c-docking-station-with-dual-4k-hdmi-and-80w-charging-for-windows-computers.aspx). It has issues, see [[this blog
+post|blog/2023-02-10-usb-c]] for an in-depth discussion.
+
 # Shipping details
 
 I ordered the Framework in August 2022 and received it about a month
diff --git a/hardware/monitor.mdwn b/hardware/monitor.mdwn
index 65707f9d..2c298eb7 100644
--- a/hardware/monitor.mdwn
+++ b/hardware/monitor.mdwn
@@ -43,6 +43,11 @@ right side, really strange. But for diagnostics on servers they are
 great because the stand can be removed easily so they're easy to
 squeeze in places and so on.
 
+Note that the monitors are hooked up to angela through a USB-C /
+Thunderbolt dock from [Cable Matters](https://www.cablematters.com/), with the lovely name of
+[201053-SIL](https://www.cablematters.com/pc-1054-127-usb-c-docking-station-with-dual-4k-hdmi-and-80w-charging-for-windows-computers.aspx). It has issues, see [[this blog
+post|blog/2023-02-10-usb-c]] for an in-depth discussion.
+
 [HP L2245wg]: https://support.hp.com/ca-en/product/hp-l2245wg-22-inch-widescreen-lcd-monitor/3758498/
 [Toshiba 19AV500U]: https://productz.com/en/toshiba-19av500u/p/eWMGr#full-specs
 [Dell 1704FPvt]: https://www.dell.com/downloads/global/products/monitors/en/spec_1704fp_en.pdf

new monitor
diff --git a/hardware/monitor.mdwn b/hardware/monitor.mdwn
index 83599a30..65707f9d 100644
--- a/hardware/monitor.mdwn
+++ b/hardware/monitor.mdwn
@@ -24,12 +24,13 @@ I somehow managed to collect a ridiculous pile of old monitors. Here's
 what works and doesn't, in descending order of (totally subjective)
 "quality":
 
-| Model                          | Resolution     | Size  | Contrast | Lat  | Connectors              | Notes                            | Status |
-|--------------------------------|----------------|-------|----------|------|-------------------------|----------------------------------|--------|
-| [LG Flatron Wide L204WTX-SF][] | 1680x1050@60Hz | 20"   | 2000:1   | 5ms  | VGA DVI                 | looks great, one dead pixel      | angela |
-| [Acer P186HV][]                | 1366x768@60Hz  | 18.5" | 5000:1   | 5ms  | VGA                     | display looks dusty              | simon  |
-| [Dell 1704FPvt][]              | 1280x1024@60Hz | 17"   | 1000:1   | 25ms | VGA DVI 4xUSB           | square, rotating, flickering     | marcos |
-| [Dell 1704FPvt][]              | 1280x1024@60Hz | 17"   | 1000:1   | 25ms | VGA DVI 4xUSB           | square, rotating, flickering     | curie  |
+| Model                          | Resolution     | Size  | Contrast | Lat  | Connectors    | Notes                              | Status |
+|--------------------------------|----------------|-------|----------|------|---------------|------------------------------------|--------|
+| [LG Flatron Wide L204WTX-SF][] | 1680x1050@60Hz | 20"   | 2000:1   | 5ms  | VGA DVI       | looks great, one dead pixel        | angela |
+| [Dell 2208WFP][]               | 1680x1050@?Hz  | 22"   | 1000:1   | 5ms  | VGA DVI 2xUSB | looks organge-y, 20$ from recyborg | angela |
+| [Acer P186HV][]                | 1366x768@60Hz  | 18.5" | 5000:1   | 5ms  | VGA           | display looks dusty                | simon  |
+| [Dell 1704FPvt][]              | 1280x1024@60Hz | 17"   | 1000:1   | 25ms | VGA DVI 4xUSB | square, rotating, flickering       | marcos |
+| [Dell 1704FPvt][]              | 1280x1024@60Hz | 17"   | 1000:1   | 25ms | VGA DVI 4xUSB | square, rotating, flickering       | curie  |
 
 The LG takes a long time to return from sleep.
 
@@ -50,6 +51,7 @@ squeeze in places and so on.
 [LG Flatron Wide L204WTX-SF]: https://www.lg.com/ca_en/support/product/lg-L204WTX-SF
 [Samsung B2330H]: https://www.samsung.com/us/business/support/owners/product/b2330-series-b2330hd/
 [LG Flatron L1718S]: https://www.lg.com/us/support/product/lg-L1718S-BN.AUS
+[Dell 2208WFP]: https://www.dell.com/support/home/en-ca/product-support/product/dell-2208wfp/docs
 
 ## Retired
 

mess around themes aimlessly
diff --git a/software/desktop/firefox.mdwn b/software/desktop/firefox.mdwn
index 9b0988cb..3398b446 100644
--- a/software/desktop/firefox.mdwn
+++ b/software/desktop/firefox.mdwn
@@ -318,6 +318,36 @@ that I version-control into git:
  * `privacy.resistFingerprinting`: true (helps with
    [fingerprinting](https://www.bitestring.com/posts/2023-03-19-web-fingerprinting-is-worse-than-I-thought.html5), but [breaks dark mode](https://bugzilla.mozilla.org/show_bug.cgi?id=1535189), see also [this TB
    bug](https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40337))
+ * fixing the scroll bars:
+   * `widget.gtk.overlay-scrollbars.enabled`: false (don't overlay the
+     scrollbars, make it take their own space)
+   * `widget.non-native-theme.scrollbar.style`: 4 ("windows 10"
+     scrollbar style, which is a big, chunky, square-ish scrollbar)
+   * the actual width can be tweaked with
+     `widget.non-native-theme.scrollbar.size.override`, I set it to 10
+   * a better approach might be to [tweak the GTK theme
+     instead](https://unix.stackexchange.com/a/592978/30227)... 
+     
+     I ended up doing `apt install breeze-gtk-theme` which
+     looks a bit better in *other* GTK apps, but somehow Firefox
+     doesn't pick that up argh. I still set the following to have
+     other GTK apps behave:
+     
+         gsettings set org.gnome.desktop.interface gtk-theme Breeze-Dark
+         gsettings set org.gnome.desktop.interface color-scheme prefer-dark
+         gsettings set org.gnome.desktop.interface icon-theme Breeze-Dark
+         gsettings set org.gnome.desktop.interface icon-theme Breeze-Dark
+         gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"
+         gsettings set org.gnome.desktop.interface font-name "Noto Sans 11"
+         gsettings set org.gnome.desktop.interface document-font-name "Noto Sans 11"
+         gsettings set org.gnome.desktop.interface monospace-font-name "Fira Mono 11" 
+
+     Useful hack:
+
+         gsettings list-recursively org.gnome.desktop.interface | grep -i font
+
+     Source: https://wiki.archlinux.org/title/GTK
+
  * `middlemouse.contentLoadURL` ([ref](http://kb.mozillazine.org/Middlemouse.contentLoadURL)):
    false (got used to chromium not doing that, and it seems too risky:
    passwords can leak in DNS too easily if you miss the field)

tried resistFingerprinting, breaks dark mode, abandoned
diff --git a/software/desktop/firefox.mdwn b/software/desktop/firefox.mdwn
index 52ea848d..9b0988cb 100644
--- a/software/desktop/firefox.mdwn
+++ b/software/desktop/firefox.mdwn
@@ -313,9 +313,11 @@ that I version-control into git:
  * `network.cookie.cookieBehavior` ([ref](http://kb.mozillazine.org/Network.cookie.cookieBehavior#3_2)):
    1 (no third-party cookies)
  * `browser.in-content.dark-mode`: true (prefer dark CSS, see [this
-   discussion](https://css-tricks.com/dark-modes-with-css/), [new in FF 67](https://blog.logrocket.com/whats-new-in-firefox-67-prefers-color-scheme-and-more-195be81df03f/)), does not work with
-   `privacy.resistFingerprinting`, use `ui.systemUsesDarkTheme` set to
-   `1` instead. see [this doc](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme)
+   discussion](https://css-tricks.com/dark-modes-with-css/), [new in FF 67](https://blog.logrocket.com/whats-new-in-firefox-67-prefers-color-scheme-and-more-195be81df03f/)), also set
+   `ui.systemUsesDarkTheme` to `1`. see [this doc](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme)
+ * `privacy.resistFingerprinting`: true (helps with
+   [fingerprinting](https://www.bitestring.com/posts/2023-03-19-web-fingerprinting-is-worse-than-I-thought.html5), but [breaks dark mode](https://bugzilla.mozilla.org/show_bug.cgi?id=1535189), see also [this TB
+   bug](https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/40337))
  * `middlemouse.contentLoadURL` ([ref](http://kb.mozillazine.org/Middlemouse.contentLoadURL)):
    false (got used to chromium not doing that, and it seems too risky:
    passwords can leak in DNS too easily if you miss the field)

document curie's actual CPU capabilities
diff --git a/hardware/curie.mdwn b/hardware/curie.mdwn
index b3678235..3ed1f77a 100644
--- a/hardware/curie.mdwn
+++ b/hardware/curie.mdwn
@@ -22,9 +22,9 @@ I bought it after a failed search for a [[laptop|hardware/laptop]].
 
 # Specification
 
-* SoC: [Intel NUC BOXNUC6I3SYH][] I3-6100U 2xDDR4-2133 SODIMM Slots
-  2.5&M.2 PCIEx4 Slot Mini-DP HDMI 6XUSB SDXC ([technical
-  specification][]): $380
+* SoC: [Intel NUC BOXNUC6I3SYH][] [i3-6100U][] (AKA [Skylake-U][],
+  2.3GHz 4 threads, 15W) 2xDDR4-2133 SODIMM Slots 2.5&M.2 PCIEx4 Slot
+  Mini-DP HDMI 6XUSB SDXC ([technical specification][]): $380
 * Memory: Crucial 16GB DDR4 2133 SODIMM PC4-17000 CL15 Dual Ranked
   1.2V Unbuffered 260PIN Memory: $136
 * Network:
@@ -54,6 +54,9 @@ It works very well and is generally silent unless I manage to max out
 all CPUs for an extended period of time, in which case a small fan
 noise can be heard.
 
+[Skylake-U]: https://en.wikipedia.org/wiki/List_of_Intel_Core_i3_processors#%22Skylake-U%22_(14_nm)
+[i3-6100U]: https://ark.intel.com/content/www/us/en/ark/products/88180/intel-core-i36100u-processor-3m-cache-2-30-ghz.html
+
 # Maintenance log
 
 ## Fan problems

amazing news from framework
diff --git a/hardware/laptop/framework-12th-gen.md b/hardware/laptop/framework-12th-gen.md
index d7ae2eda..e87a0f10 100644
--- a/hardware/laptop/framework-12th-gen.md
+++ b/hardware/laptop/framework-12th-gen.md
@@ -98,6 +98,29 @@ I have decided to use the Framework as my daily driver, and had to buy
 a [[USB-C dock|blog/2023-02-10-usb-c]] to get my two monitors
 connected, which was own adventure.
 
+Update: Framework just (2023-03-23) just announced a whole bunch of
+new stuff:
+
+ * [AMD Ryzen 7040 and 13th gen Intel board](https://frame.work/blog/framework-laptop-13-with-13th-gen-intel-core-and-amd-ryzen-7040-series)
+ * [16" laptop version](https://frame.work/blog/introducing-the-framework-laptop-16) (pre-order) with an expansion "bay" for an
+   upgradeable graphics module which could also fit M.2 storage
+ * [audio expansion card](https://frame.work/products/audio-expansion-card), since the 16 laptop doesn't have a combo
+   jack
+ * official [mainboard case](https://frame.work/products/cooler-master-mainboard-case) (back-ordered)
+ * official *battery case* (!) (no site yet)
+ * new bezel colors, including [transluscent](https://frame.work/products/bezel?v=FRANCBCP04), green, purple and
+   red (back-ordered)
+ * new, louder (80dB) [speakers](https://frame.work/products/speaker-kit?v=FRANBXFG03)
+ * [new 61Wh battery](https://frame.work/products/battery?v=FRANGWAT01)
+ * [matte display](https://frame.work/products/display-kit?v=FRANFX0001)
+ * [new hinge](https://frame.work/products/hinge-kit-2nd-gen-3-5kg)
+
+The recording is available in [this video](https://www.youtube.com/watch?v=ccpsyRipHlk) and it's not your
+typical keynote. It starts ~25 minutes late, audio is crap, lightning
+and camera are crap, clapping seems to be from whatever staff they
+managed to get together in a room, decor is bizarre, colors are
+shit. It's amazing.
+
 # Specifications
 
 Those are the specifications of the 12th gen, in general terms. Your
@@ -137,9 +160,13 @@ This is the actual build I ordered. Amounts in CAD. (1CAD =
 
 ## Base configuration
 
- * CPU: Intel® Core™ i5-1240P, 1079$
+ * CPU: Intel® Core™ [i5-1240P][] (AKA [Alder Lake P][] 8 4.4GHz
+   P-threads, 8 3.2GHz E-threads, 16 total, 28-64W), 1079$
  * Memory: 16GB (1 x 16GB) DDR4-3200, 104$
 
+[i5-1240P]: https://ark.intel.com/content/www/us/en/ark/products/132221.html
+[Alder Lake P]: https://en.wikipedia.org/wiki/List_of_Intel_Core_i5_processors#%22Alder_Lake-P%22_(Intel_7)
+
 ## Customization
 
  * Keyboard: US English, included
@@ -1969,12 +1996,14 @@ long road trip across the continental US.
    * [desktop mod](https://github.com/whatthefilament/Frame-WorkStation) (from [this discussion](https://www.reddit.com/r/framework/comments/wvzw0m/has_anyone_taken_a_framework_motherboard_and_made/)), also a [normal
      desktop adapter](https://github.com/whatthefilament/Framework-Desktop-Adapter) to reuse an existing case (from [this
      thread](https://community.frame.work/t/framework-desktop-case-adapter/19126))
+   * [mainboard case](https://frame.work/products/cooler-master-mainboard-case) (official!)
    * [tablet mod](https://www.instructables.com/Framework-Tablet-Assembly-Manual/) (kind of clunky, but works!)
    * [keyboard mod](https://www.tindie.com/products/crimier/framework-input-cover-controller/) (i.e. turn the Framework keyboard, touch pad,
      fingerprint reader and power buttons into a "normal" USB keyboard
      and hub)
    * [triple screen laptop mod](https://diyperks.com/diy-perks-triple-screen-laptop/) ([video](https://www.youtube.com/watch?v=aUKpY0o5tMo))
    * [Thinkpad 701C transplant](https://community.frame.work/t/thinkpad-701c-with-a-framework-brain-transplant-work-in-progress/27409)
+   * [Braille laptop](https://www.orbitresearch.com/product/optima/)
 
  * [Debian installation report](https://wiki.debian.org/InstallingDebianOn/FrameWork/12thGen), has good tips on the firmware
    hacks necessary
@@ -2007,6 +2036,9 @@ long road trip across the continental US.
    * [chat is on Discord](https://community.frame.work/t/official-discord/14209/), but [bridged with Matrix](https://matrix.to/#/#framework-space:matrix.org), there's
      [talk of bridging it with IRC as well](https://community.frame.work/t/official-discord/14209/13), for now there's a
      handful of us in `#framework` on <https://libera.chat/>
+   * [GitHub organization](https://github.com/FrameworkComputer/), interesting repositories include the
+     [Expansion Cards](https://github.com/FrameworkComputer/ExpansionCards), [Input Modules](https://github.com/FrameworkComputer/InputModules), [Expansion Bay](https://github.com/FrameworkComputer/ExpansionBay),
+     [mainboard](https://github.com/FrameworkComputer/Mainboard), [EmbeddedController](https://github.com/FrameworkComputer/EmbeddedController)
 
 [[!tag blog debian-planet laptop hardware review debian]]
 

discovered hydro one fiber
diff --git a/blog/2022-09-25-pourquoi-nationaliser.md b/blog/2022-09-25-pourquoi-nationaliser.md
index f4282bb4..2c32955d 100644
--- a/blog/2022-09-25-pourquoi-nationaliser.md
+++ b/blog/2022-09-25-pourquoi-nationaliser.md
@@ -194,4 +194,11 @@ ans, date après laquelle les clients sont censés payer le prix complet
 par eux-mêmes... Un bon moyen, finalement, de financer le
 développement de la clientèle de ce milliardaire!
 
+## En Ontario, Hydro fait de la fibre
+
+Je viens de découvrir [cette nouvelle de 2021](https://dgtlinfra.com/hydro-one-fiber-telecom-acronym-solutions/) qui montre comment
+[Hydro One](https://www.hydroone.com/), une [compagnie privée](https://en.wikipedia.org/wiki/Hydro_One) a une filiale qui se nomme
+maintenant [Acronym solutions](https://acronymsolutions.com/) qui vend l'accès à son réseau de
+fibre qui connecte, entre autres, Montréal à Toronto.
+
 [[!tag analyse bell histoire "network neutrality" internet politique canada québec ledevoir-rejet]]

add cranky quote
taken from https://www.paulkingsnorth.net/dark-ecology
diff --git a/fortunes.txt b/fortunes.txt
index b29f5cf3..4bc0ecca 100644
--- a/fortunes.txt
+++ b/fortunes.txt
@@ -1208,3 +1208,7 @@ When machines and computers, profit motives and property rights are
 considered more important than people, the giant triplets of racism,
 extreme materialism and militarism are incapable of being conquered.
                         — Dr. Martin Luther King
+%
+A crank is a very elegant device. It’s small, it’s strong, it’s
+lightweight, energy efficient, and it makes revolutions.
+                        — E. F. Schumacher

update: disabled Charter web font, switch back to system fonts
diff --git a/blog/2020-03-10-font-changes.mdwn b/blog/2020-03-10-font-changes.mdwn
index 765b023f..dc490ed8 100644
--- a/blog/2020-03-10-font-changes.mdwn
+++ b/blog/2020-03-10-font-changes.mdwn
@@ -266,4 +266,15 @@ for future reshuffling of this work:
  * <https://www.fontsquirrel.com/>
  * <https://www.codingfont.com/>
 
+2023-03-20: [disabled web fonts](https://gitlab.com/anarcat/ikiwiki-bootstrap-anarcat/-/commit/9f960ebc1661959c7dc43823af23daea2cdca591) after reading [Stop Using Custom
+Web Fonts](https://bt.ht/webfonts/). I still suggest Charter, but rely on the system fonts
+and accept fallbacks. I previously had trouble with the "nasty bitmap
+fonts", but it turns out this doesn't seem to be a problem anymore, at
+least not in Firefox. I have also used those tools to figure things
+out a little better:
+
+ * [Fallback Font Generator](https://screenspan.net/fallback)
+ * [Font Style Matcher](https://meowni.ca/font-style-matcher/)
+ * [Modern Font Stacks](https://modernfontstacks.com/)
+
 [[!tag debian-planet python-planet typography meta ikiwiki theming usability]]

more women
diff --git a/services/dns.mdwn b/services/dns.mdwn
index 88383e89..b0be060b 100644
--- a/services/dns.mdwn
+++ b/services/dns.mdwn
@@ -141,6 +141,8 @@ Les noms suivants pourraient être utilisés pour de futures machines:
    of Algonquin and Mohawk ancestry"
  * [Hannah Arendt][] - "one of the most important political
    philosophers of the twentieth century"
+ * [Evelyn Berezin][] - inventor of the computer word processor,
+   developed the first computerized banking system
  * [Wendy Carlos][] - trans women, "helped in the development of the
    Moog synthesizer", wrote music for Kubrick's Clockwork Orange, The
    Shining, basically invented electronic music
@@ -160,6 +162,15 @@ Les noms suivants pourraient être utilisés pour de futures machines:
  * [Phillis Wheatley][] - first African-American author of a published
    book of poetry
 
+Space women:
+
+ * Valentina Tereshkova - première femme dans l'espace
+ * Sally Ride - première américaine dans l'espace
+ * Svetlana Savitskaya - première femme à marcher dans l'espace
+ * Mae Jemison - première femme noire dans l'espace
+ * Eileen Collins - première femme commandante de bord et pilote de la
+   navette spaciale
+
 [Margaret Hamilton]: https://en.wikipedia.org/wiki/Margaret_Hamilton_(software_engineer)
 
 Voir aussi [cette liste][] de femmes moins connues mais peut-être
@@ -178,6 +189,7 @@ tout aussi importantes...
 [first rock and roll record]: https://en.wikipedia.org/wiki/First_rock_and_roll_record
 [Phillis Wheatley]: https://en.wikipedia.org/wiki/Phillis_Wheatley
 [Anahareo]: https://en.wikipedia.org/wiki/Anahareo?wprov=sfla1
+[Evelyn Berezin]: https://en.wikipedia.org/wiki/Evelyn_Berezin
 
 Relié
 =====

fix file paths
diff --git a/blog/2022-04-27-sbuild-qemu.md b/blog/2022-04-27-sbuild-qemu.md
index a0f563fe..de2e5bd4 100644
--- a/blog/2022-04-27-sbuild-qemu.md
+++ b/blog/2022-04-27-sbuild-qemu.md
@@ -101,7 +101,7 @@ later.
  * enter the VM to make test, changes will be discarded  (thanks Nick
    Brown for the `sbuild-qemu-boot` tip!):
  
-        sbuild-qemu-boot /srv/sbuild/qemu/unstable-amd64.img
+        sbuild-qemu-boot /srv/sbuild/qemu/unstable-autopkgtest-amd64.img
 
    That program is shipped only with bookworm and later, an equivalent
    command is:
@@ -113,26 +113,26 @@ later.
  * enter the VM to make *permanent* changes, which will *not* be
    discarded:
 
-        sudo sbuild-qemu-boot --read-write /srv/sbuild/qemu/unstable-amd64.img
+        sudo sbuild-qemu-boot --read-write /srv/sbuild/qemu/unstable-autopkgtest-amd64.img
 
    Equivalent command:
 
-        sudo qemu-system-x86_64 -enable-kvm -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0,id=rng-device0 -m 2048 -nographic /srv/sbuild/qemu/unstable-amd64.img
+        sudo qemu-system-x86_64 -enable-kvm -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0,id=rng-device0 -m 2048 -nographic /srv/sbuild/qemu/unstable-autopkgtest-amd64.img
 
  * update the VM (thanks lavamind):
  
-        sudo sbuild-qemu-update /srv/sbuild/qemu/unstable-amd64.img
+        sudo sbuild-qemu-update /srv/sbuild/qemu/unstable-autopkgtest-amd64.img
 
  * build in a specific VM regardless of the suite specified in the
    changelog (e.g. `UNRELEASED`, `bookworm-backports`,
    `bookworm-security`, etc):
 
-        sbuild --autopkgtest-virt-server-opts="-- qemu /var/lib/sbuild/qemu/bookworm-amd64.img"
+        sbuild --autopkgtest-virt-server-opts="-- qemu /var/lib/sbuild/qemu/bookworm-autopkgtest-amd64.img"
 
    Note that you'd also need to pass `--autopkgtest-opts` if you want
    `autopkgtest` to run in the correct VM as well:
 
-        sbuild --autopkgtest-opts="-- qemu /var/lib/sbuild/qemu/unstable.img" --autopkgtest-virt-server-opts="-- qemu /var/lib/sbuild/qemu/bookworm-amd64.img"
+        sbuild --autopkgtest-opts="-- qemu /var/lib/sbuild/qemu/unstable.img" --autopkgtest-virt-server-opts="-- qemu /var/lib/sbuild/qemu/bookworm-autopkgtest-amd64.img"
 
    You might also need parameters like `--ram-size` if you customized
    it above.

more details about the TOFU
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index 129573e0..ca581294 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -128,6 +128,9 @@ Dimensions:
 * 7A auto-reset fuse
 * Cable: 85cm
 
+Update: I found the [main TOFU website](https://zentofu.com/) and [the user manual](https://www.zentofu.com/book/en_TPS-US.pdf)
+which is a little more detailed.
+
 So I *guess* you can only draw 7A from the power source? That would
 mean 700W at 100V, or 1680W at 240V, which I'm a little suspicious of.
 
@@ -159,6 +162,16 @@ when I leave the office, but I'll probably bring a backup for my first
 international travels in case something goes wrong. I'm looking at
 Ugreen and Volta chargers as a backup for those.
 
+Update: in a real-world charging test, the power supply provided a
+about 28W (not 45W!) of charge, so it definitely can't sustain full
+power operation. A [Anker GANPrime](https://www.anker.com/ganprime) charger rated for 65W *also*
+doesn't provide the full 60W and peaks at 38W. This graph shows the
+Framework laptop ([rated for PD 3.0, 100W](https://community.frame.work/t/charger-usb-c-100w/26290/11?u=anarcat)) charging for about 15
+minutes then switching to the Anker charger.
+
+![A graph from the GNOME Power Statistics program showing samples
+oscillating between 24 and 30W and then jumping to about 36W](https://paste.anarc.at/publish/2023-03-16-amcFIf8oTbnxK9CTgo4fxSi0tvMg8J0dvGWpNClD71w/snap-20230316T105040.png)
+
 ### Ugreen
 
 So I was recommended the Ugreen chargers, but unfortunately it seems

more massive gallery tests
diff --git a/blog/mobile-massive-gallery.md b/blog/mobile-massive-gallery.md
index 61833e1d..14cb678c 100644
--- a/blog/mobile-massive-gallery.md
+++ b/blog/mobile-massive-gallery.md
@@ -107,6 +107,22 @@ date.
 
 [PhotoChiotte](https://gitlab.com/LaDaubePhotoChiotte/photochiotte) has an awful name but seems like a clever
 solution. All the logic is inside the mobile app and the server is a
-"dumb" web server with pregenerated thumbnails. Might be interesting.
+"dumb" web server with pregenerated thumbnails. It could be a great
+solution except the user interface is absolute shit. And I don't mind
+using such a strong word since it's literally the name of the software
+in French ("chiotte") so I guess it's self-assuming. It's barely
+usable, even with just local images. There are weird labels (the
+folder names I think?) under each image that take up needless space,
+dragging the images around lets you drag into nothingness, it's
+really, really hard to use. I haven't actually attempted to generate
+the thumbnails.
+
+another solution I tried is to use the plain [Simple Gallery](https://github.com/SimpleMobileTools/Simple-Gallery/) to
+browse a remote folder, but this is [explicitely not supported](https://github.com/SimpleMobileTools/Simple-Gallery/issues/2422) as
+they don't want their app to access the network (and rightly so, I
+guess). But there was [this comment](https://github.com/SimpleMobileTools/Simple-Gallery/issues/2422#issuecomment-1126840645) which pointed me at the [Amaze
+file manager](https://f-droid.org/en/packages/com.amaze.filemanager/) which actually supports SFTP! Unfortunately, in my
+tests it didn't work so well and of course didn't leverage existing
+thumbnails...
 
 [[!tag draft]]

more women
diff --git a/services/dns.mdwn b/services/dns.mdwn
index cbe1a90c..88383e89 100644
--- a/services/dns.mdwn
+++ b/services/dns.mdwn
@@ -137,6 +137,8 @@ Potentiels
 
 Les noms suivants pourraient être utilisés pour de futures machines:
 
+ * [Anahareo][] - "writer, animal rights activist and conservationist
+   of Algonquin and Mohawk ancestry"
  * [Hannah Arendt][] - "one of the most important political
    philosophers of the twentieth century"
  * [Wendy Carlos][] - trans women, "helped in the development of the
@@ -153,8 +155,10 @@ Les noms suivants pourraient être utilisés pour de futures machines:
    music", "the original soul sister" and "the Godmother of rock and
    roll", among the first to use distortion on the electric guitar,
    [first rock and roll record][], first interracial duet
- * [Sojourner Truth][] - abolotionist, first black women to win a
+ * [Sojourner Truth][] - abolitionist, first black women to win a
    court case against a black man
+ * [Phillis Wheatley][] - first African-American author of a published
+   book of poetry
 
 [Margaret Hamilton]: https://en.wikipedia.org/wiki/Margaret_Hamilton_(software_engineer)
 
@@ -172,6 +176,8 @@ tout aussi importantes...
 [Wendy Carlos]: https://en.wikipedia.org/wiki/Wendy_Carlos
 [Sister Rosetta Tharpe]: https://en.wikipedia.org/wiki/Sister_Rosetta_Tharpe
 [first rock and roll record]: https://en.wikipedia.org/wiki/First_rock_and_roll_record
+[Phillis Wheatley]: https://en.wikipedia.org/wiki/Phillis_Wheatley
+[Anahareo]: https://en.wikipedia.org/wiki/Anahareo?wprov=sfla1
 
 Relié
 =====

Anker update
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index 93fb026b..129573e0 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -61,7 +61,8 @@ Here are the devices I'm considering right now...
 
 The spec here is at least 65W USB-C with international plugs.
 
-* [Anker nano II](https://us.anker.com/pages/ankernano2): 50$USD sold out, not international?
+* [Anker nano II](https://us.anker.com/pages/ankernano2): 50$USD sold out, not international? they have
+  the [PowerPort III](https://www.amazon.com/dp/B0885SPJDZ) (65W, UK/US/EU, not AU), but it's sold out
 * [Ugreen 65W 2 USB-C 1 USB-A UK/US/EU](https://ca.ugreen.com/collections/charger/products/ugreen-65w-nexode-gan-usb-c-3-port-charger-with-us-uk-eu-plug-for-travel): 56$ USD (disappeared?)
 * [Thinkpad power adapter](https://www.lenovo.com/ca/en/p/accessories-and-software/chargers-and-batteries/chargers/gx20p92530): 54$USD, basically your normal ThinkPad charger, meh
 * [TOFU Power station](https://www.elvesfactory.com/worldshop/EN/TPS-UN): 95$USD 2 USB-A (15W), 2 USB-C (30-45W PD),

word-wrap
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index 97467566..93fb026b 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -63,10 +63,11 @@ The spec here is at least 65W USB-C with international plugs.
 
 * [Anker nano II](https://us.anker.com/pages/ankernano2): 50$USD sold out, not international?
 * [Ugreen 65W 2 USB-C 1 USB-A UK/US/EU](https://ca.ugreen.com/collections/charger/products/ugreen-65w-nexode-gan-usb-c-3-port-charger-with-us-uk-eu-plug-for-travel): 56$ USD (disappeared?)
-* [Thinkpad power adapter](https://www.lenovo.com/ca/en/p/accessories-and-software/chargers-and-batteries/chargers/gx20p92530): 54$USD, basically your normal thinkpad charger, meh
+* [Thinkpad power adapter](https://www.lenovo.com/ca/en/p/accessories-and-software/chargers-and-batteries/chargers/gx20p92530): 54$USD, basically your normal ThinkPad charger, meh
 * [TOFU Power station](https://www.elvesfactory.com/worldshop/EN/TPS-UN): 95$USD 2 USB-A (15W), 2 USB-C (30-45W PD),
   AU/US/UK/EU Mac-compatible adapters, 3-port 7A power strip (!)
-* [Volta GIGA 130W GAN charger](https://www.voltacharger.com/collections/best-seller-2022/products/giga-130w-gan-charger): 99$ 3 USB-C, 1 USB-A, 5$ extra for each international adapter
+* [Volta GIGA 130W GAN charger](https://www.voltacharger.com/collections/best-seller-2022/products/giga-130w-gan-charger): 99$ 3 USB-C, 1 USB-A, 5$ extra for
+  each international adapter
 
 ### TOFU power station
 

framework cable fits in the tofu, but barely
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index 70423a45..97467566 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -149,7 +149,8 @@ Compared to the Framework power supply, which has a 6'8" (203cm) USB-C cable
 and a 3'2" (96cm) power cable (so 9'10" total, or 3 meter long!), it's
 kind of ridiculous. That said, I can easily take the USB-C cable from
 the Framework power supply and carry it alongside the TOFU to get a
-~280cm (~9'2") cable, which is then somewhat reasonable.
+~280cm (~9'2") cable, which is then somewhat reasonable. It feels very
+"crammed" in the carrying case with the longer cable, unfortunately.
 
 At this stage, I'll definitely try this device as my main power source
 when I leave the office, but I'll probably bring a backup for my first

update on the power supply situation
diff --git a/blog/2023-02-10-usb-c.md b/blog/2023-02-10-usb-c.md
index f641250f..70423a45 100644
--- a/blog/2023-02-10-usb-c.md
+++ b/blog/2023-02-10-usb-c.md
@@ -62,22 +62,120 @@ Here are the devices I'm considering right now...
 The spec here is at least 65W USB-C with international plugs.
 
 * [Anker nano II](https://us.anker.com/pages/ankernano2): 50$USD sold out, not international?
-* [Ugreen 65W 2 USB-C 1 USB-A UK/US/EU](https://ca.ugreen.com/collections/charger/products/ugreen-65w-nexode-gan-usb-c-3-port-charger-with-us-uk-eu-plug-for-travel): 56$ USD
+* [Ugreen 65W 2 USB-C 1 USB-A UK/US/EU](https://ca.ugreen.com/collections/charger/products/ugreen-65w-nexode-gan-usb-c-3-port-charger-with-us-uk-eu-plug-for-travel): 56$ USD (disappeared?)
 * [Thinkpad power adapter](https://www.lenovo.com/ca/en/p/accessories-and-software/chargers-and-batteries/chargers/gx20p92530): 54$USD, basically your normal thinkpad charger, meh
-* [TOFU Power station](https://www.elvesfactory.com/worldshop/EN/TPS-UN): 95$USD 2 USB-A, 2 USB-C, AU/US/UK/EU adapters, 3-port power strip (!)
+* [TOFU Power station](https://www.elvesfactory.com/worldshop/EN/TPS-UN): 95$USD 2 USB-A (15W), 2 USB-C (30-45W PD),
+  AU/US/UK/EU Mac-compatible adapters, 3-port 7A power strip (!)
+* [Volta GIGA 130W GAN charger](https://www.voltacharger.com/collections/best-seller-2022/products/giga-130w-gan-charger): 99$ 3 USB-C, 1 USB-A, 5$ extra for each international adapter
 
-I particularly like the TOFU, but I am not sure it will deliver... I
-found that weird little thing through [this Twitter post](https://twitter.com/bsdbcr/status/1614887137735737346) from
+### TOFU power station
+
+I found that weird little thing through [this Twitter post](https://twitter.com/bsdbcr/status/1614887137735737346) from
 [Benedict Reuschling](https://twitter.com/bsdbcr), from [this blog post](https://klarasystems.com/articles/openzfs-data-security-vs-integrity/), from [2.5 admins
 episode 127](https://2.5admins.com/2-5-admins-127/) (phew!).
 
-Update: I ordered a TOFU power station today (2023-02-20). I'm a
-little concerned about the power output (45W instead of 65W for the
-Framework charger), but I suspect it will not actually be a problem
-while traveling, since the laptop will keep its charge during the day
-and will charge at night... The device shipped 3 days later, with an
-estimated delivery time of 12 to 15 days, so expect this thing to take
-its sweet time landing on your desk.
+I ordered a TOFU power station in February (2023-02-20) and it landed
+on my doorstep about two weeks later (2023-03-08).
+
+The power output is a little disappointing: my laptop tells me it's
+charging at 30W instead of the rated 45W, which is already less than
+the 65W provided by the normal Framework charger. I suspect it will
+have a hard time keeping up with a full-on, all CPU blaring power
+consumption, so I'm still considering a separate charger. It should be
+fine for charging the laptop overnight during my travels, which is
+basically my use case here.
+
+The "travel" thing is a little plastic contraption that holds three
+different power adapters: [Australian](https://en.wikipedia.org/wiki/AS/NZS_3112), [British](https://en.wikipedia.org/wiki/AC_power_plugs_and_sockets:_British_and_related_types#BS_1363_three-pin_(rectangular)_plugs_and_sockets), [Europe](https://en.wikipedia.org/wiki/Europlug),
+and [USA](https://en.wikipedia.org/wiki/NEMA_connector). The clever thing here is the other end is what looks
+like a [IEC 60320](https://en.wikipedia.org/wiki/IEC_60320) C7/C8 coupler, AKA a "figure-8", "infinity" or
+"shotgun", according to Wikipedia. It seems design to fit with Macbook
+charger cable adapters, but it also seems to physically fit inside a
+classic Thinkpad power supply, which means you can use this thing to
+turn a normal Thinkpad power supply into an international power
+supply, at the cost of removing a good chunk of wire. It is *not*
+compatible with the Framework power supply, which uses a *three* pin,
+grounded, C5/C6 coupler, AKA a "cloverleaf" or "Mickey Mouse"
+connector.
+
+Strangely, the travel adapters also have a *fourth* adapter which is
+not really an adapter, it's a flashlight, rechargeable with Micro USB
+connector.
+
+I'm still a little worried about overload: this thing is supposed to
+be designed as a power bar *and* a charger, but they warn against
+"overloading" it, with a picture of a hair drier... So what is it? Is
+it a full on 15A power bar or not? 220V? There's an odd lack of
+documentation about all of this. The specifications on the cover are:
+
+AC:
+
+* Input: 100V-240V
+* Output: 100V-240V
+
+DC:
+
+* Type-C: 36W/45W (PD)
+* Type-C: 18W (PD)
+* USB-Ax2: 15W (share)
+
+Dimensions:
+
+* 82mm(ø)x28mm(H)
+* Weight: 201g
+* 7A auto-reset fuse
+* Cable: 85cm
+
+So I *guess* you can only draw 7A from the power source? That would
+mean 700W at 100V, or 1680W at 240V, which I'm a little suspicious of.
+
+The specs for the "traveler" are:
+
+Dimensions:
+
+* 3cm x 3.8cm x 5.8cm
+* UK/EU/AU/US
+* Weight: 62g
+
+The two devices come in a small carrying case that is about 5" x 3.75"
+x 2" (or 12.7cm x 9.25cm x 5.08cm), so it's actually pretty bulky once
+everything is packed together. The actual power cable that wraps
+around the device is actually 2'7", or 78.74cm, the 85cm figure about
+probably counts the width of the device itself, which is a little
+disingenuous. There's a USB-C cable provided to actually charge your
+laptop, but it's *tiny*, only about a feet (11⅝") or 30cm. 
+
+Compared to the Framework power supply, which has a 6'8" (203cm) USB-C cable
+and a 3'2" (96cm) power cable (so 9'10" total, or 3 meter long!), it's
+kind of ridiculous. That said, I can easily take the USB-C cable from
+the Framework power supply and carry it alongside the TOFU to get a
+~280cm (~9'2") cable, which is then somewhat reasonable.
+
+At this stage, I'll definitely try this device as my main power source
+when I leave the office, but I'll probably bring a backup for my first
+international travels in case something goes wrong. I'm looking at
+Ugreen and Volta chargers as a backup for those.
+
+### Ugreen
+
+So I was recommended the Ugreen chargers, but unfortunately it seems
+their [international edition](https://ca.ugreen.com/collections/charger/products/ugreen-65w-nexode-gan-usb-c-3-port-charger-with-us-uk-eu-plug-for-travel) just disappeared from their
+website. A first attempt at contacting them yielded no response, and a
+second one yielded a *bounce* from qq.com telling me (in Chinese) "出
+错原因:该邮件内容涉嫌大量群发,并且被多数用户投诉为垃圾邮件。" which
+Google translates to "Reason for error: The content of this email is
+suspected of being mass-sent, and is complained by most users as
+spam."
+
+The Support button on their website does exactly fuckall, so I guess
+that's it for Ugreen.
+
+### Volta
+
+Volta has been a little more helpful and clarified it's possible to
+get extra international adapters for their chargers by email (which
+wasn't obvious from the website). But their charger is currently
+(2023-03-13) marked as "sold out", so I guess I'm stuck there as well.
 
 ## USB Docks
 

Archival link:

The above link creates a machine-readable RSS feed that can be used to easily archive new changes to the site. It is used by internal scripts to do sanity checks on new entries in the wiki.

Created . Edited .