# 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 196314
# self = https://watcher.sour.is?offset=170799
# next = https://watcher.sour.is?offset=170899
# prev = https://watcher.sour.is?offset=170699
@bender It's just a simple twtxt2html and scp ... it goes like:

h
twtxt2html $HOME/path/to/local_twtxt_dir/twtxt.txt > $HOME/path/to/local_twtxt_dir/log.html && \\
scp $HOME/path/to/local_twtxt_dir/log.html user@remotehost:/path/to/static_files_dir/


I've been lazy to add it to my publish_command script, now I can just copy/pasta from the twt 😅
@bender It's just a simple twtxt2html and scp ... it goes like:

h
twtxt2html $HOME/path/to/local_twtxt_dir/twtxt.txt > $HOME/path/to/local_twtxt_dir/log.html && \
scp $HOME/path/to/local_twtxt_dir/log.html user@remotehost:/path/to/static_files_dir/


I've been lazy to add it to my publish_command script, now I can just copy/pasta from the twt 😅
@movq I did the same. jenny fetches archives, yes, but that twtxt I am referring about is no longer. If you fetch it, but I don't, there is certainly something going on...
@movq I did the same. jenny fetches archives, yes, but that twtxt I am referring about is no longer. If you fetch it, but I don't, there is certainly something going on...
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._
@quark Hmm. I cannot reproduce this. 🫤 I just removed all files in ~/.cache/jenny and ~/Mail/twt/cur, and a subsequent jenny -f properly fetches everything.

Do you see all the “Fetching archived feed …” messages?
@quark Hmm. I cannot reproduce this. 🫤 I just removed all files in ~/.cache/jenny and ~/Mail/twt/cur, and a subsequent jenny -f properly fetches everything.

Do you see all the “Fetching archived feed …” messages?
@quark Hmm. I cannot reproduce this. 🫤 I just removed all files in ~/.cache/jenny and ~/Mail/twt/cur, and a subsequent jenny -f properly fetches everything.

Do you see all the “Fetching archived feed …” messages?
@quark Hmm. I cannot reproduce this. 🫤 I just removed all files in ~/.cache/jenny and ~/Mail/twt/cur, and a subsequent jenny -f properly fetches everything.

Do you see all the “Fetching archived feed …” messages?
@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 👌
@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 👌
@prologic

> Your propose scheme while simple doesn't do this.

It doesn’t do that because it’s not taking the content of a twt into account (only its timestamp). Okay. But the mere fact that we’re talking about “how to solve the edit problem” stems from using content addressing – so maybe content addressing isn’t the best thing to use here? 🤔
@prologic

> Your propose scheme while simple doesn't do this.

It doesn’t do that because it’s not taking the content of a twt into account (only its timestamp). Okay. But the mere fact that we’re talking about “how to solve the edit problem” stems from using content addressing – so maybe content addressing isn’t the best thing to use here? 🤔
@prologic

> Your propose scheme while simple doesn't do this.

It doesn’t do that because it’s not taking the content of a twt into account (only its timestamp). Okay. But the mere fact that we’re talking about “how to solve the edit problem” stems from using content addressing – so maybe content addressing isn’t the best thing to use here? 🤔
@prologic

> Your propose scheme while simple doesn't do this.

It doesn’t do that because it’s not taking the content of a twt into account (only its timestamp). Okay. But the mere fact that we’re talking about “how to solve the edit problem” stems from using content addressing – so maybe content addressing isn’t the best thing to use here? 🤔
****
El chocolate no engorda, engordas tú. ⌘ Read more****
@prologic I’m very torn on this.

It’s a cool idea and it’s cool technology. It would (probably) even be fun to implement.

But do we need it? Or rather, does twtxt need it? What problem are you trying to solve – are people migrating their feeds to new URLs all the time? 🤔 That’s rather rare in my experience. The URL as the primary identifier of a feed works fine for me.

Maybe I just don’t understand the problem well enough yet? 🤔
@prologic I’m very torn on this.

It’s a cool idea and it’s cool technology. It would (probably) even be fun to implement.

But do we need it? Or rather, does twtxt need it? What problem are you trying to solve – are people migrating their feeds to new URLs all the time? 🤔 That’s rather rare in my experience. The URL as the primary identifier of a feed works fine for me.

Maybe I just don’t understand the problem well enough yet? 🤔
@prologic I’m very torn on this.

It’s a cool idea and it’s cool technology. It would (probably) even be fun to implement.

