# 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 235518
# self = https://watcher.sour.is?offset=229293
# next = https://watcher.sour.is?offset=229393
# prev = https://watcher.sour.is?offset=229193
📌
PSA: Yarnd operators might want to define code { white-space: pre } in their CSS themes to render things as they're supposed to look like.
🤔 The Anti-Social Century: https://www.theatlantic.com/magazine/archive/2025/02/american-loneliness-personality-politics/681091/
🤔 The Anti-Social Century: https://www.theatlantic.com/magazine/archive/2025/02/american-loneliness-personality-politics/681091/
@andros I love how this is coming together! :-)
https://dasmetalkitty.neocities.org/hashtags #metalhead hastags to follow on #mastodon
@kat To improve you shell programming skills, I highly recommend to check out shellcheck: https://github.com/koalaman/shellcheck It points out common errors and gives some suggestions on how to improve the code. Some details in shell scripting are very tricky to get right at first. Even after decades of shell programming, I run into "corner cases" every now and then.

E.g. in getlyr's line 7 it warns:

echo -e $(gum style --italic --foreground "#f4b8e4" "'$artist', '$song'")
^-- SC2046: Quote this to prevent word splitting.

For more information:
https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt...

Most likely not all that problematic in this application, but it's good to know about this underlying concept. Word splitting is basically splitting tokens on whitespace, this can lead to interesting consequences as illustrated by this little code:

$ echo $(echo "Hello World")
Hello World

$ echo "$(echo "Hello World")"
Hello World

In the first case the shells sees two whitespace-separated tokens or arguments for the echo command. This basically becomes echo Hello World. So, echo joins them by a single space. In the second one it sees one argument for the echo command, so echo simply echos this single argument that contains three spaces.
[47°09′45″S, 126°43′34″W] Saalmi, retransmit, please
@prologic Oh yeah, that's terrible, yuck! Let's not do it then. :-)
@prologic As written in IRC, several things turned me off. I don't have the energy at the moment to wrestle through. :-(
After I stripped off my clothes and turned around, I came to the conclusion that the plan to shower was cancelled at this moment. The faucet had broken right off and was laying in the tub. I noticed that the diameters of the hot and cold water pipes were surprisingly small, didn't expect that. Since the pipes were broken flush with the wall, I couldn't even determine if I had to remove the inner our outer threads, well, remains thereof, in order to attempt to repair this mess. Luckily, I was going to see a plumber mate at the christmas tree collection later anyway.

The first thing that came to mind when I woke up was that I didn't catch the logical flaw in my dream: absolutely no water was coming out of the burst pipes. The whole scenario took place in summer, so the water couldn't be frozen either.
Finally my (web/txt)mention sender ready. Receiver i'm borrow from sorenpeter's timeline
@slashdot And this is why I block all subnets of known "Ai Crawlers" 🤦‍♂️🤦‍♂️
@slashdot And this is why I block all subnets of known "Ai Crawlers" 🤦‍♂️🤦‍♂️
@doesnm.p.psf.lt
I'm sharing new developments on the client. I now have a more stable timeline. The first version will appear in the next few weeks.
#emacs #twtxt
I'm sharing new developments on the client. I now have a more stable timeline. The first version will appear in the next few weeks.
#emacs #twtxt
I'm sharing new developments on the client. I now have a more stable timeline. The first version will appear in the next few weeks.
#emacs #twtxt
@kat That sounds interesting, good luck!
On my blog: Free Culture Book Club — Blood of the Ancient Star, part 1 https://john.colagioia.net/blog/2025/01/11/bloodstar-1.html #freeculture #bookclub
Test reply for webmention tester!
[47°09′05″S, 126°43′48″W] --interrupted--
https://webmention.rocks/test/21
Trump, Musk and Zuckerberg have declared war on facts and truth. The pushback must start now: https://www.theguardian.com/commentisfree/2025/jan/11/trump-musk-zuckerberg-war-on-facts-truth-pushback-now
Trump, Musk and Zuckerberg have declared war on facts and truth. The pushback must start now: https://www.theguardian.com/commentisfree/2025/jan/11/trump-musk-zuckerberg-war-on-facts-truth-pushback-now
Pinellas County - Long Run: 8.50 miles, 00:09:50 average pace, 01:23:31 duration
garmin gps really fucked this one up. it thought i ran a half marathon at like a 7:00 pace or something.

