# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 6196
# self = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=6196
# prev = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=6096
Hahaha! https://blog.bofh.it/debian/id_471
@movq 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.
@sorenpeter I see, ta. The big spring cleaning continues. ;-)
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.

Sheep

https://lyse.isobeef.org/waldspaziergang-2025-04-27/
@bender Must be the US tariffs, it's working reasonably quick in Europe. :-D
@movq Your next experiment should be triangles. :-)
I just fixed a bug in tt's reply to parent feature. Previously, when the message tree looked like the following


Message
├╴Reply 1
│ └╴Subreply
└╴Reply 2


and "Reply 2" was selected, pressing A to reply to the parent should have picked "Message". However, a reply to "Reply 2" was composed instead. The reason was a precausiously introduced safety guard to abort the parent search which stopped at "Subreply", because its subject didn't match "Reply 2"'s. It was originally intended to abort on a completely different message conversation root. Just in case. Turns out that this thoght was flawed.

Fixing bugs by only removing code is always cool. :-)
@movq Bwahahaahaaa, this is fucking brilliant, I love it! :-D What a wonderful thing to start my Sunday.
@movq I hightly doubt that I am wiser than you. :-D
@bender Ha! It turns out, some cows indeed have magnets in them: https://en.wikipedia.org/wiki/Hardware_disease
Cool, Hubble turns 35 today! https://science.nasa.gov/missions/hubble/nasa-celebrates-hubbles-35th-year-in-orbit/ Happy birthday little space telescope and thanks for all the lovely photos! :-)
@movq Aha! See? You got Long (Time Ago) Covid! ;-)

But this also happened to me all the time already before the pandemic. Time just flies and accelerates even more the wiser we get.
@bender Hahaha, is that a satire site? :-D I haven't noticed them prefering a north-south direction. They're typically aligned in the marching direction to step forward to get to new grass. Or they just follow the leader cow.
@bender Mission accomplished. :-)
Hey @sorenpeter, is your neotxt.dk feed permanently dead or will you resurrect it?
It was fairly gray all day. Just before I went on a stroll, a rain shower paid us a visit. Then, the sun took over. Great timing. It's crazy how rapidly the greenery grows. No comparison to only two weeks ago.

Cows on a meadow

https://lyse.isobeef.org/waldspaziergang-2025-04-24/
Yesterday, I saw two courting great tits in front of the window. One fed the other a few times. That was super sweet to watch. I've never witnessed that myself before.
That reminds me of a workmate telling me the other day that my photo albums are blocked by corporate "»'security'«" trashware, bwahahahaaahaaaaa:

Category: Adult Content

Completely expected from AI bullshit.
@bender Great tits always makes for lovely nick names!

A pair of great tits, female on the left, male on the right
Exactly, @bender, I was happily surprised when I discovered it. :-)
I was listening to "Turn On The Night" by Kiss and thought, I very well turn on the light and close the shutters. It's very dark and stormy outside. The second thunderstorm this year is here.
@thecanine Woof, woof, woof, that's pretty cool!
@kat Congrats! I wish it was that easy at work here, too. No matter what, 95% of the time I never complete or very often just even work on tasks that I want to get at. So much other rubbish popping up.
@bender Hell yeah, that sounds like a good day!
Ta, @prologic! Assuming you mean 13, it's just some old shed in an orchard. I reckon the owners keep some of their tools in there. They are all over the place around here. To me they look like they were all built like 50 odd years ago or maybe more, not sure. I could be completely wrong. I just like the look of them and actually wanted to capture the dark sky with the rolling in thunderstorm, but my camera had totally other plans. Didn't work out at all.
@movq Hahaha, this is so cool! :'-D
@kat And tasty! :-) Turns out there's marzipan in the bunny belly. Yum-yum!
@bender Thanks! The rain rapidly cooled off the 17°C to just 10°C. I certainly appreciated that. The weather is coming from the west here, so I thought you've sent it our way. Let me try to return it. :-)
Today's stroll was really nice. Just around 11km in total I'd reckon. We had a barbie at a mate's garden where everybody went on a hunt for an easter basket. Oh boy, what a preparation that must have been! Baking the bunnies, dying the eggs, mixing the bear leek butter and so on. That's dedication, let me tell you. :-)

Contents of the easter basket, not the pliers, though

It was the first time this year that we had half proper April weather and a thunderstorm in general. It started off with clear sky and lovely sunshine. Right after arvo lunch it started to rain, so we went into the hut. Then, the sun returned.

On the way back with the growling thunder in the distance coming closer and closer we escaped the rain just perfectly. A minute or two after we reached the car, wet stuff started coming down the sky. Not even half a minute after opening the front door, it poured like crazy. Lucky twice today. There's beautiful sunshine again by now. It smells absolutely great after the rain. I love it!

https://lyse.isobeef.org/waldspaziergang-2025-04-21/
@movq Oh, that's beautiful!

I opened up all the photos in new tabs and went through them. For a second, I wondered that it was snowing at your place right now. :-D

