Timeline of Evolution of Twtxt/Yarn.social:
- 2016 – Twtxt created by John Downey: plain text + HTTP = minimalist microblogging
- 2017–2019 – Community builds CLI tools, but adoption remains niche
- 2020 – Yarn.social launched by @prologic@twtxt.net with federation, threading, UI
- 2021–2023 – Pods sync, user mentions, blocking, search, and media support added
- 2024+ – Yarn.social becomes the reference Twtxt platform, with active federated pods
I asked ChatGPT what it knows about Twtxt 😂 And surprisingly it’s rather accurate:
Twtxt is a minimalist, decentralized microblogging format introduced by John Downey in 2016. It uses plain text files served over HTTP—no accounts, databases, or APIs.
In 2020, James Mills (@prologic@twtxt.net) launched Yarn.social, an extended, federated implementation with user discovery, threads, mentions, and a full web UI.
Both share the same .twtxt.txt format but differ in complexity and social features.
@bender@twtxt.net LOL 🤣
Oh hey @rrraksamam@twtxt.net 👋 Welcome back! 🙌 Sorry about the data loss 🤯
@movq@www.uninformativ.de From what I can tell, they use strict semantic versioning and backwards compatibility. There are two versions of the storage, v1 and v2, but it doesn’t look like v2 is enabled yet.
B
A
AS136907 HWCLOUDS-AS-AP HUAWEI CLOUDS
@aelaraji@aelaraji.com Haha 🤣 I’d say it’s just yet-another-bad-bot 🤖 I’ve blocked a lot of such bots and often their entire networks (ASN) 🤦♂️
I use restic and Backblaze B2 for offline backup storage at a cost of $6/TB/month. I don’t backup my entire ~20TB NAS and its datasets however, so I’m only paying about ~$2/month right now. I only backup the most important things I cannot afford to lose or annot re-created.
Yes
@javivf@adn.org.es merged in to the repo of specs:
SqliteCache
backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache
(which is now gone in the codebase in this branch). Do you care to migrate at all, or just let the pod re-fetch all feeds? 🤔
@kate@yarn.girlonthemoon.xyz I’ll cut a release soon™, but still a few more things to iron out 🤣 One of the new challenges is figuring out what to do with the “Discover” view now that is has an unconfined limit, on my pod (at least) it’s now basically just “noise” 🤦♂️
@kate@yarn.girlonthemoon.xyz Been missing your jovial posts too and your friends 🤣
@quark@ferengi.one No editing old Twts that are the root of a thread with replies in the ecosystem. Just results in a fork. Unless the client has an implementation that does not store Twts keyed by Hash.
@movq@www.uninformativ.de Oh dear 😂
SqliteCache
backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache
(which is now gone in the codebase in this branch). Do you care to migrate at all, or just let the pod re-fetch all feeds? 🤔
@kate@yarn.girlonthemoon.xyz The re-fetch should work just fine 🤞
@david@collantes.us Thanks I’ll fix.
@bender@twtxt.net Sure 👻👻👻
@bender@twtxt.net That’s what I’m trying to figure out 🤔
@andros@twtxt.andros.dev Curious where this root twt is?! 🤣 Apparently my pod doesn’t have it and I can’t find it anywhere. It’s suppose to be #l4doaxa
@andros@twtxt.andros.dev For what purpose? 🤔
@xuu@txt.sour.is Yeah @-mentioning@twtxt.net someone you don’t have a local alias for is broken somehow :( I haven’t looked into it yet…
@xuu@txt.sour.is Seems to be fine here?
$ bat https://twtxt.net/twt/yfv5kfq | jq '.text'
"!<dm-echo https://dm-echo.andros.dev/twtxt.txt> U2FsdGVkX1+QmwBNmk9Yu9jvazVRFPS2TGJRGle/BDDzFult6zCtxNhJrV0g+sx0EIKbjL2a9QpCT5C0Z2qWvw=="
@fastidious@tilde.town Haha 🤣
@<@marado@ciberlandia.pt https://tilde.pt/~marado/twtxt.txt> Hey! do you see this? 🧐
@bender@twtxt.net I don’t no. I mostly just use whole themes. And my facourite it AMOLED
@doesnm.p.psf.lt@doesnm.p.psf.lt It was always intended to have both Yarn.social and Salty.im integrate together. Yes. This includes having a set of specifications that anyone can write clients to.
@javivf@adn.org.es Generally speaking if it has been reviewed, discussed and merged, then we accept it as a standard to the set of specs we support. However we might want to document this process and set some guidelines about this to be clear 🤣 We’ve been fairly lax/lose here and I think that’s okay given teh size of our community 👌
@bender@twtxt.net Ahhh ha!!! 🤣 I’m too dumb to have thought of that 🤣
@bender@twtxt.net Do we still want this feature? 🧐
@bender@twtxt.net Would they even accept a server from me? 🧐😂
@eapl.me@eapl.me This is one of my concerns too. The moment you post publicly ciphertext, you open yourself up for future attacks on the ciphertext, which you really want to avoid if you can. If you have a read of the Salty.im Spec you’ll note we went to great lengths to protect the user’s privacy as well as their identity and make it incredibly hard to guess at inboxes. It’s still a WIP, but I’d love to see it progressed even further – I truly feel strongly about a purely decentralised messaging ecosystem 👌
@bender@twtxt.net ping! 🏓
@hacker-news@feeds.twtxt.net I like this 👌
@andros@twtxt.andros.dev Nice! 😊
@bender@twtxt.net Close enough 🤣
@andros@twtxt.andros.dev No worries! 😉
@bender@twtxt.net Sadly my earlier Twt back in ~2020 is now gone from at least this pod’s cache 🤣 – It might still exist in other pods though? 🤔 It does! https://txt.sour.is/twt/o6dsrga
I think I would encourage anyone in this community is to care less about supporting “legacy clients” and focus more on value-add whilst balancing the burden of client authors – which have very precious little “spare time” 🤣
I do think integrating things like Salty.im might actually be a good idea. I can also see a future where we integrate other things like todo.txt
and calendar.txt
. I’d even love to see decentralised forms of “plain text” voting too.
@andros@twtxt.andros.dev I don’t see any “fighting” here. This is just good experimentation. Unfortunately there hasn’t really been enough time or effort by other “client authors” yet, me especially as I’ve been super busy with ya’ know my “day job” that pays the bills and refactoring yarnd
to use a new and shiny and much better SqliteCache
🤣 – I certainly don’t think your efforts are wasted at all. I would however like @doesnm.p.psf.lt@doesnm.p.psf.lt encourage you to look at the work we’ve done as a community (which was also driven out of the Yarn.social / Twtxt community years back).
SqliteCache
backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache
(which is now gone in the codebase in this branch). Do you care to migrate at all, or just let the pod re-fetch all feeds? 🤔
@eldersnake@we.loveprivacy.club No worries! 👌
Morning y’all 👋
@andros@twtxt.andros.dev Ahh I see 👌
@prologic@twtxt.net Yes, it is a security hole. All dm-echo messages are readable. I intend it to be a debugging tool. Maybe I can include a warning message. If many of you see that it is a serious problem, I can remove the links.
@andros@twtxt.andros.dev your feed is spitting out dupes? 🧐
@andros@twtxt.andros.dev I honestly think IRC is better anyway 🤣
@bender@twtxt.net I think mentions are fixed 🤣
Oh hello @yarn_police@twtxt.net 🚨
@doesnm.p.psf.lt@doesnm.p.psf.lt Why would you want that lol 😂
This is nuts. Lemme eat dinner first (pizza on the way!) and I’ll fix this utter nonsense 🤣
@bender@twtxt.net IRC man 🤣
Fascinating read on the emerging Model Context Protocol — a new standard for integrating LLMs with agents and tools.
@andros@twtxt.andros.dev doesn’t this defeat the point of public cryptography?
@bender@twtxt.net Haha 🤣
Dam the search here is sooo good now 😅
@bender@twtxt.net Now you have me thinking, which is better? 🤔
@bender@twtxt.net I will figure this out soon™ and fix, it’s annoying the fuck out of me 🤣
I personally really like the news minimalist (fuck it mentions are kind of broken atm here in the UI :/) feed myself, really good quality, very high signal 👌
@andros@twtxt.andros.dev It’s good advice 😅 I try to do this myself (please call me out if you ever catch me NOT doing this 🤣)
@andros@twtxt.andros.dev Q: Why would you publish the private key? Hmmm 🧐
Cool. That’s fixed! 🥳 I believe we’re now syncing to 6 peers again now. Hopefully with similar behavior as before 🤞
Oops, I think this pod (twtxt.net
) just sync ~1k missing root twts with god only knows which peers 🤦♂️ I forgot a couple of important key things:
- Only coverage with a subset of peers
- Only converge with trusted peers
Fuck me 🤣 Ooops. Sorry!
Nice! 😊
Peering is back 🤞
@andros@twtxt.andros.dev Kind of a cool idea actually! 👌 I’ll follow and see what it’s like, thanks! 🙏
Broadcast Positioning System, as an alternative to GPS. Very cool 😎
@bender@twtxt.net Sweet! 🙌
How’s that? Please refresh and see if that’s fixed? 🙏
@bender@twtxt.net There is only one commit that I can think of that might be the cause here. Shall I revert and redeploy? 🤔
@bender@twtxt.net Seems fine here on my
iPhone? 🧐
Yeah same order of magnitude 👌 No relation mice other than the recent study that precisely measured the number of cells and connections in 1 cubic mm of brain tissue.
I was trying to optimize the SQL query used for the Compact FrontPage (anonymous view for Discovery when the Admin/Operator chooses “one twt per feed”).
Test
@thecanine@twtxt.net Did you see my revelation earlier today? 🤔
@movq@www.uninformativ.de Pretty cool song I agree ☝️
@lyse@lyse.isobeef.org Just needed to update the version of the tool I packaged as an OCI image 🤣
Add support for skipping backup if data is unchagned · 0cf9514e9e - backup-docker-volumes - Mills 👈 I just discovered today, when running backups, that this commit is why my backups stopped working for the last 4 months. It wasn’t that I was forgetting to do them every month, I broke the fucking tool 🤣 Fuck 🤦♂️
There are now two (recentish) quotes I really like these days:
The smartest person in the room is not the one with all the answers—it’s the one who’s brave enough to ask the dumb questions
and
The kindest person in the room is often the smartest
Full: Singapore PM’s Reality Check To Trump Amid Tariff War In Parliament: ‘Just The Beginning Of…’ - YouTube @bender@twtxt.net
Based on a recent study of the brains of mice I estimated the human brain to have 200B cells/neurons and 50,000T connections. We have several orders of magnitude to go before we reach that kind of scale with these fucking stupid Big LLMs 🤣 And the best part of all? 🧐 It is estimated that the human brain only consumes the equivalent of 5 Watts of power !!! 🤣🤣🤣
@bender@twtxt.net You will be pleased to know that yarnd
now only consumes ~60-80MB of memory depending on load 🤣 And bugger all CPU 😅
And one more.
Reply?
Hmmm? Test?
@lyse@lyse.isobeef.org Nice sunset 😎
@bender@twtxt.net Did you see the Singaporian president’s speech on this whole nonsense?! 😂 (trade wards, tariffs, free markets, etc)
@bender@twtxt.net Fair enough 🧐
@bender@twtxt.net Technically no but we’ll talk more about this 👌
@bender@twtxt.net No insertion.
@bender@twtxt.net It’s a bug in the UI for sure. The hash is the primary key.
@bender@twtxt.net No, haven’t figured out the reproducer yet 🧐
@bender@twtxt.net I hate vendor lock-in too 🤣
Ordering issue is fixed 🥳
@bender@twtxt.neteapl.me@eapl.me test
@bender@twtxt.net Let’s just optimize/fix those annoyances later on once I’ve finished pagination. Then I’ll merge this branch into main.