Am Sonnabend ist es wieder so weit: ESC 20235. Gestern wurde die zweite Hälfte der Kandidaten für das Finale bestimmt. https://eurovision.tv/event/basel-2025/grand-final
Mir gefƤllt, dass viele Lieder in Landessprache vorgetragen werden. Meine Favoriten sind:
- š®š¹ Italien
- š±š» Lettland
- š±š¹ Litauen
- šµš¹ Portugal
š©šŖ Deutschland hat mich stimmlich leider nicht überzeugt, auch wenn die Musik einen mitnehmen kann - aber für die kann ich ja eh nicht abstimmen.
@movq@www.uninformativ.de They already do:
[ā¦] These changes will apply to operations like cloning repositories over HTTPS [ā¦]
On a positive note: Finally time to get rid of as many Go dependencies as possible. :-)
@kat@yarn.girlonthemoon.xyz You donāt need to change the directory first in line 11, you can just create the directory, thatās sufficient since youāre having an absolute path.
The echo in line 13 is useless, you can simplify this to: newdir="$WD/$now" If you reversed this line with the previous one, you could make use of the variable in the directory creation: mkdir "$newdir".
In line 16, pull the directory change out of the loop upfront. The loop body doesnāt modify the working directory, so no need to reset it with each cycle. In fact, you could even spare the cd altogether when you simply tell find where to look: find "$basedir" -type fā¦.
I didnāt try it, but if I read the manpage correctly, you should be able to simplify line 19 as well:
-C Change to DIR before performing any operations. This option is order-sensitive, i.e. it affects all options that follow.
Hence, remove the cd and put the -C "$WD" as the first argument to tar. Again, I didnāt try it. Proceed with caution.
Finally, you donāt need to specify the full path to rm in line 21. I bet, /bin is in your PATH. When you removed the previous cd from my last suggestion, the relative path that follows wonāt work anymore. So, just use the absolute path that you already have in a variable: rm -rf "$newdir"
I hope you find this tiny review a wee bit useful. :-)
Thanks to @kat@yarn.girlonthemoon.xyz and her shelf I finally spent several hours in the woodshop. I wanted to build two drawers for the workbench and thought that I will complete this project in no time. Iāve been so wrong again. ;-)
I didnāt draw any plans, just measured a few times and then went to cutting a bunch of particle board leftovers at the table saw. I routed rebates on the sides, fronts and backs to lap the boxes and sink in the bottom. It turned out that having no plans was a stupid idea. I cut exactly on the lines as I calculated and measured, however, the math in my head fell apart when it eventually met reality. The bottoms are too short, so I gotta glue on some strips. Also, with the longer fronts, the sides wonāt work either, I have to fix them as well. :-D
Finally, the lid of my cyclone bucket broke when the negative pressure got too large. Oh well. It was just an old wood glue bucket, Iāve got another empty one, so I can use that lid but strengthen it first with some plywood. Something for future Lyse to deal with.
All in all, it was still good fun. Wood (haha) do it again, but at least with some sketches on paper. ;-)
Running - 4 miles: 4.00 miles, 00:09:40 average pace, 00:38:41 duration
nice and easy run on the treadmill. not sure how much i am going to run this week in anticipation for the final run.
#running #treadmill
Iāve just released version 1.0 of twtxt.el (the Emacs client), the stable and final version with the current extensions. Iāll let the community maintain it, if there are interested in using it. I will also be open to fix small bugs.
I donāt know if this twt is a goodbye or a see you later. Maybe I will never come back, or maybe I will post a new twt this afternoon. But itās always important to be grateful. Thanks to @prologic@twtxt.net @movq@www.uninformativ.de @eapl.me@eapl.me @bender@twtxt.net @aelaraji@aelaraji.com @arne@uplegger.eu @david@collantes.us @lyse@lyse.isobeef.org @doesnm@doesnm.p.psf.lt @xuu@txt.sour.is @sorenpeter@darch.dk for everything you have taught me. Iāve learned a lot about #twtxt, HTTP and working in community. It has been a fantastic adventure!
What will become of me? I have created a twtxt fork called Texudus (https://texudus.readthedocs.io/). I want to continue learning on my own without the legacy limitations or technologies that implement twtxt. Itās not a replacement for any technology, itās just my own little lab. I have also made a fork of my own client and will be focusing on it for a while. I donāt expect anyone to use it, but feedback is always welcome.
Best regards to everyone.
#twtxt #emacs #twtxt-el #texudus
7 to 12 and use the first 12 characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q or a (oops) š
And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! š± #Twtxt #Update
July 1st. 63 days from now to implement a backward-incompatible change, apparently not open to other ideas like replacing blake with SHA, or discussing implementation challenges for other languages and platforms.
Finally just closing #18, #19 and #20 without starting a proper discussion and ignoring a āmicro consensusā feels⦠not right.
I donāt know what to think rather than letting it rest (May will be busy here) and focus on other stuff in the future.
No hay luz pero no me importa. En la vida hay que focalizarse en cazar las plumas al final del palo. El resto es secundario.
#catsoftwtxt
Someone has started to run git pull on one of my repos ā once every two minutes. This is a very pointless endeavour. I push new code a couple of times per month.
So far, this isnāt causing any issues. I think this is just a regular human being who misconfigured some automation. And I hope this doesnāt mean that the āAIā bots have finally discovered my page ā¦
Finally I propose that we increase the Twt Hash length from 7 to 12 and use the first 12 characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q or a (oops) š
And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! ā I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.socialās 5th birthday and 5 years since I started this whole project and endeavour! š± #Twtxt #Update
@movq@www.uninformativ.de I started with Delphi in school, the book (that we never ever used even once and I also never looked at) taught Pascal. The UI part felt easy at first but prevented me from understanding fundamental stuff like procedures or functions or even begin and end blocks for ifs or loops. For example I always thought that I needed to have a button somewhere, even if hidden. That gave me a handler procedure where I could put code and somehow call it. Two or three years later, a new mate from the parallel class finally told me that this wasnāt necessary and how to do thing better.
You know all too well that back in the day there was not a whole lot of information out there. And the bits that did exist were well hidden. At least from me. Eventually discovering planet-quellcodes.de (I donāt remember if that was the original forum or if that got split off from some other board) via my best schoolmate was like finding the Amber Room. Yeah, reading the ITG book would have been a very good idea for sure. :-)
In hindsight, a console program without the UI overhead might have been better. At least for the very start. Much less things to worry about or get lost.
Hence, Iād recommend to start programming with a console program. As for the language, not sure. But Python is probably a good choice, it doesnāt require a lot of surrounding boilerplate like, say Java or Go. It also does exceptionally well in the principle of least surprise.
I went on a small hike, just 12-13km this time. The weather was great, blue sky, sunny 18°C, but with the wind it felt colder. Leaves and other green stuff is exploding like crazy. It looks super beautiful right now.
I came across an unfortunately dead salamander on the forest road, some fenced in deer, heaps of sheep, some unmagnetic cows (some were aligned very roughly north-south, but mainly with the axis of the best view I believe), a maybeetle and finally an awesome sunset. Not too shabby! The sheep were mehing all the time, that was really lovely to hear. And the crickets were already active, too. Didnāt expect them to hear yet. I tried to record the concert, but the wind messed it all up. Oh well.

