# 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 6523
# self = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=6296
# next = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=6396
# prev = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=6196
Once again, I went on a hike onto my backyard mountain after calling it quits very late. This time I brought my cam along. The view was extremely hazy, but the setting sunlight resulted in cool colors. The freshly cut grass smelled wonderful.

I saw a flock of pidgeons circling around and some sort of rat or mouse quickly running over the road in front of me from one field into the next one with a giant nut in its mouth. Or so I at least believe, couldn't really tell, it happened so fast.

A couple enjoyed the setting sun on a bench and stripped their shoes on this warm evening. Somebody forget their bottle of water on the summit, but it looked rather cool in the evening light:

Water bottle

Not sure what they're doing, but they now set up scaffolding at the ruin. I heavily doubt it, but it would be cool if they rebuilt the castle. :-)

On the way back I met up with a mate who couldn't come along right from the beginning. We saw two deer on the meadow, but it was already too dark for my camera, the photos were totally rubbish. The sunset turned really pretty and colorful just in time when I reached home. https://lyse.isobeef.org/waldspaziergang-2025-06-10/
@movq That's cool! I think I never ran across a moorhen in the wild. Nor such a goose, just the "normal" ones. I should maybe try to sit on a watch to shoot some birds. With my cam, not a rifle of course. :-)
@movq Heck yeah, these are some brilliant shots! Where did you spot the goose and moorhen?
Speaking of fantastic and inspiring things, Epic Upcycling makes a wonderful desk from pallet wood and scrap metal: https://youtu.be/hY1-5PtJPo8 So relaxing to watch. I wanna make one so bad, too. I guess I start with the plane rack, though.
Fuck me, this is soooo bloody amazing! :-) I absolutely love watching the iterations on Primitive Technology's belt and pully blower: https://youtu.be/1799Rqn71A8 It's just so dang cool and really inspiring. This wants me do something similar so hard. :-)
@movq Interesting, didn't know that.
@movq Very rarely does it happen. Yup, the clouds are to praise for today's spectacle. Surpringly, the pink is fairly close to how it actually looked in person. I was pleased to see that. The neon orange in front of the grayish sky was way cooler, though. I wish I could close the aperture on my camera in the hope of capturing the insane color. Oh well.
@movq I didn't even know about the internet back then. Might have been just around that time we got our very first second-hand computer.
Woooaaah, the sun just was a crazy orange disk in the sky. Looked super amazing. Unfortunately, on the photo it was just white. But then it turned pink when it reappeared below the clouds: https://lyse.isobeef.org/abendhimmel-2025-06-07/

Pink saturn^Wsun disk
Aha! So, @bender added all the Spanish feeds then!? ]:->
@movq Bwahahaha, exactly! :-D
Aha! https://tiswww.cwru.edu/php/chet/readline/rluserman.html#Readline-Killing-Commands
Ha, I just learned that deleting text in my zsh with Ctrl+U to the front or Ctrl+K to the end puts it in a buffer that can be pasted by pressing Ctrl+Y! That's neat. Even removing the last word with Ctrl+W moves it into this paste buffer.

https://jvns.ca/blog/2024/11/26/terminal-rules/#rule-5-vaguely-support-readline-keybindings

I guess I have to implement pasting in tt as well.
We went up our local backyard mountain and boy is it humid. The view after the rain is fairly good, but I'm totally soaked. No photos, I'm too exhausted for that.
@kat I never did anything remotely like this. I might have to look into it some day. It might be a good topic for a Do What You Want Day.
@movq Unfortunately. :'-(
@movq I've absolutely no idea how they're poured in. I bet it must be some automatic thing. At least I cannot imagine that any sane person would ever add such junk to a list.
@bender Muting on a domain level would be an option.
@kat That sounds fun! I'm happy to read an article on how you did that. :-)
@movq I hear you! I'd also love to forbid any use in military software (development). Even though I cannot imagine anything of my stuff ending up there.
@movq Das wär auch meine Vermutung. :-) Wir nennen sie hier Peterling.
Sooo many new spam feeds to mute in the twtxt.net discovery view. :-( The RSS/Atom to Twtxt feed bridge was a mistake, I believe. I guess I just have to abandon that altogether and rely on my subscriptions to interact with new feeds in order to discover legitimate new ones. Not sure if that works, sounds like a chicken-'n'-egg problem.
@kat Oh, even a large one!
@movq Wow, this is sick!
@arne Ohh, sehr hübsch geworden!
@sorenpeter Cool, that animation is quite hypnotic. :-)
@movq Regarding https://www.uninformativ.de/blog/postings/2025-05-21/0/POSTING-en.html: Hahaha, that's what I immediately thought, too! The pain of going back to CVS. :-D I used that back in school. Quickly after, I upgraded to SVN and even that was terrible in comparison to a modern VCS, such as git.

