🕧 Hi, the current time is about a half past noon 🌞.
@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/
Mice girls have needs (Tezy8)[Original] ⌘ Read more
Ready for sex (shefu) [original] ⌘ Read more
And regarding those broken URLs: I once speculated that these bots operate on an old dataset, because I thought that my redirect rules actually were broken once and produced loops. But a) I cannot reproduce this today, and b) I cannot find anything related to that in my Git history, either. But it’s hard to tell, because I switched operating systems and webservers since then …
But the thing is that I’m seeing new URLs constructed in this pattern. So this can’t just be an old crawling dataset.
I am now wondering if those broken URLs are bot bugs as well.
They look like this (zalgo is a new project):
https://www.uninformativ.de/projects/slinp/zalgo/scksums/bevelbar/
When you request that URL, you get redirected to /git/:
$ curl -sI https://www.uninformativ.de/projects/slinp/zalgo/scksums/bevelbar/
HTTP/1.0 301 Moved Permanently
Date: Sat, 22 Nov 2025 06:13:51 GMT
Server: OpenBSD httpd
Connection: close
Content-Type: text/html
Content-Length: 510
Location: /git/
And on /git/, there are links to my repos. So if a broken client requests https://www.uninformativ.de/projects/slinp/zalgo/scksums/bevelbar/, then sees a bunch of links and simply appends them, you’ll end up with an infinite loop.
Is that what’s going on here or are my redirects actually still broken … ?
I just noticed this pattern:
uninformativ.de 201.218.xxx.xxx - - [22/Nov/2025:06:53:27 +0100] "GET /projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 301 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
www.uninformativ.de 103.10.xxx.xxx - - [22/Nov/2025:06:53:28 +0100] "GET http://uninformativ.de/projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 400 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
Let me add some spaces to make it more clear:
uninformativ.de 201.218.xxx.xxx - - [22/Nov/2025:06:53:27 +0100] "GET /projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 301 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
www.uninformativ.de 103.10.xxx.xxx - - [22/Nov/2025:06:53:28 +0100] "GET http://uninformativ.de/projects/lariza/multipass/xiate/padme/gophcatch HTTP/1.1" 400 0 "" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
Some IP (from Brazil) requests some (non-existing, completely broken) URL from my webserver. But they use the hostname uninformativ.de, so they get redirected to www.uninformativ.de.
In the next step, just a second later, some other IP (from Nepal) issues an HTTP proxy request for the same URL.
Clearly, someone has no idea how HTTP redirects work. And clearly, they’re running their broken code on some kind of botnet all over the world.
My webserver is getting millions of hits per month at the moment.
All bots.
Frieren looking up (Touka) [frieren beyond journey’s end] ⌘ Read more
Two asses are waiting to be filled up (sirimof) [original] ⌘ Read more
Maid Elizabeth Serving (Coubalt) [Hololive] ⌘ Read more
Small titties or big boobies? (Bow) [blue archive] ⌘ Read more
Canari gets cracked on stream (@azephynight) [Pokemon] ⌘ Read more
Chisa is impressed so far (nephlite) [wuthering waves] ⌘ Read more
How all night at the bar should end (lewdrune) [Naruto] ⌘ Read more
Fucking Firefly in March’s room (Daram) [Honkai: Star Rail] ⌘ Read more
Anubis turns into a gorgeous lady (Mochirong) [Palworld] ⌘ Read more
Microsoft Removes DEI From Employee Review Process
“[Diversity & Inclusion] is just gone and not mentioned. ⌘ Read more
On and off (mochoi soku) [Pokemon] ⌘ Read more
Blonde Blazer (JustSomeNoob) [Dispatch] ⌘ Read more
Looks like she had amazing sex (ushikani kassen) [blue archive] ⌘ Read more
Facefucking Rio (WHYD) [Blue Archive] ⌘ Read more

