Searching yarn

Twts matching #Finals
Sort by: Newest, Oldest, Most Relevant

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:

Context menu item to create a new directory and directory name dialog

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.

⤋ Read More
In-reply-to » @prologic @bender @eapl.me I think opening another file is a bad idea because it adds complexity to the clients, breaks the single feed and I think keeping legacy clients will be more complex to add new features in the future. A modern approach is important. I'll be honest, I'm a bit tired of the fight around the direct message. Perhaps, we can remove it as an extension and use the alternative @prologic . My suggestion apparently doesn't like to the community. I have no problem with remove it.

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==

⤋ Read More

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. šŸ˜…

⤋ Read More
In-reply-to » An interesting episode about naming stuff, and some implications of the "Trademarks"

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.

⤋ Read More

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: )

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

⤋ Read More
In-reply-to » Thank you @python_valencia for letting me show you the secrets of a decentralised plain text social network like twtxt. I hope you enjoyed the talk! ā¤ļøšŸ Media Media #python #twtxt

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.

⤋ Read More

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

⤋ 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.


⤋ Read More
In-reply-to » Hi! For anyone following the Request for Comments on an improved syntax for replies and threads, I've made a comparative spreadsheet with the 4 proposals so far. It shows a syntax example, and top pros and cons I've found: https://docs.google.com/spreadsheets/d/1KOUqJ2rNl_jZ4KBVTsR-4QmG1zAdKNo7QXJS1uogQVo/edit?gid=0#gid=0

@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.

⤋ Read More

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

⤋ 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

⤋ Read More
In-reply-to » Dang it! I ran into import cycles with shared test utilities again. :-( Either I have to copy this function to set up an in-memory test storage across packages or I have to put it in the storage package itself and guard it with a build tag that is only used in tests (otherwise I end up with this function in my production binary as well). I don't like any of the alternatives. :-(

@xuu@txt.sour.is My layout looks like this:

  • storage/
    • storage.go: defines a Storage interface
    • sqlite.go: implements the Storage interface
    • 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
  • controller/
    • feeds.go: uses a Storage
    • feeds_test.go: here I wanted to reuse the newRAMStorage(…) function

I then tried to relocate the newRAMStorage(…) into a

  • teststorage/
    • storage.go: moved here as NewRAMStorage(…)

so that I could just reuse it from both

  • storage/
    • sqlite_test.go: uses testutils.NewRAMStorage(…)
  • controller/
    • feeds_test.go: uses testutils.NewRamStorage(…)

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.

⤋ Read More

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

⤋ Read More
In-reply-to » @andros I have really tried to get behind it. For an implementation for my TwtxtReader (PHP) I simply lack the knowledge of the standard-openssl parameters. All my solution approaches require ā€œnonceā€ or ā€œinitialization vectorā€ on one or the other side. In addition, the ā€œmagic numbersā€ (ā€œSalted__ā€) were not consistent in my tests.

@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

  1. use the content of shared_key.bin as password
  2. use PBKDF2 with an iteration of 100000 to generate a encryption key from the given password (shared_key.bin)
  3. use the PBKDF2 generated key for an aes-256-cbc encryption

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:

  1. Is the salt, used by aes-256-cbc and PBKDF2 the same, prepended in the encrypted data?
  2. Witch algorithm/cipher is used within PBKDF2: sha1, sha256, …?
  3. What is the desired key length of PBKDF2 (https://www.php.net/manual/en/function.openssl-pbkdf2.php)?

To be continued …

⤋ Read More

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

⤋ Read More
In-reply-to » I want to share a little idea for a new extension with the goal of adding direct messages in #twtxt https://github.com/tanrax/twtxt-direct-message-extension

@prologic@twtxt.net @lyse@lyse.isobeef.org First, please leave me your comments on the repository! Even if it’s just to give your opinion on what shouldn’t be included. The more variety, the better.

Second, I’m going to try to do tests with Elliptic keys and base64. Thanks for the advice @eapl@eapl.me

Finally, I’d like to give my opinion. Secure direct messages are a feature that ActivityPub and Mastodon don’t have, to give an example. By including it as an extension, we’re already taking a significant leap forward from the competition. Does it make sense to include it in a public feed? In fact, we’re already doing that. When we reply to a user, mentioning them at the beginning of the message, it’s already a direct message. The message is within a thread, perhaps breaking the conversation. Direct messages would help isolate conversations between 2 users, as well as keeping a thread cleaner and maintaining privacy. I insist, it’s optional, it doesn’t break compatibility with any client and implementing it isn’t complex. If you don’t like it, you’re free to not use it. If you don’t have a public key, no one can send you direct messages.

⤋ Read More

Researchers engineer bacteria that break down microplastics + 2 more stories
Qatar presents final ceasefire draft to Israel and Hamas; University of Waterloo engineers bacteria to decompose microplastics; UK government announces significant AI investment initiative. ⌘ Read more

⤋ Read More
In-reply-to » I’ve made it a habit to always put on my noise cancelling headphones when going to bed (without music). It’s pure heaven. šŸ˜‚ Silence and darkness. I fall asleep within minutes. šŸ˜‚ Good night. 😓

Yeah, @bender@twtxt.net, I absolutely love it! :-D Monty Python just rocks!

This very knight inspired me to make myself a knight helmet with opening visor out of an old washing machine sheet metal years ago for a theater play. It was really great fun, both making the helmet as well as using it during the week in the play as a silly and shady prince who got all his tracts of land by winning dubious games.

I just couldn’t really hear very well in it. And if somebody hit me on the head or just slightly knocked on the helmet, it was incredibly loud. No fine craftmanship by any means and obviously historically extremely questionable at best, but it did the job well enough. One of the running gags was that I had to open the visor when I wanted to talk. Here are some photos in action, you’ll find many more when surfing through the gallery:

⤋ Read More

my camcorder battery & mini dvds came in the mail so i did a test recording! it’s so cool i love the crap quality. i do hope the memory stick arrives soon though because for the discs i can’t get them on my computer (not even a rom drive filesystem mount) without ā€œfinalizingā€ the disc which is like an old camcorder thing. i still think i’ll prefer disc recording though even if a limit of 30 minutes (or longer for lower quality) is strict. i like limitations like that

⤋ Read More

GNU Shepherd 1.0 Service Manager Released As ā€œSolid Toolā€ Alternative To systemd
GNU Shepherd as a service manager for both system and user services that is used by Guix and relying on Guile Scheme has finally reached version 1.0. For those not pleased with systemd, GNU Shepherd can be used as an init system and now has finally crossed the version 1.0 milestone after 21 years of development… ⌘ Read more

⤋ Read More

Organised my decades old ebook collection and cleaned up all the duplicates. The Czkawka application helped a lot with getting that done. Also - finally - using Calibre as our home digital library.

⤋ Read More
In-reply-to » It’s been so rainy and windy and cold these last few days, I hardly left the house. 😩

@movq@www.uninformativ.de Yesterday, it was relatively nice at 11°C or so. Very windy and completely gray, though. Today, the sun was out at roughly just 5°C. The colors glowed much more in reality than in the photos: https://lyse.isobeef.org/morgensonne-2024-11-20/

I finally changed the broken gear shift bowden cable of my bicycle in a longer lunch break.

⤋ Read More