# 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 196258
# self = https://watcher.sour.is?offset=172685
# next = https://watcher.sour.is?offset=172785
# prev = https://watcher.sour.is?offset=172585
It's no worse than what we have now, it's better. But yes caveats still apply.
@movq Yup.
@movq Yup.
@prologic So this hinges on clients keeping a history of the twt hashes. Clients that clean their cache or simply start following a feed later on have no way of reconstructing older twt hash versions and thus no way of reconstructing existing threads. Right?
@prologic So this hinges on clients keeping a history of the twt hashes. Clients that clean their cache or simply start following a feed later on have no way of reconstructing older twt hash versions and thus no way of reconstructing existing threads. Right?
@prologic So this hinges on clients keeping a history of the twt hashes. Clients that clean their cache or simply start following a feed later on have no way of reconstructing older twt hash versions and thus no way of reconstructing existing threads. Right?
@prologic So this hinges on clients keeping a history of the twt hashes. Clients that clean their cache or simply start following a feed later on have no way of reconstructing older twt hash versions and thus no way of reconstructing existing threads. Right?
@slashdot No 😅
@slashdot No 😅
@doesnm I think it's a good idea to fork twet and continue to improve it. It's an "okay" Twtxt cli client, but it needs a bit more work 👌
@doesnm I think it's a good idea to fork twet and continue to improve it. It's an "okay" Twtxt cli client, but it needs a bit more work 👌
@doesnm Sorry I meant twet 🤦‍♂️
@doesnm Sorry I meant twet 🤦‍♂️
@lyse See @movq 's undersanding. Now this had some edge cases that we agreed probably aren't worth solving for.
@lyse See @movq 's undersanding. Now this had some edge cases that we agreed probably aren't worth solving for.
@movq Yes 👍
@movq Yes 👍
What a sunny Sunday. I'm going to harvest the apples from the garden.
What a sunny Sunday. I'm going to
[47°09′10″S, 126°43′38″W] Transfer aborted
@prologic I'm afraid, I don't understand how the edit detection works so that it does not break threads. All I see is that some hash in a subject is missing.
It has twts cache which used if timeline is set to jew. Maybe i.should fork twet to make wishes like newlines (i see two squares), showing conversations, showing twts if not found in cache and parsing medata to configure url, nick and followers (currenly it duplicated in config and twtxt file)
@prologic Okay. So it goes like this:

My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.

On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp T has now a twt hash of B instead of A, so this is an edited twt.

Did I understand that correctly so far? 🤔
@prologic Okay. So it goes like this:

My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.

On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp T has now a twt hash of B instead of A, so this is an edited twt.

Did I understand that correctly so far? 🤔
@prologic Okay. So it goes like this:

My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.

On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp T has now a twt hash of B instead of A, so this is an edited twt.

Did I understand that correctly so far? 🤔
@prologic Okay. So it goes like this:

My client fetches a feed. It builds a map/hashmap/dictionary of all twts: Timestamps map to twt hashes. It then stores/shows the twts. It also stores the hashmap.

On the next fetch operation, the client re-processes all twts in the feed. It must now compare each timestamp to the previously built hashmap: Aha, timestamp T has now a twt hash of B instead of A, so this is an edited twt.

Did I understand that correctly so far? 🤔
Thank you very much, @prologic! <3 When leaving the unpleasant towns, one can really enjoy the stunning landscape here. Very refreshing.

Yep, these are some sick mushrooms. No idea what they are, though. Not sure if they're edible more than once or not, but I have a feeling that one should refrain from trying. The ones I photographed here were in a nature reserve. They were a bit bigger than the others we came across on meadows. Still impressive sizes nevertheless.
@lyse Pretty nice views 👌 I enjoyed reading this. It was though I were there in the morning walking with you guys up to the summit man those mushrooms really are quite some aren't they? 🙃
@lyse Pretty nice views 👌 I enjoyed reading this. It was though I were there in the morning walking with you guys up to the summit man those mushrooms really are quite some aren't they? 🙃
@movq Yes! Basically @david points out that if we mandate that authors should retain the original timestamp in their feed when adjusting content, making fixes, etc, that they retain the original timestamp and leave it unaltered. We already do this anyway, we just need to say so.

