# 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=1724
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/bender/twtxt.txt&offset=1624
This is me test\n this to see if I am manag\n to break it once more.
@ no. It is jest. Just like The Onion, but exclusively for a fictitious company. 😂
@lyse 😂😂😂
@doesnm the logic that keeps on growing! :-D
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?
@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?
Or using the same twt hash method, but only for the URL, to generate the nick, if it doesn't exist, like so, @5vxo4ia
@eapl.me yeah, it is a typo, meant to be proposal. OP is the "Lord of the Typos". :-P
@probiotic I see nicks as a label, but otherwise superfluous. I can give whatever nick I want to anyone, as long as the feed exists (at least on Yarn).

So, if nick exist on feed, great, use it! if it doesn't, assign a random hash derived from whole URL as nick. Done. :-D
@ where do I buy that lifetime ticket? Temme, I am ready!
(secret)
(quiet... secret... 😀)
@ ...
...
What kind of magic is this? Hahahaha!
(yes, I meant like that) but it didn't work for me... OT, what are you doing awake?! Don't make me message your wife, and tell on you! :-D
@movq on Yarn, if you start a twtxt with (something), for example, it gets stripped out. Not sure if that's what OP referred about.
(something) Test for doesnm.
@head_honcho_supremus sounds good but, when using Yarn---at least---users shouldn't need to worry about this minutiae. They simply hit "Reply", or "Fork".

Note, I manually added a nick to this reply.
@ Uuuuf! making sure my previous reply's mangled mention wasn't a fluke...
Ha! This one renders different than when replying to someone on a different pod. The plot thickens!
@ I unfollowed you, to prove this is broken. Enjoy your free tier! :-)
@ welcome! :-)
Wow, GtS keeps getting better! Re: https://docs.gotosocial.org/en/latest/admin/domain_permission_subscriptions/#fun-stuff-to-do-with-domain-permission-subscriptions
@lyse I now have the vivid image of children trying to beat you, or parading you around town demanding justice. 😅😂 The helmet is quite good, and having to open the visor to talk is a riot! LOL.
@lyse burn, burn, burn!

https://www.youtube.com/watch?v=rf71YotfykQ
@lyse I got a bit over 1,000, which isn't bad at all. During Thanksgiving holidays I got over 2,000.