But do we need it? Or rather, does twtxt need it? What problem are you trying to solve – are people migrating their feeds to new URLs all the time? 🤔 That’s rather rare in my experience. The URL as the primary identifier of a feed works fine for me.

Maybe I just don’t understand the problem well enough yet? 🤔
@prologic I’m very torn on this.

It’s a cool idea and it’s cool technology. It would (probably) even be fun to implement.

But do we need it? Or rather, does twtxt need it? What problem are you trying to solve – are people migrating their feeds to new URLs all the time? 🤔 That’s rather rare in my experience. The URL as the primary identifier of a feed works fine for me.

Maybe I just don’t understand the problem well enough yet? 🤔
@movq I did started from scratch, today. I using am commit 6e8ce5afdabd5eac22eae4275407b3bd2a167daf (HEAD -> main, origin/main, origin/HEAD), I keep myself up-to-date, LOL. Still, that specific twtxt (o6dsrga) is no longer.
@movq I did started from scratch, today. I using am commit 6e8ce5afdabd5eac22eae4275407b3bd2a167daf (HEAD -> main, origin/main, origin/HEAD), I keep myself up-to-date, LOL. Still, that specific twtxt (o6dsrga) is no longer.
@quark

> jenny does fetch archived feeds during the normal jenny -f operation […]

… *but* you need to use the current Git version which includes this commit:

https://www.uninformativ.de/git/jenny/commit/6e8ce5afdabd5eac22eae4275407b3bd2a167daf.html

There was a bug that broke on @prologic’s feed. 🥴
@quark

> jenny does fetch archived feeds during the normal jenny -f operation […]

… *but* you need to use the current Git version which includes this commit:

https://www.uninformativ.de/git/jenny/commit/6e8ce5afdabd5eac22eae4275407b3bd2a167daf.html

There was a bug that broke on @prologic’s feed. 🥴
@quark

> jenny does fetch archived feeds during the normal jenny -f operation […]

… *but* you need to use the current Git version which includes this commit:

https://www.uninformativ.de/git/jenny/commit/6e8ce5afdabd5eac22eae4275407b3bd2a167daf.html

There was a bug that broke on @prologic’s feed. 🥴
@quark

> jenny does fetch archived feeds during the normal jenny -f operation \n

… *but* you need to use the current Git version which includes this commit:

https://www.uninformativ.de/git/jenny/commit/6e8ce5afdabd5eac22eae4275407b3bd2a167daf.html

There was a bug that broke on @prologic’s feed. 🥴
@quark

> jenny does fetch archived feeds during the normal jenny -f operation […]

… *but* you need to use the current Git version which includes this commit:

https://www.uninformativ.de/git/jenny/commit/6e8ce5afdabd5eac22eae4275407b3bd2a167daf.html

There was a bug that broke on @prologic’s feed. 🥴
@quark

> Since jenny can't fetch archived twtxts

I wiped my entire maildir and re-fetched everything. I did that recently because @aelaraji asked me to 😅, but I guess I also did this back in 2023.

> What did you do to make yours work?

jenny does fetch archived feeds during the normal jenny -f operation. Only when using the recently implemented --fetch-context, archived feeds are not fetched (yet). That was an oversight and I intend to fix that.
@quark

> Since jenny can't fetch archived twtxts

I wiped my entire maildir and re-fetched everything. I did that recently because @aelaraji asked me to 😅, but I guess I also did this back in 2023.

> What did you do to make yours work?

jenny does fetch archived feeds during the normal jenny -f operation. Only when using the recently implemented --fetch-context, archived feeds are not fetched (yet). That was an oversight and I intend to fix that.
@quark

> Since jenny can't fetch archived twtxts

I wiped my entire maildir and re-fetched everything. I did that recently because @aelaraji asked me to 😅, but I guess I also did this back in 2023.

> What did you do to make yours work?

jenny does fetch archived feeds during the normal jenny -f operation. Only when using the recently implemented --fetch-context, archived feeds are not fetched (yet). That was an oversight and I intend to fix that.
@quark

> Since jenny can't fetch archived twtxts

I wiped my entire maildir and re-fetched everything. I did that recently because @aelaraji asked me to 😅, but I guess I also did this back in 2023.

> What did you do to make yours work?