Now we have a situation where folks participating in a "conversation" (thread) with appropriate clients can automatically detect edits with almost 100% accuracy by mere fact that the next time they fetch a feed that contains an edit, they now see two versions of the Twt with two different hashes, but identical timestamps.

You can use the fetch time to approximate a "version number" and deal with the display (UX) appropriately.

I can't believe I didn't think of this before 🤦‍♂️
@movq Yes! Basically @david points out that if we mandate that authors should retain the original timestamp in their feed when adjusting content, making fixes, etc, that they retain the original timestamp and leave it unaltered. We already do this anyway, we just need to say so.

Now we have a situation where folks participating in a "conversation" (thread) with appropriate clients can automatically detect edits with almost 100% accuracy by mere fact that the next time they fetch a feed that contains an edit, they now see two versions of the Twt with two different hashes, but identical timestamps.

You can use the fetch time to approximate a "version number" and deal with the display (UX) appropriately.

I can't believe I didn't think of this before 🤦‍♂️
There we go!

=> twtxt.dev

🥳=
There we go!

=> twtxt.dev

🥳=
@prologic Any more details on the edit stuff? 🤔
@prologic Any more details on the edit stuff? 🤔
@prologic Any more details on the edit stuff? 🤔
@prologic Any more details on the edit stuff? 🤔
@doesnm I will have something up soon™ 🤞
@doesnm I will have something up soon™ 🤞
@doesnm twt probably isn't the best client I'm afraid. It doesn't really cache twts by their key (hash) to display threads properly. Jenny however does 👌
@doesnm twt probably isn't the best client I'm afraid. It doesn't really cache twts by their key (hash) to display threads properly. Jenny however does 👌
Yesterday's April weather offered nearly everything. Sun, rain, clouds, wind. Luckily, the rain wasn't too bad, we precautionally brought our rain jackets and took cover under some trees for 5-10 minutes. From then on, it alternated mostly between sunny and cloudy. Perfect conditions for photography.

The 16°C felt pretty cold with all the wind. Especially at the summit for a late lunch. The clouds covered the sun for almost the entire time and the wind blew hard. Being sweaty from the way up didn't help. The sun returned as soon as we packed up.

On the way home, it drizzled just a little bit, although the clouds were really dark. A nice surprise. All in all, we had a really nice hike. As a bonus, my mate established a new train ride record low to get home, despite all the Octoberfest crap going on right now.

Colorful leaves on a tree

From my 395 photos, I only kept 40: https://lyse.isobeef.org/waldspaziergang-2024-09-28/ In 18's upper left corner you can see a black beetle similar to what I've seen earlier this week. The one that rolled over its side to change directions, this one didn't, though.

The mushroom in 35 and 36 was enormous, easily 20 centimeters in diameter. We came across a few of them along our journey.
[47°09′50″S, 126°43′37″W] Bad satellite signal -- switching to analog communication
Only with dovecot xD. For mail im use android native mail client and not mutt. And jenny display some errors with found some files and /tmp dir (android dont have /tmp)
twet display twts in raw format with some formatting (sadly no newlines). And for reply messages i just seen (#hash). But which text hidden on hash? currenly im open twtxt.net/twt/hash to see this
Yes, im also do not like Hugo so rewrite theme above to Jekyll (with some changes)
Here's what I've got so far...
Here's what I've got so far...
@doesnm Thanks! I've almost come up with my own theme already 🤣 I _actually_ don't really want to use Hugo at all, I find it too complicated. But it is pretty popular so I _thought_ maybe I'd rip-off a nice theme... Hmmm 🧐

Anyway, What I really normally use for a lot of my static sites is zs
@doesnm Thanks! I've almost come up with my own theme already 🤣 I _actually_ don't really want to use Hugo at all, I find it too complicated. But it is pretty popular so I _thought_ maybe I'd rip-off a nice theme... Hmmm 🧐

Anyway, What I really normally use for a lot of my static sites is zs
https://git.dc09.ru/DarkCat09/dc09-hugo
[47°09′59″S, 126°43′02″W] Non-significative results -- sampling finished
I'm looking to develop a static site for twtxt.dev -- A domain I own and have wanted to use for developer and specification docs for Twtxt.

Can anyone recommend a few Hugo themes you like?

All of the dev.twtxt.net content would move over as well.
I'm looking to develop a static site for twtxt.dev -- A domain I own and have wanted to use for developer and specification docs for Twtxt.

Can anyone recommend a few Hugo themes you like?

All of the dev.twtxt.net content would move over as well.
🧮 USERS:1 FEEDS:2 TWTS:1107 ARCHIVED:79577 CACHE:2662 FOLLOWERS:17 FOLLOWING:14
@doesnm see jenny.
@doesnm I am not sure I am understanding what you mean. Can you explain?
@doesnm I am not sure I am understanding what you mean. Can you explain?
Aujourd'hui, petits changements de formatage de mes documents sur le style RFC. Le titre apparaît désormais au centre et en haut de page. On a aussi la date de rédaction suivie de la date de dernière mise à jour. Que c'est beau :)
Aujourd'hui, petits changements de formatage de mes documents sur le style RFC. Le titre apparaît désormais au centre et en haut de page. On a aussi la date de rédaction suivie de la date de dernière mise à jour. Que c'est beau :)
[47°09′48″S, 126°43′01″W] Taking samples
How to read twts without browser? I dont understand context in reply messages
I shall be there (here?). LOL.
Lol, im just join for several minutes. Wait, Merkle Trees in twtxt?
Cya y'all again next month (2nd Sat in Oct) 🤞
Cya y'all again next month (2nd Sat in Oct) 🤞
👋 Thanks for joining us on our Sept monthly Yarn.social meetup today y'all 🙇‍♂️ We had @david @sorenpeter @doesnm @falsifian and @xuu 💪 Nice turn out! (_not all at once of course, as we normally run this over 4 hours as we span many time zones!_)