Frankie Foster’s Home For Imaginary Friends ⌘ Read more
Successful mating press (kanopan_s) [BlueArchive] ⌘ Read more
@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!
Nezuko X Mitsuri X Shinobu (Semidraws) [Demon Slayer] ⌘ Read more
Kanade looking real excited (oldsickkim) [hololive] ⌘ Read more
Risu and Panthera getting messy (yuyu5x) [hololive] ⌘ Read more
Malevola thighjob (Mugi) [Dispatch] ⌘ Read more
Blonde Blazer and Invisigal (Alice Rauch) [Dispatch] ⌘ Read more
Power’s punishment (Fizzy) [ChainsawMan] ⌘ Read more
Presenting herself (kyatsuwu) [Hyakkano] ⌘ Read more
Great things happening over at the Xhitter. 
Sakura Miko (brikot) [Hololive] ⌘ Read more
Seems Aether has different plans for Keqing’s birthday - (StarArts) [Genshin Impact] ⌘ Read more
Invisigal (LumiNyu) [Dispatch] ⌘ Read more
Alana bringing double the fun (rat huang) [smugalana] ⌘ Read more
Augusta (furanh)[wutering waves] ⌘ Read more
Sumire Yoshizawa (windmill) [persona] ⌘ Read more
Taking the dog out for a walk (scott malin) [Original] ⌘ Read more
@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. :-)
“No Fascists Allowed!” Says Trans Lesbian Python Dev
Gatekeeping. ⌘ Read more
@prologic@twtxt.net Who’s got a life besides work, huh? Yeah, no, thanks, mate! Scratch that.
Filled up (tyrzul) [Blue Archive] ⌘ Read more
Happy birthday, Keqing (pineapple_panda) [Genshin Impact] ⌘ Read more
Grabbing a handful of that ass (manzai sugar) [Wuthering Waves] ⌘ Read more
@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.
Pounding Chun Li (JellyfishJubilee) [StreetFighter] ⌘ Read more
@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.
Bimbo Free Use (Agoppdki) [Original Character] ⌘ Read more
Kiriko records d.va’s first dp and shares it with everybody (Zmsfm) [Overwatch] ⌘ Read more
Hmmm
É agora que nos passamos a referir ao Cristiano como o Banana da Madeira?
Lady Mejiro likes it (shiwudesu) [umamusume] ⌘ Read more
The devil girl charming dicks with her body (BigbuttIve on Pixiv) [Korean vtuber Jegal] ⌘ Read more
Fucking Shiori (sus prrrab) [Hololive] ⌘ Read more
Cute teasing in public (audirenze) [roshidere] ⌘ Read more
Fern Maid (cetta)[frieren beyond journeys end] ⌘ Read more
Thicc Maid Fern (TheReus5)[Frieren: Beyond Journey’s End] ⌘ Read more
Kita and Ijichi having a wild night (gsusart) [bocchi the rock] ⌘ Read more
Mirko in a parallel universe My hero academia ⌘ Read more
@kiwu@twtxt.net there, there. Hoping it gets better or… less rough!
its been a rough couple of days
SEED’s Cockpit Anal Session Zenless Zone Zero ⌘ Read more
Frieren Blowjob (TrevoButEvil) [Frieren: Beyond Journey’s End] ⌘ Read more
17, 21, and 22 are my favourites. Thank you for sharing! On 17, the pulley might be dangerously hanging, but if you manage to make it work, you will have a couple of nails to use! :-D
Astra walked in on Evelyn and Wise(o222222mami)[ZenlessZoneZero] ⌘ Read more
Cloudflare Rewrote Their Core in Rust, Then Half of the Internet Went Down
53 days after Cloudflare announced that their service was now “more secure” because they had ported it to Rust… ⌘ Read more
@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.
Dawn shows off (Brikrot) [Pokemon] ⌘ Read more
I was looking at some ancient code and then thought: Hmm, maybe it would be a good idea to see more details in this error message. Which of the values don’t line up. On the other hand, that feature isn’t probably used anyway, because it’s a bit ugly to use (historically evolved). And on top of that, most teams need something slightly different, if they deal with that sort of thing.
I still told my workmates about it, so they could also have a look at it and we can decide tomorrow what to do about it. Speaking of the devil, no kidding, not even half an hour later, a puzzled tester contacted me. She received exactly that rather useless error message. Looks like I had an afflatus. ;-)
It’s interesting, though, that in all those years, nobody stumbled across this before. At least we now know for sure that this is not dead code. :-)
I had no meetings this arvo, so I made an appointment with the woods in my extended lunch break. The 6°C warm sun was out all day long and there was only a very light breeze. So, a very nice autumn day.
When I stopped to take a photo in the forest, a deer behind me took off into the woodland. I didn’t see it before. Also, I came across one or the other clearing. Sadly, it’s all commercial timberland here. Luckily, in a year or so, when nature slowly took over and reclaimed some spots, the apocalyptic sites are then looking a bit more decent again.
Cleaning of the ruin walls on my backyard mountain slowly takes shape. They made some progress and moved on to the other section. The flag on top is halfway disintegrated again, all the yellow half is completely gone. I’m wondering if they just stop replacing it at some point in time. But probably not.
hasumi riding (cinko) [blue_archive] ⌘ Read more
Juno sucking two thick dongs (Aphy3d) [Overwatch] ⌘ Read more
Alice/ Belle/ Yuzuha (WaterRing) [Zenless Zone Zero] ⌘ Read more
Just checking something (zzzeal zealadair) [original] ⌘ Read more
Study later, sex now (jilu) [original] ⌘ Read more
@bender@twtxt.net Haha 🤣 Spoken like someone that’s done this before 😅
Jinx and Vi share their favorite meal (Fiase3d) [Arcane] ⌘ Read more
@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.
What do you do, when a recruiter throws you a PD or two and says the total compensation is ~2-3x what you’re on now?! 🤔
@thecanine@twtxt.net Not bad. 🥳 Fingers crossed that they actually do it. 🤞
Reze deals with denji using her own methods(Totonito) [Chainsawman] ⌘ Read more
Carlotta getting fucked hard (Elocca) [Wuthering Waves] ⌘ Read more
Frieren Dominated By Cocks (Deitysexual) [Sousou No Frieren] ⌘ Read more
Toga & Uraraka at the Beach (zdoor623) [My Hero Academia] ⌘ Read more
@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! 👍
D.va training to get even stronger (Orapunch) [Overwatch] ⌘ Read more
Mommy Calli Granting one last Wish (Mythcarts) [Hololive] ⌘ Read more