# 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 196271
# self = https://watcher.sour.is?offset=168656
# next = https://watcher.sour.is?offset=168756
# prev = https://watcher.sour.is?offset=168556
logs/blog: annihilating corrupted hydra
@lyse To be fair I think this needs to evolve anyway. Authoring new "personas" isn't really that wildly used beyond the admin of a pod and even that's really just me 🤣
@lyse To be fair I think this needs to evolve anyway. Authoring new "personas" isn't really that wildly used beyond the admin of a pod and even that's really just me 🤣
@off_grid_living What drug is that?
@off_grid_living What drug is that?
@falsifian Hah! Remind me to talk to you about how yarnd peers with each pod in its own network to do exactly that. Maybe we could open up the protocol and you could potentially pee with other pods?
@falsifian Hah! Remind me to talk to you about how yarnd peers with each pod in its own network to do exactly that. Maybe we could open up the protocol and you could potentially pee with other pods?
@falsifian Same here! His server is notoriously unreliable but I know he is somewhat active on Twtxt 😅
@falsifian Same here! His server is notoriously unreliable but I know he is somewhat active on Twtxt 😅
@falsifian This is why yarnd has never implement automatic un-following for this very reason. It's hard (likely impossible) to get 100% right.
@falsifian This is why yarnd has never implement automatic un-following for this very reason. It's hard (likely impossible) to get 100% right.
@slashdot Hah! 😅 Totally didn't see this coming 🤣 AI and LLM(s) as a "service" posing new security and privacy threats? 🙄
@slashdot Hah! 😅 Totally didn't see this coming 🤣 AI and LLM(s) as a "service" posing new security and privacy threats? 🙄
@lyse It certainly looks like a reasonable approach to me so far 👌
@lyse It certainly looks like a reasonable approach to me so far 👌
@bender If you look at your Following list yarnd is continually improving the tools and data available to you especially regarding feed acailabiliry and maybe this helps you manage who/what you follow? 🤔 -- I've certainly found it immediately useful!
@bender If you look at your Following list yarnd is continually improving the tools and data available to you especially regarding feed acailabiliry and maybe this helps you manage who/what you follow? 🤔 -- I've certainly found it immediately useful!
@lyse so, is it safe to assume you occasionally, but carefully, vet your feeds, and have contingencies in place to not keep requesting a seemingly dead feed over and over?
🧮 USERS:1 FEEDS:2 TWTS:1069 ARCHIVED:77557 CACHE:2361 FOLLOWERS:17 FOLLOWING:14
/https://duque-terron.cat/media/photos/photo_22021-08-2024_22-23-13.jpg) #catsoftwtxt
#catsoftwtxt
#catsoftwtxt
honestly kinda hype about this one https://reticulum.network/manual/gettingstartedfast.html#sideband I think some concepts from named-data networking (andana and statevector sync in particular) and secure scuttlebutt (plumbtree) could help make it more robust, but I like the overall direction and architecture a lot. the multi-hop transmission design in particular 💋
To get this going, I implemented the easiest, next best option I could think of. Happy to get some feedback. Yes, it should be improved in the future, no doubt about that. Although, I have changed a few things in yarnd in the past, I'm not really familiar with the code base, so beware of bugs and other undesired side effects.
(@anth's feed almost never works, but I keep it because they told me they want to fix their server some time.)
@falsifian @bender I'd certainly hate my client for automatic feed unsubscription, too.
I guess I can configure neomutt to hide the feeds I don't care about.
@movq Is there a good way to get jenny to do a one-off fetch of a feed, for when you want to fill in missing parts of a thread? I just added @slashdot to my private follow file just because @prologic keeps responding to the feed :-P and I want to know what he's commenting on even though I don't want to see every new slashdot twt.
@bender Based on my experience so far, as a user, I would be upset if my client dropped someone from my follower list, i.e. stopped fetching their feed, without me asking for that to happen.
Hmm, bissel kalt… https://lyse.isobeef.org/tmp/null-grad.png
Recovery: 5.00 miles, 00:11:02 average pace, 00:55:11 duration
using the treadmill to slow the pace.
#running #treadmill
Recovery: 5.00 miles, 00:11:02 average pace, 00:55:11 duration
using the treadmill to slow the pace.
#running #treadmill
Recovery: 5.00 miles, 00:11:02 average pace, 00:55:11 duration
using the treadmill to slow the pace.
#running #treadmill
[47°09′00″S, 126°43′31″W] --no signal--
[47°09′37″S, 126°43′38″W] Reading: 1.85 Sv
@prologic Yeah, I've noticed that as well when I hacked around. That's a very good addition, ta! :-)

