# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 60515
# self = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=56891
# next = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=56991
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=56791
@quark Bloody good question 🙋 God only knows 🤣
@bender Welcome! 🤗
@bender Welcome! 🤗
@movq Haha 😝

> What I was referring to in the OP: Sometimes I check the workphone simply out of curiosity. 😂
@movq Haha 😝

> What I was referring to in the OP: Sometimes I check the workphone simply out of curiosity. 😂
@movq Fair 👌
@movq Fair 👌
Current Twt Hash spec and probability of hash collision:

The probability of a Twt Hash collision depends on the size of the hash and the number of possible values it can take. For the Twt Hash, which uses a Blake2b 256-bit hash, Base32 encoding, and takes the last 7 characters, the space of possible hash values is significantly reduced.

### Breakdown:

1. Base32 encoding: Each character in the Base32 encoding represents 5 bits of information (since \( 2^5 = 32 \)).
2. 7 characters: With 7 characters, the total number of possible hashes is:
\[
 32^7 = 3,518,437,208
 \]
This gives about 3.5 billion possible hash values.

### Probability of Collision:

The probability of a hash collision depends on the number of hashes generated and can be estimated using the Birthday Paradox. The paradox tells us that collisions are more likely than expected when hashing a large number of items.

The approximate formula for the probability of at least one collision after generating n hashes is:
\[
P(\text{collision}) \approx 1 - e^{-\frac{n^2}{2M}}
\]
Where:
- \(n\) is the number of generated Twt Hashes.
- \(M = 32^7 = 3,518,437,208\) is the total number of possible hash values.

For practical purposes, here are some example probabilities for different numbers of hashes (n):

- For 1,000 hashes:
\[
 P(\text{collision}) \approx 1 - e^{-\frac{1000^2}{2 \cdot 3,518,437,208}} \approx 0.00014 \, \text{(0.014%)}
\]
- For 10,000 hashes:
\[
 P(\text{collision}) \approx 1 - e^{-\frac{10000^2}{2 \cdot 3,518,437,208}} \approx 0.14 \, \text{(14%)}
\]
- For 100,000 hashes:
\[
 P(\text{collision}) \approx 1 - e^{-\frac{100000^2}{2 \cdot 3,518,437,208}} \approx 0.999 \, \text{(99.9%)}
\]

### Conclusion:

- For small to moderate numbers of hashes (up to around 1,000–10,000), the collision probability is quite low.
- However, as the number of Twts grows (above 100,000), the likelihood of a collision increases significantly due to the relatively small hash space (3.5 billion).=
Current Twt Hash spec and probability of hash collision:

The probability of a Twt Hash collision depends on the size of the hash and the number of possible values it can take. For the Twt Hash, which uses a Blake2b 256-bit hash, Base32 encoding, and takes the last 7 characters, the space of possible hash values is significantly reduced.

### Breakdown:

1. Base32 encoding: Each character in the Base32 encoding represents 5 bits of information (since \\( 2^5 = 32 \\)).
2. 7 characters: With 7 characters, the total number of possible hashes is:
\\[
 32^7 = 3,518,437,208
 \\]
This gives about 3.5 billion possible hash values.

### Probability of Collision:

The probability of a hash collision depends on the number of hashes generated and can be estimated using the Birthday Paradox. The paradox tells us that collisions are more likely than expected when hashing a large number of items.

The approximate formula for the probability of at least one collision after generating n hashes is:
\\[
P(\\text{collision}) \\approx 1 - e^{-\\frac{n^2}{2M}}
\\]
Where:
- \\(n\\) is the number of generated Twt Hashes.
- \\(M = 32^7 = 3,518,437,208\\) is the total number of possible hash values.

For practical purposes, here are some example probabilities for different numbers of hashes (n):

