Incredibly upsetā€”more than you could imagineā€”because I already made the first mistake, and corrected it (but twtxt.net got it on itā€™s cache, ugh!) :ā€˜-( . Canā€™t wait for editing to become a reality!

ā¤‹ Read More
In-reply-to » This twt is from an unknown or muted feed.

Alright, announce_me set to true. Now, who do I pick to be my first mention? Decisions, decisions. Next twtxt will have my first mention(s). :-)

ā¤‹ Read More

I have configured my twtxt.txt as simple as possible. I have setup a publish_command on jenny. Hopefully all works fine, and I am good to go. Next will be setting the announce_me to true. Here we go!

ā¤‹ Read More
In-reply-to » @movq going a little sideways on this, "*If twtxt/Yarn was to grow bigger, then this would become a concern again. But even Mastodon allows editing, so how much of a problem can it really be? šŸ˜…*", wouldn't it preparing for a potential (even if very, very, veeeeery remote) growth be a good thing? Mastodon signs all messages, keeps a history of edits, and it doesn't break threads. It isn't a problem there.šŸ˜‰ It is here.

@prologic@twtxt.net, there is a parser bug on parent. Specifically on this portion:

"*If twtxt/Yarn was to grow bigger, then this would become a concern again. *But even Mastodon allows editing*, so how
+much of a problem can it really be? šŸ˜…*"

ā¤‹ Read More
In-reply-to » Iā€™m not advocating in either direction, btw. I havenā€™t made up my mind yet. šŸ˜… Just braindumping here.

@movq@www.uninformativ.de going a little sideways on this, ā€œ*If twtxt/Yarn was to grow bigger, then this would become a concern again. But even Mastodon allows editing, so how much of a problem can it really be? šŸ˜…*ā€, wouldnā€™t it preparing for a potential (even if very, very, veeeeery remote) growth be a good thing? Mastodon signs all messages, keeps a history of edits, and it doesnā€™t break threads. It isnā€™t a problem there.šŸ˜‰ It is here.

I think keeping hashes is a must. If anything for that ā€œfeels goodā€ feeling.

