prologic

twtxt.net

Problems are Solved by Method\" 🇦🇺👨‍💻👨‍🦯🏹♔ 🏓⚯ 👨‍👩‍👧‍👧🛥 -- James Mills (operator of twtxt.net / creator of Yarn.social 🧶)

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

⤋ Read More
In-reply-to » TNO Threading (draft):
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.

⤋ Read More
In-reply-to » TNO Threading (draft):
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.

⤋ Read More

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) (implicit ofeed=self).
  • Replies: (tno:N) (ofeed:<url>).
  • Clients: increment tno locally for new threads, copy tags on reply.
  • Subjects optional, not required.

⤋ Read More
In-reply-to » Here is just a small list of things™ that I'm aware will break, some quite badly, others in minor ways:

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.

⤋ Read More
In-reply-to » Here is just a small list of things™ that I'm aware will break, some quite badly, others in minor ways:

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.

⤋ Read More
In-reply-to » Here is just a small list of things™ that I'm aware will break, some quite badly, others in minor ways:

@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.

⤋ Read More
In-reply-to » Here is just a small list of things™ that I'm aware will break, some quite badly, others in minor ways:

@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.

⤋ Read More
In-reply-to » @zvava @lyse I also think a location based reference might be better.

Here is just a small list of things™ that I’m aware will break, some quite badly, others in minor ways:

  1. 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.
  2. Duplication & forks: mirrors/relays produce multiple valid locations for the same post; readers see several “parents” and split the thread.
  3. 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.
  4. Offline/cached reading: without the original URL being reachable, readers can’t resolve anchors; with hashes they can match against local caches/archives.
  5. 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.

⤋ Read More
In-reply-to » @zvava @lyse I also think a location based reference might be better.

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.

⤋ Read More
In-reply-to » @bender @thecanine well now this has me thinking abt the feasibility of making an android twtxt app for pods, the actual apis of pods would have to be standardized (or the fucked up way that activitypub does it, where the "mastodon api" is the defacto client api (does yarn even have an api reference?)) or the client is just simply..a client..but editing feeds via PUT, PATCH, DELETE etc. is standardized!...? (not to mention i dont even know where to begin making an android app lmao)

@zvava@twtxt.net And yes yarnd does have a well documented API and two clients (CLI and unmaintained Flutter App)

⤋ Read More
In-reply-to » @bender @thecanine well now this has me thinking abt the feasibility of making an android twtxt app for pods, the actual apis of pods would have to be standardized (or the fucked up way that activitypub does it, where the "mastodon api" is the defacto client api (does yarn even have an api reference?)) or the client is just simply..a client..but editing feeds via PUT, PATCH, DELETE etc. is standardized!...? (not to mention i dont even know where to begin making an android app lmao)

@zvava@twtxt.net We can do that 👌

⤋ Read More
In-reply-to » wait....so i'm like nearly done? it just works? and it's fast? this feels like the end of the first all-nighter i pulled where i just got post creation done, unaware of the three weeks that would follow — like looking at the roadmap i'm definitely not done but bbycll is like actually kind of usable now o.o

@zvava@twtxt.net The first version of what is now yarnd was built over a weekend 😀

⤋ Read More
In-reply-to » Now that’s interesting. Some of these bots start crawling at URLs like this:

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. 🤣

⤋ Read More
In-reply-to » @prologic @movq My metadata only has my HTTPS URL. I didn't consider having multiple. I was talking about my config.yaml. Jenny sounds like a good client, so I might give that a try.

@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™ 😅

⤋ Read More
In-reply-to » It might just be my client, but it seems that I cannot track multiple URLs at once. As such, all three of my twtxt URLs will work for following, but mentions will only reach me at my HTTPS URL (https://hashnix.club/~dce/twtxt.txt). If there is a client that can cope with twtxt mirrors, I would love to know about it.

@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.

⤋ Read More
In-reply-to » You know, I think I do actually like it here better than my other social media. It's slower and quieter, but it feels more organic and nobody's trying to sell me anything, promote their podcast, or change the way I think. It's just... nice!

@dce@hashnix.club these are some of the same reasons that I enjoy Yarn.social/Twtxt 🙌

⤋ Read More
In-reply-to » RIP Android:

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.

⤋ Read More
In-reply-to » @prologic Hmm, good question. I haven’t checked the market, I got mine from someone I know. But to be honest, I’d suspect that buying a used one is actually your best shot, because there is virtually no market for these devices anymore, meaning new ones are very, very expensive. 🫤

@movq@www.uninformativ.de Is there like a TL;DR of this standard? I can’t say I remember this tbh 🤔

⤋ Read More
In-reply-to » Sooooooooo, things happened, and I now have a dot matrix printer again. 😍😂

@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 🤣

⤋ Read More
In-reply-to » Sooooooooo, things happened, and I now have a dot matrix printer again. 😍😂

@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!)

⤋ Read More
In-reply-to » After around 3 years, I managed to make my "smallest recognizable canine", even smaller. So here's the all new, smallest recognizable canine 2.0: Media

@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! 👌

⤋ Read More
In-reply-to » After around 3 years, I managed to make my "smallest recognizable canine", even smaller. So here's the all new, smallest recognizable canine 2.0: Media

@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) 😅

⤋ Read More
In-reply-to » @itsericwoodward 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 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 🤣)

⤋ Read More

@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 🤣

⤋ Read More

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 🤣

⤋ Read More

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.

⤋ Read More
In-reply-to » on my yarn pod nothing really embeds (not even images) so i'm looking at the embed rules part of the mod settings and i'm like... i don't know how to do any of this 😭😭😭

There is a missing feature I’ve been intending to add to though, which is that any link that looks like a URL that might be an image, for example, ends with .png or .jpg or whatever, we should just render that as an image and not expect users to wrap it in Markdown image links ![](...)

⤋ Read More
In-reply-to » on my yarn pod nothing really embeds (not even images) so i'm looking at the embed rules part of the mod settings and i'm like... i don't know how to do any of this 😭😭😭

@kat@yarn.girlonthemoon.xyz Ahh what do you mean by images don’t embed? They definitely should! By default however all domains are blocked, so you might want to either allow some domains or just put in a .* entry to allow all/any domsins. Screenshot attached

⤋ Read More