# 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 60515
# self = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=60515
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=60415
03:45 You can pretty blame capitalism for everything that's wrong with anything ๐Ÿคฃ
I really do wish we would wake up and smell the roses here ๐Ÿคฆโ€โ™‚๏ธ This whole sets of wars is utterly pointless. Senseless waste of precious human beings ๐Ÿ˜ข
https://git.mills.io/yarnsocial/twtxt.dev/pulls/28
@movq DDoS their ass! ๐Ÿคฃ
@bender Yup! ๐Ÿ‘
@lyse Noice! ๐Ÿ‘Œ
@lyse Hahahaha ๐Ÿคฃ I mean it's "okay" every now and then, but what's the point of having good clients and tools if we don't use 'em ๐Ÿคฃ
@lyse Yup! Will do ๐Ÿค—
Nothing like being paged at 00:30 (_midnight_) for a P2 incident that is now resolved at 02:10 ๐Ÿคฏ Obviously I'm not going to work tomorrow (_I mean today lol ๐Ÿ˜‚_) at the usual start time ๐Ÿคฆโ€โ™‚๏ธ_
I will be adding the code in for yarnd very soonโ„ข for this change, with a if the date is >= 2025-07-01 then compute_new_hashes else compute_old_hashes
We have 4 clients but this should be 6 I _believe_ with tt2 from @lyse and Twtxtory from @javivf?
@bender Same more or less ๐Ÿ˜…
Finally I propose that we increase the Twt Hash length from 7 to 12 and use the first 12 characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q or a (_oops_) ๐Ÿ˜… And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That _ought_ to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! ๐Ÿ˜ฑ #Twtxt #Update~
And speaking of Twtxt (See: #xushlda, feeds should be treated as append-only. Your client(s) should be appending Twts to the bottom of the file. Edits should never modify the timestamp of the Twt being edited, nor should a Twt that was edited by deleted, unless you actually intended to delete it (_but that's more complicated as it's very hard to control or tell clients what to do in a truely decentralised ecosystem for the deletion case_). #Twtxt #Client #Recommendations
Just like we don't write emails by hand anymore (See: #a3adoka), we donโ€™t manually write Twts or update our twtxt.txt feeds. Instead, we use modern Twtxt clients that conform to the specifications at Twtxt.dev for a seamless, automated experience. #Twtxt #Twt #UserExperience
Nobody writes emails by hand using RFC 5322 anymore, nor do we manually send them through telnet and SMTP commands. The days of crafting emails in raw format and dialing into servers are long gone. Modern email clients and services handle it all seamlessly in the background, making email easier than ever to send and receiveโ€”without needing to understand the protocols or formats behind it! #Email #SMTP #RFC #Automation
@bender Hehe good sleuthing ๐Ÿคฃ I swear it was an edit โœ๏ธ Haha ๐Ÿ˜‚ yarnd now "sees" both every single time, where-as before it would just obliterate the old Twt, but remain in archive. Now you get to see both ๐Ÿ˜… Not sure if that's a good thing or not, but it certainly makes it much clearer how to write "code logic" for detecting edits and doing something more UX(y) about 'em ๐Ÿค”
@bender It's pretty cool though ๐Ÿคฃ
@sorenpeter Oh!
Wrote some serious Python for the first time in like 10 years ๐Ÿ˜ฑ I feel so dirty ๐Ÿคฃ
@lyse Very nice! ๐Ÿ‘Œ So lovely and green ๐Ÿ˜… -- What's with the sign in 16? ๐Ÿง
Interesting edit observed by the new yarnd powering this pod twtxt.net ๐Ÿง
@movq I've tried and there's little interest so I've given up for now ๐Ÿ˜ญ
@bender Wut?! ๐Ÿ˜‚
@bender Oh ๐Ÿคฃ๐Ÿคฃ๐Ÿคฃ
Should ink to this
Hmm not sure how that link is 404'kng for you ๐Ÿง It doesn't here ๐Ÿคฆโ€โ™‚๏ธ
@bender What you talk'n about ๐Ÿคฃ It's not broken, it's perfectly functional ๐Ÿคฃ
@lyse Seems legit ๐Ÿ˜…
I have a great idea for fixing the US economy. Get rid of all the nuclear weapons ๐Ÿคฃ
@javivf Wanna list it on twtxt.dev? ๐Ÿง
@javivf Ahh! So this is your client implementation? ๐Ÿง
Today I added support for Let's Encrypt to eris via DNS-01 challenge. Updated the gcore libdns package I wrote for Caddy, Maddy and now Eris. Add support for yarn's cache to support # type = bot and optionally # retention = N so that feeds like @tiktok work like they did before, and... Updated some internal metrics in yarnd to be IMO "better", with queue depth, queue time and last processing time for feeds.
Also you have too much time on your hands ๐Ÿ™Œ Haha ๐Ÿ˜‚
@movq Only 99.9% pfffft ๐Ÿคฃ
Was just looking at the client you're using Twtxtory ๐Ÿค” Very nice! ๐Ÿ‘ is this your client, did you write it? I'd not come across it before!
@twtxtory Hello ๐Ÿ‘‹ Welcome to Yarn.social / Twtxt ๐Ÿ˜…
@javivf pretty much ๐Ÿ‘Œ
@quark I do have an idea for syncing this ๐Ÿคž

$ bat https://twtxt.net/twt/edgwjcq | jq '.subject'
"(#yarnd)"


hahahahaha ๐Ÿคฃ Does your client allow you to do this or what? ๐Ÿค”
Bahahahaha ๐Ÿคฃ
@bmallred Hehe, @bender is gonna be upset with you for "making up a thread/subject" ๐Ÿคฃ
@bmallred No! Never ๐Ÿ˜†
Interesting factoid... By inspecting my "followers" list every now and again, I can tell who uses a client like jenny, tt or any other client where fetches are driven by user interactions of invoking the app. What do we call this type of client? Hmmm ๐Ÿค” Then I can tell who uses yarnd because they are "seen" more frequently ๐Ÿคฃ
First draft of yarnd 0.16 release notes. ๐Ÿ“ -- Probably needs some tweaking and fixing, but it's sounding alright so far ๐Ÿ‘Œ #yarnd
It worked! ๐Ÿฅณ
@bender It isn't @aelaraji's fault at all here ๐Ÿ˜… I _think_ the only way I can improve this somewhat is by introducing a similar convergence that I _believe_ @movq built for Jenny which would fetch the mentioned feed temporarily to see if it contains the subject being replied to (_in case it's not in the cache_).

I'll think about doing this too, but I have to do it carefully so as not to cost too much in terms of resources or performance...
(#uug3i5a) @bender Nah it's there but it's a reply to a thread that isn't found here hmmm ๐Ÿค”
@bender Nah it's there but it's a reply to a thread that isn't found here hmmm ๐Ÿค”
@bender Oh I see hmmm ๐Ÿง
Related Twt
@bender Hah! ๐Ÿ˜‚
@bender Well... I don't believe it's possible to prevent or avoid all system accidents. However, managing system safety and putting in control structures goes a long way ๐Ÿ‘Œ
@bender How is this dense or boring? ๐Ÿง
@bender Not quite sue I understand your reaction ๐Ÿคฃ
These ideas are dr the two books:

- Drift into Failure: From Hunting Broken Components to Understanding Complex Systems by Sidney Dekker (2011)
- Engineering a Safer World by Nancy Leveson (2011)

The former I haven't read. The later I haven't finished reading ๐Ÿ˜…
@bender ๐Ÿ™Œ
And the idea of asynchronous evolutions comes from system accidents where control failures emerge when system structure, constraints, and evolution are poorly managed.
The idea of drift into failure is small normal adaptations erode safety over time without people noticing.
@bender allow me to try and explain over several Twts...
A visual flow chart diagram that illustrates how two different but very related concepts can lead to system accidents ๐Ÿ‘Œ

- asynchronous evolution
- drift into failure
Here's an example of what you end up with (_I don't follow the feed, but it's in my pod's cache_)
@andros One thing I really liked about the hacker news rss feeds is the link to the comments. Reckon you can add that to the feed? ๐Ÿค”
@kat Yes see UPGRADE.md -- I _believe_ @xuu is now running this live after a couple of hiccups and a bug fix. So yeah if you can, that would be cool, basically looking for early beta testers (_I was the alpha tester ๐Ÿคฃ_)_
@andros Thanks! ๐Ÿ™ Just re-followed @important_dev_news ๐Ÿ‘Œ
Also a lot of patience ๐Ÿ˜…
@bender Haha ๐Ÿคฃ Steady fingers? ๐Ÿค”
Can't say I've been watching Black Mirror no.
@bender Bahahahaha ๐Ÿคฃ
This is the best I can do!
@movq But the side effects are Soo good! ๐Ÿคฃ
You Will Never Be Able To Change A Man. Monique Marvez - YouTube Soo fucking good! ๐Ÿ˜Š Haha so many laughs!!! ๐Ÿ˜‚
@bender Oh yes! ๐Ÿ‘ That was completely fucked up haha ๐Ÿคฃ
Invention no 13 in A minor by J.S. Bach - YouTube Soo amazing! ๐Ÿคฉ
@abucci Haha you'll have to forgive me, this thread is over a week old now and I'm a bit lost now ๐Ÿคฃ even though I can now see the entire thread, what are we saying was messed up and is garbled? ๐Ÿค”
Whoo! Public holiday tomorrow in Oz ๐Ÿฅณ
@bender Haha ๐Ÿคฃ
Iโ€™m thinking of building a hardened peering protocol for Yarn.socialโ€™s yarnd: pods establish cryptographic identities, exchange signed /info and /twt payloads with signature verification, ensuring authenticity, integrity, and spoof-proof identity validation across the distributed network.
@xuu or @kat Do either of you have time this weekend to test upgrading your pod to the new cacher branch? ๐Ÿค” It is recommended you take a full backup of you pod beforehand, just in case. Keen to get this branch merged and to cut a new release finally after >2 years ๐Ÿคฃ
Those really are great tits!
@kat OMG! You used the video capabilities of yarnd ๐Ÿคฃ Nice! ๐Ÿ˜Š
@kat Ahh my vision impairment (_blind_) would prevent me from even appreciating anything in paper form ๐Ÿ˜ข
PR to Add improved styles for the logo for twtxt.ndev
@kat which one?
@kat my rule of thumb is try not to drink any caffeine past midday. This is basically based on experience and the half-life of caffeine in your system.
@bender amen ๐Ÿ™
@aelaraji sounds like a panic attack to me ๐Ÿคฏ
@doesnm.p.psf.lt I think you're fine! ๐Ÿง
@bender I wish we could fire presidents and Prime Minister's when the need arises and the people recognize it needs to happen rather than having to wait for the next election
@bender Sorry! ๐Ÿคฃ
@kat hey! Love the new avatar ๐Ÿ‘Œ
@bender Holy moly ๐Ÿคฃ Bases on your description you've eaten and drunk way more than I have today where all I've had so far is three coffees today
My pod twtxt.net feels very clear of late hmmm ๐Ÿง This is good right? ๐Ÿ˜…
@lyse Love those green roll'n hills ๐Ÿ‘Œ Btw, what's that rickety 'ol shed in 18? ๐Ÿค”
@bender So Vance killed the pope? ๐Ÿค”
@thecanine Pretty cool! ๐Ÿ˜Ž
My Hypothesis for why registries didn't work and why they still won't really work today is because the bend the rules of "true" decentralization a bit. Users have to pick one or more registries to "register" to. Why would they want to do this? What is their incentive to do so? Then on the other hand, users need a client that has registry support, but now which registry or sets of registries do you choose?
@bmallred Nice! ๐Ÿ‘Œ
@bender wut?! ๐Ÿ˜ฎ
This is fixed now ๐Ÿฅณ Thanks @xuu!