@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. :-)
@arne@uplegger.eu Oh no, you are in front of the line!!
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 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 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/
Hahaha, a bird is singing really load and it sounds almost exactly like a car alarm. Well, itās probably the other way around, the car alarm was modeled after the birdcall. :-)
@eapl.me@eapl.me I looked at the first few puzzles and they are pretty cool so far! I havenāt actually implemented any of them, but Iām fairly certain about how Iād solve them properly. I went through some linked reference articles yesterday, theyāre also really good. I will recommend this to some workmates. :-)
Itās extremely surprising to me that younger non-technical people just type in their full name (properly cased first and last name with a space in between) for a technical username in account registration or login forms. Iāve seen that happening several times in the past few years. The field name is āBenutzernameā in German, literally āusernameā. Even adding a placeholder text to signal that they could simply use their nickname in lowercase did not change anything at all. Well, one person used at least an e-mail address.
This wasnāt the case six, seven years ago, everybody had some ārealā username. Even non-techies. It looks like some ācommon knowledgeā is getting lost. Strange. Very weird. It trips me every time I see it.
Have you experienced something similar?
@doesnm@doesnm.p.psf.lt Heck yeah! Worky, worky! \o/
Ctrl+Left
to jump a word left, I get 1;5D
in my tt2 message text. My TERM
is set to rxvt-unicode-256color
. In tt
, it works just fine. When I change to TERM=xterm-256color
, it also works in tt2
. I have to read up on that. Maybe even try to capture these sequences and rewrite them.
@movq@www.uninformativ.de Hahaha, that name is certainly fitting! :-D
Yeah, I should revert that and try to figure out which programs misbehaved. But thatās something for future Lyse. 8-) Right now, I just redefine TERM
in my Makefile when the USER
happens to be me.
Ctrl+Left
to jump a word left, I get 1;5D
in my tt2 message text. My TERM
is set to rxvt-unicode-256color
. In tt
, it works just fine. When I change to TERM=xterm-256color
, it also works in tt2
. I have to read up on that. Maybe even try to capture these sequences and rewrite them.
Well, some time ago I put this in my ~/.Xdefaults:
URxvt.keysym.Control-Up: \033[1;5AāØ URxvt.keysym.Control-Down: \033[1;5B
URxvt.keysym.Control-Left: \033[1;5DāØ URxvt.keysym.Control-Right: \033[1;5C
Probably to behave more like XTerm and fix a few other issues I had with other programs. But, it turns out, tcell expects the original sequence: https://github.com/gdamore/tcell/blob/main/terminfo/r/rxvt/term.go#L487
Hmm.
Hmmm, when I Ctrl+Left
to jump a word left, I get 1;5D
in my tt2 message text. My TERM
is set to rxvt-unicode-256color
. In tt
, it works just fine. When I change to TERM=xterm-256color
, it also works in tt2
. I have to read up on that. Maybe even try to capture these sequences and rewrite them.
@david@collantes.us Tada, the reply context is now also shown above. Itās slowly coming together and reaching a state where I can actually use this as my daily driver I think. :-)