@klaxzy@klaxzy.net Iāve had many SD cards die in Raspberry Pis. Really annoying. Iāve eventually switched to using a read-only rootfs. š«¤
Now thatās interesting. Some of these bots start crawling at URLs like this:
That is obviously completely wrong. But I can explain it. Some years ago, I screwed up my nginx rewrite rules, and thatās how these broken URLs came to be.
It all redirects to /git now, which is why that endpoint sees so much traffic lately.
But what does that mean? Why do they start there? I can only speculate that this company bought an old database of web links and they use that to start crawling. And it was probably a cheap one, because these redirects have been fixed for quite a long time now.
@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.
** Answering some questions about Baba Yaga **
My previous post found its way to Hacker News; I donāt have an account there, but a commenter asked a few questions that I thought I could answer in a follow up post.
Baba Yaga uses call-by-value evaluation, not call-by-need (akaālazyā).
From the interpreter,
ā`hljs javascript
function visitFunctionCall(node) {
const callee = visit(node.callee);
// Arguments ar ⦠ā Read moreā`
@lyse@lyse.isobeef.org Yeah, that was a lot of fun. š Now letās wait and see if I ever get to actually use this. š
@thecanine@twtxt.net We donāt use Microsoft at work ā but similar products of other big companies. Theyāre all doing the same. The core product gets worse and worse, because they focus so much on vomiting āAIā over everything.
It will die down eventually. I hope.
We use all the Microsoft programs at work - Teams and Outlook especially.
After all kinds of technical problems with Teams, that sometimes go unresolved for over a year, Microsoft shifted their priorities away from fixing things and towards adding an annoying AI Copilot button, that just takes up space and all it does, is loads the website in Teams, so I disabled it. Soon they just add it back, but in a different row of icons, therefore itās now a different button, you have to disable (I think they added yet another one, to the Teams, on my work phone and I had to disabled that too). Not too long after, the desktop one just enabled itself, because of āan errorā and I can disable it, but doing so activates a popup, that begs you to turn it back on, every once in a while. You canāt disable the popup and can only click āYesā or āNot nowā on it. I still keep it disabled, out of principle, but yesterday I noticed yet another Copilot button, this time in the top right corner of my Outlook and this one cannot be disabled, on the business version of Outlook and even on the personal one, itās only possible to do it through hidden privacy settings, by prohibiting the program from connecting to Microsoft servers, for extra āfeaturesā.
Thereās people complaining about it online, so itās clear nobody really wants it, but at this point Microsofts position is that you will have at least one useless AI button on your screen, at any given time, and you will be happy. And yes, their AI sucks and if I absolutely have to use AI for something, thereās already 2 better options, we have access to, at work.
Enjoy! This is a longer weekend for us too (Labor Day), and even longer for me, as I have asked for Tuesday off. Yayyyyy! I will not be drinking (I voluntarily stopped drinking anything with alcohol in it), but I will try to get a few things done, and then relax.
@movq@www.uninformativ.de Yeah, weāve seen how this plays out in practice 𤣠@dce@hashnix.club My advice, do what @movq@www.uninformativ.de has hinted at and donāt change the 1st # url = field in your feed. Iām not sure if you had already, but the first url field is kind of important in your feed as it is used as the āHashing URIā for threading.
@dce@hashnix.club Ah, oh, well then. š„“
My client supports that, if you set multiple url = fields in your feedās metadata (the top-most one must be the āmainā URL, that one is used for hashing).
But yeah, multi-protocol feeds can be problematic and some have considered it a mistake to support them. š¤
Speaking of PS/2, I wish PS/2 came back as the standard. I love that they use interrupts instead of polling to function.
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 ā¦)
@prologic@twtxt.net @moveq@twtxt.net I think itās mostly the serious lack of competition. All the Android phone manufacturers just use the Google version of Android, bundle in piles of Google bloatware and do whatever Google tells them to. If some of them installed Lineage, or any other versions, with their own stores and rules, or even just offer a less Googly version of their phones, as an option, for more experienced users, Google wouldnāt be able, to push everyone around.
@dce@hashnix.club I donāt use Gemini, but I follow you on the good, old, HTTP(S)! :-)
@movq@www.uninformativ.de @prologic@twtxt.net this is extremely concerning and I hope there is enough push back to stop this! The ability to modify apps, is one of the two biggest reasons, Iām still using Android. If they remove that option, Iāll be forced to switch to one of the de-Googled forks.
That might not be a good solution either, because I need banking and identity verification apps on my main device and already had to get a second device for work, which has tighter sideloading restrictions and I would very much not like to be forced into using three Android phones simultaneously, to do what should be possible, with just one.
Apparently twtxt wasnāt the right client to use. twet seems to be alright, though.
Sometimes itās a small thing, itās a bit jarring when orgs that want to pose as international/global publish some copy/event based on US school terms/seasons. Thatās a reminder of how other people are at the periphery and will be probably ignored most of the time. Isnāt it obvious we have different school year arrangements & seasons around the world? I guess @melissawm@melissawm will share my sentiments about this.
I used to be able to sell my music anywhere in the world - and I have managed to send CDs to quite remote places, or kingdoms with nefarious regimes⦠but now, well, there is one country where I can not ship cassettes or CDs to: the USA šŗšø.
Itās not like Iām expecting any loss: I rarely sell music, and when I do it is rarely to the states (I donāt know why, I think my stuff ought to be way more popular! š). But still, it is disheartening to see there is now an effective wall, a country where I wonāt be able to (directly) reach. Congratulations to everyone involved.
[PS: if youāre puzzled about what is this all about - a number of European countries, including Portugal, wonāt be shipping stuff to the US due to legal uncertainty regarding Trumpās tariffs.]
I only learned about the .envelope object/propriety in #shapely yesterday, before that I used .bounds (a min/max of points tuple), but envelope is good to know because it provides an easy way of getting the centroid and the area of the bounding box, which can be very useful.
@prologic@twtxt.net Anything above a couple hundred Euros. š The current Epson LX-350 appears to be not that pricey, though. š¤
I mean, what do you want to do with it? If you want to use this as an actual printer for daily use, Iād get a laser printer instead, because theyāre very reliable and the print quality is top notch.
I got my dot matrix printer mostly for experiments and nostalgia, so I wouldnāt want to pay something like 300-400⬠for it.
@prologic@twtxt.net Yeah, those POS thingies are similar. Thereās āESC/POSā as a variant of āESC/Pā, if Iām not mistaken.
All I can say is, when I go to big stores like Amazon, then I have trouble finding ātraditionalā dot matrix printers for use at home. š Epson still sells them, but theyāre more expensive than my laser printer was. So yeah, they still exist, just expensive, by the looks of it.
@prologic@twtxt.net Hmm, good question. I havenāt checked the market, I got mine from someone I know. But to be honest, Iād suspect that buying a used one is actually your best shot, because there is virtually no market for these devices anymore, meaning new ones are very, very expensive. š«¤
FWIW, I have an OKI Microline 3390eco. Good thing is, you can still buy new cartridges for it.
If you want to buy a new device, check if it supports the āESC/Pā standard. Thatās very widely supported.
This is why I love tech from that era.
Write bytes to a parallel port and stuff happens. If itās just ASCII bytes, then it will print ASCII text. Even the simplest programs can use a printer this way.
With a little bit of ESC/P, you can print images and other fancy stuff. Thatās what I did this morning ā never worked with ESC/P before, now I can print images. Itās not that hard.
Hayes-compatible modems are similar: Write some AT commands to the serial port and the modem does things. This isnāt even arcane knowledge, itās explained in the printed manual.
Maybe Iām wearing rose-tinted glasses here, but I think with all this old stuff, you get useful results very quickly and the manuals are usually actually helpful. Itās so much easier to get started and to use this hardware to the full extent. Much less complexity than what we have today, not a ton of libraries and dependencies and SDKs and cloud services and what not.
@lyse@lyse.isobeef.org When/if I can pull it off, there will be videos! š
I never used hardcopy terminals, either. We did have a dotmatrix printer, but that was just used as a regular printer.
Inkjets, I donāt know. They were pretty fascinating and cool when they came out. A lot faster than dotmatrix and obviously quiter. They never gave me much trouble, actually. But I switched to a laser printer long before crap like DRMāed ink cartridges became a thing.
The XMPP Standards Foundation: MongooseIM 6.4 - Simplified and Unified
MongooseIM is a scalable and efficient instant messaging server. It implements the open, proven, extensible and constantly evolving XMPP protocol, which is an excellent choice when it comes to instant messaging. To communicate with other XMPP entities, the server uses three main types of interfaces, listed in the table below.
XMPP InterfacePurposeConnection typeReworked in v ⦠ā Read more
@movq@www.uninformativ.de Heck yeah, have fun! :-) We never had a matrix printer, started off with a cathode ray tube and an inkjet pisser.
Iām happy to see you compose your first twtxt message using ed on your new output device. We definitely need video proof of that! ;-)
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
The GPG signatures of my software tarballs have been wrong for years (because Iāve been using rsync wrong, funny enough, it wasnāt a GPG issue) and nobody ever noticed. (They still are wrong at the moment, because I havenāt pushed the fix, yet.)
This confirms that this is just a total waste of time. Nobody ever checks this. Maybe this matters if youāre a distro, but why even bother as a single person ā¦
@movq@www.uninformativ.de Ucycling just rocks to hard!
@bender@twtxt.net Hahaha, I bet you could use it for a myriad of things! :-D
@lyse@lyse.isobeef.org ooooh! I wish I had that mallet here at work today. So many uses come to mind! š
@lyse@lyse.isobeef.org thatās so cool! I had to do some research, as I thought all pallets were made using cheap pine wood (which is quite soft), but, boy, as I erring big time! Oak it is also used, which is hardwood, and quite durable.
/29 IPv4 subnet with my ISP used to power my ingress. No longer.
I use Headscale. Love it!
@movq@www.uninformativ.de Oh yeah, once in the quarter to the office is absolutely amazing and luxurious. Thank you teammates and employer! Though, I would already have been on site when these things happened earlier.
Today is my last day of holiday. Back to work again tomorrow. Not looking forward, vacation is just great. So easy to get used to.
Today I finally got rid of my /29 IPv4 subnet with my ISP used to power my ingress. No longer.
I intentionally use #AI tools to workā¦
A library to help use the #Beholder system of webcam detected markers with #p5js
A library to help use the #Beholder system of webcam detected markers with #p5js (made by https://enric.llagostera.com.br/)
Sam Whited: Notes
Iāve recently been using the Mixxx software for DJs. This page includes some
personal notes on my own use cases, whatās good, whatās bad, etc.
It is not really made for general consumption, but is thrown up here anyways.
It will be a bit rambling and/or ranty at times, most likely.
Letās get my overall impressions of the software out of the way up front: itās
absolutely great and I recommend it over the commercial alternatives for DJs of
all stripes (except maybe Radio DJs, itās not really for ⦠ā Read more
Iām using #Filen (@filen@filen) for a while now and Iām very pleased with it!
«Affordable zero-knowledge end to end encrypted cloud storage made in Germany.» Works on #Linux, nice well thought features.
So Iām going to share a referral link because Ā«For every friend you invite to Filen you receive 10 GB - and your friend also receives 10B. Itās that easyĀ»:
I have been using #Filen (@filen@filen) for a while now and Iām very pleased with it!
«Affordable zero-knowledge end to end encrypted cloud storage made in Germany.» Works on #Linux, nice well thought features.
So Iām going to share a referral link because Ā«For every friend you invite to Filen you receive 10 GB - and your friend also receives 10B. Itās that easyĀ»:
@movq@www.uninformativ.de having to go to a gopher proxy to see a text document better served on readily available web servers⦠š¤, but I digress. Verbatim text:
What's Missing from "Retro"
~softwarepagan
------------------------------------------------------------------
You know, often, when I say I miss older ways of computing or
connecting online, people tell me "there's nothing stopping you
from doing that now!" and they are technicay correct in most cases
(though I can't, for example, chat with friends on MSN ever
again...) However, let me explain that while this type of thing can
*sort of* fill that hole in my heart, it isn't *the same.*
Say, for example, I wanted to connect with others over a BBS. This
wouldn't offer the same types of connections it used to. While
there are BBSes around with active users, they're no longer there
to discuss movies, Star Trek, D&D, games, etc. They're there to
discuss *BBSes.* The same can be said for Gopher, old-school forums
and all sorts of revival projects (such as Escargot, Spacehey,
etc.) Retrocomputing enthusiasts, while they have a variety of
interests, are often in these spaces to discuss the medium itself
and not other topics. This exists at a stark contrast from how
things were in the past, where a non-tech-inclined person may learn
the tech to connect with likeminded others (as I did as a
Zelda-obsessed kid.)
The same can be said of old media. People will say "well, nobody is
stopping you from watching old shows/movies now!" Again, they are
technically correct. I can go home right now and watch *Star Trek:
The Next Generation* to my heart's content. It will never again,
however, be current, or new. When something is new, it serves as a
shared cultural experience. Remember how "Game of Thrones* felt in
the mid-to-late 2010s? Yeah, that.
It's sad. I sustain myself on a mixed diet of old things, new
things, and new things intended for old millenials like me who like
old things. It can be bittersweet.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going supper strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great pure Python Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what Iām using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great pure Python Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what Iām using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything with it.
The great āpure Pythonā (no Java required) Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is what Iām using most nowadays.
Updating my #Processing + #Python tools table:
After some years, things changed and my opinions changed a bit too:
#py5 is going super strong and the ānew snake_case namesā are not an issue for me anymore. I used to worry a lot about all the Processing Python mode examples and teaching materials out there, and some of my own, with āCamelCase Processing namesā Iām not worried at all about it anymore!
For the record, Processing Python mode is just a legacy thing, no one should start anything new with it.
The great āpure Pythonā (no Java required) Processing implementation project #p5py seems stalled, latest release in Dec. 2023 :((( Advancing it was always going to be an uphill battleā¦
The unrelated #Brython based site
p5py.comseems to be gone, so I removed it from the table.I added a link to my own #pyp5js hack py5pjs/py5mode because this is the version of pyp5js Iām using most nowadays.
We did an experiment at work today: Do I even need to lock my laptop when Iām gone or is nobody able to use it anyway?
It went as expected. š¤£
I think that most of the paper dollars are in the hands of US citicens.
@kat@yarn.girlonthemoon.xyz If youāre willing to ignore that itās proprietary software, then Windows used to be pretty good. Like, 25 years ago. After Windows 2000 (or maybe XP) it went downhill fast. Kind of makes me sad, actually. š
apt manpage of Ubuntu recently, which, for some reason, uses blue text in one place:
Ah, so apparently they donāt like writing manpages anymore and instead use XML:
https://salsa.debian.org/apt-team/apt/-/blob/main/doc/apt.8.xml
And then they use XSLT on top and what not:
https://salsa.debian.org/apt-team/apt/-/blob/main/doc/manpage-style.xsl.cmake.in
Itās not even explicitly blue:
https://salsa.debian.org/apt-team/apt/-/blob/main/doc/apt.ent?ref_type=heads#L17
Abstractions upon abstractions upon abstractions.
You can explicitly use colors in manpages. I saw this in the apt manpage of Ubuntu recently, which, for some reason, uses blue text in one place:
https://movq.de/v/de5ab72016/s.png
Makes little sense to me. Iām glad that most manpages donāt do this. I wouldnāt want unicorn vomit all over the place.
Using colors can be done using the low level commands \m and \M:
.TH foo_program 3
\m[blue]I'm blue\m[], da ba dee.
\m[red]\M[yellow]I'm red on yellow.\m[]\M[]
This is quite horrible.
** Make awk rawk **
A friend online recently replied to something I wrote about awk by saying:
[ā¦] itās a danged shame [awk] didnāt continue to evolve the way Ruby, Python, PHP have evolved over the decades.
I had exactly this thought while working on my slightly unhingedālets see if I can implement a basic scheme using awk by writing an assembler and VM in awk,ā skwak. Which eventually lead me to start noodling on how to layer in some modern niceties into awk, without breaking awkās portability.
⦠ā Read more
The XMPP Standards Foundation: The XMPP Newsletter July 2025
XMPP Newsletter Banner
Welcome to the XMPP Newsletter, great to have you here again!
This issue covers the month of July 2025.
Like this newsletter, many projects and their efforts in the XMPP community are a result of peopleās voluntary work. If you are happy with the services and software you may be using, please consider saying thanks or helping these project ⦠ā Read more
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldnāt understand what to do instead :(
And the plot thickens:
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding I guess youāll want to check this out at some point. py5_tools.animated_gif uses this)
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldnāt understand what to do instead :(
And the plot thickens (this affects many projects, there are some workarounds, but some argument about ārevertingā this change allowing some āmodeā on import):
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding@py5coding I guess youāll want to check this out at some point. py5_tools.animated_gif uses mode=āRGBā)
#Pillow #PIL #Python
On Image.fromarray():
DeprecationWarning: 'mode' parameter is deprecated and will be removed in Pillow 13 (2026-10-15)
img1 = PIL.Image.fromarray(my_array, mode="RGB")
So I went to see the documentation:
https://hugovk-pillow.readthedocs.io/en/latest/reference/Image.html#PIL.Image.fromarray
And came out empty handed, that is, couldnāt understand what to do instead :(
And the plot thickens (this affects many projects, there are some workarounds, but some argument about ārevertingā this change allowing some āmodeā on import):
https://github.com/python-pillow/Pillow/pull/9063
(@py5coding@py5coding I guess youāll want to check this out at some point. py5_tools.animated_gif uses mode=āRGBā)
@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.
@kat@yarn.girlonthemoon.xyz Hereās the full config I use.
@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
#GitHub #GitHubPages #fail This is driving me madā¦
Images randomly deciding not to load on all my pages.
Is it just me? Is it my browserās fault? Is it just in Brazil?
I was working on this #shapely + #trimesh page⦠and I can only see the last image (the animated gif)!
https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/shapely-e-trimesh.html
Update: On this exact page I have bungled the image URLs (I blame Marktext for being stupid and not using a relative reference). But I swear loading problems have been going on other well formed pages.
XMPP Interop Testing: MOAR TESTS!
Ever heard of XMPP Interop Testing? Itās this cool project that helps make sure different XMPP servers can all work
together smoothly. Our XMPP Interop Testing project provides a suite of automated tests that can be integrated into
CI/CD pipelines to verify the compliance and interoperability of XMPP server implementations.
Late last year, we reported that we had secured funding graciously provided by NLnet that allowed
us to massively build out t ⦠ā Read more

Since Fastly acquired and recently shut down glitch.com, some of my ancient webapps are no longer available, nor do I have any plans to make them available again - all had either zero, or very few monthly visits, used outdated libraries and would be a waste of money, to continue hosting and updating elsewhere.
All art archives remain unaffected and all projects shut down before 2025, were already permanently deleted, but if thereās someone out there, still relying on the recently discontinued projects, somehow - you can reach out and request their source code.
These requests will only be honoured, until the end of this year, when we plan to permanently delete, all of this data (both webapps and files only hosted on Amazons CDN).
Canine out °_°
Prosodical Thoughts: Debian repository key change
We have been working on some changes to our Debian/Ubuntu package repository.
If you use our repository to keep up to date with new Prosody packages, you
need to take action before 4th August 2025 to continue receiving updates
smoothly.
The āaptā utility has been moving towards a new format for specifying package
repositories. If you are familiar with putting deb lines in a sources.list
file, [that method is changing](ht ⦠ā Read more
Hi roman at shibboleths.org! Why do you use java? My lynx browser has no java.
If you think the EU-US agreement is good news, think again:
āWe will replace Russian gas and oil with significant purchases of US LNG, oil and nuclear fuels,ā the European Commission President says in a statement.
https://www.bbc.com/news/live/c5y0d0yz282t?post=asset%3A23c287b5-7113-4081-8b9d-71b8de41df4c#post
@prologic@twtxt.net Iād expect a custom build like that to cost at least 50ā000⬠here in Europe. Used campers with 100ā000 - 200ā000 km already on their clock are 20-40kā¬, apparently. š
@prologic@twtxt.net Cool! What program do you use to draw this up?
Stuff that nobody needs:
systemctl uses ANSI escape codes to underline text (\e[4m) and then it also uses special escape codes ā that Wikipedia classifies as ānot in the standardā, but I havenāt looked it up ā to change the color of the underline. That color change is barely noticeable in the first place.
Some terminals donāt support this and now my systemctl output is blinking because of that.
guys i use VPS systems from time to time and they scare me. wdym they have every port open by default and the firewall is your responsibility. what the fuck bro
Global update: Trump in Scotland says EU trade deal has 50-50 chance as tariff row grows. Gaza sees 9 more starvation deaths (122 total); UN says famine is deliberate. Thai-Cambodia clashes kill 16, displace 135k. US raid in Syria kills top ISIS leader & sons.
You know youāre getting old when thereās quite a few scripts in your ~/bin that you use daily, but you havenāt edited them once in well over 10 years ā¦
@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. š„“
@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
@lyse@lyse.isobeef.org True, at least old versions of KDE had icons:
https://movq.de/v/0e4af6fea1/s.png
GNOME, on the other hand, didnāt, at least to my old screenshots from 2007:
https://www.uninformativ.de/desktop/2007%2D05%2D25%2D%2Dgnome2%2Dlaptop.png
I switched to Linux in 2007 and no window manager I used since then had icons, apparently. Crazy. An icon-less existence for 18 years. (But yeah, everything is keyboard-driven here as well and there are no buttons here, either.)
Anyway, my draft is making progress:
https://movq.de/v/5b7767f245/s.png
I do like this look. š
@kat@yarn.girlonthemoon.xyz Cool! I just got an idea for work tomorrow: Use dmenu to quickly start different SSH tunnels I routinely need.
@movq@www.uninformativ.de I havenāt used KDE or GNOME for ages, but Iām sure KDE at least used to show application icons in the title bars. They proabably still do. But then, one could argue that KDE is mimicking Windows. I never thought like that, I always found KDE way superior, because I was able to configure it like a madman.
In i3, I donāt have any application icons. I remember missing them at the beginning. But I donāt even have the classical minimize, maximize and close buttons in the title bar either. Just the title. Being mostly keyboard driven and a tiling window manager, these buttons are not super useful, anyway.
@movq@www.uninformativ.de @kat@yarn.girlonthemoon.xyz Iām just used to it because I deal with such things all the time. :-)
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.
We finally got a caliper donated for this yearās scout flea market. We didnāt sell it, but kept it ourselves. It will come in very handy every now and then in our material store. For example, I missed having a caliper in the past when sorting our random assortment of screws or measuring the depth of a hole. Itās a wee bit banged up (probably happened during transport) and didnāt come with a box, but the latter is now solved.
The lid and bottom came from a wardrobe back panel I got from a mate, the sides were rocket sticks in their former lives. I found some scrap of felt in our material store and some hinges laying around in the drawers of my own workshop.
Unfortunately, the table saw teared up the plywood veneer fibres badly, even though I put tape around to prevent that. This is the first time it didnāt work. At. All. To cover that up, I painted the box with some decades old tinting paint (price tag says Deutsche Mark, not Euro!) from my paint cabinet. Itās awesome, works absolutely perfectly and doesnāt smell the slightest bit. I reckon, this caliper box is plenty good enough for occasional use at our scout material store.
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 ā¦
gomdn: Yet another Static Site Generator
Yet another Static Site Generator (SSG), but this one is mine.
Itās a stupidly simple Go program ( wc says 229 lines), more like a
hack, really, but I donāt need something like Hugo. Most of the real
work is done by the goldmark package, of course. This is mostly just a
wrapper, deciding if something needs to be rebuilt.
Iāve been using a Perl script together with cmark (originally
Markdown.pl) since forever. And before that the old [txt2tags](htt ⦠ā Read more
I have a Python script that transforms the original YouTube channel Atom feed into a more useful Atom feed by removing the spam description and replacing it with the video duration, filtering out videos by title, duration, etc. I just updated it to exclude the damn Shorts garbage more efficiently. Finally, YouTube updated their Atom feed generation, so that the video URL contains /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 I have absolutely no idea, but I wouldnāt be surprised if it uses the closest full image after your cut point and not the one before. Hence, the deltas between the two full images have nothing to really refer to. So, the video player just shows the first full image it finds and āfreezesā the image until the video stream actually hits it.
Let me try to visualize it, | represent full images, . just subsequent deltas:
Original start of video
ā
|......|.....|........|......|..
ā ā
Cut point Cut point
Resulting video:
....|.....|........|....
āāāā
This is where it freezes
Could be complete bullshit, though. Wouldnāt be the first time that Iām wrong. :-)
Iām just curious, what exact command line do you use to cut the video?
i should work on my PHP project again just so i have an excuse to use htmx
@lyse@lyse.isobeef.org yesss itās not my idea but itās sooo fun here ngl like i should use it more!!
Sorry shibboleths.org! I get a warning with my ip, even when I use lynx with a german IP from
I have this very simple #Python script that uses #imageio to convert all PNG files on a folder into a #GIFAnimation, and this is a #FreeSimpleGUI version of it (I usually run a command line version).
As I usually run #gifsicle on the command line after creating a GIF, I decided to update it to add #pygifsicle to do it for me and save a step.
https://github.com/villares/sketch-a-day/blob/main/admin_scripts/make-gif.py
@kat@yarn.girlonthemoon.xyz Nice use of dmenu.
Maybe someone can explain this to me.
An #EU citizen trying to access Facebook today faces the following choices (see screenshots).
In there, they say that they are asking this again to comply with #EU rules, and yet the question - and the options to choose from - are the same they had in the past.
So, hm, how does this make them comply with something they werenāt complying before? Whatās the detail Iām missing?
Xfce does one thing very right: It stores its settings in plain-text XML files. This allows me to easily read, track, and maybe even distribute these settings to other machines.
(Unlike GNOMEās dconf, which uses some binary file format. Fun fact: The older and now deprecated gconf also used XML files.)
Ā«Using data from Morgane Laouenan et al., the map is showing birthplaces of the most ānotable peopleā around the world. Data has been processed to show only one person for each unique geographic location with the highest notability rank. Click below to show people only from a specific category.
Made by Topi Tjukanov.Ā»
https://tjukanovt.github.io/notable-people
via @mekaru@mekaru
#wikidata #cartography
Nooooooooooooooooooooooooooooooooooooooooooooooooooooooo, the doctors have started using AI voice agents and they understand jack shit. ššš
Zip It! - Finding File Similarity Using Compression Utilities - Computerphile ā Read more
Thinking about doing āWayland Wednesdayā. Only use Wayland every Wednesday. Collect bugs, report bugs, fix bugs.
setpriv on Linux supports Landlock.
@prologic@twtxt.net Yeah, itās not a strong sandbox in jennyās case, it could still read my SSH private key (in case of an exploit of some sort). But I still like it.
I think my main takeaway is this: Knowing that technologies like Landlock/pledge/unveil exist and knowing that they are very easy to use, will probably nudge me into writing software differently in the future.
jenny was never meant to be sandboxed, so it canāt make great use of it. Future software might be different.
(And this is finally a strong argument for static linking.)
Another hacky #Python script using the #HackMD API⦠this one is to change the write permissions⦠you might want to adapt it or check out the other API helper methods:
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.
@prologic@twtxt.net @bender@twtxt.net Thatās what I thought as well, sounds way too expensive to me. But I have no idea what the prices are over here. Probably also astronomical. Campers sit around most of the time, one really would need to use them a lot to justify spending so much money on them.
But yeah, each to their own (expensive) hobbies. :-) I, for example, burn my money on tools that I donāt really⢠need. :-P
@lyse@lyse.isobeef.org which browser do you use? Chrome, Edge, and Firefox, under Ubuntu, all show it fine.
Lazy-fedi-question⦠I have a āworkingā(?) code example of TF-IDF #tfidf using #scikitlearn and I know the main concepts, but all the tutorials I find are a bit ā I donāt want to be harsh but ācrappy⦠Can someone point me to some nice open resource on it?