jenny does fetch archived feeds during the normal jenny -f operation. Only when using the recently implemented --fetch-context, archived feeds are not fetched (yet). That was an oversight and I intend to fix that.
@aelaraji can you share the workflow you are using on jenny to convert twtxt.txt to HTML using @prologic's code?
@aelaraji We just have to write better clients 🤣 I have figured out how to detect edits FWIW, but haven't gone from R&D phase to an actual design and implementation. But it is possible to detect an edit as well as a similarity score and the matching Twts.
@aelaraji We just have to write better clients 🤣 I have figured out how to detect edits FWIW, but haven't gone from R&D phase to an actual design and implementation. But it is possible to detect an edit as well as a similarity score and the matching Twts.
@sorenpeter It's nobody's fault! 😇 It's all part of the fun with them Ones and Zeros
@sorenpeter It's nobody's fault! 😇 It's all part of the fun with them Ones and Zeros
@sorenpeter It's nobody's fault! 😇 It's all part of the fun with them Ones and Zeros
@quark I think I may have lost my original feed because it was written with the old software before Yarn social became a thing.
@quark I think I may have lost my original feed because it was written with the old software before Yarn social became a thing.
Irvine Running: 8.20 miles, 00:09:17 average pace, 01:16:06 duration
oh man, this was great! little to no humidity and 63F outside with hills. felt stupid easy which i think being able to breathe easily really was the main reason.
#running
Irvine Running: 8.20 miles, 00:09:17 average pace, 01:16:06 duration
oh man, this was great! little to no humidity and 63F outside with hills. felt stupid easy which i think being able to breathe easily really was the main reason.
#running
Irvine Running: 8.20 miles, 00:09:17 average pace, 01:16:06 duration
oh man, this was great! little to no humidity and 63F outside with hills. felt stupid easy which i think being able to breathe easily really was the main reason.
#running
@sorenpeter not really you're really forming a cryptographic chain of twts, that are cryptographically provable by anyone, at least in one direction ). It's called content addressing. Your propose scheme while simple doesn't do this.
@sorenpeter not really you're really forming a cryptographic chain of twts, that are cryptographically provable by anyone, at least in one direction ). It's called content addressing. Your propose scheme while simple doesn't do this.
After re-fetching feeds, the earliest twtxt I have from you is n7gavoa.
After re-fetching feeds, the earliest twtxt I have from you is n7gavoa.
@prologic, your first twtxt ever was o6dsrga, but I can't find the source for it (the raw file). I reset everything, and re-fetched fresh feeds (allegedly including archives). Where is it?
@prologic, your first twtxt ever was o6dsrga, but I can't find the source for it (the raw file). I reset everything, and re-fetched fresh feeds (allegedly including archives). Where is it?
@movq I figured it will be something like this, yet, you were able to reply just fine, and I wasn't. Looking at your twtxt.txt I see this line:


2024-09-16T17:37:14+00:00\t(#o6dsrga) @<prologic https://twtxt.net/user/prologic/twtxt.txt>

@<quark https://ferengi.one/twtxt.txt> This is what I get. 🤔


Which is using the right hash. Mine, on the other hand, when I replied to the original, old style message (Message-Id: <o6dsrga>), looks like this:


2024-09-16T16:42:27+00:00\t(#o) @<prologic https://twtxt.net/user/prologic/twtxt.txt> this was your first twtxt. Cool! :-P


What did you do to make yours work? I simply went to the oldest @prologic's entry on my Maildir, and replied to it (jenny set the reply-to hash to #o, even though the Message-Id is o6dsrga). Since jenny can't fetch archived twtxts, how could I go to re-fetch everything? And, most importantly, would re-fetching fix the Message-Id:?
@movq I figured it will be something like this, yet, you were able to reply just fine, and I wasn't. Looking at your twtxt.txt I see this line:


2024-09-16T17:37:14+00:00	(#o6dsrga) @<prologic https://twtxt.net/user/prologic/twtxt.txt>

@<quark https://ferengi.one/twtxt.txt> This is what I get. 🤔


Which is using the right hash. Mine, on the other hand, when I replied to the original, old style message (Message-Id: <o6dsrga>), looks like this:


2024-09-16T16:42:27+00:00	(#o) @<prologic https://twtxt.net/user/prologic/twtxt.txt> this was your first twtxt. Cool! :-P


What did you do to make yours work? I simply went to the oldest @prologic's entry on my Maildir, and replied to it (jenny set the reply-to hash to #o, even though the Message-Id is o6dsrga). Since jenny can't fetch archived twtxts, how could I go to re-fetch everything? And, most importantly, would re-fetching fix the Message-Id:?
[47°09′10″S, 126°43′48″W] Dosimeter overflow
****
¿Quien dijo que con las dietas se come menos? ⌘ Read more****
@quark Ahh, I see:

> Message-Id: <o6dsrga>

That’s an older format that was used before jenny version v23.04. It should look like this nowadays:

> Message-Id: <o6dsrga@twtxt>

Changelog entry from back then:


v23.04  2023-04-19
  [Changed]
  - The format of the "Message-Id" and "In-Reply-To" headers has
    changed. They now need an "@twtxt" suffix to be more compliant with
    RFC(2)822. This fixes issues when using aerc
    (https://aerc-mail.org/) as a frontend instead of mutt.

    If you want to retain compatibility with existing files in your
    maildir, you must manually add this suffix to these headers. (Or go
    ahead and re-sync everything.)


I guess I could have added backwards compatibility to the code. Maybe I’ll fix that later. 🤔
@quark Ahh, I see:

> Message-Id: <o6dsrga>

That’s an older format that was used before jenny version v23.04. It should look like this nowadays:

> Message-Id: <o6dsrga@twtxt>

Changelog entry from back then:


v23.04  2023-04-19
  [Changed]
  - The format of the "Message-Id" and "In-Reply-To" headers has
    changed. They now need an "@twtxt" suffix to be more compliant with
    RFC(2)822. This fixes issues when using aerc
    (https://aerc-mail.org/) as a frontend instead of mutt.

    If you want to retain compatibility with existing files in your
    maildir, you must manually add this suffix to these headers. (Or go
    ahead and re-sync everything.)


I guess I could have added backwards compatibility to the code. Maybe I’ll fix that later. 🤔
@quark Ahh, I see:

> Message-Id: <o6dsrga>

That’s an older format that was used before jenny version v23.04. It should look like this nowadays:

> Message-Id: <o6dsrga@twtxt>

Changelog entry from back then:


v23.04  2023-04-19
  [Changed]
  - The format of the "Message-Id" and "In-Reply-To" headers has
    changed. They now need an "@twtxt" suffix to be more compliant with
    RFC(2)822. This fixes issues when using aerc
    (https://aerc-mail.org/) as a frontend instead of mutt.

    If you want to retain compatibility with existing files in your
    maildir, you must manually add this suffix to these headers. (Or go
    ahead and re-sync everything.)


I guess I could have added backwards compatibility to the code. Maybe I’ll fix that later. 🤔
@quark Ahh, I see:

> Message-Id: <o6dsrga>

That’s an older format that was used before jenny version v23.04. It should look like this nowadays:

> Message-Id: <o6dsrga@twtxt>

Changelog entry from back then:


v23.04  2023-04-19
  [Changed]
  - The format of the "Message-Id" and "In-Reply-To" headers has
    changed. They now need an "@twtxt" suffix to be more compliant with
    RFC(2)822. This fixes issues when using aerc
    (https://aerc-mail.org/) as a frontend instead of mutt.

    If you want to retain compatibility with existing files in your
    maildir, you must manually add this suffix to these headers. (Or go
    ahead and re-sync everything.)


I guess I could have added backwards compatibility to the code. Maybe I’ll fix that later. 🤔
@prologic you will always be replying to OP - that is what the twthash is a shorthand for, it it not?!
@prologic you will always be replying to OP - that is what the twthash is a shorthand for, it it not?!
@prologic you will always be replying to OP - that is what the twthash is a shorthand for, it it not?!
@prologic you will always be replying to OP - that is what the twthash is a shorthand for, it it not?!
no my fault your client can't handle a little editing ;)
no my fault your client can't handle a little editing ;)
no my fault your client can't handle a little editing ;)
no my fault your client can't handle a little editing ;)
@movq I'm glad you like it. A mention (@<movq https://www.uninformativ.de/twtxt.txt> ) is also long, but we live with it anyway. In a way a replyto: is just a mention of a twt instead of a feed/person.
@movq I'm glad you like it. A mention (@<movq https://www.uninformativ.de/twtxt.txt> ) is also long, but we live with it anyway. In a way a replyto: is just a mention of a twt instead of a feed/person. Maybe we chould even model the syntax for replies on mentions:

(#<2024-09-17T08:39:18Z https://www.eksempel.dk/twtxt.txt>) ?!
@movq I'm glad you like it. A mention (@<movq https://www.uninformativ.de/twtxt.txt> ) is also long, but we live with it anyway. In a way a replyto: is just a mention of a twt instead of a feed/person.
@movq I'm glad you like it. A mention (@<movq https://www.uninformativ.de/twtxt.txt> ) is also long, but we live with it anyway. In a way a replyto: is just a mention of a twt instead of a feed/person. Maybe we chould even model the syntax for replies on mentions: (#<2024-09-17T08:39:18Z https://www.eksempel.dk/twtxt.txt>) ?!
@movq I'm glad you like it. A mention (@<movq https://www.uninformativ.de/twtxt.txt> ) is also long, but we live with it anyway. In a way a replyto: is just a mention of a twt instead of a feed/person. Maybe we chould even model the syntax for replies on mentions: (#<2024-09-17T08:39:18Z https://www.eksempel.dk/twtxt.txt>) ?!
@movq I'm glad you like it. A mention (@<movq https://www.uninformativ.de/twtxt.txt> ) is also long, but we live with it anyway. In a way a replyto: is just a mention of a twt instead of a feed/person. Maybe we chould even model the syntax for replies on mentions: (#<2024-09-17T08:39:18Z https://www.eksempel.dk/twtxt.txt>) ?!
@movq I'm glad you like it. A mention (@<movq https://www.uninformativ.de/twtxt.txt> ) is also long, but we live with it anyway. In a way a replyto: is just a mention of a twt instead of a feed/person. Maybe we chould even model the syntax for replies on mentions: (#<2024-09-17T08:39:18Z https://www.eksempel.dk/twtxt.txt>) ?!
@lyse and @movq and possibly @aelaraji and even @cuaxolotl -- I'm very curious to understand and hear thoughts, pros and cons or other feelings about introducing the notation of a feed's identify using cryptography? If we were to keep things simple, and use what's commonly available, for example SSH ED25519 keys? using the ssh-keygen -Y sign or ssh-keygen -Y verify tools already available? Maybe in combination with @xuu 's idea of generating a random unique ID for your feed, say # id = and signing it with your ED25519 key? 🔑
@lyse and @movq and possibly @aelaraji and even @cuaxolotl -- I'm very curious to understand and hear thoughts, pros and cons or other feelings about introducing the notation of a feed's identify using cryptography? If we were to keep things simple, and use what's commonly available, for example SSH ED25519 keys? using the ssh-keygen -Y sign or ssh-keygen -Y verify tools already available? Maybe in combination with @xuu 's idea of generating a random unique ID for your feed, say # id = and signing it with your ED25519 key? 🔑
@falsifian You mean the idea of being able to inline # url = changes in your feed?

> Whatever gets used, it would be nice to be able to rotate identities. I like @lyse’s idea for that.
@falsifian You mean the idea of being able to inline # url = changes in your feed?

> Whatever gets used, it would be nice to be able to rotate identities. I like @lyse’s idea for that.
[47°09′25″S, 126°43′13″W] Raw reading: 0x66E928F1, offset +/-5
[47°09′11″S, 126°43′57″W] Reading: 0.63000 PPM
@mckinley Yes, changing domains is be a problem if you tie your identity to an https url. But I also worry about being stuck with a key I can't rotate. Whatever gets used, it would be nice to be able to rotate identities. I like @lyse's idea for that.
This scheme also only support threading off a specific Twt of someone's feed. What if you're not replying to anyone in particular?
This scheme also only support threading off a specific Twt of someone's feed. What if you're not replying to anyone in particular?
Noting that this scheme cannot support disjoint threads that should be merged together once either party discovers each other 😅
Noting that this scheme cannot support disjoint threads that should be merged together once either party discovers each other 😅
@movq It does now as of several weeks ago or so 👌
@movq It does now as of several weeks ago or so 👌
@lyse Yea I think your idea of inclining url changes in the feed works perfectly as long as folks remember to do so I guess? 🤔
@lyse Yea I think your idea of inclining url changes in the feed works perfectly as long as folks remember to do so I guess? 🤔
@bender Seems to have used the hash correctly here 🤣
@bender Seems to have used the hash correctly here 🤣
Holy shot! what an old thread 🤣
Holy shot! what an old thread 🤣
@cuaxolotl Gitea is plenty fast for me 👌 Even with a SQLite database 🤣
@cuaxolotl Gitea is plenty fast for me 👌 Even with a SQLite database 🤣
I dunno whether any of this is actually true 🤷‍♂️ The LLM 🤖could have made (hallucinated) this shit up 🤣
I dunno whether any of this is actually true 🤷‍♂️ The LLM 🤖could have made (hallucinated) this shit up 🤣
WiscKey's approach to handling key-value pairs in SSDs offers several advantages:

1. It minimizes I/O amplification by separating keys and values, allowing for more efficient storage and retrieval.
2. The design leverages the SSD's performance characteristics, utilizing sequential writes and parallel random reads to enhance throughput and reduce latency.
3. WiscKey maintains excellent insert and lookup performance while improving SSD lifespan by reducing the number of erase cycles required.