# 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 1824
# self = https://watcher.sour.is?uri=https://twtxt.net/user/bender/twtxt.txt&offset=1024
# next = https://watcher.sour.is?uri=https://twtxt.net/user/bender/twtxt.txt&offset=1124
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/bender/twtxt.txt&offset=924
Testing this. I will break this thread purposely, to see how to handle it under neomutt.
Testing this. I will break this thread purposely, to see how to handle it under neomutt. I have now edited this one. Let's go!
@prologic while authenticated continues to "work", but not without authentication (and a 404 is received then). That's good!
See here again. “Open it while logged in, or logged out, it doesn’t matter”.
@prologic I wasn’t logged in, and I could do it. 😩
@abucci hahahahaha! I wish! I can't afford the electricity that baby will consume, less the cost of itself. 🙈
Wow, these are nice machines! https://tinygrad.org/
The twtxt.txt is a link to Google. I think that could be abused, and it shouldn't be allowed.
@prologic see: https://twtxt.net/external?uri=https://google.com&nick=abucci (open it while logged in, or logged out, it doesn't matter.
@prologic they won! :-) I mean, I know that support form was mostly (mainly, exclusively?) used to spam you, but still.
@prologic hmm... I think we should do better than this. It is an improvement though. Ideally we check that URI to make sure it is a twtxt.txt (contents, or otherwise). If it isn't, don't link, don't follow, don't "create" an empty page. If it is not twtxt, it shouldn't be on twtxt. :-)
@mckinley this one, https://youtu.be/YTyFzrV_iOo?
@movq binary news groups have existed since the beginning of Usenet. Let me put it this way, way, way, wayyyyy before PornHub, there was already Usenet. Same for software piracy: before torrenting there was already Usenet. Granted, there was/is much more than that.
Because I saw the nick on movq (@prologic, can't mention anyone outside this pod, by the way), I looked the user up: https://tilde.pt/~marado/twtxt.txt. I wonder if the "hashes" they are using will work out of the box with jenny.

Talking about jenny, going to play with the latest now. Tata! :-)
@xuu 😂😂😂
@lyse LOL. 🍻Cheers!
@movq OMFG! That’s awesome! I will check it as soon as I hit home.
Those 15 minutes were the longest ever! 😅😂
LOL. Sadly, there really seems to be no escape. People are hellbent on using—or misusing—AI.
@movq oh, I didn’t know you ran OpenBSD.

I run conduwuit for Matrix. That, GoToSocial, WireGuard, and several websites and experiments coexist on a 2GB, 1vCPU, 50GB VPS. 😊
@movq this is pretty cool, and neat! 😍😍😍
@movq GoToSocial is pretty good, and actively developed. Consider it! 🙈
@movq yes, on both.
@prologic can you drop a link to the repository with those scripts?
After four of these I am starting to feel really good. 🤭 Cheers!

Oktober fest beer
@off_grid_living pax vobiscum, saecula saeculorum!
@aelaraji interesting you mention this, because I have the same approach. Even on the machines I control, I tend to prefer mainly text over anything bigger.

I make exceptions on twtxt.net every once and then because I know @prologic has an in-house, multi-terabyte solution begging to be used. 😂
Why so many Linux distributions come with Gnome as their default desktop environment? What makes Gnome so great? It has been a resource hog, in my experience.
@tkanos it seems you are the perfect candidate to test it, then. Go for it, and bring us the good--hopefully--news! 🤣
@prologic nah, they are fine, in my opinion.
@prologic I think this would impose a burden on resources to poderators, unless the cache is deleted automatically after a configurable period of time.
Alacritty doesn't support TABs. Running a multiplexer locally doesn't work well when you run another on your remote session. Uuuuuuugh! Nothing is ever perfect.
@tkanos nah, I will pass. :-)
@tkanos nah, I will pass. :-) I mean, it is useful for someone, I am sure. Just not for me.
Oh, wow, copying the URL works. What kind of trickery is that?! LOL.
@prologic yeah, getting the same on South East US.
@aelaraji not inconvenience at all. Just something out of the ordinary. :-) I thought it might have been a jenny's bug, only reason I brought it up. LOL.
@off_grid_living hmm, are we talking about the same "GOD"?