- For 1,000 hashes:
\\[
 P(\\text{collision}) \\approx 1 - e^{-\\frac{1000^2}{2 \\cdot 3,518,437,208}} \\approx 0.00014 \\, \\text{(0.014%)}
\\]
- For 10,000 hashes:
\\[
 P(\\text{collision}) \\approx 1 - e^{-\\frac{10000^2}{2 \\cdot 3,518,437,208}} \\approx 0.14 \\, \\text{(14%)}
\\]
- For 100,000 hashes:
\\[
 P(\\text{collision}) \\approx 1 - e^{-\\frac{100000^2}{2 \\cdot 3,518,437,208}} \\approx 0.999 \\, \\text{(99.9%)}
\\]

### Conclusion:

- For small to moderate numbers of hashes (up to around 1,000–10,000), the collision probability is quite low.
- However, as the number of Twts grows (above 100,000), the likelihood of a collision increases significantly due to the relatively small hash space (3.5 billion).=
Current Twt Hash spec and probability of hash collision:

The probability of a Twt Hash collision depends on the size of the hash and the number of possible values it can take. For the Twt Hash, which uses a Blake2b 256-bit hash, Base32 encoding, and takes the last 7 characters, the space of possible hash values is significantly reduced.

### Breakdown:

1. Base32 encoding: Each character in the Base32 encoding represents 5 bits of information (since \\( 2^5 = 32 \\)).
2. 7 characters: With 7 characters, the total number of possible hashes is:
\\\n
This gives about 3.5 billion possible hash values.

### Probability of Collision:

The probability of a hash collision depends on the number of hashes generated and can be estimated using the Birthday Paradox. The paradox tells us that collisions are more likely than expected when hashing a large number of items.

The approximate formula for the probability of at least one collision after generating n hashes is:
\\[
P(\\text{collision}) \\approx 1 - e^{-\\frac{n^2}{2M}}
\\]
Where:
- \\(n\\) is the number of generated Twt Hashes.
- \\(M = 32^7 = 3,518,437,208\\) is the total number of possible hash values.

For practical purposes, here are some example probabilities for different numbers of hashes (n):

- For 1,000 hashes:
\\[
 P(\\text{collision}) \\approx 1 - e^{-\\frac{1000^2}{2 \\cdot 3,518,437,208}} \\approx 0.00014 \\, \\text{(0.014%)}
\\]
- For 10,000 hashes:
\\[
 P(\\text{collision}) \\approx 1 - e^{-\\frac{10000^2}{2 \\cdot 3,518,437,208}} \\approx 0.14 \\, \\text{(14%)}
\\]
- For 100,000 hashes:
\\[
 P(\\text{collision}) \\approx 1 - e^{-\\frac{100000^2}{2 \\cdot 3,518,437,208}} \\approx 0.999 \\, \\text{(99.9%)}
\\]

### Conclusion:

- For small to moderate numbers of hashes (up to around 1,000–10,000), the collision probability is quite low.
- However, as the number of Twts grows (above 100,000), the likelihood of a collision increases significantly due to the relatively small hash space (3.5 billion).=
Current Twt Hash spec and probability of hash collision:

The probability of a Twt Hash collision depends on the size of the hash and the number of possible values it can take. For the Twt Hash, which uses a Blake2b 256-bit hash, Base32 encoding, and takes the last 7 characters, the space of possible hash values is significantly reduced.

### Breakdown:

1. Base32 encoding: Each character in the Base32 encoding represents 5 bits of information (since \( 2^5 = 32 \)).
2. 7 characters: With 7 characters, the total number of possible hashes is:
\[
 32^7 = 3,518,437,208
 \]
This gives about 3.5 billion possible hash values.

### Probability of Collision:

The probability of a hash collision depends on the number of hashes generated and can be estimated using the Birthday Paradox. The paradox tells us that collisions are more likely than expected when hashing a large number of items.

The approximate formula for the probability of at least one collision after generating n hashes is:
\[
P(\text{collision}) \approx 1 - e^{-\frac{n^2}{2M}}
\]
Where:
- \(n\) is the number of generated Twt Hashes.
- \(M = 32^7 = 3,518,437,208\) is the total number of possible hash values.

