man and it calls home to see if I'm allowed to do that.
Because OP twtxt seems to be a cross-post from the Fediverse, I am bringing some context here. It refers to this GitHub issue. This comment explains why the issue described is happening:
This is usually due to notarization checks. E.g. the binaries are checked by the notarization service (āXProtectā) which phones home to Apple. Depending on your network environment, this can take a long time. Once the executable has been run the results are usually cached, so any subsequent startup should be fast.
OP network must be running on 1,200 Baud modem, or less. š¤ I have never, ever, experienced any distinguishable delays.
man command does not calls home. Not on my macOS 26, at least, but it shouldn't on any other.
@bender@twtxt.net is macOS 26 running smoothly? Iāve heard some issues with memory for the first release (docker related IIRC)
The most infuriating 3 seconds of using this Mac every day are the first time I run man and it calls home to see if Iām allowed to do that.
@lyse@lyse.isobeef.org Hm, that might actually be (partially) true. Some external CD drives (without such a weight) start to spin/wiggle when the drive spins up and down ⦠Although I guess thatās not really the case for Audio CDs as they are run at a fixed low RPM value, I think. š¤
@prologic@twtxt.net Yeah. The actual services donāt run on AWS, apparently, but often itās just the login service?! The whole Atlassian suite was ādownā today because you couldnāt log in. But if you already were logged in, it wasnāt much a problem.
@movq@www.uninformativ.de Too many thingsĖ running on AWS eh?
@dce@hashnix.club Arch is the most stress-free OS Iāve ever run (I last reinstalled it 14 years ago, only rolling updates since then) ā but to be honest, I sometimes wonder what role my general choice of software plays. I mostly run minimalistic software or programs that I wrote myself. I guess that greatly reduces the chance of breakage. š¤
After taking most of the year off from role-playing, Iāve got 3 one-shots coming up in the next month, all of which need some tweaking before I can run them (as do my homebrew rules).
Plus thereās a ābuild a gameā code challenge at work, a pair of media boxes I need to rebuild, a pair of dead machines I need to diagnose, and Iād like to (eventually) get my twtxt apps to a āreleasableā state.
So many projects, so little (free) timeā¦
š¤ š š§ What if, What if we built our own self-hosted / small-web / community-built/run Internet on top of the Internet using Wireguard as the underlying tech? What if we ran our own Root DNS servers? What if we set a zero tolerance policy on bots, spammers and other kind of abuse that should never have existed in the first place. Hmmmm
@movq@www.uninformativ.de Thatās satisfying. :-) Not all my clocks are radio-controlled, though.
Iāve got a digital alarm clock from the Netherlands (no idea where I got this) and it always runs an hour late. No clue. I put it on a shelf in the workshop where it causes the least amount of confusion.
My open letter, to the European Commission digital markets act team:
Hello,
I am joining other developers, concerned about Googles new plan, to approve every app and effectively destroy most of the competing 3rd party stores this way. The biggest one of these alternative stores, most known for their focus on user and developer privacy, already states, this would make it impossible for them to operate: https://f-droid.org/cs/2025/09/29/google-developer-registration-decree.html
Even communities like the XDA forum, where new developers are often introduced to the world of Android development, would likely be strongly impacted, as making, publishing and installing Android apps is made less accessible.
I am not just writing on their behalf, I run a small website myself (https://thecanine.ueuo.com/), that both provides legal modifications, for some android apps - for example adding an amoled dark theme, to the most popular XMPP chat client for Android, or increasing one of Androids keyboard apps height. This all comes after Googles previous changes to the Android operating system, that prevent users from installing old apps (old to Google, can mean only a couple of months, without an update - https://developer.android.com/google/play/requirements/target-sdk and the target version gets increased every year). I rely on apps developed by a single developer, even for things like making the pixel art presented on my website and sideloading as a way to make these apps work, before developers can catch up to Googleās new requirements - if Google is allowed to slowly kill these options, us digital artists will soon lose the tools we need to create digital art.
Thank you, @alexonit@twtxt.alessandrocutolo.it! Itās not sealed at all. If you were pouring in a liquid, it would run out on all four corners. Itās just folded over and carefully hammered shut as best as possible. 03 is a bit blurred, but you can see the tab from the right (the short side) tucking in on the left (the long side). The hem on top clamps it in place fairly decently.
I decided against blind rivets, because they leave ugly looking and sharp backsides, which can also interfer with the contents of the box. However, they would be an easy solution to make the corners more rigid and prevent any movement from the short sides.
Unfortunately, I canāt weld or solder, so thatās not an option. It would be the by far best solution. I wanna learn it one day, though.
Yes, Ken is a really great dude. Heās the reason I gave this a shot in the first place. :-)
100% All Achievements
ā Read more
Hi everyone, hereās a little introduction of my twtxt client (still WIP).
The client Iām developing is a single tenant project that runs entirely in the browser (it might use an optional backend).
Itās entirely based on native web-components and vanilla JS, it is designed to act closer to a toolkit than a full-fledged client, allowing users to āDIYā their own interface with pure html or plain javascript functions.
Users can also build their own engines by including a global javascript object that implement the defined internal API (TBD).
Iām planning to build a system that is easy enough to build and use with any skill level, using only pure html (with a homebrew minimal template engine) or via plain JS (Iāll be also providing some pre-made templates too).
Everything can be self-hosted on any static hosting provider, this allows to spread twtxt within communities like Neocities and similarly hosted websites (basically any Indieweb/Smallweb/Digital garden website and any of the common GitHub/Lab/Berg/lify Pages).
It will be probably named something like TxtCraft or craf.txt but Iām not really sure yet⦠š¤ (Maybe some suggestions could help)
Iām still in the experimental phase, so thereās no decent source-code to share yet, but it will soon enough!
@bender@twtxt.net Thanks for asking!
So, Iāve been working on 2 main twtxt-related projects.
The first is small Node / express application that serves up a twtxt file while allowing its owner to add twts to it (or edit it outright), and Iāve been testing it on my site since the night I made that post. Itās still very much an MVP, and Iāve been intermittently adding features, improving security, and streamlining the code, with an eye to release it after I get an MVP done of project #2 (the reader).
But thatās where Iāve been struggling. The idea seems simple enough - another Node / express app (this one with a Vite-powered front-end) that reads a public twtxt file, parses the āfollowā list, grabs (and parses) those twtxt files, and then creates a river of twts out of the result. The pieces work fine in seclusion (and with dummy data), but I keep running into weird issues when reading real-live twtxt files, so some twts come through, while others get lost in the ether. Iāll figure it out eventually, but for now, Iāve been spending far more time than I anticipated just trying to get it to work end-to-end.
On top of it, the 2 projects wound up turning into 4 (so far), as Iāve been spinning out little libraries to use across both apps (like https://jsr.io/@itsericwoodward/fluent-dom-esm, and a forthcoming twtxt helper library).
In the end, Iām hoping to have project 1 (the editor) into beta by the end of October, and project 2 (the reader) into beta sometime after that, but weāll see.
I hope this has satisfied your curiosity, but if youād like to know more, please reach out!
@bender@twtxt.net Thanks for asking!
So, Iāve been working on 2 main twtxt-related projects.
The first is small Node / express application that serves up a twtxt file while allowing its owner to add twts to it (or edit it outright), and Iāve been testing it on my site since the night I made that post. Itās still very much an MVP, and Iāve been intermittently adding features, improving security, and streamlining the code, with an eye to release it after I get an MVP done of project #2 (the reader).
But thatās where Iāve been struggling. The idea seems simple enough - another Node / express app (this one with a Vite-powered front-end) that reads a public twtxt file, parses the āfollowā list, grabs (and parses) those twtxt files, and then creates a river of twts out of the result. The pieces work fine in seclusion (and with dummy data), but I keep running into weird issues when reading real-live twtxt files, so some twts come through, while others get lost in the ether. Iāll figure it out eventually, but for now, Iāve been spending far more time than I anticipated just trying to get it to work end-to-end.
On top of it, the 2 projects wound up turning into 4 (so far), as Iāve been spinning out little libraries to use across both apps (like https://jsr.io/@itsericwoodward/fluent-dom-esm, and a forthcoming twtxt helper library).
In the end, Iām hoping to have project 1 (the editor) into beta by the end of October, and project 2 (the reader) into beta sometime after that, but weāll see.
I hope this has satisfied your curiosity, but if youād like to know more, please reach out!
While working on the Discoverability for my twtxt client (it runs client-side) I found out that Chrome doesnāt allow to set a custom user agent. š
I thought it was a general thing for browsers, but it that was actually allowed in a newer specification, yet itās still not implemented in Chrome, it does work in Firefox though.
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

@thecanine@twtxt.net Yeah, what @bender@twtxt.net said. That tail is sick. Is this dog crying, though? The vertically elongated eye looks a bit like a tear running down.
@zvava@twtxt.net I am getting [2025/09/11 12:56:01.816] ā please set config.host when trying to run ābbycllā. How to bypass that tiny hurdle?
i wish the mug didnāt run out of coffee
@lyse@lyse.isobeef.org Iām looking for an OS that runs better than Windows (š¤®) and through which I can do basic stuff like read RSS feeds and browse geminispace; but which I can also learn from.
I have a late-2010s ThinkPad running OpenBSD, but itās about as fast as a snail carrying heavy shopping through molasses. Iād like to run something other than Linux, for variety, but the other members of the BSD family failed for various reasons. What OS do you guys think I should try?
I had some trouble with my nginx reverse proxy, but after much tweaking and fiddling, I now have the prototype version of my node-based twtxt editor up and running on my site! š #twtgoals
I had some trouble with my nginx reverse proxy, but after much tweaking and fiddling, I now have the prototype version of my node-based twtxt editor up and running on my site! š #twtgoals
@prologic@twtxt.net Iām doing that now as well, but I donāt think this is a good solution. This is going to hurt āself-hostingā in the long run: I cannot afford true self-hosting where I actually do host everything here at home ā instead, I must use a cloud provider / VPS for that. It is only a matter of time until my provider starts doing AI shit as well (or rather, the customers do it) and then what? I get blocked, e.g. I canāt send email to (some) people anymore. This is already bad and itās going to get worse.
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 ā¦)
@bender@twtxt.net That is a noble goal. We can talk about that ā as long as it doesnāt mean giving up essential freedoms like choosing which software you can run on your device (without having to ask someone for permission).
@dce@hashnix.club twtxt is quite light, and trouble-free. Welcome! I also run an ActivityPub server, but yeah, more often around here than there.
@itsericwoodward@itsericwoodward.com Also just a heads up, GIF(s) arenāt supproted as an Avatar type on yarnd (what runs twtxt.net). Iād change this to something thatās more supproted like PNG, JPEG, etc.
Distrobox is pretty handy and kind of amazed I havenāt played with it before now. I wanted to quickly try out Protonās Authenticator they just released, but they only had binaries for Ubuntu and Fedora (naturally), but Iām on Void Linux on this laptop.
Installed the latest basic Fedora image with Distrobox, used dnf to install the downloaded rpm file within it, and presto, running the app within Void like Iād just downloaded it though the normal repos.
@kat@yarn.girlonthemoon.xyz On the one hand, all these programs have a very long history and the technology behind manpages is actually very powerful ā you can use it to write books:
https://www.troff.org/pubs.html
I have two books from that list, for example āThe UNIX programming environmentā:
https://movq.de/v/c3dab75c97/upe.jpg
Itās a bit older, of course, but it looks and feels like a normal book, and it uses the same tech as manpages ā which I think is really cool. š
Itās comparable to LaTeX (just harder/different to use) but much faster than LaTeX. You can also do stuff like render manpages as a PDF (man -Tpdf cp >cp.pdf) or as an HTML file (man -Thtml cp >cp.html). I think I once made slides for a talk this way.
On the other hand, traditional manpages (i.e., ones that are not written in mandoc) do not use semantic markup. They literally say, āthis text is bold, that text over here is italicsā, and so on.
So when you run man foo, it has no other choice but to show it in black, white, bold, underline ā showing it in color would be wrong, because thatās not what the source code of that manpage says.
Colorizing them is a hack, to be honest. Youāre not meant to do this. (The devs actually broke this by accident recently. They themselves arenāt really aware that people use colors.)
If mandoc and semantic markup was more commonly used, I think it would be easier to convince the devs to add proper customizable colors.
/short/ if it's of this useless kind. Never thought that they ever actually will improve their Atom feeds. Thank you, much appreciated!
@kat@yarn.girlonthemoon.xyz @movq@www.uninformativ.de Sorry, I neither finished it nor in time. :-( Thatās as good as itās gonna get for the moment: https://git.isobeef.org/lyse/gelbariab/-/tree/master/rss-proxys?ref_type=heads
The README should hopefully provide a crude introduction. The example configuration file is documented fairly well, I believe (but maybe not). You probably still have to consult and maybe also modify the source code to fit your needs.
Let me know if you run into issues, have questions, wishes etc.
In 1996, they came up with the X11 āSECURITYā extension:
https://www.reddit.com/r/linux/comments/4w548u/what_is_up_with_the_x11_security_extension/
This is what could have (eventually) solved the security issues that weāre currently seeing with X11. Those issues are cited as one of the reasons for switching to Wayland.
That extension never took off. The person on reddit wonders why ā I think itās simple: Containers and sandboxes werenāt a thing in 1996. It hardly mattered if X11 was āinsecureā. If you could run an X11 client, you probably already had access to the machine and could just do all kinds of other nasty things.
Today, sandboxing is a thing. Today, this matters.
Iāve heard so many times that āX11 is beyond fixable, itās hopeless.ā I donāt believe that. I believe that these problems are solveable with X11 and some devs have said āyeah, we could have kept working on itā. Itās that people donāt want to do it:
Why not extend the X server?
Because for the first time we have a realistic chance of not having to do that.
https://wayland.freedesktop.org/faq.html
Iām not in a position to judge the devs. Maybe the X.Org code really is so bad that you want to run away, screaming in horror. I donāt know.
But all this was a choice. I donāt buy the argument that we never would have gotten rid of things like core fonts.
All the toolkits and programs had to be ported to Wayland. A huge, still unfinished effort. If that was an acceptable thing to do, then it would have been acceptable to make an āX12ā that keeps all the good things about X11, remains compatible where feasible, eliminates the problems, and requires some clients to be adjusted. (You could have still made āX11X12ā like āXWaylandā for actual legacy programs.)
linodeās having a major outage (ongoing as of writing, over 24 hours in) and my friend runs a site i help out with on one of their servers. we didnāt have recent backups so i got really anxious about possible severe data loss considering the situation with linode doesnāt look great (it seems like a really bad incident).
ā¦anyway the server magically came back online and i got backups of the whole application and database, iām so relieved :ā)
(Now why is that GNOME gcr thing running with debug logs enabled that print stuff like āsending secret exchange: ā¦ā? Is this healthy?)
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 ā¦
Something happened with the frame rate of terminal emulators lately. It looks like thereās a trend to run at a high framerate now? Iām not sure exactly. This can be seen in VTE-based terminals like my xiate or XTerm on Wayland. foot and st, on the other hand, are fine.
My shell prompt and cursor look like this:
$ ā
When I keep Enter pressed, I expect to see several lines like so:
$
$
$
$
$
$
$ ā
With the affected terminal emulators, the lines actually show up in the following sequence. First, we have the original line:
$ ā
Pressing Enter yields this as the next frame:
$
ā
And then eventually this:
$
$ ā
In other words, you can see the cursor jumping around very quickly, all the time.
Another example: Vim actually shows which key you just pressed in the bottom right corner. Keeping j pressed to scroll through a file means I get to see a j flashing rapidly now.
(I have no idea yet, why exactly XTerm in X11 is fine but flickering in Wayland.)
The WM_CLASS Property is used on X11 to assign rules to certain windows, e.g. āthis is a GIMP window, it should appear on workspace number 16.ā It consists of two fields, name and class.
Wayland (or rather, the XDG shell protocol ā core Wayland knows nothing about this) only has a single field called app_id.
When you run X11 programs under Wayland, you use XWayland, which is baked into most compositors. Then you have to deal with all three fields.
Some compositors map name to app_id, others map class to app_id, and even others directly expose the original name and class.
Apparently, there is no consensus.
@lyse@lyse.isobeef.org I do my timetracking in a little Python script, locally. Every now and then, I push the data to our actual service. Problem solved ā but itās a completely unpopular approach, they all want to use the web site. I donāt get it. Then, of course, when itās down, shit hits the fan. (Luckily, our timetracking software is neither developed nor run by us anymore. Itās a silly cloud service, but the upside is that Iām not responsible anymore. š¤·)
Some of our oldschool devs tried to roll out local timetracking once, about 15 years ago. I donāt remember anymore why they failed ā¦
This is developed inhouse, Iām just so glad that weāre not a software engineering company. Oh wait. How embarrassing.
Oh to be anonymous on the internet. That must be nice. š
@eldersnake@we.loveprivacy.club This wasnāt always the case, though. Quake3, Quake4, Unreal Tournament 99 and 2004 are examples of games that used to run very well as native Linux games. But that was 20+ years ago ā¦
@movq@www.uninformativ.de reminds me how many Windows games using Proton (or WINE with similar patches) on Linux run better than some of the old native Linux binaries.
It took about a year, I think, but Iāve now finished another run of Tomb Raider I, II, and III. And I have, for the first time, played the two bonus packs āUnfinished Businessā (for TR I) and āGolden Maskā (for TR II). Theyāre available as a free download, if you have the original games. (The bonus pack for TR III is not free.)
I just love these games ā and the game mechanics. Itās just the right balance between challenging and relaxing.
Someone did a thing:
https://social.treehouse.systems/@ariadne/114763322251054485
Iāve been silently wondering all the time if this was possible, but never investigated: Keep doing X11 but use Wayland as a backend.
This uses XWaylandās ārootfulā mode, which basically just gives you a normal Wayland window with all the X11 stuff happening inside of it:
https://www.phoronix.com/news/XWayland-Rootful-Useful
In other words, put such a window in fullscreen and you (more or less) have good old X11 running in a Wayland window.
(For me, personally, this wonāt be the way forward. But itās a very interesting project.)
@kat@yarn.girlonthemoon.xyz I guess that qualifies as an āArch momentā, albeit the first one I encountered. Iām running this since 2008 and itās usually very smooth sailing. š
@lyse@lyse.isobeef.org Yeah, YMMV. Some games work(ed) great in Wine, others not at all. I just use it because itās easier than firing up my WinXP box. (I donāt use Wine for regular applications, just games.)
@kat@yarn.girlonthemoon.xyz Oh no, how unpenguinly! But at least it runs, even races. :-)
@kat@yarn.girlonthemoon.xyz lol, oof, well, better than nothing. š„“ It appears to run quite well. š¤
@kat@yarn.girlonthemoon.xyz UPDATE: getting it to run natively through a VM and other means all failed! so i did the cursed thing and tried the windows installer in wineā¦..
update on tux racer: ofc it doesnāt run on modern linux LMFAOOOOOOO iām installing red hat in a VM right now
@bmallred@staystrong.run Oh sorry I should have explained those terms š¤¦āāļø