> " When the Lord your God delivers it into your hand, put to the sword all the men in it. As for the women, the children, the livestock and everything else in the city, you may take these as plunder for yourselves. And you may use the plunder the Lord your God gives you from your enemies.

🤔 or...

> "However, in the cities of the nations the Lord your God is giving you as an inheritance, do not leave alive anything that breathes. Completely destroy them"

Is that him? Empowering and wise, indeed.
@off_grid_living hmm, are we talking about the same "GOD"?

> " When the Lord your God delivers it into your hand, put to the sword all the men in it. As for the women, the children, the livestock and everything else in the city, you may take these as plunder for yourselves. And you may use the plunder the Lord your God gives you from your enemies."

🤔 or...

> "However, in the cities of the nations the Lord your God is giving you as an inheritance, do not leave alive anything that breathes. Completely destroy them"

Is that Him? Empowering and wise, indeed.
@off_grid_living hmm, are we talking about the same "GOD"?

> " When the Lord your God delivers it into your hand, put to the sword all the men in it. As for the women, the children, the livestock and everything else in the city, you may take these as plunder for yourselves. And you may use the plunder the Lord your God gives you from your enemies."

🤔 or...

> "However, in the cities of the nations the Lord your God is giving you as an inheritance, do not leave alive anything that breathes. Completely destroy them"

Is that him? Empowering and wise, indeed.
@lyse isn’t it great? I remember when email, and Usenet threads were always like that. Alas, came Google, Microsoft, heck, even Apple doesn’t do threading anymore, and things started to go down the drain since.
@off_grid_living I say, let’s don’t take any medicine at all, and leave our fate to the loving, merciful, all caring, hands of god.
@off_grid_living I say, let’s don’t take any medicine at all, and leave our fate to the hands of god.
@quark this is what I see:

Screenshot of neomutt running jenny, a twtxt client
> But you should not be seeing any requests from this pod

Just curious, how are you accomplishing this? Using egress iptables blocks?
Imagine if SMTP behaved like this. It would be mayhem! SMTP bounces are certain number of retries, thus alerting the user that the email address, or server, is wrong. By the way, this same problem happens on the various implementations of ActivityPub (Mastodon, all "romas", all "keys", and GoToSocial, which I use). Some have implemented a process to drop federation, after certain delivery attempts.
Imagine if SMTP behaved like this. It would be mayhem! SMTP bounces are certain number of retries, thus alerting the user that the email address, or server, is wrong. By the way, this same problem happens on the various implementations of ActivityPub (Mastodon, all "romas", all "keys", and GoToSocial, which I use). Some have implemented a process to drop federation, after certain number of delivery attempts fail.
@prologic is it more than this, right? For example, user "justamoment" (https://twtxt.net/user/justamoment/twtxt.txt) has netbros.com twice on its following list. Both feeds are long gone. There are more cases like that.
@prologic you are welcome! :-)
@prologic he is referring to "ivermectin".
Sent you some logs on Matrix.
@prologic LOL. After that I ran Yarn on the apex, at netbros.com. Go to Matrix, let me drop you a snippet.
@prologic I understand. It is useful. But Lyse doesn’t use Yarn.

I think I am not successfully explaining the problem I perceive here. People checking non existing feeds with the hope they will come back, over and over, and no provisions in Yarn to do much about it. 🤷🏻‍♂️
@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?
@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. 😊
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
@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.
@falsifian that sounds like a good compromise. Regardless of what @prologic wrote, a 404 is a 404.
@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?
@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.
@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.
Well, this one (ferengi.one) isn't hammered (that was my dramatic animal guide showing off, LOL). I believe this one is simply "normal" twtxt.txt usage.
Also hammering ferengi.one.
@prologic it is kind of hammering my VPS, specifically netbros.com, every single day.
@movq right, I don't think there is one per se. I think you get send a code on SMS, but it has been a while since I did it.
@prologic, does this rings a bell to you? 159-196-9-199.9fc409.mel.nbn.aussiebb.net
@prologic much envious here. I would trade my 35°C for *anything* cooler. Anything!
@prologic LOL. That’s it.
@prologic maybe it is because of your geographical location. It works fine for me.
@prologic a lot. Look carefully at the vertical alignment.
@movq the algorithms are nuts everywhere. I was cancelled from Instagram and TikTok a while back for the same reason, yet, at the time I got the email telling me about it I hadn't used them both for over a year. 🤷🏻
@prologic text/label on the buttons isn't centred:

BeerCSS showing a button with text not centred
@prologic not sure what you find on BeerCSS. I have never found that style (following "Material Design" aesthetics) attractive at all. Many of its components are misaligned (at least they are under Gnome's Chrome). Look that the buttons, and you will see and example of what I am talking about.
Came across YTCH yesterday, and it is very addictive. Simple, and well done. You can host it yourself if you want. The trick I haven't figure out yet is how to create the list.json that drives it.
Cool, looking good! Ought to work on showing the Emoji too, I noticed that's missing. Next, to render correct markdown. :-)
A little bit more verbose:


david@dreadnought:~/$ apt-cache depends -i --recurse shellcheck
shellcheck
  Depends: libc6
  Depends: libffi8
  Depends: libgmp10
libc6
  Depends: libgcc-s1
libffi8
  Depends: libc6
libgmp10
  Depends: libc6
libgcc-s1
  Depends: gcc-14-base
  Depends: libc6
gcc-14-base
@mckinley interesting. In Ubuntu the list is rather short:


david@dreadnought:~/$ sudo apt depends shellcheck
shellcheck
  Depends: libc6 (>= 2.34)
  Depends: libffi8 (>= 3.4)
  Depends: libgmp10 (>= 2:6.2.1+dfsg1)
@lyse tracking read/unread is something that Yarn could benefit from. It has been thought before, just never gotten anywhere. Yarn just don't keep track of those, it will be something that @prologic will need to implement. Maybe if I keep poking him he will! 😂
@prologic yeah, this is how Phanpy does it:

Phanpy, Fediverse client, showing the little bell on top right corner with a dimmed dot, indicating activity
On the "Mentions" topic, maybe @prologic can do something about it? What exactly is up to him, and the capabilities present. Perhaps simply bolding Mentions if there if are unread ones? I don't know how we will handle the resetting of it, after reading...
Oh, I just saw they have an installable package! Pretty cool! Thanks for the pointer, @prologic.
@prologic what is shellcheck? The website, or a local tool one can run?
@lyse when I come around, I normally check, and get busy just reading, under "Discover", and often forget to even check mentions. Since there is nothing on "Mentions" telling me there are some pending to be read (at the very least, a tiny dot, or something), if often gets ignored. 😅
@lyse when come around, I normally check, and get busy just reading, under "Discover", and often forget to even check mentions. Since there is nothing on "Mentions" telling me there are some pending to be read (at the very least, a tiny dot, or something), if often gets ignored. 😅
@prologic for those ancient, dreaded times, on which I needed to use PHP (shivers), I simply used php-fpm with Caddy. Unless I am missing something, FrankenPHP is a modified Caddy. If I already run Caddy, why would I need another one?

Of course, FrankenPHP might fit @off_grid_living needs, if he is to switch from Apache to FrankensteinPHP.
@movq it should be:

h
bash -c 'set -u; foo=bar; if [[ "$foo" = "bar" ]]; then echo it matches; fi'
@movq it should be:

h
bash -c 'set -u; foo=bar; if [[ "$foo" = "bar" ]]; then echo it matches; fi'


eq is for numericals.
@lyse for some reason I didn't see this here on time. Thank you much mate! 😊
Woot! Need to change the nick now to on_grid_living. 😛
Is that from the same guy who made Caddy? Name sounds familiar. It looks neat, let us know what you think of it when you have tried it. 😛
@prologic I didn't mean to burst bubbles, by the way 😅. It is a baby step; we just need to refine it.
@lyse I envy you. Our always cloudy sky during summer has allowed me to see the grand total of zero. 😩
@prologic couple of issues. That #reading tag also pulls #now-reading. It shouldn't. Second, I can't reply from the search results. If you click/tap on the tag, and get the list containing it, clicking/tapping reply on one of the results do nothing.
@prologic I use ClownFlare for now. Used to be on Google Domains, but you know Google: if something is doing well, they shut it down.