the run was okay. it was a bit warmer and humid this morning, but really i am just a bit worn out i think. it was a bit boring so i turned on the podcast "telepathy tapes" and that was at least background noise.
#running
Pinellas County - Long Run: 8.50 miles, 00:09:50 average pace, 01:23:31 duration
garmin gps really fucked this one up. it thought i ran a half marathon at like a 7:00 pace or something.

the run was okay. it was a bit warmer and humid this morning, but really i am just a bit worn out i think. it was a bit boring so i turned on the podcast "telepathy tapes" and that was at least background noise.
#running
Pinellas County - Long Run: 8.50 miles, 00:09:50 average pace, 01:23:31 duration
garmin gps really fucked this one up. it thought i ran a half marathon at like a 7:00 pace or something.

the run was okay. it was a bit warmer and humid this morning, but really i am just a bit worn out i think. it was a bit boring so i turned on the podcast "telepathy tapes" and that was at least background noise.
#running
- ¿A qué juego ahora? -
#catsoftwtxt
- ¿A qué juego ahora? -
#catsoftwtxt
There have been many changes to oh.mg https://mmn.ca/s/1fahcfvu
There have been many changes to oh.mg https://mmn.ca/s/1fahcfvu
There have been many changes to oh.mg https://mmn.ca/s/1fahcfvu
Hello world
Hello world
Hello world
Need to summary all of these logic. So:\\u2028 1. If file named twtxt.txt then grab parent directory name or hostname if file in root (and maybe delete ~?) \\u2028 2. If file named nick.txt then grab filename~
Need to summary all of these logic. So:\u2028 1. If file named twtxt.txt then grab parent directory name or hostname if file in root (and maybe delete ~?) \u2028 2. If file named nick.txt then grab filename~
[47°09′14″S, 126°43′58″W] Resetting transponder
[47°09′35″S, 126°43′51″W] 4285 days without news from Herve
@kat Thinking maybe you'd like to alpha teat EdgeGuard too? 🤔 -- My own alternative solution to Clownflare 🤣
@kat Thinking maybe you'd like to alpha teat EdgeGuard too? 🤔 -- My own alternative solution to Clownflare 🤣
@kat This is so cool!
@kat This is so cool!
@kat definitely a fun way to get better at bash scripting by hand (AKA learn how it works besides the extreme basics i know) and use gum to make them cute too
@kat definitely a fun way to get better at bash scripting by hand (AKA learn how it works besides the extreme basics i know) and use gum to make them cute too
@kat both scripts are here under the names 'getlyr' and 'now playing' if you wanna try them out yourself, just make sure you have gum installed (also curl and jq but most people have those i think) https://git.sr.ht/~chasinglightning/dotfiles/tree/main/item/home/.local/bin
@kat both scripts are here under the names 'getlyr' and 'now playing' if you wanna try them out yourself, just make sure you have gum installed (also curl and jq but most people have those i think) https://git.sr.ht/~chasinglightning/dotfiles/tree/main/item/home/.local/bin
been playing with making fun scripts using charm CLI's gum library :P

one that gets lyrics from an open lyrics database's API and accepts input for artist & song names: https://asciinema.org/a/697860

and one that uses a user-provided last.fm API key to pull what's currently playing or what last played on your account :) https://asciinema.org/a/697874
been playing with making fun scripts using charm CLI's gum library :P

one that gets lyrics from an open lyrics database's API and accepts input for artist & song names: https://asciinema.org/a/697860