In any case, happy hacking!
@movq Zum Beispiel: https://www.youtube.com/watch?v=-unPs-NrVI0
@movq That's cool! Both of you can now form a house band. :-)
@kat Ta! The dead end wasn't all that bad in my opinion. Personally, I really do like dirt paths and exploring. It was all dried up, so no muddy mess we had to walk through. More like climbing over thick branches that have been worked into the ground by harvesters or forwarders in the muddy winter. Rough terrain. My mate, on the other hand – whose idea it was to check out the real summit in the first place ;-) — wasn't all that pleased about the detour. Oh well. :-D
@movq Das klingt ein wenig nach einem Johnny-Einschub zwischen zwei Liedern auf einer EAV-CD. :-D
@movq Yeah, that sounds pretty good!
@movq What a wonderful present! Crazy how time flies.
@movq I'm glad you like that raven. :-) This is the original for when you get a screen as big as an entire wall one day: https://lyse.isobeef.org/abendhimmel-2025-05-16/01.JPG
@kat I only listened to you while going through my photos, so I did not pay very close attention. :-)

Since you have a proper server – haha, not just one – and hence are not limited, I suggest you learn a real programming language and don't waste your time with this PHP mess. It might have improved a wee bit since I was a kid, but it felt like some hacked together shit. The defaults also were questionable at best, it was easier to hold it wrong than right. This stands testament to bad design and is especially terrible from a security point of view.

You're right, programming is like any other craft. You only truly learn by actually doing it. And this just takes time. Very long time to master it. Or as close to as it gets. The more you know, the more you realize what else you don't know (yet). It's a never ending process. So, take it easy, don't get discouraged, happy hacking and enjoy the endeavor! :-)
We had sun, clouds, wind, rain and a whole lot of fun on our trip to the Wasserberg. We've been out seven hours in total, not bad at all for all those kilometers. We added on some detours to check out a pond I've been introduced by a mate a few years back.

After some (expensive) tucker at the Wasserberghaus, we tried to actually visit the summit this time. However, there's nothing to see, just a rough logging trail (46-49). That was a dead end, so we had to turn around. It was some nice exploring, but I reckon this was my first and last time up there. :-)

Wasserberg on the left, Fuchseck on the right

Unfortunately, we didn't go to the neighboring Fuchseck this time, only the Wasserberg with some extras.

https://lyse.isobeef.org/wanderung-auf-den-wasserberg-2025-05-18/
@movq Wow! This giant Tux is just fucking amazing, I have to say. <3 Even a bricked Tux and a GNU!
@kat Yup, we got lucky. :-)
@thecanine Things in general just sitting around collect dust. Granted, plush is an even worse dust magnet. We badly need some anti-dust material. ;-)

Nice, did you print this keychain yourself?
@bender Hahahaha! :-D
Once again, we had some very beautiful colors this evening: https://lyse.isobeef.org/abendhimmel-2025-05-16/

Sunset
@movq Oh, okay. Too bad. :-D Or luckily, thinking of all the dust they collect.
@bender Just to save some unnecessary und useless network traffic. :-) So that I can download more 1080p videos!@1
It's this time again to archive another quarter. I should do this probably monthly to keep the main feed small.
@movq @prologic Ta!
@movq Woah! :-) Is/was that your room?
@bender Ta! :-)
@movq Oh, made in Germany explains the prices. Surprisingly, buying via the reseller is *much* cheaper than purchasing it from the manufacturer directly. WTF. O_o
@movq Yeah, we're pattern matching machines. :-) Only the trans5c preview looks like a brain to me. :-) Trans4 is a bacterium.
@movq 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. :-)
@movq @kat Just have a beeswax candle ready for sniffing. :-)
@movq There are some real bangers in your collection! Aro3, the octopus, would look great on a wall.
@movq A quick search revealed https://www.tux-onlineshop.de/plueschtiere next door to you, but these tuxes look rather ugly. Also, shipping to the US&A is 60 bucks. I bet @kat's sister can do better. :-)
@movq Has that hashing change even be accepted? :-?
Nice European greenfinch: https://lyse.isobeef.org/gruenfink-2025-05-10/

@kat 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. :-)
@kat @movq @prologic Yeah, I'm also having them in my repertoire for ages, so I'm used to the weird command line options. From today's perspective, they're not consistent with the rest of the typical shell utilities, that's for sure.

Regarding find | grep foo, I recommend find -name '*foo*', prologic. Also, I regularly use -type d and -type f to find directories or files.
@kat Nothing wrong with handwritten HTML. That's often superior to generated stuff I believe. :-)
Thanks to @kat 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. ;-)
@anth Congrats, that's pretty cool! Quite some time, I'm impressed.

