Here is just a small list of things⢠that Iām aware will break, some quite badly, others in minor ways:
- Link rot & migrations: domain changes, path reshuffles, CDN/mirror use, or moving from txt ā jsonfeed will orphan replies unless every reader implements perfect 301/410 history, which they wonāt.
- Duplication & forks: mirrors/relays produce multiple valid locations for the same post; readers see several āparentsā and split the thread.
- Verification & spam-resistance: content addressing lets you dedupe and verify youāre pointing at exactly the post you meant (hash matches bytes). Location anchors can be replayed or spoofed more easily unless you add signing and canonicalization.
- Offline/cached reading: without the original URL being reachable, readers canāt resolve anchors; with hashes they can match against local caches/archives.
- Ecosystem churn: all existing clients, archives, and tools that assume content-derived IDs need migrations, mapping layers, and fallback logic. Expect long-lived threads to fracture across implementations.
@kat@yarn.girlonthemoon.xyz Mine shows 1/1 of 14 Twts š I think this is a bug š¤Æ
š§® USERS:1 FEEDS:2 TWTS:1470 ARCHIVED:90004 CACHE:2669 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1469 ARCHIVED:89989 CACHE:2669 FOLLOWERS:22 FOLLOWING:14
Hereās one possible hobby: 1. Take something you donāt like. 2. Try to like it. You can try to like stuff
š§® USERS:1 FEEDS:2 TWTS:1468 ARCHIVED:89982 CACHE:2683 FOLLOWERS:22 FOLLOWING:14
@sysop ao tentar ir a https://ciberlandia.pt/conversations levo com isto:
ReferenceError: account is not defined
U= (https://ciberlandia.pt/packs/direct_timeline-index-CclzgTb8.js:1:5335)
ie (https://ciberlandia.pt/packs/logo-CwPlYIww.js:15:35348)
ie (https://ciberlandia.pt/packs/logo-CwPlYIww.js:15:25299)
ie (https://ciberlandia.pt/packs/logo-CwPlYIww.js:15:35287)
U= (https://ciberlandia.pt/packs/direct_timeline-index-CclzgTb8.js:1:5304)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:61330)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:116588)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:112269)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:112197)
Ff (https://ciberlandia.pt/packs/client-DZIGVCsa.js:33:112051)
š§® USERS:1 FEEDS:2 TWTS:1467 ARCHIVED:89975 CACHE:2680 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1466 ARCHIVED:89964 CACHE:2691 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1465 ARCHIVED:89956 CACHE:2696 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1464 ARCHIVED:89943 CACHE:2694 FOLLOWERS:22 FOLLOWING:14
ok so i have found a genuine twt hash collision. what do i do.
internally, bbycll relies on a post lookup table with post hashes as keys, this is really fast but i knew iād inevitably run into this issue (just not so soon) so now i have to either:
Ā Ā 1) pick the newer post over the other
Ā Ā 2) break from specification and not lowercase hashes
Ā Ā 3) secretly associate canonical urls or additional entropy with post hashes in the backend without a sizeable performance impact somehow

š§® USERS:1 FEEDS:2 TWTS:1463 ARCHIVED:89933 CACHE:2719 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1462 ARCHIVED:89926 CACHE:2715 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1461 ARCHIVED:89907 CACHE:2729 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1460 ARCHIVED:89905 CACHE:2731 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1459 ARCHIVED:89894 CACHE:2727 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1458 ARCHIVED:89883 CACHE:2723 FOLLOWERS:22 FOLLOWING:14
Made this a few weeks ago, just listened to it again and I quite like it:
https://www.uninformativ.de/music/2025-1-ebow/Fog.ogg
This is just one instrument: Electric bass guitar + EBow. And echo/delay on top. But itās a single track, single take. It amazes me quite a bit how much you can do with that little thing. š¤Æ
š§® USERS:1 FEEDS:2 TWTS:1457 ARCHIVED:89869 CACHE:2715 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1456 ARCHIVED:89837 CACHE:2703 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1455 ARCHIVED:89815 CACHE:2688 FOLLOWERS:22 FOLLOWING:14
The chemtrails have fallen down!!1 https://lyse.isobeef.org/abendhimmel-2025-09-05/
š§® USERS:1 FEEDS:2 TWTS:1454 ARCHIVED:89800 CACHE:2675 FOLLOWERS:22 FOLLOWING:14
Hmm, gnu.org is slow as heck. Shorter HTML pages load in about ten seconds. This complete AWK manual all in one large HTML page took a full minute: https://www.gnu.org/software/gawk/manual/gawk.html Is there maybe some anti AI shenanigans going on?
In any case, I find the user guide super interesting. My AWK skills are basically non-existent, so I finally decided to change that. This document is incredibly well written and makes it really fun to keep reading and learning. Iām very impressed. So far, I made it to section 1.6, happy to continue.
š§® USERS:1 FEEDS:2 TWTS:1453 ARCHIVED:89786 CACHE:2676 FOLLOWERS:22 FOLLOWING:14
ProcessOne: Spotifyās Direct Messaging Gambit
Last week, Spotify quietly launched direct messaging across its platform in selected areas, allowing users to share tracks and playlists through private conversations within the app. The feature was rolled out with mini ⦠ā Read more
š§® USERS:1 FEEDS:2 TWTS:1452 ARCHIVED:89778 CACHE:2673 FOLLOWERS:22 FOLLOWING:14
Mathieu Pasquet: slixmpp v1.11
This new version includes a few new XEP plugins as well as fixes, notably
for some leftover issues in our rust JID code, as well as one for a bug that
caused issues in Home Assistant.
Thanks to everyone who contributed with code, issues, suggestions, and reviews!
CI and buildNicoco put in a lot of work in order to get all possible wheels built in CI. We now have manylinux and musl builds of everything doable within codeberg,
published to the codeberg pypi repo, and published on pypi. ⦠ā Read more
š§® USERS:1 FEEDS:2 TWTS:1451 ARCHIVED:89768 CACHE:2666 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1450 ARCHIVED:89755 CACHE:2658 FOLLOWERS:22 FOLLOWING:14
Why do I care about this?
- The load will become a problem at some point.
- These crawlers and the current āAIā in general are breaking the rules. I am supposed to be paying for every little thing, I get sued for āpiracyā. But apparently, these rules only apply to me. If I had more money, I could break them. Fuck that.
- I simply donāt want it. Period.
š§® USERS:1 FEEDS:2 TWTS:1449 ARCHIVED:89735 CACHE:2650 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1448 ARCHIVED:89727 CACHE:2644 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1447 ARCHIVED:89714 CACHE:2638 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1446 ARCHIVED:89680 CACHE:2640 FOLLOWERS:22 FOLLOWING:14
Iāve got a prototype of my hardcopy simulator going. Iām typing on the keyboard and the ādisplayā goes to the printer:
https://movq.de/v/56feb53912/s.png
https://movq.de/v/235c1eabac/MVI_8810.MOV.mp4
The biiiiiiiiiig problem is that the print head and plastic cover make it impossible to see whatās currently being printed, because this is not a typewriter. This means: In order to see what I just entered, I have to feed the paper back and forth and back and forth ⦠itās not ideal.
I got that idea of moving back/forth from Drew DeVault, who ā as it turned out ā did something similar a few years back. (I tried hard to read as little as possible of his blog post, because figuring things out myself is more fun. But that could mean I missed a great idea here or there.)
But hey, at least this is running on my Pentium 133 on SuSE Linux 6.4, printer connected with a parallel cable. š
(Also, yes, you can see the printouts of earlier tests and, yes, I used ed(1) wrong at one point. 𤪠And ls insisted on using colors ā¦)
Back to Win16 8-) New arrivals of fixed programs for Win31. A big collection of tested network software for Win31. gopher://shibboleths.org/1/win31
š§® USERS:1 FEEDS:2 TWTS:1445 ARCHIVED:89665 CACHE:2626 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1444 ARCHIVED:89656 CACHE:2618 FOLLOWERS:22 FOLLOWING:14
Interactive demo of #shapelyās centroid for the triangle :)
import py5
from shapely import Polygon, Point
def setup():
py5.size(400, 400)
py5.stroke_join(py5.ROUND)
def draw():
py5.background(200)
pts = ((100, 100), (300, 100),
(py5.mouse_x, py5.mouse_y))
xs, ys = zip(*pts)
cx = sum(xs) / len(xs)
cy = sum(ys) / len(ys)
tri = Polygon(pts)
py5.no_fill()
py5.stroke_weight(1)
py5.stroke(0, 200, 0)
py5.shape(Point(cx, cy).buffer(5))
py5.stroke(0, 0, 200)
py5.shape(tri.envelope.buffer(2))
py5.shape(tri.envelope.centroid.buffer(5))
py5.stroke_weight(3)
py5.stroke(0)
py5.shape(tri)
py5.fill(0)
py5.shape(tri.centroid.buffer(2))
py5.run_sketch(block=False)
š§® USERS:1 FEEDS:2 TWTS:1443 ARCHIVED:89640 CACHE:2613 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1442 ARCHIVED:89622 CACHE:2606 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1441 ARCHIVED:89619 CACHE:2612 FOLLOWERS:22 FOLLOWING:14
Hereās an interesting thought/angle on this topic:
gemini://gemini.conman.org/boston/2025/08/21.1
A further check showed that all the network blocks are owned by one organizationāTencent [4]. Iām seriously thinking that the CCP (Chinese Communist Party) encourage this with maybe the hope of externalizing the cost of the Great Firewall [5] to the rest of the world.
š§® USERS:1 FEEDS:2 TWTS:1440 ARCHIVED:89613 CACHE:2612 FOLLOWERS:22 FOLLOWING:14
Sooooooooo, things happened, and I now have a dot matrix printer again. šš
(One of the end goals is to simulate a hardcopy terminal on my old box. Iām waiting for another cable to arrive, I donāt have USB there. And then use ed(1) like it was meant to be used! š
)
Erlang Solutions: MongooseIM 6.4: Simplified and Unified
MongooseIM is a scalable and efficient instant messaging server. With the latest release 6.4.0, it has become more powerful yet easier to use and maintain. Thanks to the internal unification of listeners and connection handling, the configuration is easier and more intuitive, while numerous new options are supported.
New features include support for TLS 1.3 with optional channel binding for improved security, single round-trip authent ⦠ā Read more
š§® USERS:1 FEEDS:2 TWTS:1439 ARCHIVED:89607 CACHE:2612 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1438 ARCHIVED:89599 CACHE:2610 FOLLOWERS:22 FOLLOWING:14
Sorry. gopher://1436.ninja/1/Port70News
Also gopher://1436.ninja/1/port70news
gopher://tilde.pink/1/~bencolver/dir is a nice place.
BlueSCSI Wi-Fi Desk Accessory 1.4 Released ā Read more
š§® USERS:1 FEEDS:2 TWTS:1437 ARCHIVED:89595 CACHE:2607 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1436 ARCHIVED:89590 CACHE:2613 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1435 ARCHIVED:89587 CACHE:2614 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1434 ARCHIVED:89577 CACHE:2615 FOLLOWERS:22 FOLLOWING:14
Tip on how to convert a big #PDF into a smaller one:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=smaller.pdf big.pdf
š§® USERS:1 FEEDS:2 TWTS:1433 ARCHIVED:89576 CACHE:2615 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1432 ARCHIVED:89571 CACHE:2612 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1431 ARCHIVED:89562 CACHE:2642 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1430 ARCHIVED:89185 CACHE:2622 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1429 ARCHIVED:89174 CACHE:2643 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1428 ARCHIVED:89170 CACHE:2645 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1427 ARCHIVED:89169 CACHE:2645 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1426 ARCHIVED:89109 CACHE:2646 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1425 ARCHIVED:89098 CACHE:2646 FOLLOWERS:22 FOLLOWING:14
Mas que sarilho Ć© este em que me meti?
(Spoiler alert: @o_sarilho@o_sarilho ! )
@movq@www.uninformativ.de WE NEED MORE BACKUPS!!!!!!!!!!!1
[47°09ā²28ā³S, 126°43ā²31ā³W] Raw reading: 0x689335B1, offset +/-1
š§® USERS:1 FEEDS:2 TWTS:1424 ARCHIVED:89083 CACHE:2639 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1423 ARCHIVED:89080 CACHE:2639 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1422 ARCHIVED:89079 CACHE:2639 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1421 ARCHIVED:89072 CACHE:2635 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1420 ARCHIVED:89069 CACHE:2633 FOLLOWERS:22 FOLLOWING:14
There are 19 million legal residents of the U.S. Southwest who are of Hispanic ancestry. If we include legal residents who have not been in the continental United States for more than a year or two, we may add the 1,169,000 Cubans in New York and Florida, and the 800,000 Puerto Ricans in New York, for a total of 20,611,000.
š§® USERS:1 FEEDS:2 TWTS:1419 ARCHIVED:89067 CACHE:2632 FOLLOWERS:22 FOLLOWING:14
How the 1% stole minimalism (then threw it away) ā Read more
ok i really like XLOV. 1&Only is a great song. so vibe-y and sensual. and they released it in pride month too they Get It https://www.youtube.com/watch?v=NBZgirj_C2Y
@lyse@lyse.isobeef.org @kat@yarn.girlonthemoon.xyz Colorized manpages have been a thing for a very long time:
https://movq.de/v/81219d7f7a/s.png
Problem is, hardly anybody knows this, because you configure this by ⦠drumroll ⦠overwriting TERMCAP entries of less in your ~/.bashrc:
export LESS_TERMCAP_md=$'\e[38;5;3m' # Bold⨠export LESS_TERMCAP_me=$'\e[0m' # End Bold
export LESS_TERMCAP_us=$'\e[4;38;5;6m' # Underline⨠export LESS_TERMCAP_ue=$'\e[0m' # End Underline
export GROFF_NO_SGR=1 # Needed since groff 1.23
š§® USERS:1 FEEDS:2 TWTS:1418 ARCHIVED:89054 CACHE:2625 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1417 ARCHIVED:89028 CACHE:2602 FOLLOWERS:22 FOLLOWING:14
[47°09ā²35ā³S, 126°43ā²14ā³W] Reading: 1.02000 PPM
š§® USERS:1 FEEDS:2 TWTS:1416 ARCHIVED:89026 CACHE:2601 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1415 ARCHIVED:89011 CACHE:2587 FOLLOWERS:22 FOLLOWING:14
š§® USERS:1 FEEDS:2 TWTS:1414 ARCHIVED:88590 CACHE:2574 FOLLOWERS:22 FOLLOWING:14
37C3 and New Yearās Eve 2023
Another one from the vaults. The 37C3 conference took place in
December, 2023. This report was mostly written in January, 2024.
Mostly finished it at night in my cottage between 28 and 29th
December, then edited and added some stuff in July, 2025. So⦠Only
1.5 years late?
It was a little ironic, and a little sad, that I was finishing the
37C3 report during 38C3. I didnāt manage to get any tickets for me and
#3 for 38C3 and had to make do with watching the stream.
The links to the talks go to [C ⦠ā Read more
š§® USERS:1 FEEDS:2 TWTS:1413 ARCHIVED:88585 CACHE:2571 FOLLOWERS:22 FOLLOWING:14
@lyse@lyse.isobeef.org āAdvancedā, well, probably more āmatureā. There arenāt a ton of crazy features and that icon thing is the largest code addition in the last 10 years. %)
Speaking of OS/2 ⦠I just realized that Windows 3.x didnāt have icons, either. If Iām not mistaken, this only got added in Windows 95. In other words, OS/2 had this feature before Windows did, because at least OS/2 2.1 from 1993 had icons. Who would have thunk.
(Now I kind of want to know which system really introduced this feature.)
@lyse@lyse.isobeef.org Oh, huh, maybe it was just my GNOME 2 themes back then that didnāt show the icon. š¤
I like the looks of your window manager. Thatās using Wayland, right?
Oh, no. Itās still X11. All my recent Wayland comments resulted from me trying to switch, but I think itās still too early. Being unable to use QEMU (because it canāt capture the mouse pointer) is a pretty big blocker for me. This is completely broken, it just happens to be unnoticeable with modern guest OSes, so itās probably not a priority for devs.
(Not to mention that I would have to fork and substantially extend dwl in order to āreplicateā my X11 WM. And then, after having done that, Iād have to follow upstream Wayland development, for which I donāt have the resources. Things would need to slow down before I can do that.)
all that wasted space of the windows not making use of the full screen!!!1
Heh. Iāve been using tiling WMs for ~15 years now, so itās actually kind of refreshing to see something different for a change. š
Probably close to the older Windowses.
That particular theme is a ripoff of OS/2 Warp 3: https://movq.de/v/6c2a948882/s.png š
We ran some similar brownish color scheme (donāt recall its name) on Win95 or Win98
Oh god. Yeah, I wasnāt a fan of those, either. š„“
š§® USERS:1 FEEDS:2 TWTS:1412 ARCHIVED:88575 CACHE:2569 FOLLOWERS:22 FOLLOWING:14
@movq@www.uninformativ.de According to this screenshot, KDE still shows good old application icons: https://upload.wikimedia.org/wikipedia/commons/9/94/KDE_Plasma_5.21_Breeze_Twilight_screenshot.png
And GNOME used to have them, too: https://upload.wikimedia.org/wikipedia/commons/9/9f/Gnome-2-22_%284%29.png
I like the looks of your window manager. Thatās using Wayland, right? The only thing on this screenshot to critique is all that wasted space of the windows not making use of the full screen!!!1 At least the file browser. 8-)
This drives me nuts when my workmates share their screens. I really donāt get it how people can work like that. You canāt even read the whole line in the IDE or log viewer with all the expanded side bars. And then thereās 200 pixels on the left and another 300 pixels on the right where the desktop wallpaper shows. Gnaa! Thereās the other extreme end when somebody shares their ultra wide screen and I just have a āregularishā 16:10 monitor and donāt see shit, because itās resized way too tiny to fit my width. Good times. :-D
Sorry for going off on a tangent here. :-) Back to your WM: It has the right mix of being subtle and still similar to motif. Probably close to the older Windowses. My memory doesnāt serve me well, but I think they actually got it fairly good in my opinion. Your purple active window title looks killer. It just fits so well. This brown one (https://www.uninformativ.de/blog/postings/2025-07-22/0/leafpads.png) gives me also classic vibes. Awww. We ran some similar brownish color scheme (donāt recall its name) on Win95 or Win98 for some time on the family computer. I remember other people visting us not liking these colors. :-D
Hereās an example of X11/Xlib being old and archaic.
X11 knows the data type ācardinalā. For example, the window property _NET_WM_ICON (which holds image data for icons) is an array of ācardinalā. I am already not really familiar with that word and Iām assuming that it comes from mathematics:
https://en.wikipedia.org/wiki/Cardinal_number
(It could also be a bird, but probably not: https://en.wikipedia.org/wiki/Cardinalidae)
We would probably call this an āintegerā today.
EWMH says that icons are arrays of cardinals and that theyāre 32-bit numbers:
https://specifications.freedesktop.org/wm-spec/latest-single/#id-1.6.13
So itās something like 0x11223344 with 0x11 being the alpha channel, 0x22 is red, and so on.
You would assume that, when you retrieve such an array from the X11 server, youād get an array of uint32_t, right?
Nope.
Xlib is so old, they use char for 8-bit stuff, short int for 16-bit, and long int for 32-bit:
That is congruent with the general C data types, so it does make sense:
https://en.wikipedia.org/wiki/C_data_types
Now the funny thing is, on modern x86_64, the type long int is actually 64 bits wide.
The result is that every pixel in a Pixmap, for example, is twice as large in memory as it would need to be. Just because Xlib uses long int, because uint32_t didnāt exist, yet.
And this is something that I wouldnāt know how to fix without breaking clients.
š§® USERS:1 FEEDS:2 TWTS:1411 ARCHIVED:88563 CACHE:2558 FOLLOWERS:22 FOLLOWING:14
@lyse@lyse.isobeef.org They are optional dependencies and listed as such:
$ pacman -Qi pinentry
Name : pinentry
Version : 1.3.1-5
Description : Collection of simple PIN or passphrase entry dialogs which
utilize the Assuan protocol
Optional Deps : gcr: GNOME backend [installed]
gtk3: GTK backend [installed]
qt5-x11extras: Qt5 backend [installed]
kwayland5: Qt5 backend
kguiaddons: Qt6 backend
kwindowsystem: Qt6 backend
And itās probably a good thing that theyāre optional. I wouldnāt want to have all that installed all the time.
@lyse@lyse.isobeef.org @kat@yarn.girlonthemoon.xyz I spent so much time in the past figuring out if something is a dict or a list in YAML, for example.
What are the types in this example?
items:
- part_no: A4786
descrip: Water Bucket (Filled)
price: 1.47
quantity: 4
- part_no: E1628
descrip: High Heeled "Ruby" Slippers
size: 8
price: 133.7
quantity: 1
items is a dict containing ⦠a list of two other dicts? Right?
It is quite hard for me to grasp the structure of YAML docs. š¢
The big advantage of YAML (and JSON and TOML) is that itās much easier to write code for those formats, than it is with XML. json.loads() and youāre done.
Only figured this out yesterday:
pinentry, which is used to safely enter a password on Linux, has several frontends. Thereās a GTK one, a Qt one, even an ncurses one, and so on.
GnuPG also uses pinentry. And you can configure your frontend of choice here in gpg-agent.conf.
But what happens when you donāt configure it? Whatās the default?
Turns out, pinentry is a shellscript wrapper and itās not even that long. Here it is in full:
#!/bin/bash
# Run user-defined and site-defined pre-exec hooks.
[[ -r "${XDG_CONFIG_HOME:-$HOME/.config}"/pinentry/preexec ]] && \
. "${XDG_CONFIG_HOME:-$HOME/.config}"/pinentry/preexec
[[ -r /etc/pinentry/preexec ]] && . /etc/pinentry/preexec
# Guess preferred backend based on environment.
backends=(curses tty)
if [[ -n "$DISPLAY" || -n "$WAYLAND_DISPLAY" ]]; then
case "$XDG_CURRENT_DESKTOP" in
KDE|LXQT|LXQt)
backends=(qt qt5 gnome3 gtk curses tty)
;;
*)
backends=(gnome3 gtk qt qt5 curses tty)
;;
esac
fi
for backend in "${backends[@]}"
do
lddout=$(ldd "/usr/bin/pinentry-$backend" 2>/dev/null) || continue
[[ "$lddout" == *'not found'* ]] && continue
exec "/usr/bin/pinentry-$backend" "$@"
done
exit 1
Preexec, okay, then some auto-detection to use a toolkit matching your desktop environment ā¦
⦠and then it invokes ldd? To find out if all the required libraries are installed for the auto-detected frontend?
Oof. I was sitting here wondering why it would use pinentry-gtk on one machine and pinentry-gnome3 on another, when both machines had the exact same configs. Yeah, but different libraries were installed. One machine was missing gcr, which is needed for pinentry-gnome3, so that machine (and that one alone) spawned pinentry-gtk ā¦
[47°09ā²19ā³S, 126°43ā²27ā³W] Reading: 1.34 Sv
[47°09ā²13ā³S, 126°43ā²30ā³W] Raw reading: 0x68806C51, offset +/-1