Things we talked about:

- Decentralised vs. Distributed
- Use of SHA256 for Twt Hash(es)
- We solved Edits! 🥳
- UUID(s) probably won't work! (_susceptible to sppofing_)
- Helped @sorenpeter write some PHP to process/parse User-Agent and service his feed via a custom PHP script 😅
- @falsifian introduced himself 👌
- Talked about Merkle Trees 🌳

Did I miss anything? 🤔
👋 Thanks for joining us on our Sept monthly Yarn.social meetup today y'all 🙇‍♂️ We had @david @sorenpeter @doesnm @falsifian and @xuu 💪 Nice turn out! (_not all at once of course, as we normally run this over 4 hours as we span many time zones!_)

Things we talked about:

- Decentralised vs. Distributed
- Use of SHA256 for Twt Hash(es)
- We solved Edits! 🥳
- UUID(s) probably won't work! (_susceptible to sppofing_)
- Helped @sorenpeter write some PHP to process/parse User-Agent and service his feed via a custom PHP script 😅
- @falsifian introduced himself 👌
- Talked about Merkle Trees 🌳

Did I miss anything? 🤔
[47°09′57″S, 126°43′31″W] --white noise--
And here's a dashy of the no. of notify requests (from WebSub)
And here's a dashy of the no. of notify requests (from WebSub)
yarnd and WebSub
yarnd and WebSub
https://blog.notmyidea.org/debian-python-packaging.html
today I wrote a CV sequencer in VoodooAssembly for work OO #coding #programming #embedded
@bender The display is very very good 😊
@bender The display is very very good 😊
Very nice setup, @prologic! I envy that display! 😍
@aelaraji come! @movq come! @xuu come! @abucci come!
The lottery is open for everyone, and the pool is small, so chances are you will (might?) be the winner. Come check, and see if you are the winner!
Come join us!

Happening now: https://meet.mills.io/call/Yarn.social
On my blog: Free Culture Book Club — Aumyr, part 4 https://john.colagioia.net/blog/2024/09/28/aumyr-4.html #freeculture #bookclub
On my blog: Free Culture Book Club — Aumyr, part 4 https://john.colagioia.net/blog/2024/09/28/aumyr-4.html #freeculture #bookclub
[47°09′14″S, 126°43′29″W] 4181 days without news from Herve
@sorenpeter well edits can be detected with either approach really
@sorenpeter well edits can be detected with either approach really
Summary of Discussions (_as best I can_):

- @lyse and @sorenpeter express simplicity. Both Lyse and Sorenpeter support location-based addressing.
- @falsifian believes we should continue to develop ideas and extensions progressively over time like we've always done.
- @david @quark and @bender would like a better user experience, especially when threads break due to edits, deletions or feed location changes.
- @anth would like to see utf-8 mandated, and the threading model remain largely the same as it is today, which is primarily based on the convention of a Twt Subject anyway, Twt Hash(es) just make the threading "more precise". Anth also states that format, client and server specification/recommendations should be kept separate.
- @movq @xuu sorry you two haven't said too much really, so I'm not too sure?