For practical purposes, here are some example probabilities for different numbers of hashes (n):

- For 1,000 hashes:
\[
 P(\text{collision}) \approx 1 - e^{-\frac{1000^2}{2 \cdot 3,518,437,208}} \approx 0.00014 \, \text{(0.014%)}
\]
- For 10,000 hashes:
\[
 P(\text{collision}) \approx 1 - e^{-\frac{10000^2}{2 \cdot 3,518,437,208}} \approx 0.14 \, \text{(14%)}
\]
- For 100,000 hashes:
\[
 P(\text{collision}) \approx 1 - e^{-\frac{100000^2}{2 \cdot 3,518,437,208}} \approx 0.999 \, \text{(99.9%)}
\]

### Conclusion:

- For small to moderate numbers of hashes (up to around 1,000–10,000), the collision probability is quite low.
- However, as the number of Twts grows (above 100,000), the likelihood of a collision increases significantly due to the relatively small hash space (3.5 billion).=
@quark Add here:


* a0826a65 - Add debug sub-command to yarnc (7 weeks ago) <James Mills>


I'd recommend a git pull && make build
@quark Add here:


* a0826a65 - Add debug sub-command to yarnc (7 weeks ago) <James Mills>


I'd recommend a git pull && make build

$ echo -n "https://twtxt.net/user/prologic/twtxt.txt\n2020-07-18T12:39:52Z\nHello World! 😊" | sha1sum | head -c 11
87fd9b0ae4e

$ echo -n "https://twtxt.net/user/prologic/twtxt.txt\n2020-07-18T12:39:52Z\nHello World! 😊" | sha1sum | head -c 11
87fd9b0ae4e

$ echo -n "https://twtxt.net/user/prologic/twtxt.txt\\n2020-07-18T12:39:52Z\\nHello World! 😊" | sha1sum | head -c 11
87fd9b0ae4e

$ echo -n "https://twtxt.net/user/prologic/twtxt.txt\n2020-07-18T12:39:52Z\nHello World! 😊" | sha256sum | base32 | tr -d '=' | tr 'A-Z' 'a-z' | tail -c 12
tdqmjaeawqu

$ echo -n "https://twtxt.net/user/prologic/twtxt.txt\n2020-07-18T12:39:52Z\nHello World! 😊" | sha256sum | base32 | tr -d '=' | tr 'A-Z' 'a-z' | tail -c 12
tdqmjaeawqu

$ echo -n "https://twtxt.net/user/prologic/twtxt.txt\\n2020-07-18T12:39:52Z\\nHello World! 😊" | sha256sum | base32 | tr -d '=' | tr 'A-Z' 'a-z' | tail -c 12
tdqmjaeawqu
Just experimenting...


$ echo -n "https://twtxt.net/user/prologic/twtxt.txt\n2020-07-18T12:39:52Z\nHello World! 😊" | sha256sum | base64 | tr -d '=' | tail -c 12
NWY4MSAgLQo
Just experimenting...


$ echo -n "https://twtxt.net/user/prologic/twtxt.txt\\n2020-07-18T12:39:52Z\\nHello World! 😊" | sha256sum | base64 | tr -d '=' | tail -c 12
NWY4MSAgLQo
Just experimenting...


$ echo -n "https://twtxt.net/user/prologic/twtxt.txt\n2020-07-18T12:39:52Z\nHello World! 😊" | sha256sum | base64 | tr -d '=' | tail -c 12
NWY4MSAgLQo
It would appear that the blake2b 256bit digest algorithm is no longer supported by the openssl tool, however blake2s256 is; I'm not sure why 🤔


$ 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


Obviously produce the wrong hash, which should be o6dsrga as indicated by the yarnc hash utility:


$ yarnc hash -u https://twtxt.net/user/prologic/twtxt.txt -t 2020-07-18T12:39:52Z "Hello World! 😊"
o6dsrga