Getting to this view felt suprisingly difficult, though. I always expected my feeds I follow in the "Feeds" tab. You won't believe how many times I clicked on "Feeds" yesterday evening. :-D Adding at least a link to my following list on the "Feeds" page would help my learning resistence. But that's something different.

Also, turns out that "My Feeds" is the list of feeds that I author myself, not the ones I have subscribed to. The naming is alright, I can see that it makes sense. It just was an initial surprise that came up.
@aelaraji That’s good to know. 🤔 Luckily, the phone wasn’t *full* of 3rd party stuff. There were so few of them actually, that I didn’t really bother looking. That’s why I only found out recently about that Meta stuff.
@aelaraji That’s good to know. 🤔 Luckily, the phone wasn’t *full* of 3rd party stuff. There were so few of them actually, that I didn’t really bother looking. That’s why I only found out recently about that Meta stuff.
@aelaraji That’s good to know. 🤔 Luckily, the phone wasn’t *full* of 3rd party stuff. There were so few of them actually, that I didn’t really bother looking. That’s why I only found out recently about that Meta stuff.
@aelaraji That’s good to know. 🤔 Luckily, the phone wasn’t *full* of 3rd party stuff. There were so few of them actually, that I didn’t really bother looking. That’s why I only found out recently about that Meta stuff.
@falsifian that's the thing: Twtxt doesn't care much about followers. It is not that kind of social media. Yet, I agree with the exponential back off approach. I just don't want to keep constantly trying to fetch that which will not resurrect, nor want people to continue hitting my endpoint, which will not resurrect. 😊
[47°09′59″S, 126°43′48″W] Non-significative results -- sampling finished
@slashdot oh oh! There goes the Australian economy 🤣
@slashdot oh oh! There goes the Australian economy 🤣
[47°09′16″S, 126°43′57″W] Waiting for carrier
[47°09′09″S, 126°43′37″W] --bad checksum--
biiiiig oof when it comes to compiling big things on my laptop. i'm gonna have to get a binary cache up and running pretty soon
i have successfully put a docker container inside of a nixos container, a turturken so to speak. next up, we get arion-compose working in there and then see about mem_limit and cpus!
🧮 USERS:1 FEEDS:2 TWTS:1068 ARCHIVED:77550 CACHE:2366 FOLLOWERS:17 FOLLOWING:14
Haha!
Haha!
@lyse Hmm let's add it to the switch that marks feeds as "dead" 🙏
@lyse Hmm let's add it to the switch that marks feeds as "dead" 🙏
@bender Currently internally feeds are marked as "dead" for some known statuses. But yes nothing is automatically done (yet).
@bender Currently internally feeds are marked as "dead" for some known statuses. But yes nothing is automatically done (yet).
@lyse errors are already reported to users, but they're only visible in the following list.
@lyse errors are already reported to users, but they're only visible in the following list.
@movq A family member gave me their old (pseudo-)smart phone and it had all kinds of pre-installed BS that you're not supposed to be able to uninstall, Xiaomi, FB, google... you name it. but guess what!? I already know about this Trick and then there is the Rethink DNS/Firewall app I have setup to block all traffic then allow the stuff I need with an Allow, Bypass or Exclude rule.

You'd be surprised to see how much traffic is going to blocked!! 🤣
@movq A family member gave me their old (pseudo-)smart phone and it had all kinds of pre-installed BS that you're not supposed to be able to uninstall, Xiaomi, FB, google... you name it. but guess what!? I already know about this Trick and then there is the Rethink DNS/Firewall app I have setup to block all traffic then allow the stuff I need with an Allow, Bypass or Exclude rule.

You'd be surprised to see how much traffic is going to blocked!! 🤣
@aelaraji Good goal! 👌
@aelaraji Good goal! 👌
@rrraksamam Getting hot eh? 🥵
@rrraksamam Getting hot eh? 🥵
@rrraksamam I, can't function. 😂
@rrraksamam I, can't function. 😂
En: Have your coffee in peace ☕🕊

_A short term goal_
En: Have your coffee in peace ☕🕊

_A short term goal_
إحتس قهوتك بسلام ☕🕊
إحتس قهوتك بسلام ☕🕊
Righto, I cobbled something together here: https://git.mills.io/yarnsocial/yarn/pulls/1172 It needs a bunch more work, though. Screen time is up for today.
@bender I'm not a yarnd user, but automatically unfollowing on 404 doesn't seem right. Besides @lyse's example, I could imagine just accidentally renaming my own twtxt file, or forgetting to push it when I point my DNS to a new web server. I'd rather not lose all my yarnd followers in a situation like that (and hopefully they feel the same).
[47°09′05″S, 126°43′48″W] Not enough data -- sampling finished
If case it wasn't clear, and from the horse's mouth itself (my emphasis):

