# 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 6164
# self = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=5016
# next = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=5116
# prev = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=4916
@prologic That's a lovely campfire! Let's see what my hike produced yesterday.
@movq Oh, made in Denmark.
@thecanine Woof, woof. :-)
@movq That's what I always think of with a shake of my head, too. Nowadays people voluntarily and actively feeding Stasi with all their information.
Hahaha, what an evil idea, @aelaraji. :-D

@movq At work, I mostly open Jira tickets in new tabs and don't navigate them. But yeah, GitHub unsurprisingly fucked up here. One more reason not to use it. ;-)
Hell yeah, this is some amazing bee stuff! https://www.youtube.com/watch?v=YgOYLDf5Wv8
@movq Classically navigating through the history still works perfectly fine on most (if not all) websites I visit.
@prologic @movq @bender Yup, I second that. :-) We went to Ebersberg Castle with the scouts. It was great fun and very exhausting at the same time.
All packed, ready to go.
@mckinley That's a cool idea!
@prologic Kehrwoche! :-)
@prologic I noted it in my calendar, looking forward to it. :-)
@prologic Cool!
@movq I'm subscribed to 48 feeds at the moment. And only a fraction is actually active.
@prologic Oh, was I? I don't recall any of that. But who knows. ;-)
@prologic I won't see any activity again, unless somebody else I follow interacts with them. Yep, fetching the feeds still happens with a patched version of the original twtxt client. tt is just a viewer of the database contents.
Righto, it's time for a rotation into archive feeds again.
I just cleared my following list. Kicked out all the 26 feeds that have not been updated for two years or more. This will reduce a bit of useless traffic.
@prologic I figured, yep.
@prologic Does one need a build timestamp anyway? That's an enemy to reproducible builds. Maybe just use the commit timestamp? That would work at least for official releases. It would be off for dirty working directories during development, though: git show -s --pretty=format:%cI
@movq Yeah, I did.
@prologic Oh wow, still so many left. Cool.
@prologic Looks much better, although I'd strip the "v" prefix in yarns' "v$branch@$hash".
@prologic Nice!

Btw. the versions in the search.twtxt.net and twtxt.net footers are both a bit wonky now. 8-)
@prologic FWIW, at least five feeds were _not_ empty. But their feeds still looked dead, since the last posts were from 2020 and 2021. So that was probably before the date of last login was recorded.

Btw. how many accounts are there currently on twtxt.net? https://twtxt.net/user/stats/twtxt.txt looks like a grave, too. :-D
@movq wc -l .zsh_history gives me 7100. That's surprisingly a bit more than I thought. I used to regularly clear new stuff by hand and keep important commands to about twenty-something. I don't recall the numbers anymore.
@bender In the end the cameraperson overtakes him again. But yeah, who knows with today's AI crap everywhere.
@movq @prologic :-)
@movq Yep, I use it all the time, too. Except for Go, where I use Ctrl+x+o for Go-specific completion. But Ctrl+n still comes in very handy for strings and the like. In fact, it scans all the open buffers for completion suggestions.
Quite the acrobatic piece: https://youtu.be/p5GU_BvvHso
We had a nice sunset: https://lyse.isobeef.org/abendhimmel-2024-05-03/

[![Sunset](https://lyse.isobeef.org/abendhimmel-2024-05-03/02-vorschau.jpg)](https://lyse.isobeef.org/abendhimmel-2024-05-03/02.jpg)
@bender Rest assured, it was really disgusting.
Wow, it's crazy how many people already delivered donations for our scout flea market today. Collecting and delivering officially starts tomorrow, today was just the setup. Covering the floor of the town's multipurpose hall, transporting and arranging beer tables and benches, setting up sign, that sort of thing.

But on the flipside, we've also been abused as dumpsters again. Some asshole brought us a deep fryer. With the oil still in it. Unfortunately, we discovered that too late.

The big work starts tomorrow morning at 8:30. And the flea market where we actually sell the stuff is on Sunday. It's gonna be a hell of a weekend.
@mckinley When typesetting our graduation newspaper ("Abizeitung" as we call it), I destroyed the work of a whole day. :-D

I plugged in the USB stick of my mate (exact same model as mine) to do a backup of that day's work. Since mine was already plugged in, the mount path /media/USB_DISK or whatever it was already existed. Throughout the day I saved everything on my drive (I don't know the reason for that anymore). The newly plugged in thumb drive then got automatically mounted by Konqueror as /media/USB_DISK2 or something like that. I wanted to show off my other mate how cool Linux was and how quickly the command line was able to get things done. By force of habit I cded into the wrong path to first rm -rf *, so that there was room for the new stuff. Indeed, the data was ruined super quickly.

When I noticed my fuckup I aborted immediately, but it was already too late. I went to the family computer to research recovery tools. All the files I was able to restore were corrupted. The Scribus XML files ended somewhere in the middle. So then we decided to redo all the work instead of wasting more time trying to fill in the missing XML. Unsurprisingly, it turned out that not only the last closing tags were missing, much more of the contents disappeared. I remember that I gladly noticed the second typesetting round went much faster. :-)