I am at inbox zero now, but not telling my boss. This week I feel like I need it slow, to recover from the vacation. LOL.
@lyse that's one of the first things I do on macOS; disable all the animations and delays. :-)
@prologic I am using it to access ollama running on the Mini without having to expose my public IP. ☺️
@prologic it allows me to access the peers on the network by their hostname, i.e. luddite.lo.op is my phone. Since MagicDNS takes precedence, I can simply do ping luddite and pings me phone.
@prologic hmmmm
Headscale MagicDNS (mimicking Tailscale's) is awesome.
@prologic so, that's how you call it, eh? 😊
@prologic yes, Chrome, under Linux, was a no go.
Was able to upload and update using Safari under macOS. Latest Chrome under Linux didn't let me. 🤷🏼‍♂️
@prologic :-( I know the feeling. It sucks. Plenty of fluids and rest. There is no much else you can do. Of course, a Theraflu, or similar over the counter will make you feel better, but they will also make you groggy and sleepy.
For later reading: https://macos-defaults.com/. What brought me there was https://macos-defaults.com/dock/autohide-delay.html
I also get:

> An invalid form control with name='email' is not focusable. ​=
The browser's console spits:


Failed to load resource: the server responded with a status of 404 ()
@prologic I seem not to be able to change my avatar. I pick it, but the update button does nothing.
@movq pam_happy_hour is awesome! :-D I am certainly going to play with it, LOL.
@aelaraji it depends on the transfer they offer. Oracle also offer free VMs.
@aelaraji sorry to hear, mate. Hoping and wishing everything gets, and stays, better.
Though my use of words wasn't the best, I would agree. It certainly is possible. 😅
@movq I was referring to their documentation advice, mostly:

> "GoToSocial supports both SQLite and Postgres as database drivers. Though it is possible in theory to swap your database from SQLite to Postgres or vice versa, we do not currently have tooling to support this, so you should consider your choice of database carefully when starting out.
>
> SQLite is the default driver and it's been shown to work brilliantly for instances in the range of 1-30 users (or maybe more)."
@movq wait until you hear of 2026. 😂
@kat I think it is kind of impossible to switch from sqlite to Postgres. I have run GtS on sqlite from get go, no issues. Granted, single user instance, but still...
@kay "when it rains, it pours!" :-D
@kat wow, thanks for sharing that guide! I have now used it on my better tuned instance. Woot!
@kat ...

> "we are invading the humble twtxt/yarn network"

LOL. @prologic loves it. He wants it to grow a little. He told me. More than once!
@eapl same here. There are many "doctors", and "professors" named Don Abel. None of them are showing as having said, or written that quote.
Hmm, yeah, I am doing something wrong. Same is happening with any site to which I apply the this.

Is there a reason you forked this from mholt? What was added, or changed? Your "Initial commit" throws an error.
On a test I ran, with a static site that is a PWA, like this:


example.com {
        root * /web/example.com
        route / {
             rate_limit {path} 20r/m
             file_server
        }
}


It works (as limiting rate), but when rate isn't reached, the page doesn't render. Not sure what could be going on.
So this should build caddy with both modules:


$ xcaddy build --with git.mills.io/prologic/caddy-ratelimit --with  git.mills.io/prologic/caddy-waf


Right?
@movq hahahahaha! I see. Of course, better be safe than... well, you know it. :-)
The rate-limit one too (https://git.mills.io/prologic/caddy-ratelimit), for sure! Would the caddy-waf be:


$ xcaddy build --with git.mills.io/prologic/caddy-waf


Yes? Still, the README for a configuration example would be awesome!
@prologic cool! Looking forward to the README for https://git.mills.io/prologic/caddy-waf! :-) I will probably build that module on my Caddy!
@prologic can you give me an example of one ASN you have blocked? First time I heard of ASNs but, furthermore, blocking ASNs. It seems like they are *huge* blocks!
@prologic what's ASN again?
@prologic fail2ban should work fine.
@lyse TABs, of course, are best. >:-)
That graph doesn’t look that bad. I mean, by the looks of it, I wouldn’t even qualify it as a DDoS. 😅
@movq I am sure they would have been just fine. Should we assume your main driving machine is on solid state?
This Simon Willison’s post is a good read: https://simonwillison.net/2024/Dec/31/llms-in-2024/. If you haven’t read it, and are negatively or positively thinking of the so called AI, then you should.

There is more at Simon’s blog. It is worth spending some time in it.
On DDoS, wouldn’t sshguard and/or fail2ban work?
@prologic you are documenting everything, right? I am very interested in a HOWTO! ☺️
@prologic currently playing with:


NAME                 ID              SIZE      MODIFIED           
qwen2.5-coder:32b    4bd6cbf2d094    19 GB     About a minute ago 
qwq:latest           46407beda5c0    19 GB     10 minutes ago     
codestral:latest     0898a8b286d5    12 GB     14 minutes ago     
codellama:34b        685be00e1532    19 GB     17 minutes ago     
gemma2:27b           53261bc9c192    15 GB     29 minutes ago     
phi3:14b             cf611a26b048    7.9 GB    23 hours ago       


Which run really well on a regular (non-pro) M4.
@prologic good evening, future man! 😂😂😂
@ hey, hey! Looks like we are on the same time zone (EST). I have been awake since 05:50ish.
@ I saw some of your videos, and I can say you do do well at keeping the flow. Rambling is what most of podcasters do. Heck, even professional news casters! That’s to say, we are all used, and kind of expect it. ☺️
Going to drop another bombshell: I don’t watch YouTube videos, but least those with sensationalist, click bait, titles. 😂
@ hehehe, I would say you are hooked! 😋
@abucci first time I see it, so, thanks for sharing! I would say none of us will be around for 46^2. 😅
@lyse /me looks at Lyse’s direction, full of envy. 😂

Congrats meme
@prologic can you explain more on that “all ingress is actually egress”?
@prologic not everyday, based on feed. They have recovery days. They do cycling too.
@prologic I haven’t used WireGuard for a very long time. Can the WireGuard server communicate with peers without being itself one?
@prologic to run that WireGuard tunnel you need to run the client on the same machine running the WireGuard server, right? Looking forward to your write up!
@prologic what this refers about? What did you do?
@movq the sound of the disk drive brought back so many memories! (second time I type this, first time the reply seemed to go through, just to find myself logged out 🤯).
@aelaraji I would agree 2024 wasn’t a good year for our family either. While I understand every year doesn’t need to positively excel, one can only hope, right? 2024 went out of the way to be bad.

I am truly happy to have met such amazing people through this “simple” medium. Thank you all for bearing with me, and my often outspoken, borderline “assholery”, attitude. I am working on it, be assured.

See you all next year!
🎆🥳🎆🥳🎆🥳🎆🥳!
Happy new year, Brisbane! 🎆🥳
@lyse we have been hearing isolated ones for days now, pretty much since Thanksgiving. 😩
@prologic also the mentions. Remember, broken mentions. 😅
@movq pretty neat! Keep going, keep going!
Well, they could render inline. Will still need some authorisation from the pod operator.
@ if you use markdown when posting the cat images, they will render inline on any Yarn pod.
@ LOL. Crypto rubbish backed? 🤦‍♂️
@prologic SRE as in, Syntactic Retroplasm Endoscope? 😂
@prologic remember that replying to someone you are not following is still broken on Yarn.
@emmanuel hiya mate, welcome!
@emmanuel good to know, thanks! I don’t think I will dabble with it, but it is good to know it exists. Considering its author, it is bound to get better.
@prologic, do you run a Minecraft server for your children? If so, which one?
Talk about an awesome Christmas gift! Vintage Apple iMac G3, brand new!
@prologic I remember seeing something of the sort at certain point, yes. Then it dropped off. There is a lot a small group of people could talk about. Topics range can be wide!
I was thinking about these calls a few days ago, and an idea came to mind. It would help if there was some kind of an "agenda". You know, like a roadmap of sorts that could be used to spark interest, and start/guide the conversation. Items could be taken from yarns, but they will not need to be limited to them. We could discuss other topics of interest as they are found daily in other mediums we participate.

I am normally a decent "topic opener" (at the very minimum I break the ice, LOL), but having a small bulleted list would help and, perhaps, bring in more people. What do you think?
Ghostly is available now. In the past I have used iTerm, but this time around I am going to try keeping as much vanilla tools as possible on macOS (thus will use Terminal, and see how it goes). Yet, this one looks interesting!
Pushed notifications are going to be in super early next year, the way I see it. I think they will pop somewhere in January 2025!