# 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 196318
# self = https://watcher.sour.is?offset=168599
# next = https://watcher.sour.is?offset=168699
# prev = https://watcher.sour.is?offset=168499
@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. ✅
@prologic Yep. ✅
@prologic Yep. ✅
@xuu Ahhhh, ohhhh, ouch. 🫤
@xuu Ahhhh, ohhhh, ouch. 🫤
@xuu Ahhhh, ohhhh, ouch. 🫤
@xuu Ahhhh, ohhhh, ouch. 🫤
[47°09′26″S, 126°43′04″W] Transfer aborted
[47°09′53″S, 126°43′21″W] Transfer 25% complete...
@movq Amen! 🙏😆
@movq Amen! 🙏😆
@prologic @bender Exponential backoff? Seems like the right thing to do when a server isn't accepting your connections at all, and might also be a reasonable compromise if you consider 404 to be a temporary failure.
@xuu poor lady! 😩 I have trained mum to call me with anything remotely fishy. She pretty much don’t trust anything. On top of the weekends, when I visit them, I usually go to their house once or twice during working days, to check on emails, calls, or funny looking snail mail.
@prologic if a twtxt.txt is not found, under which conditions will it be found again, and can something be done if say, it isn’t found for X amount of hours, days, months?
@bender Unfoetunately that isn't actually true as it depend on the ingress architecture and networking.
@bender Unfoetunately that isn't actually true as it depend on the ingress architecture and networking.
i think maybe they got her to add a forward number for sms and used that to activate on another device..
i think maybe they got her to add a forward number for sms and used that to activate on another device..
Its supposed to be tied to your phone number.. but they managed to get it activated on a different device some how. /shrug
Its supposed to be tied to your phone number.. but they managed to get it activated on a different device some how. /shrug
@lyse saw it, thanks! It pains me to see that speed. I mean, I blink slower than what it took that guy to climb that wall. LOL.
@prologic no worries mate, and thanks! I wonder if something could be done for feeds rendering 404, so that they get automatically “unfollowed”, and removed.

A twtxt.txt file should never spit out a 404, unless it’s no more.
🧮 USERS:1 FEEDS:2 TWTS:1067 ARCHIVED:77529 CACHE:2364 FOLLOWERS:17 FOLLOWING:14
@bender I've blocked it from this pod for now 🤞Not sure which users are still trying to fetch the non-existent feeds sorry!
@bender I've blocked it from this pod for now 🤞Not sure which users are still trying to fetch the non-existent feeds sorry!
@bender There you go, will be removed later: https://lyse.isobeef.org/tmp/Sam_Watson_DESTROYS_Speed_Climbing_World_Record_Paris2024_Olympics-ezgweVd4a98.mp4 (46.9 MiB)
@lyse this what I get:

> “Video unavailable
> The uploader has not made this video available in your country”
The thing is, I don’t have a twtxt.txt file on netbros.com.
@prologic thousands of daily requests.
@bender define hammering?
@bender define hammering?
Gotta keep up to date 🤣
Gotta keep up to date 🤣
My mate just said "WTF, there's somehow a wall lizard in the family tree" and I can only agree: https://www.youtube.com/watch?v=ezgweVd4a98 Looks like this is the first real evidence of those lizard people. :-D
@movq Is the other yarn.mills.io?
@movq Is the other yarn.mills.io?
@lyse Hmmm, the user agents indicate two different pods. 🤔 Most of them are twtxt.net, though, only one user is something else. 🤔
@lyse Hmmm, the user agents indicate two different pods. 🤔 Most of them are twtxt.net, though, only one user is something else. 🤔
@lyse Hmmm, the user agents indicate two different pods. 🤔 Most of them are twtxt.net, though, only one user is something else. 🤔
@lyse Hmmm, the user agents indicate two different pods. 🤔 Most of them are twtxt.net, though, only one user is something else. 🤔
@lyse Yeah, indeed, but still. 😂
@lyse Yeah, indeed, but still. 😂
@lyse Yeah, indeed, but still. 😂
@lyse Yeah, indeed, but still. 😂
@movq No wonder with all these yarnds. :-D
@movq Maybe they're not all coming from yarnd, but one of them could be from yarns, the search engine. Just a wild guess. My twtxt.txt access log doesn't record the source IP address, so I don't know.

And aren't there any other hosted yarnd instances? Maybe it was never really implemented, but I remember @prologic thought about hosting dedicated yarnds for others in the past. Could be well over a year ago, not sure.

Another possibility might be a forgotten development instance idling around (or not so much :-D) in the background. I think the default user agent points to txtxt.net, not example.com. At least when I last checked the yarnd code. That was also several months ago.
@mckinley Oh, I didn't know they're not native to the US. These bushes grow very rapidly like weeds. I know a few places where they have been heavily cut back, almost cleared completely, but a year later, they've already exceeded two meters of height again. Pretty cool. :-)

@movq It's very yummy. :-) Unfortunately, the mustard manifacturer changed the traditional slip-on caps to screw caps. Haven't seen the old jars anymore.
@mckinley Uhhh, I bet the support people at Lenovo love this. (Assuming it’s accurate.)
@mckinley Uhhh, I bet the support people at Lenovo love this. (Assuming it’s accurate.)
@mckinley Uhhh, I bet the support people at Lenovo love this. (Assuming it’s accurate.)
@mckinley Uhhh, I bet the support people at Lenovo love this. (Assuming it’s accurate.)
@lyse Ahh, good old Senfglastradition. Looks delicious. 👍
@lyse Ahh, good old Senfglastradition. Looks delicious. 👍
@lyse Ahh, good old Senfglastradition. Looks delicious. 👍
@lyse Ahh, good old Senfglastradition. Looks delicious. 👍
Speaking of web server logs: Unless someone posts one of my blog posts on HackerNews (I never do that myself, don’t even have an account), my twtxt.txt file is always *the most requested resource*. 😂 It easily gets several thousand hits, way more than the blog’s Atom feed. 😂
Speaking of web server logs: Unless someone posts one of my blog posts on HackerNews (I never do that myself, don’t even have an account), my twtxt.txt file is always *the most requested resource*. 😂 It easily gets several thousand hits, way more than the blog’s Atom feed. 😂
Speaking of web server logs: Unless someone posts one of my blog posts on HackerNews (I never do that myself, don’t even have an account), my twtxt.txt file is always *the most requested resource*. 😂 It easily gets several thousand hits, way more than the blog’s Atom feed. 😂