That made me realize that so far we basically had nearly no April weather whatsoever. May might be full of it then, let's see. :-)
@prologic @movq @bmallred @ionores Thank you! Yeah, the yellow meadows look truly awesome.

Watching "Happy People: A Year in the Taiga" in German the evening before, this thing totally looked like a trap to us. So, we decided to sit on another, more rustic bench nearby. :-) Oh neat, it turns out, there is a much longer four part series of the documentary in English on YouTube. Highly recommended! This is part one: https://www.youtube.com/watch?v=fbhPIK-oBvA

Judging by the surroundings, I think this is actually a forest altar or something of that nature. But it looks like they started with the chappel's reinforcement steel and then they ran out of money before completing it or even placing the concrete forms. :-P

Yeah, 78 might be photo of the month. It's one of my favorites.
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

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/
@bender Exactly. I suspect it was because of sqlitebrowser also accessing the database in parallel to debug the original issue.

So far, I have not found the exact reason why some replies don't show up. When I do not filter for unread messages and show all, though, I actually see them. So, there's that.
Today is the day where everything is falling apart. Suddenly, I get: SQL logic error: cannot start a transaction within a transaction
Aha, they all had to do with a dropped feed. I suspect the internal bookkeeping with root paths couldn't keep up.
I just noticed that my unread messages counter was off by quite a bit. It showed 8, but I only saw one unread message. Even after restarting my client, which recalculates the number of unread messages, it remained at eight. Weird. Looking in the database revealed that this is indeed correct.

Apparently, my query to build up the message tree must be incorrect. It somehow misses seven messages. They all are orphaned, maybe that's a clue. However, generating missing root messages (and thereby including the replies) typically works just fine. Hmm.
@movq Hopefully at your neighbors and not your building. :-S Keep your pecker up!

I just heard the fire brigade respond here with their compressed air sirens, too.

If you let fire take effect properly, it helps to reduce density.
That's an interesting research article about Wallbleed, a memory disclosure vulnerability in the Great Firewall of China. They reverse-engineered the buggy DNS query processing code that injects a response if the hostname should be censored: https://gfw.report/publications/ndss25/data/paper/wallbleed.pdf
@movq Lol! Yeah, nobody wants to see you bring your coal-powered forklift into the gym. :-D
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_:

i
[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:

h
kbuildsycoca5


The referenced galmkdir script looks like that:

h
#!/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.~_
@bender Oooofff, I'm panting for breath when just thinking about that! I'll immediately stop complaining. :-) I already forgot that a jacket over my jumper would have been nice. I'm happy to be cold.
We had some nice 22°C today. But after work, it got rather windy and cloudy, temps rapidly dropped so just 14°C. Still a nice stroll to our backyard mountain. https://lyse.isobeef.org/waldspaziergang-2025-04-16/
@movq For sure, an app for that is very silly. I've just seen signs in participating shops in my town. That's how I know of this concept.
@movq You just have to dress yourself up in a dog custume to pee on a tree, fence post or house wall. :-P

Depending on the hour, town halls and also graveyards are typically good options for public toilets. But yeah, you have to find them first. And then, there might be the "Nette Toilette": https://www.die-nette-toilette.de/ (Unfortunately, you can't see on the website which towns and cities participate in that concept. :-()
@movq Heck yeah, that's an awesome shot!
@bender Yup, we run an ejabberd.
This 8 bit trip is really cool! https://www.youtube.com/watch?v=pCm1fKZGvl47
@prologic So, this flag isn't doing exactly what you thought it does? Or is there a bug in the implementation itself?
@prologic Ta! :-)
@bender @ionores Yep, it's extremely seldom that a photo turns out looking better than reality. Very rarely does that happen. But basically never with sunsets. ;-) Maybe once a leap year I'm very surprised to wonder how that subject wasn't better in person but actually on film.
A mate and I met at the scout yard to prepare an upcoming workshop. Boy did we have an amazing sunset when we left. The photos don't reflect it, it was a hell lot more beautiful in person: https://lyse.isobeef.org/plaetzle-2025-04-11/

Bloody awesome sunset
@anth Hahaha, for a second I thought that you implemented word splitting according to Swiss (.ch) rules. :-D

Btw, both manpage links string(2) and getields(2) (it's missing an f) point into nothingness: http://a.9srv.net/src/wordwrap.2.html

I can't help but notice line 9: http://a.9srv.net/src/wordwrap.c

And I reckon your finger slipped one key to the right for quore: http://a.9srv.net/src/litclock.1.html

Cool stuff! :-)
@bender @movq Thanks! I'll think about switching to higher resolution teasers in the future. The reasoning behind the thumbnails is to avoid wasting traffic. Maybe folks in the outback or on expensive mobile networks appreciate it. Yeah, they could disable images in general.
That's a dang cool story from Apollo 11 where priority queues saved the day: https://www.nasa.gov/history/alsj/a11/a11.1201-fm.html
Hit by the arvo sun rays behind the window I was convinced that it is t-shirt weather. Deep blue sky, yeah, for sure! It turned out to be just 15°C and declining, though. So, I had to wear my jacket on today's windy stroll. Pretty nice. Didn't take many photos, but there you go: https://lyse.isobeef.org/waldspaziergang-2025-04-10/