Overall, the 22 votes we've had on the poll from the community (_if you can call it a community?_) have clearly shown that:

- We continue to support content-based addressing. (65/35)
- We think about formally supporting edits/deletes (60/40)
- We do not increase the use of cryptography (_thworing things like authenticity and identity out the window_) (70/30)

And overall the NPS (_net promoter score_) of "Would I recommend Twtxt to a friend" is a whopping 7/10 (_which is crazy! 🤯_)

Let's have our monthly catch up soon™ (1hr) and discuss together. My own take on the direction we should take at this point is as follows:

- We continue to use hashing for the threading model.
- We think about changing this to SHA-256 for simplicity.
- We either adopt @anth's UUID approach or @lyse Dynamic URL approach.
- We continue to incrementally/progressively improve things over time as @falsifian suggested.
- We think about mandating utf-8 as @anth suggests which makes things so much easier for everyone.
- We further discuss the merits/ideas of supporting formal Edit/Delete requests or other ways to better support this in some way.
Summary of Discussions (_as best I can_):

- @lyse and @sorenpeter express simplicity. Both Lyse and Sorenpeter support location-based addressing.
- @falsifian believes we should continue to develop ideas and extensions progressively over time like we've always done.
- @david @quark and @bender would like a better user experience, especially when threads break due to edits, deletions or feed location changes.
- @anth would like to see utf-8 mandated, and the threading model remain largely the same as it is today, which is primarily based on the convention of a Twt Subject anyway, Twt Hash(es) just make the threading "more precise". Anth also states that format, client and server specification/recommendations should be kept separate.
- @movq @xuu sorry you two haven't said too much really, so I'm not too sure?

Overall, the 22 votes we've had on the poll from the community (_if you can call it a community?_) have clearly shown that:

- We continue to support content-based addressing. (65/35)
- We think about formally supporting edits/deletes (60/40)
- We do not increase the use of cryptography (_thworing things like authenticity and identity out the window_) (70/30)

And overall the NPS (_net promoter score_) of "Would I recommend Twtxt to a friend" is a whopping 7/10 (_which is crazy! 🤯_)

Let's have our monthly catch up soon™ (1hr) and discuss together. My own take on the direction we should take at this point is as follows:

- We continue to use hashing for the threading model.
- We think about changing this to SHA-256 for simplicity.
- We either adopt @anth's UUID approach or @lyse Dynamic URL approach.
- We continue to incrementally/progressively improve things over time as @falsifian suggested.
- We think about mandating utf-8 as @anth suggests which makes things so much easier for everyone.
- We further discuss the merits/ideas of supporting formal Edit/Delete requests or other ways to better support this in some way.
@lyse Got time now before you head off?
@lyse Got time now before you head off?
Happy Gopher, fridayspace :)
@prologic YES James, it should be up to the client to deal with changes like edits and deletions. And putting this load on the clients, location-addressing with make this a lot easier since what is says it: Look in this file at this timestamp, did anything change or went missing? (And then threading will not break;)
@prologic YES James, it should be up to the client to deal with changes like edits and deletions. And putting this load on the clients, location-addressing with make this a lot easier since what is says it: Look in this file at this timestamp, did anything change or went missing? (And then threading will not break;)
@prologic YES James, it should be up to the client to deal with changes like edits and deletions. And putting this load on the clients, location-addressing with make this a lot easier since what is says it: Look in this file at this timestamp, did anything change or went missing? (And then threading will not break;)
@prologic YES James, it should be up to the client to deal with changes like edits and deletions. And putting this load on the clients, location-addressing with make this a lot easier since what is says it: Look in this file at this timestamp, did anything change or went missing? (And then threading will not break;)
@prologic Yeah, we're out around this period, so the odds of me even joining at the end are pretty much zero.

But that shouldn't matter too much, as y'all know my point of view. I'm in the not so popular simplicity camp. ;-)

In any case, I wish you all some great fun and good discussions! :-)
facilitated a qiudanz technique workshop in a merveilles.town meetup | https://compudanzas.net/qiudanz_devlog.html
[47°09′34″S, 126°43′21″W] Reading: 1.75 Sv