I could be totally wrong here, but I think one problem was that write operations to external devices were not immediately synced, one had to expicitly flush the write cache, e.g. by umounting it properly. Early on in the typesetting process we decided to have each page or spread as separate *.sla, because a) our computers were not powerful enough to handle a large project and b) once the layout template was cast in stone, we could easily work in parallel and join everything in the end. That helped to limit the damage to just my work. My mate's was still there I believe.

Oh yeah, that's certainly the best strategy, @bender! ;-)*
@movq Wasn't too bad in the end. Just a hand full louder thunders and decent wind. It smells really good after the light rain. Mjam!
The thunderstom is closing in on us now. It just started to drizzle.
@prologic I read the help and it's a bit clearer now. Still a bit wonky. I will probably have it already forgotten by this evening. "Term" is exact match and "Match" adds some kind of unknown fuzziness on top.

The second bullet point can be addressed I reckon. It's purely a UI thing. Also, I'd add a short explanation for the search types next to them, so people don't have to look things up all the time through the help or even follow the links to the bleve documentation.

I like the magic detection™. That's what people expect. At least I did.
Thanks, @prologic. It was taken near the dairy farm. Came down the hill in the forest on the right and tried my luck. It turned out the photo gods were in my favor. :-)
@bender I see, thanks for educating me. :-) At least you're interacting with native speakers a hell lot more than I do. I'm speaking English almost every day at work, but it's basically never anybody's mother tongue.
@mckinley For testing purposes make dev works perfectly.
Thank you very much, @bender! I just linked the thumbnail to safe on people's bandwidths. I figured if someone wants to view the photos, they just go to the album anyways. If one has no interest, it's less invasive on them.

Picking the money shot is always tricky. Especially since I have been sorting through them for an hour or more. I try to keep at most 10%. And yes, I very often do hate myself for pressing the trigger so many times when I come home. So by then I'm kind of sick looking at them any more. :-D Sorry, I try harder next time. ;-)
@bender Damn, I got caught. :-D

Btw. how does it work in English? In German it's ambiguous which weekend one addresses when saying "next weekend". Is it the coming one this week or the one in the next week? Different people interpret it differently if it is not inherently obvious from the context, like when talking about dates. I also noticed that sometimes the same person even switches between meanings. I think I do, too. But I don't know why.

Maybe it depends on when one says it. I could be totally wrong here, but earlier in the week, like on Mondays and Tuesdays chances for "weekend in the same week" are higher than towards the weekend (Thursdays and Fridays), then it's more likely to refer to the weekend in the next week. And yes, the week of course starts on Monday. ;-)

Not sure if it changes with dialects. :-? I assume that doesn't play a big role and is the same for all German-speaking regions.

On the other hand, "this weekend" is very well defined as the upcoming weekend in this week. It's only the term "next weekend" that can be problematic.
@prologic Good question. Two things come straigt to mind, although, I'm not sure how low hanging they are. Probably not even remotely.

1. I don't know what these three search types mean: "Match", "Term" and "Query String". I could read the help page (I probably should), but they are sooo far off from my little brain that I can't even think of a possible explanation. My (possibly broken) intuition would categorize "Match" and "Term" to be the same. Zero idea what "Query String" is supposed to be. But then I think a search should be so easy to use to not having to read up on it in a manual. Admittedly, the basic search works alright.

2. When "Match" is the default, why is it not selected? Similarly, when it searches all fields by default, why is "_all" not selected? This technical spelling "_all" with the leading underscore also doesn't look pleasing to my eyes. It's been a hell lot of time that I looked at the code base, so I forgot everthing by now, but that should be easy to fix.

3. Okay, three things. :-D Apart from the search results taking up soo much space, it would really be nice if the markdown would be rendered. Yes, this is probably very tricky, as the matching search terms are highlighted. So I imagine both the highlighting and markdown rendering probably contradict each other. Also, how to go about matches that are part of markdown link URLs, image alternative texts and the like. Not easy at all.

I reckon that's certainly not what you had in mind or wanted to hear. :-( Sorry about that. I doubt it myself if this is any helpful feedback.

