# 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 6529
# self = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=2796
# next = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=2896
# prev = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=2696
@novaburst @movq How I deal with that? I have a large lightning protector tree in front of the house! Just need to hope that it doesn't crash into the roof once it gets a strike.

Other than that I don't have a good strategy either. Since I don't use 2FA and have some hard passwords memorized, I might be able to recover some data/accounts, but definitely not all. Have to come up with a suitable battle plan in the future.
@movq Bloody gorgeous, mate! \o/ Super great shots, I have to say. :-) Somehow your URLs for the small and large versions completely differ. Is that on purpose? Also, an important hint for others: I just found out by accident that the directory listing will show more pictures. Totally worth to manually go up (or use your browser's shortcut support, if possible).

Today, I decided to take some photos again on my way in the woods. Couldn't be bothered the last two days. It was too humid and I leaked like crazy. Surprisingly, I went outside, though.

Sunset
@movq Bloody gorgeous, mate! \\o/ Super great shots, I have to say. :-) Somehow your URLs for the small and large versions completely differ. Is that on purpose? Also, an important hint for others: I just found out by accident that the directory listing will show more pictures. Totally worth to manually go up (or use your browser's shortcut support, if possible).

Today, I decided to take some photos again on my way in the woods. Couldn't be bothered the last two days. It was too humid and I leaked like crazy. Surprisingly, I went outside, though.

Sunset
I never heard of pop-pop boats before, pretty interesting toy.
@movq I usually only use eggs for baking or fry them for potatoes and spinach. @prologic Why don't you have them anymore? Did the fox get them all when the door didn't close in time? ]:->
@movq @ionores These numbers are like rolling a dice. I only know the folk saying "Morgenrot, schlecht Wetter droht" – "Red sunrise impends bad weather". Not sure, though, whether there are any scientific data to back it up or not. The only country lore that's always true is: "Wenn der Hahn kräht auf dem Mist, ändert sich's Wetter oder es bleibt wie es ist" – "When the cock crows on the dung heap, the weather changes or stays the same".
@movq One has to be lucky, that's for sure, yes. And when seeing such a nice one, one is definitely lucky and happy. :-)
@movq Holy fuck, this is incredible! Much more amazing than here!

Sunset
@movq Cool, so you're now getting fresh eggs each morning? :-) Building stuff always takes way longer than expected. Especially if you're getting baked like an egg by sun. At least down here, yesterday was very brutal. I assume it wasn't much different at your place.
@darch lol, at least it looks like to the untrained eye, mine included. :-) @movq Super tiny, yes. When I checked today, I couldn't see a size difference.
@prologic Very nice! On my way home I rode my bike a long detour through the forest and came across the former padpole pond. Your pieceful picture just reminded me of that.
Sorry folks, can't make it to today's call. :-(
@prologic They totally do! :-) But they can detach their tail if in danger.
@carsten Oh yeah, a long leave sounds awesome. Enjoy! How long will you be able to do just what you want to?

My workday didn't went so smoothly for me. When implementing tests for a hotfix I refactored some test helpers and then found out that a mock structure was wrongly implemented for ages. After fixing it, three tests failed. Two could be solved by fixing the test setups. But the third test failure turned out to be even another severe bug in one of our production code functions. Good old nil pointer dereference panics. Somebody thought it's a good idea to rewrite (nil, ErrNotFound) of type (*Data, error) to (nil, nil). After handling the returned error in the caller (in this case, there was no error anymore) nobody had the possible nil pointer on their radar. Bad design. To be reworked in the future after bringing the hotfix on its way.

I then also found another inconsistency of our storage implementations. When removing something that does not exist, some return nil, some ErrNotFound instead. Oh dear. This will cause some aftermath, I tell you.

At least all of those side quests didn't happen in the wild yet.
@carsten Oh, cool! So this is a park then?
@off_grid_living Nice! Maybe you need a second one of your moving platforms. Or install two cables from one end to the other and then roll your wire netting over them.
@carsten Looking great! :-) Cooling off in the shade at the windy beach is the only thing you can do right now. Maybe even jumping in to accelerate cooling.
Today, I brought my camera along once again. Right at the beginning I saw my first slow worm of the day, the second one on my way home.

First encountered slow worm heading into safety

The tadpole pond was nearly empty. When approaching it, hundreds of not even fingernail sized frogs or toads were jumping towards me. I knew, that there are larger fish in the pond, but I've only heard them so far, never seen them. Until today. At least five large individuals about 30-40 centimeters in length. One might have been even half a meter long.

