@alexonit@twtxt.alessandrocutolo.it Yes well I’m pretty big on self-hosting. I’ve even tried to start a small business/company around it (but that’s another story for another day!) – Meanwhile I would encourage you to have a look at the work we’ve done in Salty.im 👌
@alexonit@twtxt.alessandrocutolo.it Well we have to really use the same spec or threading doesn’t really work in a truly decentralized manner 😉
@zvava@twtxt.net I axtually latest did and I wasn’t the only one 🤣
@zvava@twtxt.net That’s what I’m leaning towards yeah🤞
Please don’t hate me today; I’m a bit grumpy and have too many reasons to be upset:
- 2 counts of pushing and trying to get the simplest things done at work (that for some reason are made more difficult than they should be)
- This whole Chat Control bullshit
- And some other person things going on that have been ongoing for 72 days and counting 🤬
And I need to make something absolutely clear as well here. Twtxt was completely and utterly dead back in {Aug 2020](https://yarn.social/about.html) when I came across the spec and its simplicity and realised the lost opportunity. Since then we’ve continued to grow a small but thriving community. The extensions we’ve built over time have stood and lasted the test of time for the past ~5 years. We need not break things too badly, because what we have today and was designed years ago actually works quite well™ (despite some flaws).
Put another way, what you are proposing/pushing for requires hundreds of lines of code to change across a half dozen or so clients and lots of breaking changes, not to mention unknowns.
What I want us to do is make only a few half dozen or so lines of code changes to our clients and minimize the breaking changes and unknowns.
@zvava@twtxt.net Going to have to hard disagree here I’m sorry. a) no-one reads the raw/plain twtxt.txt files, the only time you do is to debug something, or have a stick beak at the comments which most clients will strip out and ignore and b) I’m sorry you’ve completely lost me! I’m old enough to pre-date before Linux became popular, so I’m not sure what UNIX principles you think are being broken or violated by having a Twt Subject (Subject) whose contents is a cryptographic content-addressable hash of the “thing”™ you’re replying to and forming a chain of other replies (a thread).
I’m sorry, but the simplest thing to do is to make the smallest number of changes to the Spec as possible and all agree on a “Magic Date” for which our clients use the modified function(s).
@bender@twtxt.net Well honestly, this is just it. My strong position on this is quite simple:
Do the simplest thing that could work.
It’s one of the age old UNIX philosphies.
Therefore, the simplest thing™ to do here is to just increase the hash length, mark a magic™ date/time as @lyse@lyse.isobeef.org has indicated and call it a day. We’ll then be fine for a few hundred years, at which point there’ll be no-one left alive to give a shit™ anyway 🤣
@alexonit@twtxt.alessandrocutolo.it My problem is I don’t see a world where we don’t employ some form of cryptography to use as keys for threads in databases and other such things honestly. I’m not going to use url#timestamp as keys.
Oh man, if the EU actually rolled out this horribd idea called ChatControl that actually threatens the security and privacy of secure e2e encrypted messaging like Signal™, fuck me, I’m out 🤦♂️ I’ll just rage quit the IT industry and become a luddite. I’m out.
index.md a prehook and a few utilities:
@bender@twtxt.net Yes I did about a week or so ago. It took me a lot of effort to get the content even rendered in the first place. LOL I had to basically export my blog as HTML (can you believe that?!) – The Hugo export just didn’t work at all 🤣
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
Each origin feed numbers new threads
(tno:N). Replies carry both (tno:N) and (ofeed:<origin-url>). Thread identity = (ofeed, tno).
@movq@www.uninformativ.de Yes it’s kind of terrible 😞 – Let’s not do this 🤣
@bender@twtxt.net Really? 🤔
Each origin feed numbers new threads
(tno:N). Replies carry both (tno:N) and (ofeed:<origin-url>). Thread identity = (ofeed, tno).
This is possibly the only other threading model I can come up with for Twtxt that I think I can get behind.
Each origin feed numbers new threads
(tno:N). Replies carry both (tno:N) and (ofeed:<origin-url>). Thread identity = (ofeed, tno).
Example:
Alice starts thread href=”https://txt.sour.is/search?q=%2342:”>#42:**
2025-09-25T12:00:00Z (tno:42) Launching storage design review.
Bob replies:
2025-09-25T12:05:00Z (tno:42) (ofeed:https://alice.example/twtxt.txt
) I think compaction stalls under load.
Carol replies to Bob:
2025-09-25T12:08:00Z (tno:42) (ofeed:https://alice.example/twtxt.txt
) Token bucket sounds good.
TNO Threading (draft):
Each origin feed numbers new threads (tno:N). Replies carry both (tno:N) and (ofeed:<origin-url>). Thread identity = (ofeed, tno).
- Roots:
(tno:N)(implicitofeed=self).
- Replies:
(tno:N) (ofeed:<url>).
- Clients: increment
tnolocally for new threads, copy tags on reply.
- Subjects optional, not required.
…
@itsericwoodward@itsericwoodward.com I’m glad to hear it 🤣
Of course we still have to fix the hashing algorithm and length.
I would personally rather see something like this:
2025-09-25T22:41:19+10:00 Hello World
2025-09-25T22:41:19+10:00 (#kexv5vq https://example.com/twtxt.html#:~:text=2025-09-25T22:41:19%2B10:00) Hey!
Preserving both content-based addressing as well as location-based addressing and text fragment linking.
I was trying to say (badly):
That’s kind of my position on this. If we are going to make significant changes in the threading model, let’s keep content based addressing, but also improve the user experience. Answering your question, yes I think we can do some combination of both.
@alexonit@twtxt.alessandrocutolo.it Holy fuck! 🤣 I just realized how bad my typing was in my reply before 🤣 🤦♂️ So sorry about that haha 😆 I blame the stupid iPhone on-screen keyboard ⌨️
@alexonit@twtxt.alessandrocutolo.it Yhays kind of love you!! Stance and position on this. If we are going to make chicken changes in the threading model, let’s keep content based addressing, but also improve the use of experience. So in fact, in order to answer your question, I think yes, we can do some kind of combination of both.
@lyse@lyse.isobeef.org I don’t think there’s any point in continuing the discussion of Location vs. Content based addressing.
I want us to preserve Content based addressing.
Let’s improve the user experience and fix the hash commission problems.
Here is just a small list of things™ that I’m aware will break, some quite badly, others in minor ways:
- Link rot & migrations: domain changes, path reshuffles, CDN/mirror use, or moving from txt → jsonfeed will orphan replies unless every reader implements perfect 301/410 history, which they won’t.
- Duplication & forks: mirrors/relays produce multiple valid locations for the same post; readers see several “parents” and split the thread.
- Verification & spam-resistance: content addressing lets you dedupe and verify you’re pointing at exactly the post you meant (hash matches bytes). Location anchors can be replayed or spoofed more easily unless you add signing and canonicalization.
- Offline/cached reading: without the original URL being reachable, readers can’t resolve anchors; with hashes they can match against local caches/archives.
- Ecosystem churn: all existing clients, archives, and tools that assume content-derived IDs need migrations, mapping layers, and fallback logic. Expect long-lived threads to fracture across implementations.
We’ve been discussing the idea of changing the threading model from Content-based Addressing to Location-based addressing for years now. The problem is quite complex, but I feel I have to keep reminding y’all of the potential perils of changing this and the pros/cons of each model:
With content-addressed threading, a reply points at something that’s intrinsically identified (hash of author/feed URI + timestamp + content). That ID never changes as long as the content doesn’t. Switching to location-based anchors makes the reply target extrinsic—it now depends on where the post currently lives. In a pull-based, decentralised network, locations drift. The moment they do, thread identity fragments.
@kat@yarn.girlonthemoon.xyz Mine shows 1/1 of 14 Twts 😆 I think this is a bug 🤯
@alexonit@twtxt.alessandrocutolo.it I took it down mostly because of continued abuse and spam:l. I intend to fix I and improve the drive and its sister at Summer point 🤞
@alexonit@twtxt.alessandrocutolo.it Love this 😍
@alexonit@twtxt.alessandrocutolo.it Yeah same 🤣 There’s also this @news-minimalist@feeds.twtxt.net feed that shows up the most important shit™ anyway (when/if that happens).
@bender@twtxt.net Seriously I have zero clue 🤣 I don’t read or watch any news so I have no idea 🤦♂️
Did something bad happen in the world today? 🧐
Hello 👋 I’m back!
@bender@twtxt.net Soon soon🤣
@bender@twtxt.net I wish 🤣 Nah work on-site thingy😆
I’m out of town folks and away until tomorrow (have been all week)
@thecanine@twtxt.net Id like that too, it just can’t come from me, because native mobile dev just isn’t my thing 😢
@zvava@twtxt.net And yes yarnd does have a well documented API and two clients (CLI and unmaintained Flutter App)
@zvava@twtxt.net We can do that 👌
@zvava@twtxt.net The first version of what is now yarnd was built over a weekend 😀
@zvava@twtxt.net Herw you go: https://git.mills.io/yarnsocial/twtxt.dev/pulls/28
PR is up for review though 🤞
@zvava@twtxt.net we have to amend the spec and increase the hash length. We just haven’t done so yet 😆
Today is a good day! Took my daughter to art class, got a beard trim, wife is awesome and we’re all doing great 🤞🍀
@kat@yarn.girlonthemoon.xyz @kat@yarn.girlonthemoon.xyz Pretty sure I have many more mentions in the database than the one and only one I see hmmm 🤔 – I’ll have a look at the code when I can and the SQL query it’s using
@zvava@twtxt.net Yes congrats and well done! Keep going! 🥳
@eric@itsericwoodward.com Congrats 🥳
@zvava@twtxt.net Bit ahrd not to 🤣
@zvava@twtxt.net Been there done that haha 🤣
@zvava@twtxt.net Hey 👋 Welcome to Yarn.social 🤗
@ionores@twtxt.net Love the new Avatar dude 😅 Very nice! 👍
@dce@hashnix.club Ooops 😅 Hope you still have enough money for the basics 🤗 I’m doing okay though!
@aelaraji@aelaraji.com Doing okay here 👌
Chances are the database bought wasn’t cheap at all and was aold by some scam company that probably ripped them from six figures or more for a database that’s full of rubbish. 🤣
@movq@www.uninformativ.de Right now I’m basically just blocking entire ASN(s) at this point and large blocks of IP(s) from Anthropic, OPenAI, Microsoft and others.
Didn’t see that coming 😂
@bender@twtxt.net I’ve been cutting back too 😅 Trying to avoid drinking (with alcohol) 24hr before fixtures (🏓) and before training 🤣
Weekend! Whooo 🤣 Having a few too many glassses of 🍷 listening to music on Youtube and playing Chess which I haven’t been playing much lately 😢
@dce@hashnix.club No worries 😌 It’s all documented in our soecs, it’s not such a common thing that we’ve felt the great need to really solve, we’re aware folks want to sometimes have their feed on several protocols, and that’s totally fine™ 😅
@lyse@lyse.isobeef.org Very nice colors dude! 😅
@movq@www.uninformativ.de Yeah, we’ve seen how this plays out in practice 🤣 @dce@hashnix.club My advice, do what @movq@www.uninformativ.de has hinted at and don’t change the 1st # url = field in your feed. I’m not sure if you had already, but the first url field is kind of important in your feed as it is used as the “Hashing URI” for threading.
@dce@hashnix.club these are some of the same reasons that I enjoy Yarn.social/Twtxt 🙌
@dce@hashnix.club Twet is a far better command line client. Yea 👌
@dce@hashnix.club I feel you 🤗
@dce@hashnix.club Hello! 👋 Welcome! 🤗
@movq@www.uninformativ.de Yeah I’m worried about this too. What’s the systemic problem at paay here? Capitalism at it’s extreme? 🤔
To combat malware and financial scams, Google announced today that only apps from developers that have undergone verification can be installed on certified Android devices starting in 2026.
This requirement applies to “certified Android devices” that have Play Protect and are preloaded with Google apps. The Play Store implemented similar requirements in 2023, but Google is now mandating this for all install methods, including third-party app stores and sideloading where you download an APK file from a third-party source.
@movq@www.uninformativ.de TL;DR? 🤔
@movq@www.uninformativ.de Yeah I just got a bit curious after watching your video and reading your OP 😅
@movq@www.uninformativ.de Haha yeah rightio, and yeah inches suck 🤣
@movq@www.uninformativ.de What do you define as “expensive”? 🤔 (I’ve always thought of modern-day painters as a “rip”, and the ink my god 🤯)
@movq@www.uninformativ.de Is there like a TL;DR of this standard? I can’t say I remember this tbh 🤔
@movq@www.uninformativ.de Got a link to this
ESC/P standard.
@movq@www.uninformativ.de Are you sure?
because there is virtually no market for these devices anymore, meaning new ones are very, very expensive.
I think dot matrix printers are still pretty common in many Point of Sales (POS) registers right? At least here in AU they’re very common. I had a quick look myself today, there seems to be quite a solid market for these types of printers. In fact even EPSON still sell Dot Matrix printers themselves 🤣
@movq@www.uninformativ.de Kind of curious now… Is there a (to buy new) dot matrix printer you’d recommend if someone wanted to get into this sort of thing (sending plain ‘ol bytes to a printer port)? 🤔 (I remember this back in the ye ‘old days!)
@twtxtory@twtxtory.adn.org.es it is designed that way on purpose 🤣
@movq@www.uninformativ.de wut da fuq?! 🤯
@thecanine@twtxt.net Haha I thought myself there might ahve been too many pixels on the tail, but I’m no expert in this field 🤣 It’s still a nice canine though! 👌
@thecanine@twtxt.net My daughter (who is pretty good already at art and only 10 :D) says this looks like a “blob” 🤣 I tried to explain to her that this is pixel art, but I’m not quite sure she has the same appreciation (yet) 😅
yarnd (what runs twtxt.net). I'd change this to something that's more supproted like PNG, JPEG, etc.
@eric@itsericwoodward.com Name change is no worries! 😉 Interesting/funnily enough my client yarnd seems to have picked it up automatically which is nice (I’ve historically always had a few bugs to iron out there 🤣)
@itsericwoodward@itsericwoodward.com Also just a heads up, GIF(s) aren’t supproted as an Avatar type on yarnd (what runs twtxt.net). I’d change this to something that’s more supproted like PNG, JPEG, etc.
@eric@itsericwoodward.com I prefer to call what we’ve built here really an “ecosystem”. A network isn’t really an apt description. Twtxt/Yarn is arguably IMO the purest decentralised non-social social media ecosystem I think in existence today 🤣
/29 IPv4 subnet with my ISP used to power my ingress. No longer.
@xuu@txt.sour.is Your ingress is via some kind of tunnelling too right?
@bender@twtxt.net This one: https://n8n.andros.dev/webhook/f0cfd6a6-60c8-4183-a26d-120bbd25a046
@eric@itsericwoodward.com Sure i! Welcome! 🤗
@eldersnake@we.loveprivacy.club Haha, yeah well “thinking” isn’t really something we even know how to define, let alone simulate 🤣
But maybe, just maybe this is why they’re pushing so hard to have this “Age Verification” bullshit. So they can then shut people down like me that routinely “speak up” and “against the status quo”. Bend over backwards? I think not! Assholes 🤣
I realize I’m a nobody, and no-one will care or listen. But to the various UK, EU and AU politicians pushing for this “Online Safety Act” bullshit…. You’re all fucking utter morons! I can’t wait for the backflash of what will come next. Idiots.
/29 IPv4 subnet with my ISP used to power my ingress. No longer.
@bender@twtxt.net It was 🤣
Today I finally got rid of my /29 IPv4 subnet with my ISP used to power my ingress. No longer.
@movq@www.uninformativ.de No one would figure out how to :q! ? 🤣
This whole Age Verification that’s being rolled out in the UK, AU and parts of the EU is totally fucking bullshit. Death to the Online Safety Act.
@jost@jost.sdfeu.org Yeah replying is pretty easy if you see the first reply. Just preserve the so-called “Subject” 🤣
@jost@jost.sdfeu.org Hey 👋
@kiwu@twtxt.net Congrats 🥳
@kat@yarn.girlonthemoon.xyz Any time 😅