and one that uses a user-provided last.fm API key to pull what's currently playing or what last played on your account :) https://asciinema.org/a/697874
@prologic ah that's good lol! i once pulled from main for a huge web app that i deployed and it haunts me because it will make upgrading so much harder lol
@prologic ah that's good lol! i once pulled from main for a huge web app that i deployed and it haunts me because it will make upgrading so much harder lol
@slashdot Have to agree with the comments on this one 😆 Zuck hasn't invented shit. Period.
@slashdot Have to agree with the comments on this one 😆 Zuck hasn't invented shit. Period.
🧮 USERS:1 FEEDS:2 TWTS:1211 ARCHIVED:83981 CACHE:2905 FOLLOWERS:17 FOLLOWING:14
Nooooooooi 😅
Nooooooooi 😅
@doesnm the logic that keeps on growing! :-D
@bender Hahahahah 🤣🤣
@bender Hahahahah 🤣🤣
@bender That could work aactually...
@bender That could work aactually...
@kat pretty much 🤣🤣
@kat pretty much 🤣🤣
@ocdtrekkie Do you have a copy of his feed in your archive? 🤔🤔
@ocdtrekkie Do you have a copy of his feed in your archive? 🤔🤔
Anyway... Sounds like there is a bug with the version logic. I'll see if I can fix it.
Anyway... Sounds like there is a bug with the version logic. I'll see if I can fix it.
@kat Building from source and from the main branch is totally fine. In fact encouraged. I have a philosophy of main being stable anyway and making sure backwards compatibility is kept in mind when changing things. i.e: No database migrations to run by hand or what not.
@kat Building from source and from the main branch is totally fine. In fact encouraged. I have a philosophy of main being stable anyway and making sure backwards compatibility is kept in mind when changing things. i.e: No database migrations to run by hand or what not.
@prologic Where do I find those at? I have the 2024 year back but it may be nice for the others!
@prologic Where do I find those at? I have the 2024 year back but it may be nice for the others!
@prologic Where do I find those at? I have the 2024 year back but it may be nice for the others!
On my blog: Toots 🦣 from 01/06 to 01/10 https://john.colagioia.net/blog/2025/01/10/week.html #linkdump #socialmedia #quotes #week
Ugh! Not @david, but this one. I am going nuts. Well, I am nuts!
I am letting this domain go at the end of this year. Another of my alter ego feeds will be gone then. Oh, the humanity! 😅
I am letting this domain go at the end of this year. Another of my alter ego feeds will be gone then. Oh, the humanity! 😅
Yes, error on my side. All of the sudden jenny refused to show me my own posts. Had to recreate mailbox (got rid of cache too) to make it work.
@movq I think it was user error. Testing again.
@quark Broken in what way?


@quark Broken in what way?


@quark Broken in what way?


@quark Broken in what way?


If feed are named twtxt or tw then grab parent directory name!
Testing ... (yeah!)
(jenny is also broken?)
@bender (secret received!).
I mean, since most feeds are named twtxt.txt, following your recommendation, there could be many "twtxt" nicks. 😀
@doesnm so, example.com/x/pineapples/yo.txt nick is also yo?
nick is yo? Btw say me which method you choiced. I want to make mention fixer like @bender -> @bender in my post-hook
@doesnm I see problems with that, that do not exist on my approach. You could see, example.com/x/bananas/yo.txt, and the feed has no nick. What is the nick?
@prologic so i did a mistake that i've done before and i think i just pulled from the main branch which is STUPID i KNOW and i don't LEARN but whatever. i was having trouble with my go version and the makefile so i think i literally just ran it as my user with go in the path and redirected the binaries to go to a temporary directory i made and then moved them to /usr/bin lol. i'm not sure what could've caused this! probably something in the pipeline of weirdness i just wrote out
@prologic so i did a mistake that i've done before and i think i just pulled from the main branch which is STUPID i KNOW and i don't LEARN but whatever. i was having trouble with my go version and the makefile so i think i literally just ran it as my user with go in the path and redirected the binaries to go to a temporary directory i made and then moved them to /usr/bin lol. i'm not sure what could've caused this! probably something in the pipeline of weirdness i just wrote out
@prologic thank you so much!
@prologic thank you so much!
[47°09′56″S, 126°43′34″W] Transponder fixed
@prologic LMAO thats so funny i need to try jenny i was trying it but i couldn't figure out my twtxt sync script for it
@prologic LMAO thats so funny i need to try jenny i was trying it but i couldn't figure out my twtxt sync script for it
@prologic wait thats so cute re: the yarn name! i had no idea! we're all just keeping the yarn ball rolling...
@prologic wait thats so cute re: the yarn name! i had no idea! we're all just keeping the yarn ball rolling...