ā¤‹ Read More
In-reply-to » (replyto http://darch.dk/twtxt.txt 2024-09-15T12:50:17Z) @sorenpeter I like this idea. Just for fun, I'm using a variant in this twt. (Also because I'm curious how it non-hash subjects appear in jenny and yarn.)

@movq@www.uninformativ.de Agreed that hashes have a benefit. I came up with a similar example where when I twted about an 11-character hash collision. Perhaps hashes could be made optional somehow. Like, you could use the ā€œreplytoā€ idea and then additionally put a hash somewhere if you want to lock in which version of the twt you are replying to.

ā¤‹ Read More
In-reply-to » An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, let's say I produced the following Twt:

There is nothing wrong with how we currently run a diff to see what has been removed. if i build a merkle tree off all the twt hashes in a feed i can use that to verify a twt should be in a feed or not. and gossip that to my peers.

ā¤‹ Read More
In-reply-to » (replyto http://darch.dk/twtxt.txt 2024-09-15T12:50:17Z) @sorenpeter I like this idea. Just for fun, I'm using a variant in this twt. (Also because I'm curious how it non-hash subjects appear in jenny and yarn.)

(Or maybe Iā€™m talking nonsense. Thatā€™s known to happen. Iā€™ll go to bed. šŸ˜‚)

ā¤‹ Read More
In-reply-to » An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, let's say I produced the following Twt:

So.. basically a rehash of the email ā€œunsendā€ requests? What if i was to make a (delete: 5vbi2ea) .. would it delete someone elses twt?

ā¤‹ Read More
In-reply-to » Hey, @movq, a tiny thing to add to jenny, a -v switch. That way when you twtxt "Thatā€™s an older format that was used before jenny version v23.04", I can go and run jenny -v, and "duh!" myself on the way to a git pull. :-D

@quark@ferengi.one Printing a version? Iā€™ll think about it. šŸ¤”

It would be easy to do for releases, but itā€™s a little hard to do for all the commits in between ā€“ jenny has no build process, so thereā€™s no easy way to incorporate the output of git describe, for example.

ā¤‹ Read More
In-reply-to » Current Twt Hash spec and probability of hash collision:

isnā€™t the benefit of blake2b that it is a more efficient algo than sha1 and has the same or similar entropy to sha3? i thought we had partially solved this with some type of expanding hash size? additionally we could increase bit density by using base36 or base64/url-safeā€¦

ā¤‹ Read More
In-reply-to » (replyto http://darch.dk/twtxt.txt 2024-09-15T12:50:17Z) @sorenpeter I like this idea. Just for fun, I'm using a variant in this twt. (Also because I'm curious how it non-hash subjects appear in jenny and yarn.)

Iā€™m not advocating in either direction, btw. I havenā€™t made up my mind yet. šŸ˜… Just braindumping here.

The (replyto:ā€¦) proposal is definitely more in the spirit of twtxt, Iā€™d say. Itā€™s much simpler, anyone can use it even with the simplest tools, no need for any client code. That is certainly a great property, if you ask me, and itā€™s things like that that brought me to twtxt in the first place.

Iā€™d also say that in our tiny little community, message integrity simply doesnā€™t matter. Signed feeds donā€™t matter. I signed my feed for a while using GPG, someone else did the same, but in the end, nobody cares. The community is so tiny, thereā€™s enough ā€œimplicit trustā€ or whatever you want to call it.

If twtxt/Yarn was to grow bigger, then this would become a concern again. But even Mastodon allows editing, so how much of a problem can it really be? šŸ˜…

I do have to ā€œadmitā€, though, that hashes feel better. It feels good to know that we can clearly identify a certain twt. It feels more correct and stable.

Hm.

I suspect that the (replyto:ā€¦) proposal would work just as well in practice.

ā¤‹ Read More
In-reply-to » Regarding jenny development: There have been enough changes in the last few weeks, imo. I want to let things settle for a while (potential bugfixes aside) and then Iā€™m going to cut a new release.

@movq@www.uninformativ.de ooooh, nice! commit 62a2b7735749f2ff3c9306dd984ad28f853595c5:

Crawl archived feeds in ā€“fetch-context

Like, very much! :-)

ā¤‹ Read More
In-reply-to » (replyto http://darch.dk/twtxt.txt 2024-09-15T12:50:17Z) @sorenpeter I like this idea. Just for fun, I'm using a variant in this twt. (Also because I'm curious how it non-hash subjects appear in jenny and yarn.)

@falsifian@www.falsifian.org @prologic@twtxt.net @lyse@lyse.isobeef.org

  • editing, if you donā€™t care about message integrity

So thatā€™s the big question, because thatā€™s the only real difference between hashes and the (replyto:ā€¦) proposal.

Do we care about message integrity?

With (replyto:ā€¦), someone could write a twt, then I reply to it, like ā€œyouā€™re absolutely right!ā€, and then that person could change their twt to something malicious like ā€œthe earth is flat!ā€ And then it would look like Iā€™m a nutcase agreeing with that person. šŸ˜…

Hashes (in their current form) prevent that. The thread is broken and my reply clearly refers to something else. Thatā€™s good, right?

But now take into account that we want to allow editing anyway. Is there even a point to using hashes anymore? Isnā€™t message integrity ignored anyway now, at least in practice?

Thereā€™s no difference (in practice) between someone writing

2024-09-18T12:34Z    Brds are great!

and then editing it to either

2024-09-18T12:34Z    (original:#12379) Birds are great!  (Whoops, fixed a typo.)

or

2024-09-18T12:34Z    (original:#12379) The earth is flat!

The actual original message is (potentially) gone. The only thing that we can be sure of now is that the twt was edited in some way. Essentially, the actual twt message is no longer part of the hash, is it? What does #12379 refer to? The edited message or the original one? We want it to refer to the edited one, because we donā€™t want to break threads, so ā€¦ whatā€™s the point of using a hash?

ā¤‹ Read More
In-reply-to » Regarding jenny development: There have been enough changes in the last few weeks, imo. I want to let things settle for a while (potential bugfixes aside) and then Iā€™m going to cut a new release.

@movq@www.uninformativ.de to paraphrase US Presidents speech on each State of the Union, ā€œthe State of the Jenny is strong!ā€ :-D As for the potential upcoming changes, there has to be a knowledgeable head honcho that will agglomerate and coalesce, and guide onto the direction that will be taken. All that with the strong input from the developers that will be implementing the changes, and a lesser (but not less valuable) input from users.

ā¤‹ Read More

Regarding jenny development: There have been enough changes in the last few weeks, imo. I want to let things settle for a while (potential bugfixes aside) and then Iā€™m going to cut a new release.

And I guess the release after that is going to include all the threading/hashing stuff ā€“ if we can decide on one of the proposals. šŸ˜‚

ā¤‹ Read More
In-reply-to » An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, let's say I produced the following Twt:

@quark@ferengi.one Oh, sure, it would be nice if edits didnā€™t break threads. I was just pondering the circumstances under which I get annoyed about data being irrecoverably deleted or otherwise lost.

ā¤‹ Read More
In-reply-to » An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, let's say I produced the following Twt:

@falsifian@www.falsifian.org ā€œI donā€™t really mind if the twt gets edited before I even fetch it.ā€, right, thatā€™s never the problem. Editing a twtxt before anyone fetches it isnā€™t even editing, right? :-P The problem we are trying to fix is the havoc is causes editing twtxts that have already been replied to, often ad nauseam. Thatā€™s the real problem.

ā¤‹ Read More
In-reply-to » An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, let's say I produced the following Twt:

@quark@ferengi.one I donā€™t really mind if the twt gets edited before I even fetch it. I think itā€™s the idea of my computer discarding old versions itā€™s fetched, especially if itā€™s shown them to me, that bugs me.

But I do like @movq@www.uninformativ.deā€™s suggestion on this thread that feeds could contain both the original and the edited twt. I guess it would be up to the author.

ā¤‹ Read More
In-reply-to » Now WTF!? Suddenly, @falsifian's feed renders broken in my tt Python implementation. Exactly what I had with my Go rewrite. I haven't touched the Python stuff in ages, though. Also, tt and tt2 do not share any data at all.

@prologic@twtxt.net I wish that was true! But I reckon there is still heaps of old stuff out there, that was created on a Windows machine. :-D And I wouldnā€™t be surprised if even today in that environment a new file does not make use of UTF-8.

ā¤‹ Read More
In-reply-to » An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, let's say I produced the following Twt:

@falsifian@www.falsifian.org that would be problematic to do on a fully decentralised system. I am not disagreeing, though. Thatā€™s the reason I have stopped editing twtxts. I strive to own mistakes, as minor as they might be. Now, if trail editing can be accomplished, I am all for it!

ā¤‹ Read More
In-reply-to » I have noticed that twtxt timestamps differ. For example:

@quark@ferengi.one @movq@www.uninformativ.de Yep, theyā€™re all RFC3339. Obviously, +02:00 and +01:00 are best, because I use them! :-P In all seriousness, Z might be the best timezone, as it is shortest. And regarding privacy, it leaks the least information about the userā€™s rough location. But of course, one can just look at the activity and narrow down plausible regions, so thatā€™s a weak argument.

ā¤‹ Read More
In-reply-to » An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, let's say I produced the following Twt:

@falsifian@www.falsifian.org what would the difference be between an edit the changes everything on the original twtxt, and a delete?

ā¤‹ Read More
In-reply-to » An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, let's say I produced the following Twt:

@prologic@twtxt.net I wouldnā€™t want my client to honour delete requests. I like my computerā€™s memory to be better than mine, not worse, so it would bug me if I remember seeing something and my computer canā€™t find it.

ā¤‹ Read More
In-reply-to » Taking the last n characters of a base32 encoded hash instead of the first n can be problematic for several reasons:

@prologic@twtxt.net

Thereā€™s a simple reason all the current hashes end in a or q: the hash is 256 bits, the base32 encoding chops that into groups of 5 bits, and 256 isnā€™t divisible by 5. The last character of the base32 encoding just has that left-over single bit (256 mod 5 = 1).

So I agree with #3 below, but do you have a source for #1, #2 or #4? I would expect any lack of variability in any part of a hash functionā€™s output would make it more vulnerable to attacks, so designers of hash functions would want to make the whole output vary as much as possible.

Other than the divisible-by-5 thing, my current intuition is it doesnā€™t matter what part you take.

  1. Hash Structure: Hashes are typically designed so that their outputs have specific statistical properties. The first few characters often have more entropy or variability, meaning they are less likely to have patterns. The last characters may not maintain this randomness, especially if the encoding method has a tendency to produce less varied endings.

  2. Collision Resistance: When using hashes, the goal is to minimize the risk of collisions (different inputs producing the same output). By using the first few characters, you leverage the full distribution of the hash. The last characters may not distribute in the same way, potentially increasing the likelihood of collisions.

  3. Encoding Characteristics: Base32 encoding has a specific structure and padding that might influence the last characters more than the first. If the data being hashed is similar, the last characters may be more similar across different hashes.

  4. Use Cases: In many applications (like generating unique identifiers), the beginning of the hash is often the most informative and varied. Relying on the end might reduce the uniqueness of generated identifiers, especially if a prefix has a specific context or meaning.

ā¤‹ Read More
In-reply-to » Could someone knowledgable reply with the steps a grandpa will take to calculate the hash of a twtxt from the CLI, using out-of-the-box tools? I swear I read about it somewhere, but can't find it.

@aelaraji@aelaraji.com Looks like your shell didnā€™t turn the \n into actual newlines:

$ echo -n "https://twtxt.net/user/prologic/twtxt.txt\n2020-07-18T12:39:52Z\nHello World! šŸ˜Š" | openssl dgst -blake2s256 -binary | base32 | tr -d '=' | tr 'A-Z' 'a-z' | tail -c 7
zq4fgq
$ printf "https://twtxt.net/user/prologic/twtxt.txt\\n2020-07-18T12:39:52Z\\nHello World! šŸ˜Š" | openssl dgst -blake2s256 -binary | base32 | tr -d '=' | tr 'A-Z' 'a-z' | tail -c 7
p44j3q

ā¤‹ Read More
In-reply-to » Could someone knowledgable reply with the steps a grandpa will take to calculate the hash of a twtxt from the CLI, using out-of-the-box tools? I swear I read about it somewhere, but can't find it.

@prologic@twtxt.net I ran the same command and got an even different result xD

~ Ā» echo -n "https://twtxt.net/user/prologic/twtxt.txt\n2020-07-18T12:39:52Z\nHello World! šŸ˜Š" | openssl dgst -blake2s256 -binary | base32 | tr -d '=' | tr 'A-Z' 'a-z' | tail -c 7
p44j3q

ā¤‹ Read More

LinkedIn Is Training AI on User Data Before Updating Its Terms of Service
An anonymous reader shares a report: LinkedIn is using its usersā€™ data for improving the social networkā€™s generative AI products, but has not yet updated its terms of service to reflect this data processing, according to posts from various LinkedIn users and a statement from the company to 404 Media. Instead, the company says it ā€¦ āŒ˜ Read more

ā¤‹ Read More
In-reply-to » Could someone knowledgable reply with the steps a grandpa will take to calculate the hash of a twtxt from the CLI, using out-of-the-box tools? I swear I read about it somewhere, but can't find it.

@prologic@twtxt.net I just realised the jenny also does what I want, as of latest commit. Simply use jenny --debug-feed <feed url>, and it will do what I wanted too!

ā¤‹ Read More
In-reply-to » An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, let's say I produced the following Twt:

@prologic@twtxt.net So the feed would contain two twts, right?

2024-09-18T23:08:00+10:00	Hllo World
2024-09-18T23:10:43+10:00	(edit:#229d24612a2) Hello World

ā¤‹ Read More
In-reply-to » An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, let's say I produced the following Twt:

Finally @lyse@lyse.isobeef.org ā€™s idea of updating metadata changes in a feed ā€œinlineā€ where the change happened (with respect to other Twts in whatever order the file is written in) is used to drive things like ā€œOh this feed now has a new URI, letā€™s use that from now on as the feedā€™s identity for the purposes of computing Twt hashesā€. This could extend to # nick = as preferential indicators to clients as well as even other updates such as # description = ā€“ Not just # url =

ā¤‹ Read More
In-reply-to » An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, let's say I produced the following Twt:

Likewise we could also support delete:229d24612a2, which would indicate to clients that fetch the feed to delete any cached Twt matching the hash 229d24612a2 if the author wishes to ā€œunpublishā€ that Twt permanently, rather than just deleting the line from the feed (which does nothing for clients really).

ā¤‹ Read More

An alternate idea for supporting (properly) Twt Edits is to denoate as such and extend the meaning of a Twt Subject (which would need to be called something better?); For example, letā€™s say I produced the following Twt:

2024-09-18T23:08:00+10:00	Hllo World

And my feedā€™s URI is https://example.com/twtxt.txt. The hash for this Twt is therefore 229d24612a2:

$ echo -n "https://example.com/twtxt.txt\n2024-09-18T23:08:00+10:00\nHllo World" | sha1sum | head -c 11
229d24612a2

You wish to correct your mistake, so you make an amendment to that Twt like so:

2024-09-18T23:10:43+10:00	(edit:#229d24612a2) Hello World

Which would then have a new Twt hash value of 026d77e03fa:

$ echo -n "https://example.com/twtxt.txt\n2024-09-18T23:10:43+10:00\nHello World" | sha1sum | head -c 11
026d77e03fa

Clients would then take this edit:#229d24612a2 to mean, this Twt is an edit of 229d24612a2 and should be replaced in the clientā€™s cache, or indicated as such to the user that this is the intended content.

ā¤‹ Read More