@prologic You'll sometimes find the "Creation Date" in whois. Our domain was registered in 2009. Woah. That's also been a while, crazy.
@movq Yup, that's Mr. Compiler Explorer. :-)
@prologic There have always been and there will always be people who have absolutely no clue what they're doing. I've been 100% one of them when I started. Guaranteed, heaps of new SQL injections are born every single day, numbers rising.

That doesn't justify all the WAF crap in the first place, though. In my opinion it's just a filthy plaster applied to an injected wound. The software itself must be secure. Otherwise, don't put that shit on the internet. Probably not even operate it at all. Nowhere. Fix it or throw it in the bin.
@kat @bender Hahaha! I can't recall either, maybe even just a chisel or a knive? I'm not terribly good at it, not even close. It's just fun. And I do it all too rarely. :-/
@kat That's cool. Also, looks like a fun woodworking project in case you exceed the hundred slots. :-) The plywood lap joints might be quite repetetive, but gang cutting them with a story stick or some other fixture shouldn't be too terrible.
@movq Their gold teeth collection? ;-)
What do you think I just learned about in this awesome Computerphile video with Matt Godbolt called "Subroutines in Low Level Code"? https://www.youtube.com/watch?v=1su3lAh-k4o

Here's the plot twist, the phrase "till the cows come home". Hahaha, I never heard this before, but I love it! It's always interesting to me to hear English sayings. Sometimes we have the same in German, sometimes – like in this case – entirely different ones. It's fascinating that even though one hasn't come across proverbs, it's typically still clear from the context what's meant.

Yep, some unexpected language stuff. ;-)
Thanks, @movq! That seems to be much easier. It's already implemented in the Python docs as examples of recvmsg(…) and sendmsg(…):

* https://docs.python.org/3/library/socket.html#socket.socket.recvmsg
* https://docs.python.org/3/library/socket.html#socket.socket.sendmsg

I looked at them sooo many times in order to figure out why my SCM_CREDENTIALS sending code didn't work. :-D
Yesterday, I had a look at Unix domain sockets and how to obtain the caller information: https://lyse.isobeef.org/caller-information-via-unix-domain-sockets/
@bender Deal!
@movq @bender @kat Oh yeah, this is a great article! The site looks quite horrible, but tastes are different. :-)
@kat Oh dear, what a way to start the day! :-(
Once again, we had a lovely sunset: https://lyse.isobeef.org/abendhimmel-2025-05-04/
@javivf You also cut from the front and not the back.
@prologic I also wore gloves, but after hours of demanding work, my shoulders and wrists were shattered. I hope I'm back to normal tomorrow. :-)
@prologic To clarify, from my observations on how the system behaves, it feels like that. This doesn't make it any better, I know. Sorry mate! I never claimed that testing is always easy, but in my experience it sure does help cutting down regressions. But to each their own, no worries. The diagram is all Greek to me. Anyway.

@bender True.
@movq Indeed, a Wüstenmaus sounds cute. However, a Wüstenratte — which is more a desert rat — not so much.
@prologic ODD, lol. I don't wanna be rude, but this sounds more like Code And Fix.
We just split about one and a half cubic meters of fire wood at our scout yard. And even more chainsaw action to cut the logs in smaller chunks. I'm bloody tired now. But it was really great fun swinging the axe. I will sleep like a rock tonight.
We went on a 14 kilometers long hike in the heat, only a few spots were in the shade, most of our trip was in the open fields with the sun beating down on us. We reapplied the sun blocker after about two hours or so. All in all it took us about three and a half hours before we reached our destination Besigheim.

Last time I was there it was rainy, now we had the exact opposite. After some yummy Chinese lunch we visited the old town. There's some gorgeous timer framing to see. When kept in decent shape, it just looks so dang cool.

Since it was too hot, we rode back by train. Despite the heat and some sections near the roaring Autobahn, this was a nice hike. Would do it again. Only in colder weather, though. I certainly don't wanna trade my comperatively larger (still nothing to other more rural areas), covering forests with the wide open fields and vineyards in summer. That's for sure.

Fire escape staircase camouflaged behind some wooden slats

https://lyse.isobeef.org/wanderung-von-asperg-nach-besigheim-2025-05-01/
@quark Despite the Reddit part (I never understood it), this is a great analysis. I could not have put it any better. I also feel quite home here with the all feeds I follow. It's a small bunch of good people.
The temperatures are getting pleasant now. All the freshly cut grass really smells lovely. Looks like farmers are securing their harvests before the rain hits tomorrow in the arvo.
@movq @bender 28°C right now, but luckily, just 20°C tomorrow and rain. Even a thunderstorm at night. On Sunday we're down to 12°C. What a ride. Oh boys!
@bender It's like having good manners at the table. Use forks and knives. ;-)
@movq This suits the background image perfectly.
@movq Oooooohhhhhh, I see. Hmmmm.

To answer your question: Ideally, you would have replied directly to my reply. :-) The flat conversation model always felt unnatural to me. I just yielded to the community's way of doing it.
@movq When I reply to a message, I typically already mention the feed. Just like in this very message. I believe this mechanism should work for most replies. But there are of course the odd responses where I do not mention the original feed, but rather some other feed(s) instead to which I actually want to reply. Maybe "forking", as prologic calls it, would be the better option there.
I visited a good mate after a day in the office and went for a stroll in the evening. It still was really hot, phew, about 24°C. Must have been the aftermath of the fire in the morning! For sure! The firealarm went off during a meeting and we all had to leave the building. Anyway, I only managed to take one lizard photo, all the other ones we came across immediately vanished in the brush or cracks in the vineyard walls. The kestrels were way more cooperative:

Kestrel sitting on the edge of a tower

https://lyse.isobeef.org/asperg-2025-04-30/
@movq Oh, I see. I reckon I accidentally late April-fooled myself. :-D

It's an interesting comparison. I really should have thought about that.

You're right, the rendering would not be very spectacular. :-)
@movq Agreed, finding the right motivation can be tricky. You sometimes have to torture yourself in order to later then realize, yeah, that was actually totally worth it. It's often hard.

I think if you find a project or goal in general that these kids want to achieve, that is the best and maybe only choice with a good chance of positive outcome. I don't know, like building a price scraper, a weather station or whatever. Yeah, these are already too advanced if they never programmed, but you get the idea. If they have something they want to build for themselves for their private life, that can be a great motivator I've experienced. Or you could assign 'em the task to build their own twtxt client if they don't have any own suitable ideas. :-)

Showing them that you do a lot of your daily work in the shell can maybe also help to get them interested in text-based boring stuff. Or at least break the ice. Lead by example. The more I think about it, the more I believe this to be very important. That's how I still learn and improve from my favorite workmate today in general. Which I'm very thankful of.
@movq Wow, that's sick! Assuming the rendering is correct, I never realized the mountain ranges being this steep and tall. This has real education potential for geography classes. Really cool!
@movq In case you reconsider, it would be even easier then to just send an HTTP 429 Too Many Requests. :-)
@bender Hehehe! :-D

@movq I have to admit, I didn't follow the topic very closely, but I was under the impression that there were more votes on location-based addressing. But maybe I'm completely wrong. Anyway. I don't have the energy to be part of a fundamental debate.
@prologic Thank you for writing this together. I just left a few comments.
@movq You better push new code sooner!!

As @bender says, that sounds like a bot. I'd just block the IP address, hoping it doesn't change all the time. But then you know for sure that it's the AI fuckwits.

Also, the devil in me thinks it's funny to swap out the repo in question for something entirely different. :-D
Oh wow, that 48 hours timelapse from SDO is super cool: https://social.bund.de/system/media_attachments/files/114/413/834/747/006/466/original/91b1698392ae5188.mp4 At the end, the moon is whizzing by.
@xuu Hahaha, that's cool! You were (and still are) way ahead of me. :-)

We started with a simple traffic light phase and then added pedestrian crossing buttons. But only painting it on the canvas. In our computer room there was an actual traffic light on the wall and at the very end of the school year our IT basics teacher then modified the program to actually control the physical traffic light. That was very impressive and completely out of reach for me at the time. That teacher pulled the first lever for me ending up where I am now.
@prologic Exactly, @bender! :-D This is at the entrance of a veggie farm (11 & 12) where there are free-ranging kids playing on the road, so people should slow down when driving there to buy some supplies. I also wondered why the sign says "Halt!" instead of "Langsam fahren!" (Drive slowly!) or something like that. On second thought, maybe to actually park there on the street right at the property line.

I actually never walked on that road before and discovered that this was a dead end. There's usually at the very least a foot path on which to continue when passing a farm. Not this time, though. I didn't want to stamp down the high grass to cut across country, so I had to walk back maybe 150 meters. Not too bad.
@prologic Phew, I'm indeed not twtxt.dev, because I sometimes actually do edit my feed with vim like a barbarian.
@prologic Can you please draft up a specification for that proposed change with all the details? Such as which date do you actually refer to? Is it now() or the message's creation timestamp? I reckon the latter is the case, but it's undefined right now. Then we can discuss and potentially tweak the proposal.

Also, I see what you did there in regards to the reply model change poll. ]:->
Hahaha! https://blog.bofh.it/debian/id_471