i can finally talk about it here: iām doing contract sysadmin work for fujocoded!!!!!!
@xuu@txt.sour.is or @kat@yarn.girlonthemoon.xyz Do either of you have time this weekend to test upgrading your pod to the new cacher branch? š¤ It is recommended you take a full backup of you pod beforehand, just in case. Keen to get this branch merged and to cut a new release finally after >2 years š¤£
@prologic@twtxt.net really? Then we have a problem with bulleted lists. Let me see:
- This is one.
- This is two.
- This is three, and final.
A mate and I had an amazing but also exhausting hike to the highest of the Three Emperor Mountains yesterday with perfect weather conditions. Sunny 18°C, blue sky with barly a cloud and a little welcoming breeze, just beautiful.

Mt. Stuifen is 757 meters above sea level, has a small shelter and a barbie area and is still the most boring one of the three. Itās also the one farthest away from me. Not sure why it has two summit crosses, but both arenāt at the summit. The third, makeshift one at the real summit was gone by now. Four years ago, somebody had cobbled one together and put it up.
We bought our tucker at a local bakery on our way. This was the first time I tried a Teufelsbrezel (lit. devilās pretzel), a lye pretzel with pepper. Havenāt come across that anywhere else. But I can certainly recommend that, itās yummy.
We were glad when we were finally back home after some 26 or 27km. I wonāt do much today and let my feet rest. Another friend called for a much, much shorter hike tomorrow.
Enjoy the 92 photos: https://lyse.isobeef.org/wanderung-auf-den-stuifen-2025-04-19/
On top of my usual backups (which are already offsite, but it requires me carrying a hard disk to that other site), I think I might rent a storage server and use Borg. š¤ Hoping that their encryption is good enough. Maybe thatāll also finally convince me to get a faster internet connection. š
Signs of life detected on distant planet + 1 more story
Plus, WHO finalizes pandemic treaty ā Read more
Even though I really do like the shell, I always use Dolphin to mount my digicam SD card and copy the photos onto my computer. I finally added a context menu item in Dolphin to create a forest stroll directory with the current date in order to save some typing:

The following goes in ~/.local/share/kservices5/ServiceMenus/galmkdir.desktop:
[Desktop Entry]
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin,inode/directory
Actions=Waldspaziergang;
[Desktop Action Waldspaziergang]
Name=Heutigen Waldspaziergang anlegenā¦
Icon=folder-green
Exec=~/src/gelbariab/galmkdir "%f"
In order to update the KDE desktop cache and make this action menu item available in Dolphin, I ran:
kbuildsycoca5
The referenced galmkdir script looks like that:
#!/bin/sh
set -e
current_dir="$1"
if [ -z "$current_dir" ]; then
echo "Usage: $0 DIRECTORY" >&2
exit 1
fi
dir="$(kdialog \
--geometry 350x50 \
--title "Heutigen Waldspaziergang anlegen" \
--inputbox "Neues Verzeichnis in ā$current_dirā anlegen:" \
"waldspaziergang-$(date +%Y-%m-%d)")"
mkdir "$current_dir/$dir"
dolphin "$current_dir/$dir"
This solution is far from perfect, though. Ideally, Iād love to have it in the āCreate Newā menu instead of the āActionsā menu. But that doesnāt really work. I cannot define a default directory name, not to mention even a dynamic one with the current date. (I would have to update the .desktop file every day or so.) I also failed to create an empty directory. I somehow managed to create a directory with some other templates in it for some reason I do not really understand.
Letās see how that works out in the next days. If I like it, I might define a few more default directory names.
my main itch with the DMs extensions is that these messages are intended to be private, not public information. Thatās why other extensions make sense, but DMs are another kind of feature.
TwiXter, Mastodon, FB and some other services usually hide the DMs in another section, so they are not mixed with the public timeline.
I find the DM topic interesting, I even made an indie experiment for a centralized messaging system here https://github.com/eapl-gemugami/owl.
Although, as Iāve said a few times here, Iām not particularly interested in supporting it on microblogging, as I donāt use it that much. In the rare case Iāve used them, I donāt have to manage public and private keys, and finally none of my acquaintances use encrypted email.
Nothing personal against anyone, and although I like to debate and even fight, itās not the case here. This proposal is the only one allowing DMs on twtxt, and if the community wants it, Iāll support it, with my personal input, of course.
A good approach I could find with a good compromise between compatibility with current clients and keeping these messages private is āhidingā the DMs in comments. For example:
# 2025-04-13T11:02:12+02:00 !<dm-echo https://dm-echo.andros.dev/twtxt.txt> U2FsdGVkX1+QmwBNmk9Yu9jvazVRFPS2TGJRGle/BDDzFult6zCtxNhJrV0g+sx0EIKbjL2a9QpCT5C0Z2qWvw==
yarnd now only consumes ~60-80MB of memory depending on load 𤣠And bugger all CPU š
@prologic@twtxt.net woot, finally! š„³š„³š„³
Finally lawn is mowedāwell, the one at the front, the wild forest in the back will have to wait a bit longer. I havenāt clocked my 10,000 steps today, but what I didnāt walking, I did through full body āexerciseā. Will call it a day. š
@movq@www.uninformativ.de and, finally, I see the ASCII. :-)
Ā«Miscrosot finally released a product that doesnāt suck. Unfortunately, itās a vacuum cleaner.Ā» Ā© english word play
Markdown and the Slow Fade of the Formatting Fetish - a nice article about Markdown VS proprietary formatting. With quotes like āMicrosoft Office works in an office where you pretend to work until you can finally go home.ā š
In Mexico you couldnāt register the word Sonora (state), nor Taqueria (kind of restaurant) as there are two common words, but perhaps the combination of both is trademarkable, Iām not sure, so many ātaqueriasā here donāt file a trademark request. Itās usually āTaquerĆa [LAST_NAME]ā or āTaquerĆa [PLACE]ā.
At the same time, the word ātaqueriaā was trademarked in UK, like it would be āParisā or āPubā I guess, so basically Sonora Taqueria didnāt reply to the cease and desist, based on:
[Lizbeth GarcĆa]: A brand may not use a word that is generic or descriptive of the products or services it is putting into circulation on the market.
Since he (Ismael, Taqueriaās representative) didnāt get any response, he decided to leave it in the hands of his law firm.
In early 2023, after all the noise on the internet and the mobilization caused by this case, an agreement was finally reached with TaquerĆa to settle the matter peaceably.
In March 2023, Michelle and Sam decided to register the Sonora TaquerĆa brand and logo with the UK Intellectual Property Office.
Iām playing with ratterplatter again: Itās a toy that watches disk I/O and emulates the noise of a real hard disk. (Linux only.) It uses sound samples from one of my older disks.
I tried a different approach at estimating the disk activity and I think I finally got it right (after almost 10 years ⦠š¤¦).
Demo, booting a Windows 2000 VM: https://movq.de/v/1400544cc6/2kboot-ratterplatter-2.mp4
(For this purpose alone, I put a couple of mini speakers into my PC case, so that the noise comes from the right place: https://movq.de/v/a3b2dc0932/speakers.jpg)
The results arenāt too bad, but this thing canāt be super accurate due to the huge I/O caches that we have these days. For the video, I dropped the caches before booting Windows, otherwise you would have heard almost nothing.
FWIW, if you donāt know it yet, this is the equivalent for proper keyboard sound: https://github.com/zevv/bucklespring
Thereās a secret art easter egg thing, hidden on my website ( https://thecanine.ueuo.com ), for this years April fools event - itās been there for a few weeks, but now I can finally give hints.
alright, I guess Iām finally gonna work on fixing my websiteās responsiveness issue, pray5me
thanks andros!
instead of adding the new twt at the end of the feed, do it at the beginning
The PHP client did that originally, although I didnāt see a real benefit if you use⦠a client.
It could help if you read the .txt file through a browser or something. Also, not many clients are prepared to cut the request, and you canāt rely on the file being organized that way, so finally we dropped that feature.
Google moves all Android development behind closed doors
Up until now, Google developed several components of Android out in the open, as part of AOSP, while developing everything else behind closed doors, only releasing the source code once the final new Android version was released. This meant that Google had to merge the two branches, which lead to problems and issues, so Google decided itās now moving all development of Android behind closed doors. What will change is th ⦠ā Read more
I lost my original Windows 95 CD (and itās too expensive for my taste to buy on eBay), so I finally sat down and got an old disk image of one of my PCs to work in QEMU.
I donāt intend to do much with Win95. I just want to be able to boot it, if I want to check how certain things worked or looked in that version. The purpose of this really is to be an archeological digsite.
@eapl.me@eapl.me Cool!
Proposal 3 (https://git.mills.io/yarnsocial/twtxt.dev/issues/18#issuecomment-19215) has the āadvantageā, that you do not have to āmentionā the original author if the thread slightly diverges. It seems to be a thing here that conversations are typically very flat instead of trees. Hence, and despite being a tree hugger, I voted for 3 being my favorite one, then 2, 1 and finally 4.
All proposals still need more work to clarify the details and edge cases in my opinion before they can be implemented.
i love everything pico.sh i wish i had more of a use for their services but the paste service is SUPER handy omg i finally had a reason to use it (to send a friend my unfinished failed marvel API bash program lol) and itās epic. i love SSH i love TUI apps they are the best
GIMP 3.0 released
Itās taken a Herculean seven-year effort, but GIMP 3.0 has finally been released. There are so many new features, changes, and improvements in this release that itās impossible to highlight all of them. First and foremost, GIMP 3.0 marks the shift to GTK3 ā this may be surprising considering GTK4 has been out for a while, but major applications such as GIMP tend to stick to more tried and true toolkit versions. GTK4 also brings with it the prickly discussion concerning a possible adoption of lib ⦠ā Read more
EU-US rift triggers call for made-in-Europe tech
The utter chaos in the United States and the countryās antagonistic, erratic, and often downright hostile approach to what used to be its allies has not gone unnoticed, and it seems itās finally creating some urgency in an area in which people have been fruitlessly advocating for urgency for years: digital independence from US tech giants. Efforts to make Europe more technologically āsovereignā have gone mainstream. The European Commi ⦠ā Read more
@xuu@txt.sour.is My layout looks like this:
- storage/
- storage.go: defines a
Storageinterface
- sqlite.go: implements the
Storageinterface
- sqlite_test.go: originally had a function to set up a test storage to test the SQLite storage implementation itself:
newRAMStorage(testing.T, $initialData) *Storage
- storage.go: defines a
- controller/
- feeds.go: uses a
Storage
- feeds_test.go: here I wanted to reuse the
newRAMStorage(ā¦)function
- feeds.go: uses a
I then tried to relocate the newRAMStorage(ā¦) into a
- teststorage/
- storage.go: moved here as
NewRAMStorage(ā¦)
- storage.go: moved here as
so that I could just reuse it from both
- storage/
- sqlite_test.go: uses
testutils.NewRAMStorage(ā¦)
- sqlite_test.go: uses
- controller/
- feeds_test.go: uses
testutils.NewRamStorage(ā¦)
- feeds_test.go: uses
But that results into an import cycle, because the teststorage package imports storage for storage.Storage and the storage package imports testutils for testutils.NewRAMStorage(ā¦) in its test. Iām just screwed. For now, I duplicated it as newRAMStorage(ā¦) in controller/feeds_test.go.
I could put NewRAMStorage(ā¦) in storage/testutils.go, which could be guarded with //go:build testutils. With go test -tags testutils ā¦, in storage/sqlite_test.go could just use NewRAMStorage(ā¦) directly and similarly in controller/feeds_test.go I could call storage.NewRamStorage(ā¦). But I donāt know if I would consider this really elegant.
The more I think about it, the more appealing it sounds. Because I could then also use other test-related stuff across packages without introducing other dedicated test packages. Build some assertions, converters, types etc. directly into the same package, maybe even make them methods of types.
If I went that route, I might do the opposite with the build tag and make it something like !prod instead of testing. Only when building the final binary, I would have to specify the tag to exclude all the non-prod stuff. Hmmm.
Microsoft improves Windows 11ās Start menu somewhat
Microsoft seems to be addressing some of the oddities with the Windows 11 Start menu, finally adding basic views that shouldāve been in Windows 11 since the very start. Weāre introducing two new views to the āAllā page in the Start menu: grid and category view. Grid and list view shows your apps in alphabetical order and category view groups all your apps into categories, ordered by usage. This change is gradually rolling out so ⦠ā Read more
In Minnesota, finally above freezing temps after many weeks.
@arne@uplegger.eu Well, just for my understanding. The command:
echo "Lorem ipsum" | openssl enc -aes-256-cbc -pbkdf2 -iter 100000 -out message.enc -pass file:shared_key.bin
will take the input string from echo to openssl. It then will
- use the content of
shared_key.binas password
- use
PBKDF2with an iteration of 100000 to generate a encryption key from the given password (shared_key.bin)
- use the
PBKDF2generated key for anaes-256-cbcencryption
The final result is encrypted data with the prepended salt (which was generated by runtime), e.g.: Salted__q�;��-�T���"h%��5�� ....
With a dummy script I now can generate a valide shared key within PHP āopenssl_pkey_derive()ā - identical to OpenSSL.
I also can en-/decrypt salted data within my script, but not with OpenSSL. There are several parameters of PBKDF2 unknown to me.
Question:
- Is the salt, used by
aes-256-cbcandPBKDF2the same, prepended in the encrypted data?
- Witch algorithm/cipher is used within
PBKDF2: sha1, sha256, �
- What is the desired key length of
PBKDF2(https://www.php.net/manual/en/function.openssl-pbkdf2.php)?
To be continued ā¦
I finally got Ubuntu Software to find Kolourpaint and it installed, now when I run the APP nothing happens.
Dead, zip narda.
Stupid program , what is wrong?
MaXX Interactive Desktop 2.2.0 released
Late last year, the MaXX Interactive Desktop, the Linux (and BSD) version of the IRIX desktop, sprung back to life with a new release and a detailed roadmap. Thanks to a unique licensing agreement with SGI, MaXXā developer, Eric Masson, has been able to bring a lot of the SGI user experience over to Linux and BSD, and as promised, we have a new release: the final version of MaXX Interactive Desktop 2.2.0. Itās codenamed Octane, and anyone who knows the ⦠ā Read more
@movq@www.uninformativ.de So, the building renovation finally started?
anyway friends i went to the met yesterday and i have apparently been before but i was a little kid so i donāt remember. i took the chance to finally clean up and use my mediagoblin instance. hereās a collection https://remix.girlonthemoon.xyz/u/accendio/collection/2025-met/