# 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 2286
# self = https://watcher.sour.is?uri=https://twtxt.net/user/bender/twtxt.txt&offset=1186
# next = https://watcher.sour.is?uri=https://twtxt.net/user/bender/twtxt.txt&offset=1286
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/bender/twtxt.txt&offset=1086
@prologic I wonder where did this one went to:


2024-09-29T12:08:15Z	(#7wdvhia) @<lyse https://lyse.isobeef.org/twtxt.txt> love 27! Is that your town as seeing from the mountain, or some other town? From 395 to 40 is quite some picking! I figure that’s the most difficult part, right?

Ah, 16°C… what dreams are made of! 😍
@prologic I wonder where did this one went to:


2024-09-29T12:08:15Z\t(#7wdvhia) @<lyse https://lyse.isobeef.org/twtxt.txt> love 27! Is that your town as seeing from the mountain, or some other town? From 395 to 40 is quite some picking! I figure that’s the most difficult part, right?

Ah, 16°C… what dreams are made of! 😍
@lyse love 27! Is that your town as seeing from the mountain, or some other town? From 395 to 40 is quite some picking! I figure that’s the most difficult part, right?

Ah, 16°C… what dreams are made of! 😍
@doesnm see jenny.
I shall be there (here?). LOL.
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
@prologic what if I copy your uuid, and use it on my feed? What happens then? Also, was the dot after the timestamp intended?
@falsifian “The Memory Police” sounds like an interesting title. What is it about, if you don’t mind? Even a brief sentence would suffice. Thanks!
@prologic it was discovered because aelaraji engaged with it. I don’t think you will see a reply. 😩
@prologic do you think that, I don’t know, but maybe(?), Gopher/Gemini feeds might lack, pffff, I don’t know, any mechanisms for discovery…. and caching?!?! 🤣
@aelaraji LOL. For lyse’s sake (and everybody else’s), let’s not! 😂😂😂
@lyse I am jesting. Ain’t nobody got time for that!
@xuu wrote:

> "@bender I am also in camp no edit signals. deletes only breaks the head of a thread. all the replies are unaffected."

I figure I could also answer *every* single twtxt like this, so that if the original gets edited, or deleted, at least I don't sound foolish without knowing exactly what I replied to. 🤭
@aelaraji LOL, now that's rich! Hahahaha!
@xuu what do we want then? Just up the hash size to avoid collisions? I figure that’s easy. It’s going to be a short call tomorrow then. 😂🥳
@aelaraji it is just plain text. :-) Up for the challenge? Convert this: https://github.com/coignard/weblog, to shell!
@lyse in other words, you will take a hike. :-D
@aelaraji oh, they are not, but that doesn't take away that title from Matt. :-)
Have a fun, safe one, mate! I still have 6 more hours of work. Oof! :-D
@prologic you are better off not knowing. Didn't I say he is an asshole? 😂
@xuu yeah, that one. Or the other. Or some other obscurer one we might think of! 😂
@aelaraji "get off my lawn!" 😂 😂 😂
You ruined it, all by yourself! I wanted to ruin it too, but nooooooo, you had to do it all alone! 👿
@prologic I will not be following anyone on those two protocols. Can’t care less.
Oh, and I think I said this before, but just in case, fuck Gemini. Hell, fuck Gopher too. Bring on telnet, and UCCP. 😈
Either way, it is the last time I do something like this. It turns on my fastidiousness, and kind of makes me feel uneasy. Will pause a bit longer from now on.
@prologic yes, it has gotten kind of messy. Someone deleted/edited. That’s the only explanation.
@prologic and this one? It’s madness!
@prologic what was this in reply to? 🤭
@aelaraji it is not.
@aelaraji not missing it at all!
What does this image means?

That board is really… something (really can’t explain it with words). Also found interesting that’s a board for a single five-stars user, “Admin”. 😳
@mckinley dogecoin or nothing. Dogecoin is life! 😅
@prologic edit, edit! Hashtag, hashtag! 😅
@xuu 100%!
On:

> 3.4 Multi-Line Twts: What exactly do you think are bad things with multi-lines?

OP doesn’t want/like markdown (or some of it). He believes multi-lines propitiates or, rather, encourages it.
@anth you wrote:

> "Edits and Deletions should go; see also Section 6. This is probably the worst example of this document pushing a text document to do more protocol-like things."

Edit and deletions are precisely what brought us here. Currently, if one replies to a twtxt, and the original gets later edited, it breaks replies, and potentially drastically changes context.
Actually, I stand corrected. It shows a reply to a twtxt both having the same date/timestamp.
@sorenpeter not even this: https://twtxt.net/media/AzUmzTN5YEJdt4VPeeprjB.png?full=1
@sorenpeter right click, open on new tab, zoom if needed. If shows how the location addressing increases the size on each twtxt.
@prologic violent enough to be taken away by the police. 🤭😂
I know what keeps me coming back to twtxt. It is the little group of people with whom I interact. I don’t need a big audience. More often than not I have nothing interesting to write, but I enjoy the small interactions: bugging prologic, reading abucci, browsing Lyse’s clicks. I enjoy movq commentaries (I imagine him as a professor of some kind, don’t ask me why).

Anyway… cheers!
@eapl.me are you sure X will bring joy, and value? Will you have clear conscience knowing you are contributing to such despicable platform? It is your decision to make, sure.

Joy starts at you, not the platform you use. When you get bored, disgusted, offended, and leave X, come and let us know. I will be interested to read all about your experiment then. For now, “¡hasta pronto!”
@falsifian you can colorise things in Mutt/Neomutt. I have have colours for bold, italics, code, and blockquotes. In a way, I can “see” markdown! 😊
@falsifian it would be easier if instead of a bulleted list you would have used a numbered one. That way it would be easier to refer to the specific miscellaneous comment.

I have little to contribute on this reply. On bullet two, he meant the original hash. On the last bullet, markdown is already part of it (after all, it is plain text). Yarn, being a web client/server, simply renders it.
Meanwhile in Florida we are having a very Autumnal Equinox day, with temperatures 10-14° cooler than normal. That, on its own, isn’t normal at all, but I taketh! 😂
The three things we briefly talk about tonight (your morning), so that I don’t forget:

1. Add the ability to allow feed address changes.
2. Increase hash from 7 to 11, and/or change the hashing algorithm to something else, better.
3. Implement movq (I simply can’t mention while on mobile) second option (the one you like, which maintains content addressing).
@lyse makes me want to be there. Sunny, but “feels” fresh. Lovely!
@aelaraji it looks good! Where do you see those notifications?
I like the (replyto:...) as well. If the feed changes, well, it is the same as changing emails (and deleting the old one). No?
@movq good job!
Something’s broken.
@prologic the one I relied to. It vanished now.
@prologic where is the parent on your reply? 🧐🤔😅
@prologic right, because it was deleted, and purged from cache, of course! Good try, mister, you are in trouble. Call the Yarn Police! 😂
@prologic woot, woot! Glad everything went well. I feel it faster already!
@yarn_police I am noticing crimes around here, but I am too afraid to say anything (points at Lyse with mouth movements, no muttering a single word). Help us, officer!
@lyse matter of fact, earlier you posted:


2024-09-19T20:20:00+02:00\tI don't like Australians!


And then deleted it, fearing the Australian Mafia (which, as we know, is very powerful in Bavaria). But I got the hash for it, p5zdahq, and that timestamp has tt written all over it. That's my proof! 😅😅😅
@lyse matter of fact, earlier you posted:


2024-09-19T20:20:00+02:00	I don't like Australians!


And then deleted it, fearing the Australian Mafia (which, as we know, is very powerful in Bavaria). But I got the hash for it, p5zdahq, and that timestamp has tt written all over it. That's my proof! 😅😅😅
@prologic yes, like they show here: https://ferengi.one/#uebsf7a
> Brisbane is coming onboard. Roosters are "singing" all around @prologic, and the dog is begging for the morning poo/pee walk. @prologic throws a slipper at the dog, as he turns around, and hides under his comforter.

😂😂😂
@prologic how would that line look like if the twtxt itself had ", and other "spurious" characters in it?
@prologic this works perfectly. Thanks!
@aelaraji yes, it is ignoring the template right now. I also test it. So, something's broken, @prologic.
@aelaraji this is my change on main.go (but it can be done on a template now, so no reason to touch the code):


                                 <time class="dt-published" datetime="{{ $twt.Created | date "2006-01-02T15:04:05Z07:00" }}">
                                        {{ $twt.Created | date "2006-01-02 15:04:05 MST" }}
                                  </time>


See https://ferengi.one. I am going to further customise things, but that's a start.
Never mind this one, figured it out. I am so silly! :-D
What's wrong with the timestamps, @prologic? See https://aelaraji.com/log.html, all are +0000 UTC+0000. Same on a local test I am running.

I tried changing {{ $twt.Created | date "2006-01-02T15:04:05Z07:00" }} to {{ $twt.Created | date "2006-01-02T15:04:05" }}, but no dice. I don't really care about the timezone. LOL.
How difficult will it be for you to modify this, so that can also spit out individual HTML files named after the twtxt hash, using a similar template?
@prologic ah! Something like this:


<!DOCTYPE html>
<html lang="en">
  <head>
    <link rel="stylesheet" href="https://cdn.simplecss.org/simple.min.css">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
    <title>{{ .Title }}</title>
  </head>
\t<body class="preload">
\t  <main class="container">
\t\t{{ range $_, $twt := $.Twts }}
\t\t  <article id="{{ $twt.Hash }}" class="h-entry">
\t\t\t<div class="u-author h-card">
\t\t\t  <div class="dt-publish">
\t\t\t\t<a class="u-url" href="#{{ $twt.Hash }}">
\t\t\t\t  <time class="dt-published" datetime="{{ $twt.Created | date "2006-01-02T15:04:05Z07:00" }}">
\t\t\t\t\t{{ $twt.Created }}
\t\t\t\t  </time>
\t\t\t\t</a>
\t\t\t\t<span>&nbsp;{{ $twt.Created | time }}</span>
\t\t\t\t<a class="u-search" href="https://search.twtxt.net/twt/{{ $twt.Hash }}">(search)</a>
\t\t\t  </div>
\t\t\t</div>
\t\t\t<div class="e-content">
\t\t\t  {{ formatTwt $twt }}
\t\t\t</div>
\t\t  </article>
\t\t{{ end }}
\t  </main>
\t</body>
</html>
@prologic ah! Something like this:


<!DOCTYPE html>
<html lang="en">
  <head>
    <link rel="stylesheet" href="https://cdn.simplecss.org/simple.min.css">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
    <title>{{ .Title }}</title>
  </head>
	<body class="preload">
	  <main class="container">
		{{ range $_, $twt := $.Twts }}
		  <article id="{{ $twt.Hash }}" class="h-entry">
			<div class="u-author h-card">
			  <div class="dt-publish">
				<a class="u-url" href="#{{ $twt.Hash }}">
				  <time class="dt-published" datetime="{{ $twt.Created | date "2006-01-02T15:04:05Z07:00" }}">
					{{ $twt.Created }}
				  </time>
				</a>
				<span>&nbsp;{{ $twt.Created | time }}</span>
				<a class="u-search" href="https://search.twtxt.net/twt/{{ $twt.Hash }}">(search)</a>
			  </div>
			</div>
			<div class="e-content">
			  {{ formatTwt $twt }}
			</div>
		  </article>
		{{ end }}
	  </main>
	</body>
</html>
@prologic how would a default template look like?
@aelaraji can you share the workflow you are using on jenny to convert twtxt.txt to HTML using @prologic's code?
@movq the thing is, the twtxt is in Maildir. When I reply to it, it doesn’t use the existing hash.
Trying to fetch the original (highlighting yours) with jenny renders this:

@movq the puzzle thickens:

@movq use @xuu pod as default instead, as he keeps the cache as long as I used to keep mine when I ran Yarn. @prologic's pod expires then way too soon.
Tangential, @prologic, mentioning is still broken in Yarn. See parent, @aelaraji is not linked (probably the mention on this twtxt will also be not linked).
Namely, the numbered list was wrong on the original twtxt, and the closing back ticks on the numbered list items were also wrong.
@quark @aelaraji, because a screenshot speaks better than a thousand words:

Original:



Modified:

@aelaraji fetch from the highlighted twtxt:

@mckinley based on @falsifian's findings (something we have talked about before on IRC as well), because collisions can occur now, maybe what you describe might not happen. It will be sort of... chaotic, for sure.
@prologic oh, I am sure crypto is innate... for some people. Not me! :-D
@prologic when it becomes innate. There was a time, I am sure (but don't know for sure, LOL), that all "we" heard about was electricity. No much these days, right?
@movq looks like a good compromise! Updating as soon as I reach home. Thank you!
Well, we can’t have it both ways! 😅 Should we assume twtxt are read by clients, and not worry about something humans won’t see? 🤭
The missing context makes it kind of hard to follow.
@prologic does it renders threads nicely, or is it a straight, flat, timeline.
Because it needs to be seeing bigger!

Lyse's sunset
@lyse pretty cool! No processing, those are the colours the camera saw, right? Amazing!
Order placed!

Now the wait starts. 😩😂
@prologic I will ping you on the 15th. Enjoy the weekend, mate! Don't worry, the Mills DC will continue to run 😂. Disconnect, and have fun!
@prologic you want this, https://key.sour.is/id/me@sour.is?
@aelaraji twtxt isn't one of the available proofs: https://docs.keyoxide.org/
Heck, fuck http too. https, or die.
I say fuck gemini, and gopher. 😅
The problem we are sporadically experiencing relates to content, specifically the editing of it. It breaks things.
@lyse talk about an epic adventure! :-D