@movq@www.uninformativ.de @bender@twtxt.net @prologic@twtxt.net That’s fine with me. It could be even the 1st January 2026, as simple as the change really is.
But it would be also alright to just stick with July, so that I don’t have to update the tests. :-P
/projects URLs since Sunday:
@movq@www.uninformativ.de Dang it. :-(
@prologic@twtxt.net oh man, I envy you. I want an Asian vacation (Japan 😍) so badly!
@movq@www.uninformativ.de @bender@twtxt.net I’ll also start spamming from my upcoming Vietnam holiday (flying out this Friday) for a couple of soliday weeks 🤣
@movq@www.uninformativ.de Seems fine to me! Plenty of time to get our shit™ in order! 🙌
@bender@twtxt.net Once Advent of Code starts, I’ll start spamming, don’t worry. 😅
@movq@www.uninformativ.de looks good to me! 🎉
One can tell holidays are abound; even twtxt slows down to almost a halt.
Hm, so regarding the hash change:
https://git.mills.io/yarnsocial/twtxt.dev/pulls/28
How about 2026-03-01 00:00:00 UTC as the cut-off date? 🤔
@lyse@lyse.isobeef.org Probably wouldn’t help, since almost every request comes from a different IP address. These are the hits on those weird /projects URLs since Sunday:
1 IP has 5 hits
1 IP has 4 hits
13 IPs have 3 hits
280 IPs have 2 hits
25543 IPs have 1 hit
The total number of hits has decreased now. Maybe the botnet has moved on …
@lyse@lyse.isobeef.org ugh, well, there goes my thought.
@shinyoukai@neko.laidback.moe Welcome back! 🤟 You have been missed! 😅
@shinyoukai@neko.laidback.moe Welcome back 🤟
@movq@www.uninformativ.de Fail2ban to the rescue? :-?
@movq@www.uninformativ.de In my current project I’m typically far away from this pile of shit. Let’s see how the project will be in this regard.
@bender@twtxt.net Unfortunately, this also breaks the browser search.
@movq@www.uninformativ.de I’m raising my hand for tt.
@movq@www.uninformativ.de I think you will like this one: https://gibberifier.com/
@movq@www.uninformativ.de “resistance is futile, you will be assimilated”. :-D
@movq@www.uninformativ.de pinging @zvava@twtxt.net, on your behalf. And @falsifian@www.falsifian.org.
Which actively maintained Yarn/twtxt clients are there at the moment? Client authors raise your hands! 🙋
twtxt.net) was being hammered by something at a request rate of 30 req/s (there are global rate limits in place, but still...). The culprit? Turned out to be a particular IP 43.134.51.191 and after looking into who own s that IP I discovered it was yet-another-bad-customer-or-whatever from Tencent, so that entire network (ASN) is now blocked from my Edge:
This is what this looked like visually 😳 
twtxt.net) was being hammered by something at a request rate of 30 req/s (there are global rate limits in place, but still...). The culprit? Turned out to be a particular IP 43.134.51.191 and after looking into who own s that IP I discovered it was yet-another-bad-customer-or-whatever from Tencent, so that entire network (ASN) is now blocked from my Edge:
@prologic@twtxt.net Time to make a new internet. Maybe one that intentionally doesn’t “scale” and remains slow (on both ends) so it’s harder to overload in this manner, harder to abuse for tracking your every move, … Got any of those 56k modems left?
(I’m half-joking. “Make The Internet Expensive Again” like it was in the 1990ies and some of these problems might go away. Disclaimer: I didn’t have my coffee yet. 😅)
Fark me 🤦♂️ I woke up quite late today (after a long night helping/assisting with a Mainframe migration last night fork work) to abusive traffic and my alerts going off. The impact? My pod (twtxt.net) was being hammered by something at a request rate of 30 req/s (there are global rate limits in place, but still…). The culprit? Turned out to be a particular IP 43.134.51.191 and after looking into who own s that IP I discovered it was yet-another-bad-customer-or-whatever from Tencent, so that entire network (ASN) is now blocked from my Edge:
+# Who: Tentcent
+# Why: Bad Bots
+132203
Total damage?
$ caddy-log-formatter twtxt.net.log | cut -f 1 -d ' ' | sort | uniq -c | sort -r -n -k 1 | head -n 5
61371 43.134.51.191
402 159.196.9.199
121 45.77.238.240
8 106.200.1.116
6 104.250.53.138
61k reqs over an hour or so (before I noticed), bunch of CPU time burned, and useless waste of my fucking time.
@movq@www.uninformativ.de That’s what tests are for. To fix them. :-D
hash[12:] instead of hash[:12].
@lyse@lyse.isobeef.org Oops. 😅 But yay, it’s working. 🥳
All my newly added test cases failed, that movq thankfully provided in https://git.mills.io/yarnsocial/twtxt.dev/pulls/28#issuecomment-20801 for the draft of the twt hash v2 extension. The first error was easy to see in the diff. The hashes were way too long. You’ve already guessed it, I had cut the hash from the twelfth character towards the end instead of taking the first twelve characters: hash[12:] instead of hash[:12].
After fixing this rookie mistake, the tests still all failed. Hmmm. Did I still cut the wrong twelve characters? :-? I even checked the Go reference implementation in the document itself. But it read basically the same as mine. Strange, what the heck is going on here?
Turns out that my vim replacements to transform the Python code into Go code butchered all the URLs. ;-) The order of operations matters. I first replaced the equals with colons for the subtest struct fields and then wanted to transform the RFC 3339 timestamp strings to time.Date(…) calls. So, I replaced the colons in the time with commas and spaces. Hence, my URLs then also all read https, //example.com/twtxt.txt.
But that was it. All test green. \o/

