@arne@uplegger.eu Iâm very glad I only rarely have to deal with .docx & Co. And when I have to, 99% is in read mode only. Even though, I donât think that Markdown is the best choice, I use it on a daily basis. Some things, like links, in reStructuredText are better in my opinion.
Jira just resists to switch to Markdown and forces us to use its silly markup language.
For real typesetting, LaTeX is the way to go. But I very, very rarely do that.
Hirschhorn also offers a nice old town. The castle with all its many buildings up the mountain is very beautiful. This is my absolutely favorite one, it just looks soo great:
Walking back down the narrow stairs with all the crooked, well-worn steps of different heights and lengths was quite challenging.
@movq@www.uninformativ.de Awwwwww! Thank you, that is now in my collection. :-) The other ones arenât bad either, very nice!
@thecanine@twtxt.net My apologies, mate! :-( As @david@collantes.us pointed out, this was definitely not my intent at all.
For the easter egg hunt, I first looked for a hidden image map link on the pixel dog in the right lower corner itself. Maybe one giant pixel just links to somewhere else, I figured. But I couldnât find any and then quickly moved on. Hence, I naturally viewed the HTML source. Because where else would be a good hiding place for easter eggs, right?
Next, I noticed the <font>
tags. I thought I had read quite some time ago that they are not an HTML5 thing, but wasnât entirely sure about it. So, I asked the W3C HTML validator. Sure enough. I thought I let you know about the violations. If somebody had found a mistake on my site, Iâd love to hear about it, so I could fix it. Iâm sorry that my chosen form of report didnât resonate with you all that well. I reckoned youâll also find it a bit funny, but I was clearly very wrong on that.
I actually followed the dog cow link to the video, so I ended up on the easter egg. However, I didnât recognize it as such. ÂŻ_(ă)_/ÂŻ Oh well.
Regarding my message about the browser quirks: I read your answer that you were arguing against the HTML validator findings. Of course, everybody can do with their sites whatever they likes.
@movq@www.uninformativ.de Sorry for being completely offtopic, but thatâs a really cute bird! :-)
A hike to the highest mountain in the Odenwald, the Katzenbuckel, lit. cat hillock. It was very windy and the sun very rarely showed its face, so it was quite chilly. Nice scenery, nevertheless. Surprisingly, this ski-jumping hill is still in operation. Iâve never expected this in a hundred years, judging by its state. https://lyse.isobeef.org/katzenbuckel-2025-03-29/
@bender@twtxt.net Hahaha, YMMD! :-D
@movq@www.uninformativ.de @xuu@txt.sour.is That sounds like kat! :-)
Is there some Makefile shenanigans going on maybe? $V
and $C
being swallowed by the Makefile. I fell in that trap again the other day.
@movq@www.uninformativ.de Oh yeah, take some pictures when you do. :-)
@bender@twtxt.net @eapl.me@eapl.me @xuu@txt.sour.is @movq@www.uninformativ.de Glad you all agree. :-D My SOAP knowledge is extremely rusty, I luckily had not to deal with that crap anymore for quite some years now. I even couldnât remember the XML declaration and had to look it up. ;-)
@movq@www.uninformativ.de Yeah, Iâm also disappointed each and every time.
Let me introduce you to the much superior version 4 instead: https://lyse.isobeef.org/tmp/twxm4.xml
@thecanine@twtxt.net And this is exactly why there are quirks modes in browsersâŚ
Iâm actually glad I donât have to deal with all this web shit and work with compilers that hit me in the face when I do something illegal. :-)
Eberbach is nowhere near Bad Wimpfen in comparison, but still has a nice historic old town: https://lyse.isobeef.org/eberbach-2025-03-29/
Bad Wimpfen has a pretty cool old town with timber framed houses. Looks really beautiful: https://lyse.isobeef.org/bad-wimpfen-2025-03-28/
@thecanine@twtxt.net I found it! This looks like colored easter eggs when squinting.
@kat@yarn.girlonthemoon.xyz They all just wanted to be friends with a cool gal like you. ;-) Itâs sad that putting things openly on the internet just waits to be raided by script kiddies, bots or spammers eventually.
@movq@www.uninformativ.de Yeah, like nearly all of them. There is the so called Bannwald, where it typically is not allowed to log, but thereâs only one in my entire county and I havenât even visted it. I should change that. https://de.wikipedia.org/wiki/Bannwald
@movq@www.uninformativ.de Hahaha, geil! :-D
@movq@www.uninformativ.de Haha, thatâs cool! :-D
@movq@www.uninformativ.de Thatâs really great! I canât tell the difference to the original. :-)
This time, I brought my cam along. We checked out a piece of ex-forest theyâve cut down. It looks terrible now. :-( At least the spruce resin smell was nice. https://lyse.isobeef.org/waldspaziergang-2025-03-27/
@eapl.me@eapl.me According to an update of the article, others have suggested the same.
Your explanation seems fitting. I just donât get why people donât use feed readers anymore. Anyway.
@xuu@txt.sour.is Yeah, it will be delayed. Oh well. Thatâs just the way it is. :-)
@movq@www.uninformativ.de Hahaha, that filename! :-D 100 times better than I could ever play.
@xuu@txt.sour.is If the unread counter becomes negative, wouldnât that mean I have that many more read messages? :-D
@bender@twtxt.net Youâre spot on, itâs important to not introduce classical bugs!
@movq@www.uninformativ.de Oh dear. :-( Have they fixed it?
@prologic@twtxt.net @movq@www.uninformativ.de I had a t-shirt with this one or the other decade ago. :-)
âUnread messages: -1â: Well, classic off by one error. I gotta have to hunt that down.
@movq@www.uninformativ.de Thatâs not very retrocomputing!
@eapl.me@eapl.me Interesting! Two points stood right out to me:
Why the hell are e-mail newsletters considered a valid option in the first place? Just offer an Atom feed and be done with it! Especially for a blog of this very type. This doesnât even involve a third party service. Although, in addition he also links to Feedburner, what the fuck!? No e-mail address or the like is needed and subject to being disclosed.
When these spam mailers want to prevent resubscribing, then for fuckâs sake, why donât they use a hash of the e-mail address (I saw that in yarnd) for that purpose? Storing the e-mail address in clear text after unsubscribing is illegal in my book.
@movq@www.uninformativ.de I see, fair point, yeah.
about:compat
in Firefox.
@movq@www.uninformativ.de Yikes! I didnât know about about:compat
. Crazy!
@xuu@txt.sour.is Wow, thatâs a giant graveyard. In my new database I have 16,428 messages as of now. Archive feed support is not yet available, so itâs just the sum of all the 36 main feeds.
There are 82.108 read statuses, but only 24.421 messages in the cache. In contrast to the cache with the messages, the read statuses are never cleaned up when a feed was unsubscribed from. And the read statuses also contain old style hashes, before we settled on the what we have today. Still a huge difference. Hmm.
tt
reimplementation that I already followed with the old Python tt
. Previously, I just had a few feeds for testing purposes in my new config. While transfering, I "dropped" heaps of feeds that appeared to be inactive.
Thanks, @movq@www.uninformativ.de!
My backing SQLite database with indices is 8.7 MiB in size right now.
The twtxt
cache is 7.6 MiB, it uses Pythonâs pickle
module. And next to it there is a 16.0 MiB second database with all the read statuses for the old tt
. Wow, super inefficient, it shouldnât contain anything else, itâs a giant, pickled {"$hash": {"read": True/False}, âŚ}
. What the heck, why is it so big?! O_o
@movq@www.uninformativ.de You could also just use a tiling window manager. :-) As a bonus, it doesnât waste dead space, the window utilizes the entire screen. To also get rid of panels and stuff, put the window in fullscreen mode.
tt
reimplementation that I already followed with the old Python tt
. Previously, I just had a few feeds for testing purposes in my new config. While transfering, I "dropped" heaps of feeds that appeared to be inactive.
If I didnât mess this up, 61 feeds reduced down to 36.
I now subscribed to most feeds in my Go tt
reimplementation that I already followed with the old Python tt
. Previously, I just had a few feeds for testing purposes in my new config. While transfering, I âdroppedâ heaps of feeds that appeared to be inactive.
This might motivate me to actually âfinishâ the new client, so that it could become my daily driver. No need to use the old software stack any longer. Letâs see how bad this goes.
@movq@www.uninformativ.de Yeah, most of the graphical applications are actually KDE programs:
- KMail â e-mail client
- Okular â PDF viewer
- Gwenview â image viewer
- Dolphin â file browser
- KWallet â password manager (I want to check out
pass
one day. The most annoying thing is that when I copy a password, it says that the password has been modified and asks me whether I want to save the changes. I never do, because the password is still the same. I donât get it.)
- KPatience â card game
- Kdenlive â video editor
- Kleopatra â certificate manager
Qt:
- VLC â video player
- Psi â Jabber client (I happily used Kopete in the past, but that is not supported anymore or so. I donât remember.)
- sqlitebrowser â SQLite browser
Gtk:
- Firefox â web browser
- Quod Libet â music player (I should look for a better alternative. Canât remember why I had to move away from Amarok, was it dead? There was a fork Clementine or so, but I had to drop that for some unknown reason, too.)
- Audacity â audio editor
- GIMP â image editor
These are the things that are open right now or that I could think of. Most other stuff I actually do in the terminal.
In the pastâ˘, I used the Python KDE4 bindings. That was really nice. I could pass most stuff directly in the constructor and didnât have to call gazillions of setters improving the experience significantly. If I ever wanted to do GUI programming again, Iâd definitely go that route. There are also great Qt bindings for Python if one wanted to avoid the KDE stuff on top. The vast majority I do for myself, though, is either CLI or maybe TUI. A few web shit things, but no GUIs anymore. :-)
Oh, itâs called âunsubscribeâ.
@movq@www.uninformativ.de Oh, right, a type would be good to have! :-D
@movq@www.uninformativ.de Where can I join your club? Although, most software I use is decentish in that regard.
I just noted today that JetBrains improv^Wcompletely fucked up their new commit dialog. Thereâs no diff anymore where I would also be able to select which changes to stage. I guess from now on Iâm going to exclusively commit from only the shell. No bloody git integration anymore. >:-( This is so useless now, unbelievable.
@kat@yarn.girlonthemoon.xyz Pointers can be a bit tricky. I know it took me also quite some time to wrap my head around them. Let my try to explain. Itâs a pretty simple, yet very powerful concept with many facets to it.
A pointer is an indirection. At a lower level, when you have some chunk of memory, you can have some actual values sitting in there, ready for direct use. A pointer, on the other hand, points to some other location where to look for the values oneâs actually after. Following that pointer is also called dereferencing the pointer.
I canât come up with a good real-world example, so this poor comparison has to do. Itâs a bit like you have a book (the real value that is being pointed to) and an ISBN referencing that book (the pointer). So, instead of sending you all these many pages from that book, I could give you just a small tag containing the ISBN. With that small piece of information, youâre able to locate the book. Probably a copy of that book and thatâs where this analogy falls apart.
In contrast to that flawed comparision, itâs actually the other way around. Many different pointers can point to the same value. But there are many books (values) and just one ISBN (pointer).
The pointerâs target might actually be another pointer. You typically then would follow both of them. There are no limits on how long your pointer chains can become.
One important property of pointers is that they can also point into nothingness, signalling a dead end. This is typically called a null pointer. Following such a null pointer calls for big trouble, it typically crashes your program. Hence, you must never follow any null pointer.
Pointers are important for example in linked lists, trees or graphs. Letâs look at a doubly linked list. One entry could be a triple consisting of (actual value, pointer to next entry, pointer to previous entry).
_______________________
/ ________\_______________
â â | \
+---+---+---+ +---+---+-|-+ +---+---+-|-+
| 7 | n | x | | 23| n | p | | 42| x | p |
+---+-|-+---+ +---+-|-+---+ +---+---+---+
| â | â
\_______/ \_______/
The âxâ indicates a null pointer. So, the first element of the doubly linked list with value 7 does not have any reference to a previous element. The same is true for the next element pointer in the last element with value 42.
In the middle element with value 23, both pointers to the next (labeled ânâ) and previous (labeled âpâ) elements are pointing to the respective elements.
You can also see that the middle element is pointed to by two pointers. By the ânextâ pointer in the first element and the âpreviousâ pointer in the last element.
Thatâs it for now. There are heaps ;-) more things to tell about pointers. But it might help you a tiny bit.
@andros@twtxt.andros.dev @prologic@twtxt.net Exactly. The screenshots of the last few days show it in action. But I do not consider it ready for the world yet. @doesnm@doesnm.p.psf.lt appears to have a high pain tolerance, though. :-)
@andros@twtxt.andros.dev You use your real name as login name, too?
@prologic@twtxt.net I see this with the scouts. Luckily, not at work. But at work, Iâm surrounded by techies.
@movq@www.uninformativ.de Oh my goodness! Iâm so glad that I donât have to deal with that in my family. But yeah, I guess youâre onto something with your theory. This article is also quite horrific. O_o
@movq@www.uninformativ.de Wooaah, that is cool! \o/