No promises, but I _try_ to toy around with the search more in the future. Maybe even look into the code base and see what I can do. The next weeks will be full of activities with the scouts, though. So don't expect something in the near future.
@prologic Thanks mate, looking forward to the next weekend. :-) It appears I'm just in time with this tiny usability improvement: https://git.mills.io/yarnsocial/search/pulls/22
@movq I hear you. :-( Flight tickets are way too cheap. I'm also astonished, that night flying restrictions don't apply for politicians. Of course.
@prologic I believe that only a search box on the front page is better. Just like it is now. I still haven't got used to the advanced options, but that's an entirely different story.
@bender Glad you do. :-D
@prologic @movq Thank you! :-)
@bender Let's hope your life quality will improve with that single purpose tool. :-D
@prologic Heck yeah, grats!
@prologic Like @movq said, it is a very niche thing. But that has always been a good thing in my opinion. And I do still think so. :-)

yarnd in particular is too heavy for me personally, I just like the simplicity of wacking a file on my server and voilà. But other than that, I still support that software. :-)

And I come back to twtxt.net every now and then to read up on conversations that seem to be incomplete in my own client. Like if a new feed appears that I don't follow (yet). That's certainly a convenience that I do enjoy. Thank you for that!
Went on a 20-25km long hike yesterday. Birds were beautifully singing, the lovely smell of freshly cut grass was in the air and the terror of rotary mowers reached my ear constantly. It was a bit cloudy, but the sun peaked through every now and then. Really a wonderful day to be outside. About 21°C and some wind.

Amazing scenery

https://lyse.isobeef.org/wanderung-2024-04-28/
@adi Oh wow, I'm really surprised that it still sounds a lot like Stairway To Heaven. I'm pretty sure I would have gotten that even if I hadn't read the title. Music-wise of course. Not from the lyrics. :-)
Damn it! My camera battery didn't charge, so all the nice deer and tad pole in a puddle imagery did not work out. :-( I saw two pairs of ears showing in the grass. Suddenly, three deer took off. One went straight into the strip of trees nearby and back behind me into the woods. The other two ran more into the meadow and then alongside the path I was taking. They unexpectedly overtook me and crossed in front of me to the other pasture. Then they headed back into the forest like rockets. Holy cow, they were super fast. Really amazing to watch. Battery flattended after the second of video I recorded in the beginning.

Ears showing in the grass

https://lyse.isobeef.org/waldspaziergang-2024-04-29/
@bender @prologic Thanks mates. I'm not the only one, @xuu does, too. :-)
Executing all tests of the online registrations I'm building for the scouts takes now 70 seconds. Initializing a new SQLite database in RAM and creating all the tables for each test case sums up and takes its time. During development cycles I more often resort to the -run flag for go test to specify only one area of tests to be executed. Much more fun this way to quickly go back to writing code.

At least the service layer line coverage is a whopping 99.5%, branch coverage is 93.3% (the latter could still be bumped slightly). However, only 17.6% lines of the web layer are covered (I definitely should increase this by a lot). This still good test base, if I say so myself, came in extremely handy a lot of times when refactoring stuff. Esp. the service layer changed, web not so much. It slows development down quite a lot, that's for sure. I reckon it's easily five to ten times more effort to come up with useful tests than writing productive code, probably even more. I'm bad at guessing. But the confidence of not breaking stuff is sooo much more valuable. The tests certainly paid off in the past, zero doubt about that.

It takes a lot of discipline to first write all the tests in the service layer before doing the web stuff and finally see it in action and play around. It's funny that I always have to force myself to do so, but in the end, I'm always happy to have done it exactly like that. It once again worked out very smoothely that way. But something inside me wants to fast forward. I wonder if that irrational part eventually fades away.

Having a code coverage report does make a night a day difference. It actually turns writing tests into a fun game for me. The older I get, the more I do enjoy writing tests. Rest assured, producing productive code is still cooler. :-)

I'm also sooo happy about vim-go. I can't believe how much that sped up and boosted my development process.

Whoops, 57 minutes later, this message turned out much more elaborated that I initially envisioned. Oh well. ;-)
I just found out about last(1) and lastb(1) while wondering about _/var/log/wtmp_. This can come in handy! The filenames remain a bit mysterious: https://unix.stackexchange.com/questions/127211/why-are-utmp-wtmp-and-btmp-called-as-they-are_
@movq Oh wow! Better not mess up with that responsibility. :-)
@movq @prologic Hahaha, thanks for sharing, @bender! :-D

> IBM has realized it's cheaper to buy Hashicorp than to buy Vault licenses
@movq Yeah, things like that can really make one ill.
@movq I can't think of a single one. Pretty lucky so far.