But at least the shell pipeline is "correct".
It would appear that the blake2b 256bit digest algorithm is no longer supported by the openssl tool, however blake2s256 is; I'm not sure why 🤔


$ 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


Obviously produce the wrong hash, which should be o6dsrga as indicated by the yarnc hash utility:


$ yarnc hash -u https://twtxt.net/user/prologic/twtxt.txt -t 2020-07-18T12:39:52Z "Hello World! 😊"
o6dsrga


But at least the shell pipeline is "correct".
It would appear that the blake2b 256bit digest algorithm is no longer supported by the openssl tool, however blake2s256 is; I'm not sure why 🤔


$ 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


Obviously produce the wrong hash, which should be o6dsrga as indicated by the yarnc hash utility:


$ yarnc hash -u https://twtxt.net/user/prologic/twtxt.txt -t 2020-07-18T12:39:52Z "Hello World! 😊"
o6dsrga


But at least the shell pipeline is "correct".
FWIW the standard UNIX tools for Blake2b are openssl and b2sum -- Just trying to figure out how to make a shell pipeline again (_if you really want that_); as tools keep changing god damnit 🤣
FWIW the standard UNIX tools for Blake2b are openssl and b2sum -- Just trying to figure out how to make a shell pipeline again (_if you really want that_); as tools keep changing god damnit 🤣
@quark Do you mean something like this?