@xuu@txt.sour.is when it is extremely important to be the very best at everything, nothing can be left behind. Not even a piss drinking contest!
@bender@twtxt.net thank you! <3
@bender@twtxt.net Thanks. That pulley is just to hang back up the telephone wire (on the ground in 16) for that farm and restaurant in 04 once they finish logging. Hahahahahaaahaaaa, I didn’t see the nails on top of the pole. :-D
Yup, these ice crystals are just lovely. :-)
@prologic@twtxt.net Who’s got a life besides work, huh? Yeah, no, thanks, mate! Scratch that.
@bender@twtxt.net Don’t even think that was on the cards I’m afraid 😳 But yes I’ve said that in a message to the recruiter.
@prologic@twtxt.net counter that you would only work remote.
@kiwu@twtxt.net I’m glad you’re liking the updates haha 😆
@lyse@lyse.isobeef.org @bender@twtxt.net Pfft, they want folks to relocate to Sydney. Fuck that 🤣 Sydney is a bit like San Francisco, I’m not actually sure which is worse. Fuck’n expensive as hell, the only palce you’d be able to afford to buy or rent is at least ~2hrs out of the city by public transport (i.e: train) and by that time you’ve just pissed your life down the toilet, because you’d be expected ot work a 9-10hr day + 2-3hrs of travel each way, buy the time you factor in having to wake up super early to get ready to travel in to work, you basically have zero time for anything else, let alone your ufamily,
Fuck that.
@kiwu@twtxt.net there, there. Hoping it gets better or… less rough!
@thecanine@twtxt.net Cool! Let’s hope they truly keep their word.
@prologic@twtxt.net I couldn’t have phrased it any better than @bender@twtxt.net. :-)
Twice or three times the money as before sounds a bit suspicious to me. Of course, I could be wrong, but I always was under the impression, that your last jobs weren’t all that badly salaried. If the new offer is really paid this highly, it might be a shit job. For me, money isn’t everything, I’d rather opt for a lower income where the job is fun than hating to go to work every day. But if the new job ticks all boxes, go for it. :-)
Also: Consult your pillow, don’t rush it.
@bender@twtxt.net Haha 🤣 Spoken like someone that’s done this before 😅
@prologic@twtxt.net you take a look at it, see if it is a good fit, ask the headhunter more details about it, and the company they represent for this hire, bring the results clearly, simply stated, but without missing any information to your CFO (AKA wife), and then arrive at a decision as a family.
Don’t let the temptation of more compensation be the driving factor.
@thecanine@twtxt.net Not bad. 🥳 Fingers crossed that they actually do it. 🤞
@arne@uplegger.eu @lukas@lukasthiel.de In fact, Yarn.social’s yarnd client implementation actually uses (or did, still kinda does today) PicoCSS 🤟 It was/is a good CSS library! 👍
@thecanine@twtxt.net Comgrats! 🙌
@prologic@twtxt.net yeah, all eggs in one basket has never been a sensible approach. Sadly, even without that, this outage is affecting many due to the interconnected nature of services these days.
@prologic@twtxt.net Mastocoooooooon!