@bender Holy cow, congrats on that title. I do have plugged in the more important equipment in a power strip with surge protection. The weird thing was, that only one of the monitors went black for a second. The other one (both are behind surge protection) remained operational the entire time. Maybe EMP? It was closer to the window than the other one.
Speedy recovery, @bender! Ouch, @movq!
After a nearby lightning strike one of my screens turned off for a second. That was the signal to call it quits today.
@movq Such piece of shit software makes me want to quit. Esp. if it is just for useless compliance garbage that never helped anybody accomplishing any real improvement. Is it from IBM? We once had to build a threat model with some terrible generator and my goodness, you can't believe what a myriad of hopelessly useless, wrong entries it produced. Thousands of thousands of lines. At least it was markdown. We basically removed like 99% of its output after reading through every single item. Did this once and refused to touch it ever since. All hand-written now and actually helpful.
@prologic Speaking of broken mentions, do you want to install a more recent yarns version so that my error log is not spammed anymore with 404s? 8-)
@movq Zero progress on mine. :-( I still rely on the official twtxt client to download the (main) feed.
Thanks, @movq! Hahaha, didn't think of that. :-D Nah, this guy is not creepy, he's just a melting flower snowman. ;-) Rest assured, he was unharmed on the table, you can see him here: https://lyse.isobeef.org/waldspaziergang-2024-04-21/23.JPG
Jaja, @movq, immer schön aufmerksam der guten Steckdosenpräsi folgen und im Anschluss in der Exzellenztabelle was eintragen und ausrechnen lassen! :-D Klingt alles recht albern. Ich schätz aber mal, dass einem das gar nicht mehr auffällt.

@bender Fenster 11 → Windows 11; KraftPunkt (or Steckdose) → PowerPoint; Deppendrehkreuz (awesome translation btw, I had to laugh hard!) → GitHub.
Went out in the cold and noticed that taking photos half an hour on top of the drafty summit is not the very best idea. Not suprising that I freeze if there is snow. Gloves would have been actually great, I only wore my beanie. But it was a very good afternoon and evening. Looking at the snowmen, there must have been heaps of snow on the ground earlier this day.

I came across several different birds and two deer. 36-38 shows the same one, one meadow further, another deer jumped across the road. That was cool.

The focus often wanted to do its own thing, unfortunately. 25 shows the flatness of the Kaiserbergsteige (literally "Emperor Mountain Steep Road").

Flower snowman

https://lyse.isobeef.org/waldspaziergang-2024-04-21/
@movq Vobis doesn't ring a bell. I looked them up, but still nope.

Yeah, HDDs aren't the fastest things in the world. :-)
@movq @bender Sadly true. :-(
@movq Interesting. Never came across the term presentation manager in my life, but I also never used OS/2. :-)

Yeah, stopping the scanning thread is more a learning experience than a necessity. The scanning message is hardly visible in your videos. It's already very quick.
I'm with you, @bender, weekends are way too short.
Oh, you finally did implement multithreading, @movq. Cool, cool. :-) https://www.uninformativ.de/blog/postings/2024-04-21/0/POSTING-en.html Just in case you want to keep working on PMdusage, my suggestion for a future upgrade is to make the scan abortable. 8-) By the way, what does "PM" in "PMdusage" stand for?

Always great to see that bugs are quickly fixed.

There's a tiny typo in the second to last paragraph: "Windows NT is something that I _had_ no contact with…"
@mckinley Haha, interesting read.
@aelaraji Nice, I can confirm it's now fixed. I reckon the Content-Type: text/plain; charset=utf-8 did the trick. Something in the twtxt client must have incorrectly guessed ISO-8859-1 or something along those lines when there was no charset advertised in the response header.
@prologic @bender Agreed, looking heaps better. <3
Thanks, @movq! What?! I'm heading straight to Wikipedia…
@movq That's what I figured, since ncdu shows it at the bottom. ;-) But it's actually pretty smart, to be honest. More space for precious content. And the title bar exists anyway, so why not make use of it with something helpful? Also, with entries being in descending order, it's actually natural to show the sum as the even higher number above the largest entry and not at the bottom in another status line widget. 8-)
Welcome @aelaraji!

What the heck is going on with the encoding here?! The feed's Content-Type header does not include any charset, but I'm still relying on the official twtxt client to fetch and parse feeds. Haven't noticed this with any other feeds. Where in the chain is this messed up? :-? Seems like the "space" is the Unicode line separator U+2028, that we use for newlines.

Maybe WTF-8 encoding!?
We have great April weather over here. Yesterday sun, rain, sun, rain, sun, hail, sun, hail, sun, rain, etc. It didn't hail today, but sun alternatd with rain a bunch of times. Went out this evening and boy, what an absolutely gorgeous scenery!