> // These are permanent 4xx errors and considered a dead feed
@lyse good finding! Let's make ErrDeadFeed work, @prologic!
@lyse well, well, so much for "that isn’t actually true as it depend on the ingress architecture and networking", @prologic... :-P
@movq Mr. Watson for the doping test please.
The soundtrack of World of Goo 2 is amazing. It’s quite epic and melancholic at times.

https://www.youtube.com/watch?v=sAUwyCOaGoc

It doesn’t fit the “cuteness” of the game at all – but there are a lot of contradictions in that game anyway, it’s an important aspect.
The soundtrack of World of Goo 2 is amazing. It’s quite epic and melancholic at times.

https://www.youtube.com/watch?v=sAUwyCOaGoc

It doesn’t fit the “cuteness” of the game at all – but there are a lot of contradictions in that game anyway, it’s an important aspect.
The soundtrack of World of Goo 2 is amazing. It’s quite epic and melancholic at times.

https://www.youtube.com/watch?v=sAUwyCOaGoc

It doesn’t fit the “cuteness” of the game at all – but there are a lot of contradictions in that game anyway, it’s an important aspect.
The soundtrack of World of Goo 2 is amazing. It’s quite epic and melancholic at times.

https://www.youtube.com/watch?v=sAUwyCOaGoc

It doesn’t fit the “cuteness” of the game at all – but there are a lot of contradictions in that game anyway, it’s an important aspect.
Yeah, the ErrDeadFeed is never actually checked anywhere. It's only set and that's it.
I'm wrong! Both 404 and 410, among others, are considered dead feeds: https://git.mills.io/yarnsocial/yarn/src/branch/main/internal/cache.go#L1343 Whatever that actually means.
@bender You could be right. Grepping the yarnd code for 410 and Gone did not reveal anything. Maybe, maybe it is handled by another library. But I kinda doubt it.
@lyse right, now, on this:

> "The right™ way is to signal 410 Gone if the feed does not exist anymore and will not come back to life again. But that’s hard to come by in the wild. Somebody has to manually configure that in almost all situations."

Even so, what does Yarn do if a 410 is sent? I don't think it does anything at the moment, but I could be wrong.
.:: Phrack Magazine ::. | http://phrack.org/issues/71/1.html
.:: Phrack Magazine ::. | http://phrack.org/issues/71/1.html
[47°09′01″S, 126°43′50″W] Re-taking samples
@bender 404 could be indeed a temporary error if the file resides on a mounted remote filesystem and then the mount point fails for some reason. With a symlink from the web root to the file on the mount, the web server probably will not recognize the mount point failure as such. Thus, it might not reply with a 503 Service Unavailable (or something like that), but 404 Not Found instead. (I could be wrong on that, though.)

The right™ way is to signal 410 Gone if the feed does not exist anymore and will not come back to life again. But that's hard to come by in the wild. Somebody has to manually configure that in almost all situations.

But yes, as @falsifian points out, exponential backoff looks like a good strategy. Probably even report a failure to users somehow, so they can check and potentially unsubscribe.
@bender Yeah, this is just unbelievable.
Pinellas County - Recovery: 5.03 miles, 00:10:37 average pace, 00:53:25 duration
felt like recovery in pace and breathing, but my heart rate hated me. the legs were definitely tired from the workout yesterday, too. it was good to get away from regression testing.
#running
Pinellas County - Recovery: 5.03 miles, 00:10:37 average pace, 00:53:25 duration
felt like recovery in pace and breathing, but my heart rate hated me. the legs were definitely tired from the workout yesterday, too. it was good to get away from regression testing.
#running
Pinellas County - Recovery: 5.03 miles, 00:10:37 average pace, 00:53:25 duration
felt like recovery in pace and breathing, but my heart rate hated me. the legs were definitely tired from the workout yesterday, too. it was good to get away from regression testing.
#running
@falsifian that sounds like a good compromise. Regardless of what @prologic wrote, a 404 is a 404.
[47°09′12″S, 126°43′15″W] Taking samples
@lyse 4.75 seconds, are you kidding me? 🤯
@lyse 4.75 seconds, are you kidding me? 🤯
@lyse 4.75 seconds, are you kidding me? 🤯
@lyse 4.75 seconds, are you kidding me? 🤯
@prologic Yep. ✅
@prologic Yep. ✅