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/
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 … ?
Intel LASS Feature Looks Like It Will Be Upstreamed For Linux 6.19
Intel’s LASS functionality was queued today into tip/tip.git’s “x86/cpu” Git branch. With LASS now making it into a TIP branch, it looks like it will be submitted for the upcoming Linux 6.19 merge window barring any last minute issues or objections from Linus Torvalds… ⌘ Read more
Qualcomm Updates AI Accelerator Firmware To Fix Power / Performance Issue
Qualcomm upstreamed new Cloud AI 100 “AIC100” firmware today to linux-firmware.git to fix a rather significant power/performance issue for these AI accelerators… ⌘ Read more
Git 2.52 Released With More Preparations Toward Git 3.0
Git 2.52 is out today as the newest feature release of this distributed revision control system and in working toward Git 3.0 that will hopefully release by the end of 2026… ⌘ Read more
Intel Nova Lake Power Management Bits Prepped Ahead Of Linux 6.19
Intel engineers continue working on the Nova Lake next-gen processor enablement for the Linux kernel. In addition to the Intel Xe3P graphics and other early Nova Lake enablement work already queued in “-next” Git branches ahead of the Linux 6.19 merge window, the initial power management code is also ready for this next kernel cycle… ⌘ Read more
6.18-rc6: mainline
Version:6.18-rc6 (mainline)Released:2025-11-16Source:linux-6.18-rc6.tar.gzPatch:full ( incremental) ⌘ Read more
@lyse@lyse.isobeef.org Well, they say you have to build up stocks, don’t they? 😅
The font is fiamf3 (scaled up 2x, it would be too small when printed). It’s the same one that I use in my terminal and the status bars. 😃
@bender@twtxt.net Hahaha! :-D But I actually do like their approach. I don’t know what staff should do differently when they are not involved in the channel topic. At least in the general case. Maybe in this specific scenario here they could have cross-checked domains, git repos and stuff like that. But I also reckon that it’s only fair if they treat everybody the same.
Done ✅ Will be available on this pod as soon as the publish workflow finished successfully.
6.18-rc5: mainline
Version:6.18-rc5 (mainline)Released:2025-11-09Source:linux-6.18-rc5.tar.gzPatch:full ( incremental) ⌘ Read more
Lenovo IdeaPad Linux Driver Adding Support For Rapid Charge Mode
Queued into the platform-drivers-x86 “for-next” Git branch ahead of the Linux 6.19 merge window is introducing the handling for the “Rapid Charge” USB-C charging mode to the Lenovo IdeaPad laptop driver… ⌘ Read more
PR to clean up some unwanted specs and cleanup some invalid/bad references. 🙏
6.18-rc4: mainline
Version:6.18-rc4 (mainline)Released:2025-11-02Source:linux-6.18-rc4.tar.gzPatch:full ( incremental) ⌘ Read more
🥳 Just released Gatherly v0.3.0 🤟 – My instance is available at: https://gatherly.mills.io (free for anyone to use)
6.18-rc3: mainline
Version:6.18-rc3 (mainline)Released:2025-10-26Source:linux-6.18-rc3.tar.gzPatch:full ( incremental) ⌘ Read more
6.18-rc2: mainline
Version:6.18-rc2 (mainline)Released:2025-10-20Source:linux-6.18-rc2.tar.gzPatch:full ( incremental) ⌘ Read more
When I’m about to run a git status ⌘ Read more
Git Developers Talk About Potentially Releasing Git 3.0 By The End Of Next Year
Comments ⌘ Read more
6.18-rc1: mainline
Version:6.18-rc1 (mainline)Released:2025-10-12Source:linux-6.18-rc1.tar.gzPatch:full ⌘ Read more
20 Years of Git, 2 days at GitHub HQ: Git Merge 2025 highlights 🎉
Git Merge 2025 celebrated 20 years of Git with talks, collaboration, and community. Catch the highlights and recordings.
The post 20 Years of Git, 2 days at GitHub HQ: Git Merge 2025 highlights 🎉 appeared first on The GitHub Blog. ⌘ Read more
@lyse@lyse.isobeef.org Cool! 😎 You might be interested in my own learnings and toying around with building my own container engine / tooling (whatever you wanna call it) box. I had to learn a bunch of this stuff too 😅 Control Groups, Namespaces, Process Isolation, etc.
@zvava@twtxt.net No HEAD requests, but regular GETs with If-Modified-Since request headers if possible: https://git.mills.io/yarnsocial/yarn/src/branch/main/internal/fetcher.go#L270
I think I’m just about ready to go live with my new blog (migrated from MicroPub). I just finished migrating all of the content over, fixing up metadata, cleaning up, migrating media, optimizing media.
The new blog for prologic.blog soon to be powered by zs using the zs-blog-template is coming along very nicely 👌 It was actually pretty easy to do the migration/conversation in the end. The results are not to shabby either.
Before:
- ~50MB repo
- ~267 files
After:
- ~20MB repo
- ~88 files
Pretty happy with my zs-blog-template starter kit for creating and maintaining your own blog using zs 👌 Demo of what the starter kit looks like here – Basic features include:
- Clean layout & typography
- Chroma code highlighting (aligned to your site palette)
- Accessible copy-code button
- “On this page” collapsible TOC
- RSS, sitemap, robots
- Archives, tags, tag cloud
- Draft support (hidden from lists/feeds)
- Open Graph (OG) & Twitter card meta (default image + per-post overrides)
- Ready-to-use 404 page
As well as custom routes (redirects, rewrites, etc) to support canonical URLs or redirecting old URLs as well as new zs external command capability itself that now lets you do things like:
$ zs newpost
to help kick-start the creation of a new post with all the right “stuff”™ ready to go and then pop open your $EEDITOR 🤞
@prologic@twtxt.net No, this is a Linux manpage from the man-pages project: https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man/man7/ascii.7
I do have an idea what’s going on. Could be an unfortunate interaction between the table preprocessor tbl and the man macro package. 🤔
@prologic@twtxt.net you doing this reminded me of mkws, and Adi. Good times, we have seeing so many people come and go. It is kind of sad, when I think about “jjl”, and Phil, and the many others…
I am feeling “mushy” today. Ugh, ageing sucks.
I just created a zs blogging template which I’m going to use for https://prologic.blog and I might starting writing long-form again soon™ 🔜 So far the “blogging” template/engine (if you weill) is quite simple. It comprises essentially of an index.md a prehook and a few utilities:
$ git ls-files
.gitignore
.zs/config.yml
.zs/editthispage
.zs/include
.zs/layout.html
.zs/list
.zs/months
.zs/now
.zs/onthispage
.zs/posthook
.zs/postsbymonth
.zs/prehook
.zs/scripts
.zs/styles
.zs/tagcloud
.zs/taglist
.zs/years
archives/.empty
assets/css/site.css
assets/js/main.js
index.md
posts/hello-zs-blog.md
posts/on-tagging.md
posts/second-post.md
tags/.empty
Using Vimdiff As A Git Mergetool ⌘ Read more
@zvava@twtxt.net Not much of a known fact these days, but thereused to be a Yarn phone app (https://git.mills.io/yarnsocial/app), last version released 5 or so years ago, but it still suggests, it has to be somewhat feasable, to make another one. I don’t think anyone tried since, because the web version works well on phones, but I’m still hoping, we get a more native phone experience, one day.
@movq@www.uninformativ.de Luckily, I had a grep -v git at the end, so my repo is still in working order. Phew. I wish find had grep-like --exclude-dir and --exclude options (or the include variants) instead of its own weird options that I never can remember and combine properly.
sed -i s/… $(find …). Clearly, I found too many files. That's the signal to go to bed.
@lyse@lyse.isobeef.org Yeah, I’ve corrupted a Git repo or two doing that … 🥴
How about no longer using in-browser Git repo viewers? Make the AI bots do the work and actually clone the repo.
@dce@hashnix.club You should try los86! 8-)
Well, what are you trying to do on this ThinkPad? That might affect the OS choices.
I really had to laugh when I read your initial comparison. I love it! :-D
Now that’s interesting. Some of these bots start crawling at URLs like this:
That is obviously completely wrong. But I can explain it. Some years ago, I screwed up my nginx rewrite rules, and that’s how these broken URLs came to be.
It all redirects to /git now, which is why that endpoint sees so much traffic lately.
But what does that mean? Why do they start there? I can only speculate that this company bought an old database of web links and they use that to start crawling. And it was probably a cheap one, because these redirects have been fixed for quite a long time now.
The bots have begun to access my website way more often. I’m getting about 120k hits on https://www.uninformativ.de/git/ now in a couple of hours.
They don’t cache anything, probably on purpose.
It comes in waves. I get about 100 hits (all at once) on that /git endpoint, all from different IPs. Then it takes a moment until I get another wave of about 500-1000 requests (all at once) where they do HEAD requests on some of the paths below /git. I assume they did a GET earlier and are now checking if something has changed.
@dce@hashnix.club Ah, oh, well then. 🥴
My client supports that, if you set multiple url = fields in your feed’s metadata (the top-most one must be the “main” URL, that one is used for hashing).
But yeah, multi-protocol feeds can be problematic and some have considered it a mistake to support them. 🤔
The move from sourcehut git pages hosting is almost done. This is a test ;)