Had to build a list of all feeds (that I follow) and all twts in them and there are two collisions already:

$ ./stats
Saw 58263 hashes
7fqcxaa
  https://twtxt.net/user/justamoment/twtxt.txt
  https://twtxt.net/user/prologic/twtxt.txt
ntnakqa
  https://twtxt.net/user/prologic/twtxt.txt
  https://twtxt.net/user/thecanine/twtxt.txt

Namely:

$ jenny -D https://twtxt.net/user/justamoment/twtxt.txt | grep 7fqcxaa

[7fqcxaa] [2022-12-28 04:53:30+00:00] [(#pmuqoca) @prologic@twtxt.net I checked the GitHub discussion, it became a request to join forces.

Do you plan on having them join?

Also for the name, how about:

  • ā€œprogitā€ or ā€œprologitā€ (prologic official hard fork)
  • ā€œgit-stanceā€ (git instance)
  • ā€œGitTreeā€ (Gitea inspired, maybe to related)
  • ā€œGitomataā€ (git automata)
  • ā€œGit.Sourceā€
  • ā€œForgorā€ (forgit is taken so I forgor) šŸ¤£
  • ā€œSweetGitā€ (as salty chat)
  • ā€œPepper Gitā€ (other ingredients) šŸ˜‰
  • ā€œGitHeartā€ (core of git with a GitHub sounding name)
  • ā€œGitTakaā€ (With music in mind)

Ok, enough funā€¦ Hope this helps sprout some ideas from others if nothing is to your taste.]

$ jenny -D https://twtxt.net/user/prologic/twtxt.txt/5 | grep 7fqcxaa

[7fqcxaa] [2022-02-25 21:14:45+00:00] [(#bqq6fxq) Itā€™s handled by blue Monday]

And:

$ jenny -D https://twtxt.net/user/thecanine/twtxt.txt | grep ntnakqa
[ntnakqa] [2022-01-23 10:24:09+00:00] [(#2wh7r4q) <a href="https://txt.sour.is/external?uri=https://twtxt.net/user/prologic/twtxt.txt&nick=prologic">@prologic<em>@twtxt.net</em></a> I know, I was just hoping it might have also gotten fixed by that change, by some kind of backend miracles. šŸ˜‚]

$ jenny -D https://twtxt.net/user/prologic/twtxt.txt/1 | grep ntnakqa
[ntnakqa] [2024-02-27 05:51:50+00:00] [(#otuupfq) <a href="https://txt.sour.is/external?uri=https://twtxt.net/user/shreyan/twtxt.txt&nick=shreyan">@shreyan<em>@twtxt.net</em></a>  Ahh šŸ‘Œ]

ā¤‹ Read More
In-reply-to » Bahahahaha very clever @lyse I look forward to reading your report ! šŸ¤£ However...

@prologic@twtxt.net Care to explain how that proves anything when someone else already got the spoofed twt with no way to tell it was? canā€™t an old twt just be deleted and give a similar result when grep-ed for?

Le me is worried! šŸ˜…

ā¤‹ Read More
In-reply-to » Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

@sorenpeter@darch.dk Yes, fully agreed.

Personally, I am not really concerned about malicious actors here. Some may see that as naive. But if someone turns out to be an idiot, I unfollow their feed and delete my replies to them, done. (Something like (replyto:ā€¦) would even make it trivial to find all my replies to a particular feed and nuke them. Could be done with sed.)

For the same reason, GPG signed feeds never took off. It just doesnā€™t matter. twtxt is small and nieche and that wonā€™t change anytime soon, I think. We only have to make sure that we donā€™t open the gates for massive spam and I think weā€™re safe on that.

Itā€™s easy to get lost in these scenarios and overshoot the target.

ā¤‹ Read More
In-reply-to » I finally decided to do a few experiments with yarnd to see how many things would break and how many assumptions there are around the idea of "Content Addressing"; here's where I'm at so far:

@prologic@twtxt.net Yeah. I guess no matter what we do, either one of us has to do a lot of work on his respective software. šŸ˜… The (absolute) impact on Yarn is probably bigger than that on jenny, simply because Yarn is a much larger piece of software to begin with.

Iā€™ll begin experimenting in jenny with Update Commands and see how bad it gets. Iā€™ve already determined that my storage model wouldnā€™t work anymore. Itā€™s all doable, but, like you, Iā€™m not that happy with all the consequences. šŸ˜‚

ā¤‹ Read More

šŸ‘‹ Reminder folks of the upcoming Yarn.social monthly online meetup:

I hope to see @david@collantes.us @movq@www.uninformativ.de @lyse@lyse.isobeef.org @xuu @sorenpeter@darch.dk and hopefully others too @aelaraji@aelaraji.com @falsifian@www.falsifian.org and anyone else that sees this! šŸ™ Weā€™re hopefully going to primarily discuss the future of Twtxt and the last few weeks of discussions šŸ¤£

  • Event: Yarn.social Online Meetup
  • When: 28th September 2024 at 12:00pm UTC (midday)
  • Where: Mills Meet : Yarn.social
  • Cadence: 4th Saturday of every Month

Agenda:

  • Letā€™s talk about the upcoming changes to the Twtxt spec(s)

#Yarn.social #Meetup

ā¤‹ Read More

My Position on the last few weeks of Twtxt spec discussions:

Feed authors that wish to change the location of their feed (once Twts have been published) must append a new # url = comment to their feed to indicate the new location and thus change the ā€œHashing URIā€ used for Twts from that point onward.

This has implications of the ā€œorderā€ of a feed, and we should either do one of two things, either:

  • Mandate that feeds are append-only.
  • Or amend the Metadata spec with a new field that denotes the order of the feed so clients can make sense of ā€œinlineā€ comments in the feed. ā€“ This would also imply that the default order is (of course) append-only. Suggestion: # direction = [append|prepend]

ā¤‹ Read More
In-reply-to » I finally decided to do a few experiments with yarnd to see how many things would break and how many assumptions there are around the idea of "Content Addressing"; here's where I'm at so far:

The three things we briefly talk about tonight (your morning), so that I donā€™t forget:

  1. Add the ability to allow feed address changes.
  2. Increase hash from 7 to 11, and/or change the hashing algorithm to something else, better.
  3. Implement movq (I simply canā€™t mention while on mobile) second option (the one you like, which maintains content addressing).

ā¤‹ Read More

I finally decided to do a few experiments with yarnd to see how many things would break and how many assumptions there are around the idea of ā€œContent Addressingā€; hereā€™s where Iā€™m at so far:

Basically Iā€™m at a point where spending time on this is going to provide very little value, there are assumptions made in the lextwt parser, assumptions made in yarnd, assumptions in the way storage is done and the way threading works and things are looked up. There are far reaching implications to changing the way Twts are identified here to be ā€œlocation addressedā€ that Iā€™m quite worried about the amount of effort would be required to change yarnd here.

Download

ā¤‹ Read More
In-reply-to » Ever wondered what it would cost to self-hosted vs. use the cloud? Well I often doubt myself every time I look at hardware prices, and I know I have to do some hardware refresh soonā„¢ for the Mills DC (something I don't have a regular plan or budget for), here's a rough ball park:

@mckinley@twtxt.net Yes I have, however Iā€™m not counting that because even using ā€œCloudā€ is not labor free.

ā¤‹ Read More
In-reply-to » Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

@sorenpeter@darch.dk Lins of agree with dealing with this kind of social nonsense which weā€™ve all done in the past šŸ¤£

ā¤‹ Read More
In-reply-to » Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

@movq@www.uninformativ.de I think your scenario doesnā€™t account for clients and their storage. The scenario described only really affects clients that come along later. Even then they would also be able to re-fetch mossing Twts from peers or even a search engine to fill in the gaps.

ā¤‹ Read More
In-reply-to » Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

@movq@www.uninformativ.de I cases of these kind of ā€œabuseā€ of social trust. Then I think people should just delete their replies, unfollow the troll and leave them to shouting in the void. This is a inter-social issue, not a technical issue. Anything can be spoofed. We are not building a banking app, we are just having conversation and if trust are broken then communication breaks down. These edge-cases are all very hypothetical and not something I think we need to solve with technology.

ā¤‹ Read More
In-reply-to » Alright, before I go and watch Formula 1 šŸ˜…, I made two PRs regarding the two ā€œcompetingā€ ideas:

Been thinking about it for the last couple of days and I would say we can make do with the shorter (#<DATETIME URL>)since it mirrors the twt-mention syntax and simply points to the OP as the topic identified by the time of posting it. Do we really need and (edit:...)and (delete:...) also?

ā¤‹ Read More
In-reply-to » Alright, before I go and watch Formula 1 šŸ˜…, I made two PRs regarding the two ā€œcompetingā€ ideas:

Alright, letā€™s call attention to this fact and letā€™s hear your opinions on this:

With the (replyto:ā€¦) proposal, clients cannot indicate that a twt was edited in the long run. Clients can, of course, show that right now, but when they clean their cache and refetch feeds, the information is lost. This can be abused by malicious actors if sufficient time has passed (clients must have purged their cache): Malicious actors can change root twts and thus change the meaning of thread/replies.

Is this a showstopper for you? šŸ¤”

ā¤‹ Read More
In-reply-to » Ever wondered what it would cost to self-hosted vs. use the cloud? Well I often doubt myself every time I look at hardware prices, and I know I have to do some hardware refresh soonā„¢ for the Mills DC (something I don't have a regular plan or budget for), here's a rough ball park:

@prologic@twtxt.net Youā€™ve done extremely well for ~$125/month, but thatā€™s not figuring in labor. Iā€™m sure youā€™ve put a lot of hours into maintenance in the last 10 years.

ā¤‹ Read More
In-reply-to » Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

@prologic@twtxt.net Kind of. But the (edit:) spec has similar problems in its current form:

  1. Post a normal twt with nonsense content, letā€™s say the content is just a dot ā€œ.ā€.
  2. Post an update to that twt, this time filling it with actual content, letā€™s say: ā€œBirds are great!ā€
  3. Wait for people to reply to your twt (which is the edited one). You might get lots of replies along the lines of ā€œohhhh, yeah!ā€ or ā€œšŸ˜šŸ˜šŸ˜ā€ or other stuff wholeheartedly agreeing with you.
  4. Post another update to the first twt, again changing the content completely, letā€™s say: ā€œThe earth is flat!ā€
  5. Delete your first update from your feed, the one with the birds. Not with (delete:), just remove the line.
  6. Thereā€™s now a thread with lots of people agreeing to a twt that says ā€œThe earth is flat!ā€

You might be able to see that the original content was just a dot ā€œ.ā€, but the twt that people actually replied to is gone for good and no way to detect that.

This raises two questions:

  • The easy question: What do we do when the twt that an (edit:) line refers to is removed later on from a feed? We would have to delete that original twt from our caches, including the edit operation. This should be part of the spec.
    • The result being a thread without a root, just like it is today. Thatā€™s fine.
  • The hard question: How do we deal with multiple (potentially malicious or misleading) edits? Do we even want to open that can of worms? People only ever use the original twt hash in their replies, so nobody really knows to which edited version theyā€™re replying. That is very similar to the (replyto:) situation, I think. šŸ¤”

ā¤‹ Read More
In-reply-to » Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

@prologic@twtxt.net

I just realized the other big property you lose is:

What if someone completely changes the content of the root of the thread?

Does the Subject reference the feed and timestamp only or the intent too?

Then the content of that root twt changes. Just like it would with (edit:ā€¦). The only difference is that you cannot go back to that personā€™s feed and find out what the original content was.

In other words, we canā€™t (reliably) show a little star * like on Mastodon to indicate edits.

ā¤‹ Read More
In-reply-to » Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

@prologic@twtxt.net

Regarding the URL changing issue: That is not a new issue and not addressed by either PR. Do you have some plans to solve this that only works with hashes? šŸ¤” Is it feed signing? I have to admit here, I forgot most about the feed signing ideas. šŸ™ˆ

  • Twt Subjects lose their meaning

You mean existing threads in the past? Yeah.

  • Twt Subjects cannot be verified without looking up the feed.
    • Which may or may not exist anymore or may change.

Not sure what you mean? šŸ¤” But yes, things can change (thatā€™s the point).

  • Two persons cannot reply to a Twt independently of each other anymore.

How so? šŸ¤” That would be a total show-stopper, I agree. But are you sure thatā€™s going to happen? For example, if people were to reply to this very twt of yours, they would do this:

(replyto:https://twtxt.net/user/prologic/twtxt.txt,2024-09-21T15:22:18Z) foobar

Am I missing something?

ā¤‹ Read More
In-reply-to » Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

I just realized the other big property you lose is:

What if someone completely changes the content of the root of the thread?

Does the Subject reference the feed and timestamp only or the intent too?

ā¤‹ Read More
In-reply-to » Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

@bender@twtxt.net Yeah Iā€™ll be honest here; Iā€™m not going to be very happy if we go down this ā€œlocation addressingā€ route;

  • Twt Subjects lose their meaning.
  • Twt Subjects cannot be verified without looking up the feed.
    • Which may or may not exist anymore or may change.
  • Two persons cannot reply to a Twt independently of each other anymore.

and probably some other properties weā€™d stand to lose that Iā€™m forgetting aboutā€¦

ā¤‹ Read More
In-reply-to » Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

I like the (replyto:...) as well. If the feed changes, well, it is the same as changing emails (and deleting the old one). No?

ā¤‹ Read More
In-reply-to » Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

@movq@www.uninformativ.de One of the biggest reasons I donā€™t like the (replyto:ā€¦) proposal (location addressing vs. content addressing) is that you just introduce a similar problem down the track, albeit rarer where if a feed changes its location, your threadā€™s ā€œidentifiersā€ are no longer valid, unless those feed authors maintain strict URL redirects, etc. This potentially has the long-term effect of being rather fragile, as opposed to what we have now where an Edit just really causes a natural fork in the thread, which is how ā€œforkingā€ works in the first place.

I realise this is a bit pret here, and it probably doesnā€™t matter a whole lot at our size. But Iā€™m trying to think way ahead, to a point where Twtxt as a ā€œthingā€ can continue to work and function decades from now, even with the extensions weā€™ve built. Weā€™ve already proven for example that Twts and threads from ~4 years ago still work and are easily looked up haha šŸ˜

ā¤‹ Read More
In-reply-to » Alright, before I go and watch Formula 1 šŸ˜…, I made two PRs regarding the two ā€œcompetingā€ ideas:

Iā€™m still more in favor of (replyto:ā€¦). Itā€™s easier to implement and the whole edits-breaking-threads thing resolves itself in a ā€œnaturalā€ way without the need to add stuff to the protocol.

Iā€™d love to try this out in practice to see how well it performs. šŸ¤” Itā€™s all very theoretical at the moment.

ā¤‹ Read More
In-reply-to » Alright, before I go and watch Formula 1 šŸ˜…, I made two PRs regarding the two ā€œcompetingā€ ideas:

I just read the primary spec Iā€™m strongly in support of and itā€™s pretty rock solid for me šŸ‘Œ šŸ’Æ

ā¤‹ Read More