Blooming trees
@movq Holy crap, that's really crazy!

Hahaha, you got me. When I read your first sentence I thought you were going to tell about your Wayland experience in comparison to X11. :-D
@movq @ionores Thank you! Nope, still a petting farm over here. The only dangerous (to humans) animals are boars and ticks. But I only ever encountered a wild hog once in my entire life so far. Luckily, it took off and didn't attack me. Ticks, on the other hand, regularly attack me.
@bender @prologic Thanks mates!
Another nice stroll in nature last week: https://lyse.isobeef.org/waldspaziergang-2025-04-03/

Spring makes for colorful trees
@thecanine Hahaha, woofcome back! :-)
@kat It's very well hidden, it took me a while to find that. Go to "Settings" in the menu bar up top → "Profile and Privacy" (already selected) → on the right at "User Info" → "1 Muted" → click the link with the minus in the circle at the message you want to unmute.
@movq @kat Heck yeah, that's crazy! :-) Fingers crossed! (tt also agrees with the right™ hash)
@prologic @bender @movq I'm going to join the party in Down Under. :-)
And we're back to the regular landscape! Not only in subject but also photo orientation. No more silly portrait. I can't recall it exactly, but I reckon that was one of ~20°C days. The evening sun was really crazy that day, made a great combination with the puddles: https://lyse.isobeef.org/waldspaziergang-2025-04-02/

Sun reflecting in puddles~
@prologic Not sure if the confirmation helps at all. You just condition yourself to immediately press y on a daily basis.

Apart from that, aborting the removal should probably terminate the function with a non-zero exit code, something like return 1.
@movq Same! Another infrastructure apocalypse at work. Who needs reliable shit? Definitely not us.
@doesnm Hahahaha, I heard this one before, but it's brilliant! :-D
@prologic Ta! :-)
Pretty sunset from last weekend: https://lyse.isobeef.org/abendhimmel-2025-03-30/

Looks like the bird nest in the tree is destroyed by the bushfire any second
@prologic Spring cleanup! That's one way to encourage people to self-host their feeds. :-D

Since I'm only interested in the url metadata field for hashing, I do not keep any comments or metadata for that matter, just the messages themselves. The last time I fetched was probably some time yesterday evening (UTC+2). I cannot tell exactly, because the recorded last fetch timestamp has been overridden with today's by now.

I dumped my new SQLite cache into: https://lyse.isobeef.org/tmp/backup.tar.gz This time maybe even correctly, if you're lucky. I'm not entirely sure. It took me a few attempts (date and time were separated by space instead of T at first, I normalized offsets +00:00 to Z as yarnd does and converted newlines back to U+2028). At least now the simple cross check with the Twtxt Feed Validator does not yield any problems.
And now, let's finish it off with Besigheim's old town. Only when we left, the sun peaked through the clouds. That was a bit unfortunate, but what can you do? It has some nice buildings. https://lyse.isobeef.org/besigheim-2025-03-30/

Besigheim
Today, we had a cleanup day with the scouts. I estimate that we ended up with about half a metric ton of rubbish. Despite the heat it was really great fun.

All the garbage delivered to the municipal building yard
@prologic In all my two Go projects I use modernc.org/sqlite and can't complain. Works great for me.
@david This pink tree I featured in a few shots is a magnolia tree. I haven't noticed any particular smell, it just looks pretty. :-) That's a close-up: https://lyse.isobeef.org/bad-wimpfen-2025-03-28/18.jpg (I only noticed the spider and its web when I reviewed my photos.)
@thecanine Happy to hear that. :-)
The photo series covering old stuff continues. This time, Gundelsheim. Actually, mostly the castle hotel Horneck, I hardly took any photos from the town itself. I really should have, though. Let me just blame… aehm… yeah, the rain! It's totally the rain's fault!! When it started to drizzle, I actually took the first photos, so it's a total lie. https://lyse.isobeef.org/schlosshotel-horneck-in-gundelsheim-2025-03-30/

Magnolia tree and a tower
@arne 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:

Bloody cool building in the Hirschhorn castle

Walking back down the narrow stairs with all the crooked, well-worn steps of different heights and lengths was quite challenging.

https://lyse.isobeef.org/hirschhorn-2025-03-30/
@movq Awwwwww! <3 Thank you, that is now in my collection. :-) The other ones aren't bad either, very nice!
@thecanine My apologies, mate! :-( As @david 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 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/

Entrance to a ski-jumping hill in a rather questionable state
@arne ;-)
@bender Hahaha, YMMD! :-D
@movq @xuu 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 Oh yeah, take some pictures when you do. :-)
@bender @eapl.me @xuu @movq 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 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 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 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/

Timber framed houses
Bad Wimpfen has a pretty cool old town with timber framed houses. Looks really beautiful: https://lyse.isobeef.org/bad-wimpfen-2025-03-28/

Bergfried
@thecanine 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 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 Hahaha, geil! :-D
@movq Haha, that's cool! :-D
@movq 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/

Stacked logs