View from the edge of the forest into the lovely lit distance

https://lyse.isobeef.org/waldspaziergang-2024-04-18/
@movq Oh nice, it even shows the sum in the title bar.
@prologic I'm glad that this stats view is actually useful. :-)
I got an e-mail today about my Linux notebook reaching end of support, yada yada yada. It mentioned that with the new stuff Okular will be able to sign PDFs. Never ever had to use that, but maybe some Linux user finds this information useful.
@movq I reckon it's now here.
@movq We just had a quick heavy rain shower roll past. Didn't notice storm, though. Be safe!
@movq Cool, nice progress! :-)
@movq I reckon they mostly ship stuff nowadays. Beware, looks like this website and their marketing is from the last millennium. Their front page is hillarious, so is this company comic: https://tito-international.de/i/comic-of-company (I have no affiliation with them).
@movq Definitely better for them, yeah. :-)

Ah, interesting. Ui, that can hold some water. Certainly looks like a water level gauge to me. Maybe a precaution for a hundred-year flood or something like that. Or is there a dam nearby? Could be a facility to reduce damage in case it breaks.
I took advantage of the last sunny, but also 25°C hot day and hiked in the woods. It was so much more pleasant in the forest than out in the sun. The wind could have been a long stronger with that heat. I was completely soaked.

At one point I thought I better grab my camera out of my backpack, so whenever something comes up, I'm ready. But I was too lazy and thought, well, I just wait until there is a nice subject and keep going instead. No joke, ten meters further I came across two squirrels. A red and a brown one, sitting on a tree at just one and three meters height two meters away from me. If I only had unpacked my bloody cam a few seconds ago! I just watched them sit on the tree and then tried to slowly strip my backpack and grad the cam. It was still booting up when they decided it was enough sitting around and climbed higher. What a silly move on my end, damn.

I tried to improvise some Lyse Street View, but felt really uncomfortable to photograph other people's houses. Somehow my cam produced sooo many blurred shots on the way up still away from the village, it's unbelievable. I scrapped nearly the entire project. Only very few survived. There were heaps of people on the mountain summit, so I quickly left again.

Flower bed in the village

https://lyse.isobeef.org/waldspaziergang-2024-04-14/

Looking forward to next week's rain and temperature drop to 16°C or even 8°C.
@movq I reckon you have to wait a bit for that to happen or just come by one day. :-)
@prologic Oh no, that's so silly.
@movq Even just consumer grade. Wow! I also only rarely print anything and I always got third-party toners, never was disappointed with them. Last year I noticed that we have an ink and toner shop in town and bought there. That actually exist over two decades now, but looks extremely inconspicuous.
@movq Oh wow, how cool is that?! :-) Ducks over here are quite shy, unfortunately. In Ludwigsburg on the other hand they are very habituated to humans. I was very surprised to see that when visiting a mate. There were a bunch of them laying on the stairs and I tried to keep my distance to not scare them off. Didn't dare to get closer than maybe five meters or so and was super happy that they stayed. That has always been impossible over here. After we proceeded, some tourists came by and stood a meter next to them or so. That was crazy for me to see. :-)

Yeah, walking next to a highway is torture. I try to avoid it as much as possible.

Nice! The third photo looks like a Kneipp basin. What's that round tunnel? I love those moss-covered rocks, they just look so beautiful.
@movq @prologic Yes, standard time forever would be so great!
@movq It can already drive if you as the legal representative sit in the codriver seat!

That's really impressive I have to say.
@movq Oh cute! That drake wasn't scared, was he? Yes, please take your good cam next time. :-)

Was that a highway that you were walking next to? The last one shows a really cool scenery. I dig that.
And I just came across this one in my feed: https://benhoyt.com/writings/go-version-performance-2024/ At least from 1.17 onwards size is actually growing again. I didn't measure early enough.
@movq @prologic The several megabytes of Go binaries always feel so wrong. Hello world is 1.8 MiB, with -ldflags '-w' still 1.3 MiB. Growing with each Go release.
@movq No, at least not that I know of. The closest would be probably the one from the Americans in Stuttgart. No idea whose war machines these were, though.

The mountain is 684 meters above sea level, so this makes for a difference of about 350 meters in 5 kilometers (most direct trip). Plus a little bit up and down here and there, or more, depending on the selected route. But it's not climbing stairs, so it's much more pleasant I'd say. Kudos to you! The last section is the actually steep part. Each brown contour line marks an increase of 10 meters. Sure enough, I'm glad when I finally reach the summit and can pause for a breath. :-)