$ ./yarnc debug ~/Public/twtxt.txt | tail -n 1
kp4zitq 2024-09-08T02:08:45Z	(#wsdbfna) @<aelaraji https://aelaraji.com/twtxt.txt> My work has this thing called "compressed work", where you can **buy** extra time off (_as much as 4 additional weeks_) per year. It comes out of your pay though, so it's not exactly a 4-day work week but it could be useful, just haven't tired it yet as I'm not entirely sure how it'll affect my net pay
@quark Do you mean something like this?


$ ./yarnc debug ~/Public/twtxt.txt | tail -n 1
kp4zitq 2024-09-08T02:08:45Z\t(#wsdbfna) @<aelaraji https://aelaraji.com/twtxt.txt> My work has this thing called "compressed work", where you can **buy** extra time off (_as much as 4 additional weeks_) per year. It comes out of your pay though, so it's not exactly a 4-day work week but it could be useful, just haven't tired it yet as I'm not entirely sure how it'll affect my net pay
@quark Do you mean something like this?


$ ./yarnc debug ~/Public/twtxt.txt | tail -n 1
kp4zitq 2024-09-08T02:08:45Z	(#wsdbfna) @<aelaraji https://aelaraji.com/twtxt.txt> My work has this thing called "compressed work", where you can **buy** extra time off (_as much as 4 additional weeks_) per year. It comes out of your pay though, so it's not exactly a 4-day work week but it could be useful, just haven't tired it yet as I'm not entirely sure how it'll affect my net pay
@quark Watch TV at the moment so unsure about "out of the box tools" but there are 3 implementations on the spec page https://dev.twtxt.net/doc/twthashextension.html
@quark Watch TV at the moment so unsure about "out of the box tools" but there are 3 implementations on the spec page https://dev.twtxt.net/doc/twthashextension.html
@aelaraji Sometimes that's the most valuable though! Feedback!
@aelaraji Sometimes that's the most valuable though! Feedback!
I've been using Codeium too the last week or so ! It's pretty good and like @xuu said is a pretty desent Junior assistant, it helps me write good docs and the tab completion is amazing!

It of course completely sucks at doing anything "intelligent" or complex, but if you just use it as a fancier auto complete it's actually half way decent 👌
I've been using Codeium too the last week or so ! It's pretty good and like @xuu said is a pretty desent Junior assistant, it helps me write good docs and the tab completion is amazing!

It of course completely sucks at doing anything "intelligent" or complex, but if you just use it as a fancier auto complete it's actually half way decent 👌
@quark I admit I find the general "click here to share blah" generally wasteful, useless and unengaging really. Not just Wordle.

I admittedly however, I've been guilty of doing this sometimes myself. 🤦‍♂️ sometimes though I think it's OK to show your achievements. 👌
@quark I admit I find the general "click here to share blah" generally wasteful, useless and unengaging really. Not just Wordle.

I admittedly however, I've been guilty of doing this sometimes myself. 🤦‍♂️ sometimes though I think it's OK to show your achievements. 👌
@quark LOL 😂 No worries! 😉
@quark LOL 😂 No worries! 😉
@quark All fixed! 🥳 pleasure doing business with y'all. 🤣
@quark All fixed! 🥳 pleasure doing business with y'all. 🤣
@lyse Just as an aside, shouldn't you assume utf-8 anyway these days if not specified? 🤔 I mean basically everything almost always uses utf-8 encoding right? 😅
@lyse Just as an aside, shouldn't you assume utf-8 anyway these days if not specified? 🤔 I mean basically everything almost always uses utf-8 encoding right? 😅
@quark Okay fair 👌
@quark Okay fair 👌
@movq So basically on-call, but you don't get paid for it? 🤔
@movq So basically on-call, but you don't get paid for it? 🤔
@quark aye aye captain 🤣
@quark aye aye captain 🤣
@quark It's a good thin yarnd makes this user configurable via a preference 🤣 And displays both 😅
@quark It's a good thin yarnd makes this user configurable via a preference 🤣 And displays both 😅
@quark LOL 😂 Thanks!
@quark LOL 😂 Thanks!
@quark You are right, whilst it _technically_ works, its not well supported. Too much of the code would have to change to support that, and it's not worth the value.
@quark You are right, whilst it _technically_ works, its not well supported. Too much of the code would have to change to support that, and it's not worth the value.
So yeah no, whilst it _technically_ works, neither jenny nor yarnd support it very well. Only at a very basic level.
So yeah no, whilst it _technically_ works, neither jenny nor yarnd support it very well. Only at a very basic level.
It _actually_ has treated this as a thread, but it gets a bit weird, because we thread based on the content address of a root twt.
It _actually_ has treated this as a thread, but it gets a bit weird, because we thread based on the content address of a root twt.
@movq for oncall?
@movq for oncall?
@movq Haha 🤣
@movq Haha 🤣
@movq this is why I don't have a work phone 🤣
@movq this is why I don't have a work phone 🤣
@bender I should put the template that is used by default as a file in the repo. Look at the source for now and you'll see 😅
@bender I should put the template that is used by default as a file in the repo. Look at the source for now and you'll see 😅
@movq I never implemented UI support for their creation 🤣
@movq I never implemented UI support for their creation 🤣
Just that yarnd (_at least_) doesn't support creating such a custom TwtSubject, but it will reply and respect and thread one if one was constructed.
Just that yarnd (_at least_) doesn't support creating such a custom TwtSubject, but it will reply and respect and thread one if one was constructed.
@falsifian You will _actually_ find that they work perfectly fine. They just tend to have little value I think. Most of our clients do support them, jenny, tt and yarnd...
@falsifian You will _actually_ find that they work perfectly fine. They just tend to have little value I think. Most of our clients do support them, jenny, tt and yarnd...
At least you took the time to file an issue on a decentralised Git server 💪 Thank you! 🙏
At least you took the time to file an issue on a decentralised Git server 💪 Thank you! 🙏
@movq (#3xpygsq) @movq I have a slightly different but compatible view:

> What makes twtxt unique is its radical technical simplicity. And that means you have to be a tech-savvy person to appreciate twtxt and that means mass-appeal is pretty much out of the question to begin with. 😅

You see, if you recall my old man ain't all that great with tech these days, though he used to be and that's how I got into it, encouraged as a young lad. Anyway... I built yarnd for that purpose, so a) I could use it as my daily driver (_think of it like Jenny/tt but for the web with a little server_) and b) so others _could_ use it too (_admitedly that hasn't been well adopted because reasons_)

Anyway my view is that Yarn/Twtxt is designed to be a slow social media without distraction. I like that a lot. Forget the simplicity for a second, if you think about how we use this, and how damn well fucking effective it is, without all the ads, tracking, god knows what useless-ass features, all the nonsense multi-Megabytes your browser has to download, just to post what you ate for breakfast, I like what we've built 😅
@movq (#3xpygsq) @movq I have a slightly different but compatible view:

> What makes twtxt unique is its radical technical simplicity. And that means you have to be a tech-savvy person to appreciate twtxt and that means mass-appeal is pretty much out of the question to begin with. 😅

You see, if you recall my old man ain't all that great with tech these days, though he used to be and that's how I got into it, encouraged as a young lad. Anyway... I built yarnd for that purpose, so a) I could use it as my daily driver (_think of it like Jenny/tt but for the web with a little server_) and b) so others _could_ use it too (_admitedly that hasn't been well adopted because reasons_)

Anyway my view is that Yarn/Twtxt is designed to be a slow social media without distraction. I like that a lot. Forget the simplicity for a second, if you think about how we use this, and how damn well fucking effective it is, without all the ads, tracking, god knows what useless-ass features, all the nonsense multi-Megabytes your browser has to download, just to post what you ate for breakfast, I like what we've built 😅
@movq I have a slightly different but compatible view:

> What makes twtxt unique is its radical technical simplicity. And that means you have to be a tech-savvy person to appreciate twtxt and that means mass-appeal is pretty much out of the question to begin with. 😅

You see, if you recall my old man ain't all that great with tech these days, though he used to be and that's how I got into it, encouraged as a young lad. Anyway... I built yarnd for that purpose, so a) I could use it as my daily driver (_think of it like Jenny/tt but for the web with a little server_) and b) so others _could_ use it too (_admitedly that hasn't been well adopted because reasons_)

Anyway my view is that Yarn/Twtxt is designed to be a slow social media without distraction. I like that a lot. Forget the simplicity for a second, if you think about how we use this, and how damn well fucking effective it is, without all the ads, tracking, god knows what useless-ass features, all the nonsense multi-Megabytes your browser has to download, just to post what you ate for breakfast, I like what we've built 😅
@aelaraji If you're talking about me, I'm notorious for typos 🤣 I type too fast, and I think I need a new keyboard, these keys are getting stuck 😅 Either that or I need to take my blowvac to it and clean the dust, skin and muck under the butterfly keys 🎹
@aelaraji If you're talking about me, I'm notorious for typos 🤣 I type too fast, and I think I need a new keyboard, these keys are getting stuck 😅 Either that or I need to take my blowvac to it and clean the dust, skin and muck under the butterfly keys 🎹
@aelaraji I just added support for passing a custom template file via -T/--template in case you need a custom template 👌


prologic@JamessMacStudio
Wed Sep 18 01:27:29
~/Projects/yarnsocial/twtxt2html
 (main) 130
$ ./twtxt2html --help
Usage: twtxt2html [options] FILE|URL

twtxt2html converts a twtxt feed to a static HTML page
  -d, --debug             enable debug logging
  -l, --limit int         limit number ot twts (default all) (default -1)
  -n, --noreldate         do now show twt relative dates
  -r, --reverse           reverse the order of twts (oldest first)
  -T, --template string   path to template file
  -t, --title string      title of generated page (default "Twtxt Feed")
  -v, --version           display version information
pflag: help requested
@aelaraji I just added support for passing a custom template file via -T/--template in case you need a custom template 👌


prologic@JamessMacStudio
Wed Sep 18 01:27:29
~/Projects/yarnsocial/twtxt2html
 (main) 130
$ ./twtxt2html --help
Usage: twtxt2html [options] FILE|URL

twtxt2html converts a twtxt feed to a static HTML page
  -d, --debug             enable debug logging
  -l, --limit int         limit number ot twts (default all) (default -1)
  -n, --noreldate         do now show twt relative dates
  -r, --reverse           reverse the order of twts (oldest first)
  -T, --template string   path to template file
  -t, --title string      title of generated page (default "Twtxt Feed")
  -v, --version           display version information
pflag: help requested
@movq Oh! 🤣 For some reason I _thought_ my first feed was lost and gone 🤣 Hahahaha it's been there the whole time 😅 Fuck we write good specs and software 🥳
@movq Oh! 🤣 For some reason I _thought_ my first feed was lost and gone 🤣 Hahahaha it's been there the whole time 😅 Fuck we write good specs and software 🥳
@falsifian I like this idea too as a completing solution to the "identify problem":

> Or maybe url changes could somehow be combined with the archive feeds extension? Could the url metadata field be local to each archive file, so that to switch to a new url all you need to do is archive everything you’ve got and start a new file at the new url?

👌
@falsifian I like this idea too as a completing solution to the "identify problem":

> Or maybe url changes could somehow be combined with the archive feeds extension? Could the url metadata field be local to each archive file, so that to switch to a new url all you need to do is archive everything you’ve got and start a new file at the new url?

👌
One thing that's on my mind over the last few days about all this Twt editing and identity stuff we've been having hot debates over is this...

> I don't really have a problem with editing twts, or someone changing their feed's URL.

Personally I think the folks that do are rightfully pedantic and like a good user experience, which I don't blame 'em. I would expect the same too. Anyway, just wanted to get that out there, I believe we can support editing and identity in a way that is still simple, as long as we bring clients along for the ride with us. The old/legacy original client though will have to remain well, ya know 😅
One thing that's on my mind over the last few days about all this Twt editing and identity stuff we've been having hot debates over is this...

> I don't really have a problem with editing twts, or someone changing their feed's URL.

Personally I think the folks that do are rightfully pedantic and like a good user experience, which I don't blame 'em. I would expect the same too. Anyway, just wanted to get that out there, I believe we can support editing and identity in a way that is still simple, as long as we bring clients along for the ride with us. The old/legacy original client though will have to remain well, ya know 😅
@movq Well at this point I think I'm going to try to combine @lyse's idea for supporting moving your feed to a different URL and this idea for supporting editing. I'll spec it up and see if what we think from there...
@movq Well at this point I think I'm going to try to combine @lyse's idea for supporting moving your feed to a different URL and this idea for supporting editing. I'll spec it up and see if what we think from there...
@aelaraji Btw, I'm also open to ideas for this tool and welcome any contributions 👌
@aelaraji Btw, I'm also open to ideas for this tool and welcome any contributions 👌
It would mean clients that support the TwtSubject and TwtHash extension, _should_ also indicate the previous version of their Twt when editing.
It would mean clients that support the TwtSubject and TwtHash extension, _should_ also indicate the previous version of their Twt when editing.
Ultimately I _think_ we just need to agree on a way to represent an edit and the previous version of a Twt in a way that makes sense. I like one of the ideas presented earlier in some other thread (_god only knows which one haha 😝_); That is: <timestamp> (#hash;#originalHash) <content> For example._
Ultimately I _think_ we just need to agree on a way to represent an edit and the previous version of a Twt in a way that makes sense. I like one of the ideas presented earlier in some other thread (_god only knows which one haha 😝_); That is: <timestamp> (#hash;#originalHash) <content> For example._
@movq I _think_ if Git can solve the same problem of branching, forking, patching and merging, so can we 🤣
@movq I _think_ if Git can solve the same problem of branching, forking, patching and merging, so can we 🤣
@movq No that's okay. I happen to agree with you really, I just wanted to get a bit of a vibe on using cryptography in general and the idea of signing feeds. It's not particularly about a problem being solved, just gauging your opinions/thoughts on this 👌