# 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=834
# next = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=934
# prev = https://watcher.sour.is?uri=https://lyse.isobeef.org/twtxt.txt&offset=734
@prologic I reckon, according to the name they should all be placed in the tree. Just be careful when walking around that tree. ;-) Here are my findings in red, not sure which were added or taken, looks like the photos were taken right in the middle of the swap process: https://lyse.isobeef.org/tmp/rockswap.webp
@movq @adi @prologic Interesting, indeed! I had no idea there is such a thing as xattr.
@prologic @laz @jlj Okay, I had a look at the mentioned source code and it looks absolutely fine to me.
@eldersnake Ouch, my eyes!
@prologic @laz Alright, great. The protocol was the issue then. So my theory was wrong, very nice. :-)
@prologic @laz And now with HTTPS rather than HTTP.
@laz Hmmm. How about a real mention with both nick and URL matching?
@eldersnake I enjoyed reading this well-written article about your cool setup!
Hey @laz, here I'm testing my hypothesis I had on IRC that mentions in yarnd operate on just the nick, but not the URL.
@prologic Oh, very adorable!
@prologic @adi @lazarus True, could be papa bird or oma or opa or big brother/sister or… Prologic, let your daughter tell us, who really is it?
@prologic @adi @lazarus_vp There, mama in red, baby in blue: https://lyse.isobeef.org/tmp/birds.webp The more I look at the painting, the cooler it gets.
@movq Looking good. It should be possible to remove it in post. Yeah, work, I know. And then also fake!!
@prologic @adi There's also mama bird on the left and baby bird in the middle.
@movq No, that was certainly some kind of mineral glas. Plastic wouldn't have shattered like this I believe. Now I just got the other, smaller glas panel. I'm going to glue in the narrowing strips.
@jlj @prologic Nice indeed!
Turns out, glas is not my material. My friends basement door should get a glas inlay and after cutting out the door section I wanted to testfit the glas panel. When lifting it at an angle over my head, it shattered into pieces. Luckily, most of it came down in front of me, another much smaller piece behind me. I didn't hurt myself at all. I reckon wearing leather gloves was a jolly good idea. https://lyse.isobeef.org/tmp/shattered-glas-panel.jpg
@prologic @movq Thanks! The bridge undergoes total reconstruction and so they first built this small temporary bridge in the background for cyclists and hikers before actually demolishing the old one. According to the posted notice at the construction trailer they planned on finishing two (now three) days ago. Well, looks like the fourty or fifty odd people living in this village have to take the dusty cart track detour for another couple of weeks. That bridge is the only official way to reach it. There are two additional forest paths leading to these houses. Btw, here's the other part of this bridge series: https://lyse.isobeef.org/waldspaziergang-2021-09-03/ 11 was taken from the temporary bridge.
@prologic Thanks for bringing it back!
@prologic @movq @adi @darch @jlj Oh, right. I totally lost those two outstanding specs from my radar in the meantime. Sorry! :-( Maybe on Sunday I'll find some time, but no promises. Nicely put, movq, I fully agree.
@movq Hell yeah, the Saturn rings are fucking great! I didn't think either, that you could recognize them. Very, very cool!
Finally a new photo gallery from my two hours hike today. Spent an hour removing the hardest fuzz from the photos, what a crap! https://lyse.isobeef.org/waldspaziergang-2021-09-23/
@adi @prologic Beautiful!
@prologic Well…
@prologic That would be great!
@eldersnake Since @prologic challenged me to use DuckDuckGo back in January, I'm using it ever since. Very rarely (about once in a fortnight) I need to consult Google, because DDG doesn't bring up what I'm actually looking for.
I'm still open for other suggestions of TUI calendars.
@movq Looks like it's getting in the right direction.
@adi Haha, great. :-)
@movq This is really great to hear! So I reckon you're the first one who actually implemented per-feed settings, awesome! \o/ I'm still refactoring tt to be usable by others.
@movq This is really great to hear! So I reckon you're the first one who actually implemented per-feed settings, awesome! \\o/ I'm still refactoring tt to be usable by others.
@movq How many forks are there now? :-D
@lazarus @prologic This wellknown mechanism seems like a nice thing. But I only know it from OIDC and Let's Encrypt. I personally don't care so much about these "handles". Twtxt just says, you need a public file and a nick, that's all. As @movq pointed out, some clients understand # nick = foobar comments in the feed. So, not sure, what the wellknown here would actually bring new to the plate. Rewriting URLs definitely breaks twtxt mentions, that's for sure.
@prologic I don't understand what that means.
@prologic Tricky in the sense of attaching the right keywords to an image.
@prologic Alright, following links and trying to scrape the HTML/plain text/whatever for images or detect that the link itself resolves to an image. Details might be tricky, I reckon. Sounds absolutely useful, though!
@prologic You're talking about photos directly being included in twts?
@mckinley Uuuhh, beautiful! Quite a long anchor name. :-P
@darch @adi @prologic Nice, still a bit of whitespace left to be saved. :-)
I gave [(i)khal](https://github.com/pimutils/khal) another try, but I still don't like that UI. highcal is pretty cool, just the command line argument handling could be improved. :-P When I saw randgen I thought, doesn't @movq know about pwgen, but then I noticed, there's also randgen-catchy. ;-)
@movq Previously, everything was "the internet". Now it's apps.
@adi @movq Haha, nice quote. But brain extender sounds quite cool I think.
@adi @prologic Yeah, I was thinking about that for a while. The Atom feed is automatically updated by my script. But since I give a bit more context in my twtxt feed, I do it manually. Maybe I should just include the twtxt teaser in the Atom feed or even photo gallery as well. And then maybe provide German and English texts. Any opinions? I was also thinking about better searchability with categories, so I can quickly get an overview for all galleries containing squirrels, slow worms, goats, cows, certain locations, whatever.
@adi Not me. I was surprised to see this, too. :-D
@movq Thanks, I will check them out! A paper calendar is actually a pretty good and very reliable solution.
@prologic Thanks. Now even with highlighted errors: https://git.isobeef.org/lyse/tt/-/raw/master/disabled.png And if everything seems fine: https://git.isobeef.org/lyse/tt/-/raw/master/enabled.png I have plenty of other ideas, but desperately need to go to bed. Nearly three o'clock in the morning over here…
@prologic I reckon it would be better, if these were feeds that users/admins can explicitly follow or not. Following them by default sounds great, but I imagine some folks just don't want this "spam" in their timelines, so unfollowing should be an offered option.
@prologic Yeah, those are quite complex. It feels like a decade ago I read and implemented an iCalendar parser just for fun and the spec is just nuts. I remember the end date being in- or exclusive depending on whether just a date or a real timestamp was specified. For now, having everything locally would be fine to me. No need for remote stuff now. My best mate uses Next/OwnCloud (whatever it's called nowadays) and is very happy with all the CalDAV and stuff. But it's PHP…
@prologic Wow, quite big! Very nice.
@prologic I was more thinking towards management of appointments. When I just want to show a calendar, I use ncal. I like cal's traditional format much more, but it unfortunately does start weeks on Sundays and the -M flag for Mondays is not recognized. :-( So cal is pretty much useless to me.
Which terminal calendar program are you using? I finally want to switch away from KDE's KOrganizer with all this Akonadi crap.
@prologic @adi Alright, I moved the preview from a dedicated second view onto the same view where one can compose their twts. It's now also a life preview, which updates as you type. No need for a dedicated preview button. See this screenshot: https://git.isobeef.org/lyse/tt/-/raw/master/compose.png
@movq It's going to be great. ;-)
@movq Oh dear, is everything now breaking apart or what!? :-(
@adi @prologic Might be a Gentoo user. ;-)
@lazarus Neither have I heard about opoll. But I'm not an English native speaker, so my non-experience doesn't count. ;-)
@prologic Nice writeup! In an ideal world the following disclosure via User-Agent HTTP header would be configurable per feed, not only globally for the user. That's what I'm thinking about implementing in tt, once tt itself fetches the feeds and doesn't delegate this to the twtxt reference implementation. And yes, I'm fully aware that public social media and privacy are contradicting each other. As stated earlier, I think the list of ones followers must be given a TTL, which resets on each GET request. Once the TTL is reached, the follower gets removed from that list. That way, it's like analyzing ones access log, you're not getting dead followers in your list. Not sure, what such a TTL ideally would be. Maybe a week. Maybe two, maybe a month. Probably not more than that.
@prologic Yes, I see the point. In fact it's really, really neat, that this just uses the same mechanism as regular feeds. The real notifications rock is probably too big to kill this bird. Maybe we can come up with personalized follower feeds for the users. It's just a crude idea. Haven't given much thought to that.
@adi @prologic Ooops, totally missed that. Yeah it works. But the ordering feels quite strange I guess.
@adi Nice. Unfortunately, it appears you can only vote positive, negative and neutral. No custom answers are possible.
@off_grid_living I beg your pardon, what do you mean? :-)
@prologic Oh, actaully looking at the twtxt feed for a second or two, it seems that it also contains the "new feed created" events. So we could simply keep the "FEED" events, but do not add the "FOLLOW" events anymore. This way, the "FEED" events still announce new users/feeds. For users to see, who is following them, they could go to their followers page. But I reckon you want them to see this in their timeline, right?
@prologic I haven't looked into the source code, but it naively appears to me, that we can just not list the twtxt feed anymore. At least make it not publicly available, if the feed itself is somewhat structural to the whole follow system. Very cool, that the unfollow is removed. :-)
@prologic Please wait until it's more usable (whenever that will happen). But thanks for the offer. :-)
@adi No, I just DuckDuckGo-ed whether there is already a common tool under that name and that dict came up in the search results, so I quickly followed over there. :-)
@eldersnake @prologic Hmmm, weird. Works for me. I sometimes get connection timeouts with @movq's feed, too. Often it helps to just try again. I also noticed, that this happens with IPv6 more frequently. Connecting over IPv4 usually is more reliable. Sadly, this in 2021.
@prologic I'd say the first thing regarding the privacy one is probably to disable the twtxt feed.
@prologic @adi It's over there: https://git.isobeef.org/lyse/tt/
@prologic @adi @eldersnake @lazarus I have only written a date survey tool, because I didn't want Doodle to spy on me and now they even force me to turn on JS. No idea for a suitable general survey tool, though. If "opoll" (opinion poll) wouldn't have these nasty meanings I'd go with that name. Maybe put a "g" in front, to reference its implementation langauge or just call it "survey", since that's what it is. :-)
@prologic @adi Yeah, some fuckwits have nothing besides their eternal victimhood.
A crude first version is implemented. Now I should definitely go to bed.
I'm now working on previewing new twts in tt before publishing them. Turns out, I should refactor plenty of code. :-/
@off_grid_living Four meters tall, wow, very impressive! Steel is probably better anyways, I'm just thinking of all the bush fires (not sure, though, whether that's a real concern to you). Buying timber in hardware stores here in Germany is also a terrible idea. Very expensive and crap quality. It was expensive even before all the lumber prices went through the roof. You're much better off purchasing from dedicated timber merchants.
@mckinley Of course I meant the stats on the followers of a feed rather than the followings of a feed.
@mckinley Hahaha, great fun! :-D I reckon, the following stats need to reset after a specified amount of time (e.g. a week or whatever), so that they get cleaned up a bit over time. Not perfect by any means, but probably a whole lot better than counting a single request from sevens years ago. Unfollow events from other systems aren't propagated to yarnd, so that would take care of this.
@jlj Admittedly, once you start interacting with others, it's pretty clear, that you're following them. But if you just want to silently read somebodys messages, that's not silent then.
@brasshopper I'm really not sure. ;-) But since Haskell has its roots in academics, I reckon it is fine to go a bit overboard.
@prologic I consider this a violation of privacy. Telling feed authors that you are following them is one thing, but disclosing this to the whole world is problematic.
@movq Ah, interesting!
@movq This inspired me to work again on tt and make it somewhat more usable.
@movq So, other commits can't be reached anymore, they were swept away by Github? You could write a script to parse all the HTML (hopefully it's not a total JS disaster) and automate it this way. Or just have a look at this, I didn't try it though: https://github.com/sb15895/GH_Classroom_scripts
@brasshopper Cool idea or useless abstraction? ;-)
@movq @jlj @prologic Not too bad! :-)
@off_grid_living @prologic Yeah, true! Unfortunately, there's no version control in real life.
@anth @prologic @eldersnake No, I never got any e-mail at all from those LTDs. By far the most effective way for spam to slip through my filters is Hotmail. MS just doesn't give a fuck.
@off_grid_living Wow, that's a gigantic structure! Or at least the angle makes it look very tall. Looks great, I like it a lot!
@mckinley @prologic The same goes for follow events, isn't it?
@movq @prologic That's why you're still able to recover from mistakes with the – what I consider lowlevel – git reflog. I actually had to it once or twice in my life. Worked extremely well. :-)
@brasshopper I just watched that talk, it is brilliant! Very cool.
Turns out, glas is not my material. My friends basement door should get a glas inlay and after cutting out the door section I wanted to testfit the glas panel. When lifting it at an angle over my head, it shattered into pieces. Luckily, most of it came down in front of me, another much smaller piece behind me. I didn't hurt myself at all. I reckon wearing leather gloves was a jolly good idea. https://lyse.isobeef.org/tmp/shattered-glas-panel.jpg
@movq I just came across this summary: https://www.youtube.com/watch?v=7yfyA9PcHfs
@brasshopper Thanks, didn't know that!
@movq @prologic Yeah, I doubt, that this approach really works in reality. The theory, however, sounds pretty neat. If projects were started with this exact goal, they might succeed, but I still have my reservations. Admittedly, I don't know of any example, neither succeeding nor failing (or not succeeded yet?).
@adi @movq @prologic Partyed hard? G'night.
@prologic Sounds good! Aha crap, I just saw, that I messed up the mention of @movq. It's rendered differently in tt (URL is shown and links to username) than in yarnd (not recognized as link). Interesting.
@prologic Yeah, at least from the outside it looks like a dangerous similarity.
@prologic Hahaha, you're right! :-D Plenty of them are mine.
Oh no, missed a beautiful sunset. Just had a look ouside and there was only a tiny red glowing stripe left. :-(
@movq This year is pretty crazy. From my experience they can be best found on calm, often rocky places in the evening of hot days when they're soaking in the reflected heat. They're often tricky to spot, because they camouflage extremely well and just look like twigs, if they're not in the middle of a light gravel path. And even then, they can be mistaken for small branches. In the grass or brush there's no chance of finding them. And it usually takes a longer trip (2-3 hours) through the woods, to come across one. It's not like they're everywhere.
@prologic I believe it's a European animal. You probably don't have it in Down Under. :-(