# 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 238484
# self = https://watcher.sour.is?offset=235870
# next = https://watcher.sour.is?offset=235970
# prev = https://watcher.sour.is?offset=235770
@prologic Yup! :)
@javivf Ahh! So this is your client implementation? 🧐
@twtxtory is the demo instance for Twtxtory just in case someone would like to have a look (password is in the README file of the project) sorry for the confusion! O:)

@prologic I started to write it in order to understand better how twtxt works and I thought it could be useful for non-geek people but they like to host their own data
I just fixed a bug in tt's reply to parent feature. Previously, when the message tree looked like the following


Message
├╴Reply 1
│ └╴Subreply
└╴Reply 2


and "Reply 2" was selected, pressing A to reply to the parent should have picked "Message". However, a reply to "Reply 2" was composed instead. The reason was a precausiously introduced safety guard to abort the parent search which stopped at "Subreply", because its subject didn't match "Reply 2"'s. It was originally intended to abort on a completely different message conversation root. Just in case. Turns out that this thoght was flawed.

Fixing bugs by only removing code is always cool. :-)
Knoxville Long Run: 12.00 miles, 00:09:47 average pace, 01:57:23 duration
no clue where i was going. found something called dogwood trail so just followed the arrows and tried not to stress the hills.
#running
Knoxville Long Run: 12.00 miles, 00:09:47 average pace, 01:57:23 duration
no clue where i was going. found something called dogwood trail so just followed the arrows and tried not to stress the hills.
#running
An end to all this prostate trouble?
https://yarchive.net/blog/prostate/
[47°09′25″S, 126°43′37″W] Wind speed: 108kph
@movq Bwahahaahaaa, this is fucking brilliant, I love it! :-D What a wonderful thing to start my Sunday.
@prologic This was like 20 minutes, but yeah 🤣
@prologic This was like 20 minutes, but yeah 🤣
hot take: one swear word per day maximum is reasonable
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 🤣
Can you automate the drawing with a script? On X11, you can:


#!/bin/sh

# Position the pointer at the center of the dot, then run this script.

sleep 1

start=$(xdotool getmouselocation --shell)
eval $start

r=400
steps=100
down=0

for step in $(seq $((steps + 1)) )
do
    # pi = 4 * atan(1)
    new_x=$(printf '%s + %s * c(%s / %s * 2 * (4 * a(1)))\n' $X $r $step $steps | bc -l)
    new_y=$(printf '%s + %s * s(%s / %s * 2 * (4 * a(1)))\n' $Y $r $step $steps | bc -l)

    xte "mousemove ${new_x%%.*} ${new_y%%.*}"
    if ! (( down ))
    then
        xte 'mousedown 1'
        down=1
    fi
done

xte 'mouseup 1'
xte "mousemove $X $Y"




Interestingly, you can abuse the scoring system (not manually, only with a script). Since the mouse *jumps* to the locations along the circle, you can just use very few steps and still get a great score because every step you make is very accurate – but the result looks funny:



🥴
Can you automate the drawing with a script? On X11, you can:


#!/bin/sh

# Position the pointer at the center of the dot, then run this script.

sleep 1

start=$(xdotool getmouselocation --shell)
eval $start

r=400
steps=100
down=0

for step in $(seq $((steps + 1)) )
do
    # pi = 4 * atan(1)
    new_x=$(printf '%s + %s * c(%s / %s * 2 * (4 * a(1)))\n' $X $r $step $steps | bc -l)
    new_y=$(printf '%s + %s * s(%s / %s * 2 * (4 * a(1)))\n' $Y $r $step $steps | bc -l)

    xte "mousemove ${new_x%%.*} ${new_y%%.*}"
    if ! (( down ))
    then
        xte 'mousedown 1'
        down=1
    fi
done

xte 'mouseup 1'
xte "mousemove $X $Y"




Interestingly, you can abuse the scoring system (not manually, only with a script). Since the mouse *jumps* to the locations along the circle, you can just use very few steps and still get a great score because every step you make is very accurate – but the result looks funny:



🥴
[47°09′58″S, 126°43′31″W] Wind speed: 73kph
⭐️⭐️⭐️⭐️ Revolução (sem) sangue 🎬: https://www.max.com/pt/pt/movies/revolucao-sem-sangue/dba8c8c5-5512-4e01-bdae-0e758d5516f0
Aqui diz que dá pra acessar vários jornais e revistas pelo serviço BibliON, mas eu acho que é tudo mentira, não achei nenhum jornal ou revista :(
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 😅
🧮 USERS:1 FEEDS:2 TWTS:1323 ARCHIVED:86698 CACHE:2903 FOLLOWERS:22 FOLLOWING:14
Watching o3 guess a photo's location is surreal, dystopian and entertaining
https://simonwillison.net/2025/Apr/26/o3-photo-locations/
Just checking...
@twtxtory this is a mention :)
Reply!
This is just a test...
come here = universe > pisces–cetus supercluster complex > laniakea supercluster > virgo supercluster > local group > milky way galaxy > orion arm > gould belt > solar system > planet earth > 52°31′12″N 13°24′18″E=
Model 7-0-6 8-0-7-3 4-21, Robot sonic!
Pepper, the grumpy kitty of the shampoo horn, used to make her rounds studio to studio
When #AIs do science, it will be strange and incomprehensible: https://aeon.co/essays/when-ais-do-science-it-will-be-strange-and-incomprehensible
ICE Deports 3 U.S. Citizen Children Held Incommunicado Prior to the Deportation
https://www.aclu.org/press-releases/ice-deports-3-u-s-citizen-children-held-incommunicado-prior-to-the-deportation
[47°09′59″S, 126°43′25″W] Working impossible due to blizzard
#AI as Normal Technology: https://knightcolumbia.org/content/ai-as-normal-technology
[47°09′57″S, 126°43′47″W] Wind speed: 51kph -- batteries low
@javivf pretty much 👌
I would guess useragent tool does the trick, isn't it?
@quark I do have an idea for syncing this 🤞
@prologic and this reply will work too.
@prologic well, this fork will work. I an fork this one with jenny, not so with Yarnd.
If you enjoy anything #chess related, @lichess@lichess is a fantastic, and #FLOSS, platform.

As I recover from yesterday's viral episode (ugh!) I'm getting some distraction playing the wonderful (and often hard for me) #lichess puzzles: https://lichess.org/training
@aelaraji 😂
@aelaraji 😂
ouf, j'ia pu récupérer mes contacts grâce à carddav (radicale) hébergé sur mon serveur, j'avais oublié que j'avais ce truc
ouf, j'ia pu récupérer mes contacts grâce à carddav (radicale) hébergé sur mon serveur, j'avais oublié que j'avais ce truc
Wikipedia's nonprofit status threatened by DC U.S. Attorney Ed Martin
https://www.washingtonpost.com/technology/2025/04/25/wikipedia-nonprofit-ed-martin-letter/
On my blog: Free Culture Book Club — Pilogy, part 1 https://john.colagioia.net/blog/2025/04/26/pilogy-1.html #freeculture #bookclub

$ 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 😆
[47°09′01″S, 126°43′29″W] Automatic systems disengaged due to thunderstorm
@prologic Nice! Everyone should be excited 😀
@prologic Nice! Everyone should be excited 😀
"New industry standards require that digital albums be priced at $7.99 or more to be eligible to chart."

#LetsMakeChartsFakeAgain
"New industry standards require that digital albums be priced at $7.99 or more to be eligible to chart."

#LetsMakeChartsFakeAgain
"New industry standards require that digital albums be priced at $7.99 or more to be eligible to chart."

#LetsMakeChartsFakeAgain
@prologic Do you use anything for analytics?
@prologic Do you use anything for analytics?
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
Am I missing something? Why can't I post on the chan boards? Specifically the test one?
Congrats! :)
ah shit, I'm chatting on the Gopherspace!
test test 1 2 3
[47°09′47″S, 126°43′54″W] Wind speed: 84kph
[47°09′21″S, 126°43′03″W] Wind speed: 103kph
It worked! 🥳
yey! it works! Good night @bender!
@test_dont_fetch Let's raise another from the dead! "Facio, Voco, Ferre" 🧝 🪄 #ForScience
Just a test!
@bender YAYYYY TY
@bender YAYYYY TY
@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...
Estos días he estado viendo bastante Netflix, hay muchos documentales interesantes.
Esto realmente merece verlo https://t.ly/InCZ6
(#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
/ME slipping a note under @klaxzy's keyboard.

> Note: "You should check https://marginalia-search.com/ I bet you'll love it."
@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? 🧐
@bmallred yeah! you're right. Unfortunately, *Decaf* isn't a thing where I live 🤷
@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 😅
@prologic @movq The side effects ARE what got me into drinking coffee in the first place, now it feels like I'm fighting them back for my life 😅
@bender 🙌
@andros HAHA! Easy, we'll just ask Redream to make a little something for you! I just hope it doesn't come with a subscription fee for... *taking time off of it* tho! 😆
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...
P.S: the couple first Seasons and Her (The movie) are the main reasons I find it a bit difficult to go back to mainstream social media or even care about smartphones 😆
@movq LMAO! Right!? Things getting too real too quick I don't even think I want to watch the rest.
A visual flow chart diagram that illustrates how two different but very related concepts can lead to system accidents 👌

- asynchronous evolution
- drift into failure
kinda hate how there's "fakeexample.com 0" all over the place for type i. these could be empty strings for sure
Pinellas County - 4 miles: 4.01 miles, 00:08:20 average pace, 00:33:27 duration
moved this to today since tomorrow we have to wake up early and drive to TN. half a pizza and two pints sloshing around still felt okay. the pepperoni definitely gave me some additional heartburn though!
#running
Pinellas County - 4 miles: 4.01 miles, 00:08:20 average pace, 00:33:27 duration
moved this to today since tomorrow we have to wake up early and drive to TN. half a pizza and two pints sloshing around still felt okay. the pepperoni definitely gave me some additional heartburn though!
#running