express-twtkpr: an ExpressJS library that enables hosting (and directly posting to) a twtxt.txt file. It works great (otherwise you wouldn't be able to read this), but it's still in alpha and lacks documentation, examples, tests, installation flexibility, or polish, so please use it at your own risk. Enjoy! https://www.npmjs.com/package/express-twtkpr
@itsericwoodward@itsericwoodward.com hey, link to repository on https://www.npmjs.com/package/express-twtkpr is broken. It points to https://git.itsericwoodward.com/eric/express-twtkp. Looking forward to see more documentation!
@kiwu@twtxt.net That’s not bad 👌
express-twtkpr: an ExpressJS library that enables hosting (and directly posting to) a twtxt.txt file. It works great (otherwise you wouldn't be able to read this), but it's still in alpha and lacks documentation, examples, tests, installation flexibility, or polish, so please use it at your own risk. Enjoy! https://www.npmjs.com/package/express-twtkpr
@itsericwoodward@itsericwoodward.com Nice one 👌
I’m happy to report that, earlier today, I published an early version of express-twtkpr: an ExpressJS library that enables hosting (and directly posting to) a twtxt.txt file. It works great (otherwise you wouldn’t be able to read this), but it’s still in alpha and lacks documentation, examples, tests, installation flexibility, or polish, so please use it at your own risk. Enjoy! https://www.npmjs.com/package/express-twtkpr
@movq@www.uninformativ.de Sure, I quit on my own!
@lyse@lyse.isobeef.org A-ha! That means you haven’t spent enough time with these tools! Go on, try it! (If you don’t, we’ll fire you.) I’m sure you’ll like it!
@movq@www.uninformativ.de Schlimmer geht immer.
@movq@www.uninformativ.de No idea why this didn’t occur to me. But you’re absolutely right.
@lyse@lyse.isobeef.org I bet that their AI agent handles that as well, so … 🤷♀️
@rrraksamam@twtxt.net is that what Kendall is asking? 😂
@movq@www.uninformativ.de I would have done the same. ;-) My only hope with an abuse report is that the hoster would give this fuckwit a proper dressing-down.
@movq@www.uninformativ.de For sure. Time for an absue report.
@lyse@lyse.isobeef.org Thanks! 🙌
@prologic@twtxt.net Welcome back to your main home! :-)
@rdlmda@rdlmda.me In case you’re into terminal clients, you might like tt. We finally managed to abolished our GitLab instance, so I would need to make the code available to the public differently.
@rdlmda@rdlmda.me Oh boy, what a story! The infrastructure is indeed in need of overhaul. I’m glad you were so lucky in these circumstances.
(Btw. you posted the same message twice with just five seconds apart. I’m replying to the later one. Not sure if this is a client bug (like attempting to edit) or just operator error. ;-))
@thecanine@twtxt.net Hahaha, nice! :-D
To whoever is operating this “xt” client, there might be a misconfiguration. My feed is often, but not always, pulled twice within a few seconds:
2026-03-14T15:31:02+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T15:31:31+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T15:41:19+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T15:41:31+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T15:51:04+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:01:25+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:01:27+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:11:51+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:11:54+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:21:53+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:32:19+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:32:22+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:52:28+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:52:31+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
Maybe this is caused by a development and a production setup, no idea. Since this client is sending the If-Modified-Since or If-None-Match request header, I’m good with that, though. Looking forward to discover a new feed hopefully soon. :-)
@lyse@lyse.isobeef.org sounds like a plan, it’d be the second biggest version, in Australia.

Number one is on the rplace.live map canvas, where the previous one is in America and the one from today here - no reason other than the fact those countries had a good empty spot, to put them in, at the time I drew them.
@thecanine@twtxt.net Haha, I just realized you could stick that on the side of @prologic@twtxt.net’s caravan to accompany these large pixels there. Secret mission in Down Under. :-D
@prologic@twtxt.net Oh yeah, this looks like a nice spot with these gums in the background. :-)
Our first test over night trip 🤞
Back to the regular scheduled dogpostin and back to something very low resolution.