Banning dragonflies on film is nearly impossible. 11 is the "best" result, not only can you see its shadow, but also its head at the very top. When going home I saw six deer in total at the woodland margins. Spending two hours at the pond was absolutely worth it.
@carsten Absolutely! Enjoy the nice greenery.
@off_grid_living You just need to make sure that the enormous sail is well anchored.
@prologic Ta, it really was!
@off_grid_living Once you're finished you're having a solid base to start for a watch tower. :-)
@prologic Wow, it actually fits in. When it tried to climb in, I thought that it will never make it.
@prologic @movq A white cable snake!
@prologic How adorable! :-)
Four deer, some goats, a nice sunset, one butterfly, about a hundred fireflies and again four (probably the same) deer. Going for a walk this evening was a very good decision, that's for sure.

Not too shabby sunset
@off_grid_living Wow, quite impressive! That's really high.
@movq I've done that in the past myself. Absolutely perfect.
@movq It's an x-ray through a metal hand plane. :-)
I just ran across this one. I'm loving it! https://images.scrolller.com/atto/old-hand-planar-ejtbsjcpxm.png
@ullarah This is great! :-D
@movq Compared to what we've seen with the nasal throat cam, MRT is super boring. ;-) Getting used to something makes it very hard to go back.
Future is not looking good at all, @movq. 36°C tomorrow. Luckily, with the shutters nearly all rolled down I'll have about twentysomething°C inside. But that's not gonna last for long, I'm sure. :-(
I will try my best. :-)
Thanks for your recommendation, @prologic, I ended up going with it. Due to a parser panic I found a bug in one of my own iCalendar generators. The start date was announced as a DATE only, but in fact a complete timestamp including time and timezone was written instead (DTSTART;VALUE=DATE:20230106T000000Z rather than DTSTART;VALUE=DATE:20230106). This parser didn't like that. To my defense, the validator did not report anything and approved of my ical file, though.
@prologic Yeah, some parts weren't super amazing, but the story he came with in the end was super ridiculous. :-)
The Norwegian band Katzenjammer is absolutely brilliant. I didn't know all the songs in this show, when I first ran across them, their repertoire wasn't that big yet. Unfortunately, I think they don't exist anymore. :-(
@movq Crazy! Never seen anything like that either. I don't want to trade with Will, no way I could have a camera go up my nose and then even down my throat.
@movq And if the drop was programmed in?!
@movq Yeah, it's a joke. But you know, this way the valuable trash doesn't getting rained on.
@prologic @ocdtrekkie @mckinley Oh shoot, I completely forgot today's Saturday! But looks like you had some good fun. :-)
@movq Just came across Juzzie Smith: https://www.youtube.com/watch?v=KkJTmwHdOjo
@movq I'm sure you will love it. :-)
@prologic @movq I would love to as well!
@carsten Have a look here. And I headed you're using JS, so are you sure you're also sending it correctly? ]:->
I knew that locale handling is very difficult, but this older article on language and locale matching in Go was an eye-opener. First, I completely forgot there are three-letter language codes and I never heard of script and sorting variants being part of language tags (was just aware of encodings). Also, never thought about the complex fallback calculation, e.g. that for Afrikaans Dutch would be a good candidate. Or instead of Norwegian Danish would be pretty good. Azerbaijani has three possible scripts, oh wow! So many new small things I learned today, very cool.
There ya go, @prologic! https://www.youtube.com/watch?v=arBgEMfzfl8 It's so absurd, just amazing! :-D
@off_grid_living That's a cool contraption, nice! Is the platform a car roof rack? I also like the idea of using the lownmower as the cable trolley.
@carsten Oh yes, that's also my all-time favorite! :'-D
@novaburst Very clean looking, I like that.
@prologic This is looking really nice! I'd love to have this over here, but temperatures are going nuts already.
@movq So did their audio technician. :-D One day I need to read up on that.
@carsten Sounds like a good plan. Weather is getting hot over here with 29°C. Yikes! 22°C at your end is much more suitable to be active outside.
@carsten I only had a quick look and this is all in no particular order:

1. I'm sure go fmt would add a space after the comment marker //.
2. Go doc strings are supposed to start with the name of the variable etc (I'm not a fan of this, either).
3. Sometimes log.SetPrefix(…) ends with a space, sometimes not.
4. Some messages start capital, some don't.
5. Typo: occurred with double r.
6. On lots of errors no appropriate status code is set.
7. Some err can be scoped in the if like that: if err := foo(); err != nil { … }
8. The <title>s could be improved.
9. I have no idea about redis, but rclient.Set("user:"+username, …) looks suspicious to me and reminds me of SQL injections.
10.
o
cookie, err := r.Cookie("session_token")
if err != nil {
    if err == http.ErrNoCookie { … return }
}

doesn't look complete. Also handle other errors? Or simplify without nil check.
@movq Yup, very good show! In fact I watched it weeks ago, but didn't reply back right away. Super great stories, absolutely hillarious! One thing I have to complain about is the audio, it's not mixed very well. When they were yarning in between their reading sessions, they (esp. Jochen) moved away from the mic, making it harder to hear. Increasing the volume helped of course, until they leaned forward and then it became too loud.
@prologic I wasted about one and a half to two hours yesterday night watching these videos. Was super tired today morning.
@mckinley I'm using both in all of my Atom feeds, too. Although I don't really get, why the self link is recommended. Feed readers store their fetch URL anyways. The only advantage I see is if people open downloaded feed files on their local machines, they can directly see where they originated from. Yeah, I doubt as well, that this happens on a regular basis. :-?
@carsten Ta! Yes, it was quite cool seeing this flying vehicle land. I haven't seen a lot of landings, maybe like three or so. Especially not from above.
Today only a short stroll in the woods. I came across a barking deer.

Deer in the distance at the woodland margin looking at you!

The sunset started really lame but quickly turned into a pretty colorful spectacle. At least three quarter of the photos turned out utterly useless, since the auto-focus totally fucked up again. That's almost never the case with the old camera (unless lighting sucks). Observed this quite a lot with this one, even happens every now and then in superb lighing conditions. :-(
@carsten Indeed. Kept 60 of them:

Not a crash, hot-air balloon gets deflated after landing

It's crazy how loud these mowers can be. The noises resounded from 1.5 km away to the summit like they were only a few meters away.

As it turns out, the tree in question covered in ivy from a few weeks or even months back is a cherry (34 & 35).
Holy fuck, I pressed the trigger 577 times today. No wonder my battery flattened and I couldn't capture five deers and one fox anymore on my return.
@movq Haha, yes, mostly disjoint from my universe, too. ;-)
I agree with you, @carsten. It's a waste of resources. We do not need to know it this accurately. Even for NASA 15 decimal places were enough in 2016. In 2013, astronomer Florian Freistetter wrote that 38 digits after the decimal point were enough for the observable universe to calculate its volume and have an error smaller than the diameter of a hydrogen atom. Not sure if this has changed a lot since then. I reckon with a hundred decimal places you're more than covered.
I agree with you, my friends. A lot of teenagers these days only have a smartphone but not a real computer. If something doesn't exist in their social media bubble, it's not real. Even e-mail seems to slowly die off in that generation. At least that's what I see in my circle of acquaintences.
Holy smokes, this is some beautiful engineering porn! Marius Hornberger designs and build a tool changer for his CNC router
Hahaahaaa, came across this one: https://scrolller.com/nature-is-cool-a01vremory
@movq I'd say the water damage and horrible smell are the worst that affect others. Good thing we have fire detecters everywhere, so chances are that such desasters are prevented or reduced.
@prologic Thanks, will have a look later!
@mckinley_tt Newsboat brought me there first. ;-) I knew you could base64-encode images pretty much everywhere. However, I was not aware of the fact that this bookmarks file format is such a mess.
@movq Ta! Yup, we had good lighting. 16 and 17 remind me of steppe. The African elephant is right around the corner.
@movq I still use Atom and RSS feeds. But I also don't understand that browsers now need extensions to do something useful with these feeds. The mind just boggles.
@carsten These are some super great shots, I love them! :-) Wasps are cool (but also cruel if you think about it). I'm not sure whether introducing a new wasp species really helps or causes much more trouble in the long run. I fear the latter.
@carsten Oh, this is really interesting. I didn't know that lead is white. I'm totally surprised! Never would have guessed that.
@movq The simulation of thinking hard could be considered cheating, yes. But cheating is such a hard term, at least it's not super straight, that's for sure. I can't tell if I would have told the interviewer, that I thought about that question the other day, though.
@movq Yeah, I can totally understand that fear. Would be same with me. How big was the damage on the neighboring tower? I assume people were not harmed at least?
Been out in the woods yesterday reading a book about common animals in gardens. The silence was super great.

Pine along other trees
@movq I bet you were! :-D What a relief.
@movq Oh wow, I never heard of that. Very interesting findings!
@ullarah Cool, have fun! Not too long and you'll be sweating again. ;-) @prologic LOL :-D
@ullarah We can try next week. ;-)
@movq @retrocrash Command line and text interfaces are often a lot better and all that one needs. I try to switch to CLI and TUI alternatives as much as possible.
@ullarah Enjoy! The sea looks awesome, just the concrete towers are dulling the view. These are some nice large trees I have to say. Would not have expected those in the city in these quantities. Makes it much more scenic. I reckon it's too cold already to go for a swim, or is it?
@eaplmx I'm on Firefox with lots of stuff disabled. @mckinley Now that's a cool project, thanks!
Thank you for taking the notes, @mckinley! :-) It was really great fun talking to all of you. A very good start into the day.
Yesterday it was supposed to rain just a wee bit for a few minutes during our hike, but the weather had other plans for us. We got soaked instead. So we ran to seek shelter under some trees. Waiting there turned out to be our lucky day, we met two mates on their bikes who had the same plan. They were about to go mowing their lawn. Well.

