7
to 12
and use the first 12
characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q
or a
(oops) đ
And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! đ± #Twtxt #Update
that said, and reading to @sorenpeter@darch.dk and @andros@twtxt.andros.dev I have new thoughts. I assume that this wonât change anyoneâs opinions or priorities, so it makes no harm sharing them.
Itâs always tempting to use something that already exists (like X, Masto, Bsky, etc.) rather that building anything through effort and disagreement until reaching to something useful and valuable together. A âsocial serviceâ is only useful if people is using it.
Iâll add that I havenât lost interest on the âhackyâ part of twtxt about developing tools, protocols, and extensions as a community. Itâs the appealing part! Itâs a nice hobby to have, shared with random people across the world.
But this is not the right way for me, and makes me feel that Iâm unwelcome to propose something different (after watching replies to my previous twt). Feels like âIf you donât agree, you are free to leave, weâll miss you.â Naah, not cool. Iâve lived that many times before, and nowadays I donât have enough spare time and energy for a hobby like that.
Letâs see what happens next with the micro-community!
7
to 12
and use the first 12
characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q
or a
(oops) đ
And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! đ± #Twtxt #Update
just for the record I didnât say I was leaving the twtxt âcommunityâ (did I?) but than I have other priorities to focus on in the following months. Please donât be condescending, is not cool.
Development of Timeline (PHP client) has been stale for some reasons, a few of them in my side, so I think it wonât be updated to the new thread model, at least pretty soon.
So is not that Iâll stop using twtxt, just the client I use wonât be compatible with the new model in July.
7
to 12
and use the first 12
characters of the base32 encoded blake2b hash. This will solve two problems, the fact that all hashes today either end in q
or a
(oops) đ
And increasing the Twt Hash size will ensure that we never run into the chance of collision for ions to come. Chances of a 50% collision with 64 bits / 12 characters is roughly ~12.44B Twts. That ought to be enough! -- I also propose that we modify all our clients and make this change from the 1st July 2025, which will be Yarn.social's 5th birthday and 5 years since I started this whole project and endeavour! đ± #Twtxt #Update
July 1st. 63 days from now to implement a backward-incompatible change, apparently not open to other ideas like replacing blake with SHA, or discussing implementation challenges for other languages and platforms.
Finally just closing #18, #19 and #20 without starting a proper discussion and ignoring a âmicro consensusâ feels⊠not right.
I donât know what to think rather than letting it rest (May will be busy here) and focus on other stuff in the future.
hehe, just catching up on this thread! Iâve replied in another that using periods/dots sounds good to me as itâs usual in domains, but perhaps some agreement would be needed. For now I think any character is valid as long as it is not a space.
For example we are using this for PHP twtxt.php#L153
.
(s) / dot(s) like @eapl.me are valid? đ€ Or nicks even? đ€
ok! sorry, somehow Iâm getting lost in the replies.
.
(s) / dot(s) like @eapl.me are valid? đ€ Or nicks even? đ€
on timeline the mention looks OK. Is there an issue on Yarn?
Itâs an interesting topic. For example on Bsky itâs natural to allow domains https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial
Although TwiXter only allows (letters A-Z, numbers 0-9 and of underscores)
https://help.x.com/en/managing-your-account/x-username-rules
dm-only.txt
feeds. đ
by commenting out DMs are you giving up on simplicity? See the Metadata extension holding the data inside comments, as the client doesnât need to show it inside the timeline.
I donât think that commenting out DMs as we are doing for metadata is giving up on simplicity (itâs a feature already), and it helps to hide unwanted DMs to clients that will take months to add itâs support to something named⊠an extension.
For some other extensions in https://twtxt.dev/extensions.html (for example the reply-to hash #abcdfeg
or the mention @ < example http://example.org/twtxt.txt >
) is not a big deal. The twt is still understandable in plain text.
For DM, itâs only interesting for you if you are the recipient, otherwise you see an scrambled message like 1234567890abcdef=
. Even if you see it, youâll need some decryption to read it. Iâve said before that DMs shouldnât be in the same section that the timeline as itâs confusing.
So my point stands, and as Iâve said before, we are discussing it as a community, so letâs see what other maintainers add to the convo.
dm-only.txt
feeds. đ
@andros@twtxt.andros.dev I give you not creating another file, but then Iâd vote for commenting out DMs. See https://eapl.me/timeline/post/z5e2bna
Itâs easier to find the DM in comments from your side, than asking all the client maintainers to add the regex =P
You can even use a Modified comment, such as
#! <DM content>
Or something like that
This approach is retro-compatible with current and older clients.
si4er3q
. See https://twtxt.dev/exts/twt-hash.html, a timezone offset of +00:00
or -00:00
must be replaced by Z
.
just a note that we are doing that on PHP: https://github.com/eapl-gemugami/twtxt-php/blob/master/docs/03-hash-extension.md#php-72
That PHP snippet could be merged into https://twtxt.dev/exts/twt-hash.html
it should be
# 2025-04-13T11:02:12+02:00 !<dm-echo https://dm-echo.andros.dev/twtxt.txt> U2FsdGVkX1+QmwBNmk9Yu9jvazVRFPS2TGJRGle/BDDzFult6zCtxNhJrV0g+sx0EIKbjL2a9QpCT5C0Z2qWvw==
my main itch with the DMs extensions is that these messages are intended to be private, not public information. Thatâs why other extensions make sense, but DMs are another kind of feature.
TwiXter, Mastodon, FB and some other services usually hide the DMs in another section, so they are not mixed with the public timeline.
I find the DM topic interesting, I even made an indie experiment for a centralized messaging system here https://github.com/eapl-gemugami/owl.
Although, as Iâve said a few times here, Iâm not particularly interested in supporting it on microblogging, as I donât use it that much. In the rare case Iâve used them, I donât have to manage public and private keys, and finally none of my acquaintances use encrypted email.
Nothing personal against anyone, and although I like to debate and even fight, itâs not the case here. This proposal is the only one allowing DMs on twtxt, and if the community wants it, Iâll support it, with my personal input, of course.
A good approach I could find with a good compromise between compatibility with current clients and keeping these messages private is âhidingâ the DMs in comments. For example:
# 2025-04-13T11:02:12+02:00 !<dm-echo https://dm-echo.andros.dev/twtxt.txt> U2FsdGVkX1+QmwBNmk9Yu9jvazVRFPS2TGJRGle/BDDzFult6zCtxNhJrV0g+sx0EIKbjL2a9QpCT5C0Z2qWvw==
I think that having a dm-only.txt
, twtxt-dm.txt
or any other name for an alternative file is the most sensible approach. The name could be specified in the metadata.
not a big deal as I can skip those messages, but again, itâs an extension, so older clients shouldnât be affected by a new feature.
Iâm also thinking that some kind of tag might be needed to automatically hide twts from unknown extensions. For example our client doesnât support DMs and always shows the !<nick url><encrypted_message>
syntax which is meaningless.
well, I suggested that in https://eapl.me/timeline/conv/k2ob6bq
The idea was to help those following the spec in https://twtxt.dev/exts/directmessage.Html, to replicate the steps and validate whether your implementation gives the same result.
BTW, you could add a link to the spec in the echo web.
you got me đ, it was like a few Internet centuries ago
the Fireworks and Confetti animations are amazing. It reminds me a lot of my first code on QBasic a few years ago.
This is sooo cool, it reminds me of learning QBasic (and then Visual Basic) in the 90s
Easylang story
https://easylang.online/apps/story.html
This is such an interesting reading
Lessons from open source in the Mexican government
https://lwn.net/Articles/1013776/
yep, it looks nice! How could add my URL?
Is it following the same endpoints than https://registry.twtxt.org/swagger-ui/#/users/addUser ?
BTW, I think that the usage
section has a wrong base URL or something.
For example if you enter here: https://watcher.sour.is/conv/4rx5iyq
It says to look for this URL: https://watcher.sour.is/conv/4rx5iyq/api/plain/users
Which seems to return the content from https://watcher.sour.is
In Mexico you couldnât register the word Sonora (state), nor Taqueria (kind of restaurant) as there are two common words, but perhaps the combination of both is trademarkable, Iâm not sure, so many âtaqueriasâ here donât file a trademark request. Itâs usually âTaquerĂa [LAST_NAME]â or âTaquerĂa [PLACE]â.
At the same time, the word âtaqueriaâ was trademarked in UK, like it would be âParisâ or âPubâ I guess, so basically Sonora Taqueria didnât reply to the cease and desist, based on:
[Lizbeth GarcĂa]: A brand may not use a word that is generic or descriptive of the products or services it is putting into circulation on the market.
Since he (Ismael, Taqueriaâs representative) didnât get any response, he decided to leave it in the hands of his law firm.
In early 2023, after all the noise on the internet and the mobilization caused by this case, an agreement was finally reached with TaquerĂa to settle the matter peaceably.
In March 2023, Michelle and Sam decided to register the Sonora TaquerĂa brand and logo with the UK Intellectual Property Office.
An interesting episode about naming stuff, and some implications of the âTrademarksâ
https://radioambulante.org/en/translation/who-owns-the-taqueria-translation
well, there is a whole book about piracy, DRM and selling stuff on the internet.
https://en.m.wikipedia.org/wiki/Information_Doesn%27t_Want_to_Be_Free
So I wonât add much to the topic, what I can say is that this is about being pragmatic. There is some people whoâs gonna spend their money on books but it requires publicity (polemic topic) and subsidizing creativity with our own money (another controversial one).
Otherwise itâs a difficult discipline /profession /industry
yay! A new client đ
definitely 1e100 superiorer
Now Iâm looking forward to see the next version using MessagePack
thatâs certainty an interesting idea.
Building on top of that, Iâm thinking of https://eapl.me/yatwt.yaml
well, that leads to a long conversation.
Piracy is a difficult topic which is very personal, so I wonât say much about it.
On writing books, Iâve tried along with other digital products such as courses and videogames, and I got to confess that it has been hard for me.
If it helps, I think it all reaches our expectations on the activity and the result. If royalties is the expectation, itâs going to be slow. By 5% of royalties, for a rough example, a huge amount of sales will be required to get a decent âwageâ, so Iâve understood of doing it by the side of a normal employment although it has been discouraging and a bit sad.
I have reflected about it in Spanish here: https://sembrandojuegos.substack.com/p/sobre-expectativas-al-crear-juegos
nice!
thanks for sharing @xuu@txt.sour.is!
Checking for example https://watcher.sour.is/api/plain/twt or https://registry.twtxt.org/api/plain/tweets, I donât know whether this syntax is being used by clients or by people. Is it integrated on Yarn in any way? Genuinely asking to know more about it.
If I might throw a quick thought to those working on the registries, it would be nice to have an endpoint with a valid twtxt output (perhaps cached or dumped to a static file) which a client could point to, helping to discover itâs content in a way which is compatible with the twtxt spec.
Taking the first twt I found in https://watcher.sour.is/api/plain/twt as an example:
reddit_world_news https://feeds.twtxt.net/Reddit_World_News/twtxt.txt 2025-03-28T00:29:25Z **China bans US logs. 3 billion dollar[...])
it would be something like
TIME <@NICK URL> TWT
2025-03-28T00:29:25Z <@reddit_world_news https://feeds.twtxt.net/Reddit_World_News/twtxt.txt> **China bans US logs. 3 billion dollar[...])
That way you could watch the latest twts with your client, something similar to what we find on Mastodon: https://mastodon.online/public/local
Some support from the clients to separate these âdiscoveryâ content, from your following timeline might be required. đ€
sorry @prologic@twtxt.net, timeline
doesnât autocomplete the mentions yet, and it was âdifficultâ to look for your URL from the phone.
somehow I forgot that existed.
Perhaps it was its mention of being a demo implementation here:
https://twtxt.readthedocs.io/en/latest/user/registry.html#registry
So I though it wasnât really active.
Anyway, I think thatâs a good idea.
Is there something similar available on Yarn? Sorry for for asking if that was mentioned recently.
I think that the clients may help you to submit your URL to these directories, and also to get a view of the twts in them.
twtxt
, the voting period has started and will be open for a week.
https://eapl.me/rfc0001/
thanks @prologic!
@bender the idea of the RFC was to reach an agreement on a difficult problem, receiving proposals, and the voting is a simple count to gauge the sentiment of âis this a problem worth to be fixed?, are we committed to implement a change in our clients?â
But thatâs a fair point. What do the community expect? What do yâall expect?
For anyone following the proposals to improve replies and threads in twtxt
, the voting period has started and will be open for a week.
https://eapl.me/rfc0001/
Please share the link with the twtxt community, and leave your vote on your preferred proposals, which will be used to gauge the perceived benefits.
Also, the conversation is open to discuss implementation concerns or anything aimed at making twtxt better.
What has been the hardest bug you got to fix?
https://hackerweb.app/#/item/43461618
thanks? đ
Now I need the non-hacker friends đ„Č
it seems I donât know how to do Markdown đ
Twtxt was made for nerds, by nerds.
Iâd like to change that. Itâs by nerds/hackers, for nerds/hackers and friends of these. It doesnât have to be hacky all the time, as you donât need to be a nerd to have a blog.
But, for that to happen, someone has to build the tools to improve UX.by design there really is no way to easily discovers others
Yeah, I agree, and although there are directories of email addresses, usually you donât want that, unless you are a âpublic figureâ.
I couldnât say that a microblogging is a âsocial networkâ by default, as a blog is not either. At the same time, people would expect to find new people and conversations, as youâd do in a forum.
I think of two features on top of the current spec:
- Clients showing a few posts of what your following are watching but you donât, so perhaps you find something interesting to follow next. Or that feature of âYour âfollowingsâ are following these accounts/peopleâ. (Hard to explain in english, but I hope you get the idea)
- Sharing your .txt into some directory, saying âHey, I have this twtxt URL, I want to be discoveredâ. Iâm thinking of something like the Federated tab on Mastodon.
thanks andros!
instead of adding the new twt at the end of the feed, do it at the beginning
The PHP client did that originally, although I didnât see a real benefit if you use⊠a client.
It could help if you read the .txt file through a browser or something. Also, not many clients are prepared to cut the request, and you canât rely on the file being organized that way, so finally we dropped that feature.
2 is a great idea, you should suggest it in that blog post.
About 1, well, I think anyone has an email address and only about 5% use a Feed, so it makes sense to offer what most people use đ€
Wow, phishing is just around the corner đ
A Sneaky Phish Just Grabbed my Mailchimp Mailing List
https://www.troyhunt.com/a-sneaky-phish-just-grabbed-my-mailchimp-mailing-list/
yeah, thatâs the tricky part of adding features
âit is very easy to filter or ignore itâ This is the interesting part for legacy clients, hehe
Joking aside, letâs see how it works in the wild!
I have finished 1-9 on Python. If anyone is interested, I could share the code, or in Reddit many people have shared theirs.
đ
Is it working now?
Iâd say again that perhaps the DMs could be stored in another .txt, but anyway Iâd like to try it.
I donât have the need for a physical Calc nor a watch, although Iâm slightly more interested in a https://banglejs.com or an eink watch đ€
I always find the âAdven of codeâ challenges difficult to follow.
i18n-puzzles.com has been a blast, but I donât like having to think about puzzles on weekends. Like with exercise, doing it every day without rest doesnât sound healthy.
Iâd rater have a weekly challenge, at most three.
yeah, it worked, thanks! :)
well, I assume by syntax you mean Gemtext (which I like a lot, my personal blog is built on top of it), so I think it might work for twtxt clientsâŠ
I knew of twtxt in Gemini Antenna, so at least the 2017 spec might work on that protocol. I think the main issue with extensions is that they werenât designed with many URLs and protocols in mind.
Also I have to admit that the Gemini community significantly reduced in the last few years. I donât know how worth it is to add support for Gemini now.
also Iâve made a draft of a voting page to receive preferences on each proposal
https://eapl.me/rfc0001/
Help me to play with it a bit and report any vulnerability or bug. Also any idea is welcome.