# 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=1034
# next = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=1134
# prev = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=934
@movq Yes, this is the only reliable way. Everything else is just a quirk. One could put place the message ID in the third field and the reply ID in the fourth to help the purists without clients.
@movq Fits well in your motto of owning less. :-) Now the important bit: get well!
@off_grid_living Wow, M20 is substantial, looking forward for detail pictures! :-)
@movq @quark So you want me to send a merge request? :->
@stigatle Newsboat gets ported from C++ to Rust, you might tackle some things over there. ;-)
@movq I just added a test case with "our" expected hash and it passes: https://git.mills.io/lyse/yarn/commit/314fc1f29f6500b6b0686a5895e3148ac8b06d05 The thing is, https://f.adi.onl/conv/egdmpoa still shows the other twt hash movq was talking about, @quark. It doesn't feel right.
@movq I get #tkdjrmq, too. Let's see.
@quark Oh dear, I hear you! Everything above 25°C is absolutely awful. We're having high humidity in summer as well.
@adi Haha, I first read screw sizes. :-D
@prologic Yes, the goats were really cool and quite curious.
@jlj So what's an eight? I reckon that means pretty good. :-?
@stigatle Lovely! When I had to go to the old work office I often saw some nice sunrises in autum, winter and spring, too.
@stigatle Hell yeah, this is beautiful, mate!
@off_grid_living Great! So you made this particular model yourself, right? I've seen similar tools in videos. Some use wedges, there's also the strap version (https://www.bessey.de/en-GB/BESSEY-Tool/Products/Clamping-Tools/Assembly-and-laying-tools/Flooring-and-clamping-system-SVH-SVG). I'm a huge fan of homemade helpers and jigs. :-)
@jlj @quark Haha, this makes me think of a comprehension problem on my end since you guys talked in your mother tongue and understood each other perfectly. ;-) Anyways, heading to bed now.
@quark Hahaha! Do you have a riding mower?
@anth Congrats! :-)
@prologic Yeah, not too bad.
@quark Do you want to continue over here? :-)
@eldersnake Nice message, mate!
@jlj This is looking really awesome, good job!
@off_grid_living You're having very nice floor boards!
@stigatle @fastidious @jlj I don't operate yarnd, but judging from the names and provided they're separate settings, chosing different values for them would be better I reckon.
Came across the goats again: https://lyse.isobeef.org/waldspaziergang-2021-10-18/
So I went up and down a couple hills and then decided to check on the foxes. At home I noticed that the "fox" in the grass was actually the cat I came across a couple of minutes later. That's a bit bit disappointing, but oh well. I made myself a quick stool in 21 to enjoy the scenery. https://lyse.isobeef.org/wanderung-zu-den-schurrenhoffuechsen-2021-10-17/
@movq Ach herrjeh, das war mir auch überhaupt nicht klar. Sehr, sehr schade. :'-(
@movq Looking good.
@stigatle @prologic Me too! Looks amazing. :-) Seeing these shots makes me go for a hike today, too.
@prologic That's some nice blue color! I'm very glad temperatures aren't so hot here anymore.
@stigatle Oh my goodness, how scenic, I absolutely love it! Cooking over the campfire is really awesome. I'm looking forward to more photos from up there. :-)
@movq Exactly, @prologic told me in IRC about this the other day, so I adjusted tt. Prior to that I just generated twtxt.net/conv URLs for the subject hash link. If I feel like it tomorrow, I'll send a MR. But please, you can go for it as well. :-)
@movq According to my knowledge, they are.
@eldersnake I have vim aliased to v and it annoys the hell out of me, whenever I have to use a system or shell, where this alias is not present.
@quark Hahahhaaaa, what!? A password manager in the cloud? O_o
@quark @fastidious @prologic Yeah, jenny's subject hash links seem to be off in regards to the URL.
@quark Sure. I'm currently just supporting Markdown links to include them in the URLs view so I can operate on them. Media still show the bang in front of them. But it's good enough for now. ;-)
@adi Never heard of vis before. Have to give it a closer look some time.
@adi Syntax highlighting alone is worth everything.
@adi So is it on most Linux distros I believe.
Quick visit to the bridge: https://lyse.isobeef.org/waldspaziergang-2021-10-15/
@movq @prologic @quark I haven't implemented much of the markdown syntax in tt: https://lyse.isobeef.org/tmp/newlines.png
@movq @prologic @quark Hahaha, classics!
@prologic She's probably not following anybody of us.
@prologic It fits a bit better in my opinion.
@eldersnake Haha, yeah! So glad no server side processing is required on most of my stuff.
@prologic But it looks rather nice.
@jlj @quark @prologic Ta! No, these aren't my goats. Just came across them when I tried to walk a never walked path before to get a good view on the sunset. They're quite young and very adorable indeed.
@movq Ah, yeah.
Had a nice sunset today. https://lyse.isobeef.org/waldspaziergang-2021-10-14/
@movq @quark I remember when I first heard about SQL injections back in the days and tried this on my self written PHP CMS' login form. Surprisingly I successfully managed to break in. Absolutely not surprising at all in hindsight. I immediatly shut down everything – deny from all in the .htaccess.
@movq Absolutely! \o/
@movq Absolutely! \\o/
@quark Agreed! :-)
@movq At least both our clients handle these trees really well. ;-)
Oh yeah, I just see Jupiter and Staturn next to the moon and Venus a bit further west (although it is hidden behind houses here at home). This looks really, really, really great, but my camera won't cooperate in these light conditions. I'm totally flashed right now. Never experienced this in my life before.
@quark Yep. ;-)
@movq Ah! Didn't look at the parsing stage. :-)
@prologic Just curious, why not dev.yarn.social?
@quark Btw, you can just use LANG=en_US.UTF-8 jenny -f to set environment variables for a specific command.
@quark Yup, exactly. LANG is usually not defined in cronjobs (as aren't most other environment variables neither). And then some weird fallbacks are gonna show their effects. Not sure whether LANG or other locale-related LC_* environment variables will be used in this case.
@quark I reckon you need to explicitly set it in your cronjob as well. Because cronjobs don't inherit the same environment as one would expect.
@prologic I reckon if the "Show my followings publicly" setting in yarnd is turned off, there should not be any # following = line in the twtxt.txt. The value is empty, but in my opinion the whole metadata field should be omitted entirely.
@quark The legacy charset ISO 8859-15 is used in Western Europe. It appears that some Unicode character is tried to be interpreted in this other encoding, which then fails. Sounds like something with LANG, LC_CTYPE or friends. Any chance you've set this to en_US.UTF-8 or something similar in your interactive shell? Try env|grep -i utf-8. Your cronjob probably hasn't set that.
@quark Working now.
@quark This screenshot doesn't load for me. I'm getting HTTP 504 Gateway Timeout.
@prologic Maybe her -00:00 timezones throws off a parser? I think I tried this edge case when coming up with the twt hash spec, but can't tell anymore for sure. At least I've written this (2020-12-13T07:45:23-00:00 → 2020-12-13T07:45:23Z) explicitly down. The thing is, I just documented Go's behavior to make sure I don't break anything. Maybe add a test similar to this one and see what's happening. :-?
@movq @prologic Ok, there you go: https://git.mills.io/yarnsocial/yarn/pulls/459 However, I mixed something up. The bug I found two weeks ago in my implementation was something different regarding seconds precision. Go will always invent UTC for time.Time objects (if I'm not mistaken it's impossible to have a timestamp without a timezone), Python does not.
Exactly right, @movq! :-D Take a closer look at 17, @prologic.
@movq It might be timestamps which are missing a timezone. In this case the spec says UTC must be assumed: if twt_date.tzinfo is None: twt_date = twt_date.replace(tzinfo=datetime.timezone.utc). I had to fix this in my implementation recently, too. Let me quickly provide a fix for the Python reference implementation in the spec.
@movq That was quick!
@movq Ta! Yeah, I reckon the driver was too careless and slit off the road into the ditch. Maybe when giving way to oncoming traffic. Not sure, though. No, not shoes, croc as in crocodile. ;-)
Where's the croc? https://lyse.isobeef.org/waldspaziergang-2021-10-13/
@prologic Nice! My problem was that I tried to open None with the browser and not the generated URL.
@prologic Currently I just have to come up with a free nick. Usually I just suffix the second, third and so on feed with an underscore and a shortend domain. I reckon it would make sense to render mentions in the user's preferred nick. That of the viewing user that is. The mention of @<foo https://example.com/twtxt.txt> ̀ might for one user be shown as "@foo", but "@foo_expl" for the other and "@foo@example.com" for the next. So mentions would always be "rewritten" by what's configured. That sounds great. I have to implement that in tt, at the moment it just renders the original nick from the mention itself.
@prologic Currently I just have to come up with a free nick. Usually I just suffix the second, third and so on feed with an underscore and a shortend domain. I reckon it would make sense to render mentions in the user's preferred nick. That of the viewing user that is. The mention of @<foo https://example.com/twtxt.txt> might for one user be shown as "@foo", but "@foo_expl" for the other and "@foo@example.com" for the next. So mentions would always be "rewritten" by what's configured. That sounds great. I have to implement that in tt, at the moment it just renders the original nick from the mention itself.
@off_grid_living ;-)
@movq I just read it and it was really a pleasure. Well done!
@movq @quark :-D
@adi @fastidious Ah, now this makes sense.
Just fixed a bug in my URLs view where generated conversation URLs from subject hashes could not be opened.
@prologic @quark I guess so. (Also testing the very short twt hash format when replying.)
@quark Excellent, thanks!
English native speakers, watch out! Please have a look at https://git.mills.io/yarnsocial/yarn/pulls/451 and report grammar mistakes.
@quark So https://arrakis.netbros.com/user/fastidious/twtxt.txt is no more as well, right? Just getting 502s.
@prologic Ah, thought that was a water-bomber plane.
@prologic Quack!
@fastidious @adi is Romanian, too. But the first thing I don't get either. ;-)
@movq Hahaahaaa, great timing, nice!
@prologic Oh, okay! I thought a boat or so was on fire. :-D
@off_grid_living Plenty to do, so you won't get bored anytime soon. ;-)
@prologic @jlj Ah, yes! Agreed. Thanks for clarifying. :-)
@prologic Really cute!
@prologic Cool! Everything alright again?
Today's pictures are pretty boring: https://lyse.isobeef.org/waldspaziergang-2021-10-11/ The first tar layer on the bridge had been applied.
@off_grid_living Ahhh, alright! I somehow always thought, that the kitchen is already there and a separate building. Now sure how I came to this conclusion, though.
@jlj Yeah, okay. I still don't get what @prologic is saying. :-( But it's already late, so I'll try again tomorrow. :-)
@prologic Ta!
@off_grid_living Cool! So there's going to be a wall separating the builing into two rooms, right?
@prologic Okay? Not sure if I understand you correctly. What do you mean by "client"? The user?
@prologic I like it.