Next rain front about to hit

Last week I brought a jumper and it was useless, since it was very warm and humid, more than I thought. Temperatures this week were the same, so I learned from the week before and left my jumper at home. Boy, I could have used it this time. When I arrived at home I was super cold.
@mckinley @prologic I just set my alarm clock to 7am UTC+2.
@movq Really? I'm totally hooked. Sure, the damage isn't nice at all, but it just shows very authentically what the fire brigade does all day long in a big city. And in the end they're usually successful. This show is very well produced, no narration, just the footage and explanation by those who were involved. I like that calm approach very much.

@carsten WTF, crazy! I didn't suspect that they block it outside of Germany. In their Mediathek they remove it in a year. This is such a terrible public broadcasting system we're having. ]:-<

Yes, I'm really glad that we have all those volunteers and professionals. I couldn't do it.
@movq I started out with Delphi, then used Java AWT for a wee bit, but quickly switched to Java Swing. Since I didn't know much else, I was under the impression that Swing was super great with all the dynamic layouts, GridBagLayout in particular. I later tried Java SWT in one uni project. Can't remember whether I liked it more or less than Swing.

Finally, I discovered Qt and KDE. I had been a KDE user for a while already. Qt had a super great documentation. In a semester break I just started reading the docs for fun without any use in mind and then got instantly hooked. It was just very well written and it appeared as if it was designed by people who really knew what they were doing. I certainly did not get that feeling in the Java world. Shortly after I tried out Qt with C++, but quickly discovered that there was QtJambi for Java. Muuuuch easier. Quickly I found out that there are even Python bindings, so PyQt4 (or was it still 3?) was the holy grail. Totally convenient to use, most things could be just passed in the constructor arguments. No need to set things one by one with these annoying setters. You wouldn't believe how happy I was when discovering PyKDE. Native applications for my desktop environment of choice back then! \o/

But writing real GUIs (not mickey mouse kindergarden hello world GUIs) is always painful. I try to avoid it if possible. So far, quite successful. It's been several years now that I touched my last PyKDE code. I would have to port it to version 5 to get it going.
@movq I started out with Delphi, then used Java AWT for a wee bit, but quickly switched to Java Swing. Since I didn't know much else, I was under the impression that Swing was super great with all the dynamic layouts, GridBagLayout in particular. I later tried Java SWT in one uni project. Can't remember whether I liked it more or less than Swing.

Finally, I discovered Qt and KDE. I had been a KDE user for a while already. Qt had a super great documentation. In a semester break I just started reading the docs for fun without any use in mind and then got instantly hooked. It was just very well written and it appeared as if it was designed by people who really knew what they were doing. I certainly did not get that feeling in the Java world. Shortly after I tried out Qt with C++, but quickly discovered that there was QtJambi for Java. Muuuuch easier. Quickly I found out that there are even Python bindings, so PyQt4 (or was it still 3?) was the holy grail. Totally convenient to use, most things could be just passed in the constructor arguments. No need to set things one by one with these annoying setters. You wouldn't believe how happy I was when discovering PyKDE. Native applications for my desktop environment of choice back then! \\o/

But writing real GUIs (not mickey mouse kindergarden hello world GUIs) is always painful. I try to avoid it if possible. So far, quite successful. It's been several years now that I touched my last PyKDE code. I would have to port it to version 5 to get it going.
@tkanos Bwahaahaaahaaaaa, you made my day! Brilliant. :-D
@carsten Very nice! It's a shame we cannot zoom in.
@carsten I definitely prefer the original version. The edited version looks unreal. In the WRINT-Fotografie podcast they would call it Clownkotze. ;-)
@retrocrash @movq Looks like our branch of the universe was not meant for production use.
@anth You have to deliver a screensaver next.
@off_grid_living Wow, what happened here!? Did you upgrade your internet connection or was the high resolution image just an oversight? Anyways, I approve, looking good! :-)
@prologic Cuuute!
@movq I don't have issues with PulseAudio. But GTK always calls for trouble in my opinion.
@novaburst So somebody used @all and flooded peoples inboxes. Reminds me of my dayjob where this happens at least once every second week. Apparently, this cannot be disabled in GitLab. Somebody could have just made a fix for that, it would have been totally worth the time to get this going with our large user base.
@movq Ah, you're the fire brigade. Speaking of fires, I noticed the other day that Feuer und Flamme Staffel 5 continued. Several hundred Confluences? Holy crap! Oh yes, it adds up quickly with that number of instances.
I see, @retrocrash. I was just surprised that the disappearance happened so suddenly without any notice. Glad to see you again. :-)