Also new stuff on my website, won’t list it all here, you’ll just have to check.
@falsifian@www.falsifian.org Correct, the two smaller versions are loading perfectly fine. The hickup is only for the originals. But in all reality, the middle ones are sufficient for me personally. Please don’t get me wrong, at least for the people photos, the subjects are large enough. The Japanese landscapes, however, would definitely benefit from a bit more detail. ;-)
I just tried it once more, and now, the tree with the sign (/photo/5Zy4pqVIt0oP/IMG_20251106_035048_448.jpg) fully loaded very quickly. Same with the Japanese dish (/photo/tJbmg8oleYbh/IMG_20251030_091719_086.jpg) and shopping center (/photo/qXG5ucIjpPju/IMG_20251029_045002_778.jpg). But the previous and next ones all ran into the same problems again. When I’m very lucky, I eventually get the upper half. Typically not even that much, a third, a fifth, or even less.
Waiting a bit before making an attempt, the wooden walkway through the forest or park (/photo/ojQpDLfBoGN4/IMG_20251023_043829_011.jpg) eventually also made it. But unlike the other successful attempts, it took a long time.
The more photos you add, the more beneficial it might be to separate the index into several different albums. I didn’t measure it, but it felt like 10 to 20 seconds for all the thumbnails to load. That traffic adds up.
Another idea would be to strip the EXIF data from the thumbnails and reducing quality to 90% or even 80%. Using the famous tree with the sign, I cannot tell the difference between the original thumbnail and the 80% quality one. I’m sure it depends on the subject. Here are the numbers:
$ convert -strip IMG_20251106_035048_448_size_400.jpg stripped.jpg
$ convert -quality 90 IMG_20251106_035048_448_size_400.jpg 90.jpg
$ convert -quality 80 IMG_20251106_035048_448_size_400.jpg 80.jpg
$ convert -strip -quality 90 IMG_20251106_035048_448_size_400.jpg 90-stripped.jpg
$ convert -strip -quality 80 IMG_20251106_035048_448_size_400.jpg 80-stripped.jpg
$ ls -lh *jpg | awk '{print $5 " " $9}'
46K 80.jpg
45K 80-stripped.jpg
64K 90.jpg
63K 90-stripped.jpg
132K IMG_20251106_035048_448_size_400.jpg
127K stripped.jpg
$ ls -l *jpg | awk '{print $5 " " $9}'
46160 80.jpg
45064 80-stripped.jpg
65012 90.jpg
63916 90-stripped.jpg
135070 IMG_20251106_035048_448_size_400.jpg
129647 stripped.jpg
@rdlmda@rdlmda.me Holy fuck, you were really lucky! This could have gone really bad. You noticed it because of the blackout?
@rdlmda@rdlmda.me @prologic@twtxt.net The web is fucked. :-(
@rdlmda@rdlmda.me What a truly wonderful description. ;‘-D But sorry to hear that. Luckily, no issues over here. It’s extremely rare that this happens. Last time (around five years ago or so) they were cutting down trees in the forest and threw a tree in the overhead power line (which had been converted to underground last year). Power had to be killed in order for the fire brigade to actually extinguish the fire.
@bender@twtxt.net H-Blockx covered it, the original was by Snap! https://en.wikipedia.org/wiki/The_Power_(Snap!_song) But it’s actually not my type of music at all. The high pitch refrain “I’ve got the power” is iconic and has somehow burned itself into my brain. Must have been a short circuit.
@rdlmda@rdlmda.me Yeah the “web” is pretty broken™ right? 😅
@lyse@lyse.isobeef.org 😂 Pretty cool remix(?)!
@rdlmda@rdlmda.me @bender@twtxt.net Eventually: “I’VE GOT THE POWER!” https://www.youtube.com/watch?v=rOScKjXH-HE
@lyse@lyse.isobeef.org Yes 🙌
@movq@www.uninformativ.de This is how my SSH proxy setup works.
@kiwu@twtxt.net after you upload, make sure the audio file looks like this:

And it will work.
Testing…
@rdlmda@rdlmda.me that’s odd. In here is similar, but not random. All it takes is some rain, and then flip a coin: we may, or may not lose power.
@lyse@lyse.isobeef.org no dice. Same.
@movq@www.uninformativ.de I don’t think it is anything you are doing wrong. I think it is on @prologic@twtxt.net side. I am getting the exact same result, but I never cloned that repository. Maybe it worked fine at certain point, when @lyse@lyse.isobeef.org cloned it, but I doubt brand new users can get through.
@rdlmda@rdlmda.me LOL. Do it, do it!
@lyse@lyse.isobeef.org “deep layers of the Mills infrastructure” LOL.
@rdlmda@rdlmda.me it is called, in Spanish, “the mother”. It is created through a bit (not by much) effort, and kept as a starting point. Just like Asian cuisine has dishes that never cool, always cooking leaving always a base on it.
How do you think a lathe (and just about any tool, etc.) is done? Yup, in part by using a lathe. 😅
@bender@twtxt.net Somehow, the enshittificator himself does not have to deal with enshittification in his own life. In fact, his job gets better with the internet! This can only mean one thing, we all have to becom…
@falsifian@www.falsifian.org Congrats, mate, no sleep at night anymore! ;-D That’s a cool age measuring blanket. Haven’t seen something like that before.
Btw. the index.html includes an out of place </ul>. And I just wanna let you know that the full-size photos don’t load for me over here across the pond. They always run into a timeout after a few slooow percent. But no worries. :-)
@movq@www.uninformativ.de @bender@twtxt.net You need a running SSH agent in order to make it through the deep layers of the Mills infrastructure: After ssh-add, git pull always works for me.
And contrary to what the UI shows, the username git always has to be replaced with your own one.
@prologic@twtxt.net network is very secure! 🤪
@movq@www.uninformativ.de just use https instead:
git clone https://git.mills.io/yarnsocial/twtxt.dev.git
@falsifian@www.falsifian.org congratulations mate! Let it be joy, and happiness! Enjoy every moment. Time will fly, and next you know you will be a curmudgeon who knows nothing. 😅
@falsifian@www.falsifian.org Congrats! 🥳
today’s mood