# 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 61083
# self = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=29191
# next = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=29291
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=29091
@tkanos Roughly documented in a blog post at Future of Yarn.social
meant to say "love your work" 🀣
meant to say "love your work" 🀣
@ullarah love tout work mate πŸ‘Œ πŸ˜†
@ullarah love tout work mate πŸ‘Œ πŸ˜†
@novaburst Which Pod are you seeing this on? Is this just a weird browser causing this or is this a real problem/bug? πŸ€”
@novaburst Which Pod are you seeing this on? Is this just a weird browser causing this or is this a real problem/bug? πŸ€”
@mutefall pagination is also kind of tricky to do in the first place, because the entire feed has to be parsed, loaded into memory, then paginated. it's terribly inefficient. one could argue you could use a giant big SQL database and come up with some kind of schema, but that's not really the point I don't think nor really desirable for many reasons.
@mutefall pagination is also kind of tricky to do in the first place, because the entire feed has to be parsed, loaded into memory, then paginated. it's terribly inefficient. one could argue you could use a giant big SQL database and come up with some kind of schema, but that's not really the point I don't think nor really desirable for many reasons.
Please snrue you are unning either edge@060b9873 or v0.13.0@060b9873 (or later) πŸ‘Œ
Please snrue you are unning either edge@060b9873 or v0.13.0@060b9873 (or later) πŸ‘Œ
Feeds are periodically fetched, cache is updated and views are rendered or API responses are provided from the cache. Cache is limited by Size per Feed and TTL
Feeds are periodically fetched, cache is updated and views are rendered or API responses are provided from the cache. Cache is limited by Size per Feed and TTL
@caesar

> Pagination? Like Yarn uses elsewhere. Or infinite scroll, but from the server side that’s still pagination.

Sure. Possible. Infinite scroll on an SSR isn't really possible without significant use of JS AFIAK.

> Exactly. Every other social network has that feature; I’ve missed it here serveral times already and it looks like I’m not the only one.

We don't πŸ˜€ See philosophical reasons.

> I still don’t get the difficulty from a technical point of view I’m afraid. πŸ€”

It's a design decision...
@caesar

> Pagination? Like Yarn uses elsewhere. Or infinite scroll, but from the server side that’s still pagination.

Sure. Possible. Infinite scroll on an SSR isn't really possible without significant use of JS AFIAK.

> Exactly. Every other social network has that feature; I’ve missed it here serveral times already and it looks like I’m not the only one.

We don't πŸ˜€ See philosophical reasons.

> I still don’t get the difficulty from a technical point of view I’m afraid. πŸ€”

It's a design decision...
@caesar Not a bug πŸ˜… Yarn.social is "eventually consistent" πŸ˜‚ Caching catching up. my pod is a bit busier than others, I _may_ consider turning off Open Registrations once day to curb its size ☺️
@caesar Not a bug πŸ˜… Yarn.social is "eventually consistent" πŸ˜‚ Caching catching up. my pod is a bit busier than others, I _may_ consider turning off Open Registrations once day to curb its size ☺️
@caesar This is not my experience so far. With the room that @jlj runs at #lobby:nfld.uk he bridges to IRCNow, I was surprised to learn that my preserve over at IRCNow is James Mils[m] -- Which is fine. But yeah πŸ˜… The annoying part for me really (nevermind the trust issue) I kept getting Matrix IM(s) from a couple of bots from the Bridge or via the Bridge from the IRCNow side which was quite surprising to me. I don't like surprising behaviour πŸ˜‚

Sorry @jlj I've since left the room, no offense πŸ€—
@caesar This is not my experience so far. With the room that @jlj runs at #lobby:nfld.uk he bridges to IRCNow, I was surprised to learn that my preserve over at IRCNow is James Mils[m] -- Which is fine. But yeah πŸ˜… The annoying part for me really (nevermind the trust issue) I kept getting Matrix IM(s) from a couple of bots from the Bridge or via the Bridge from the IRCNow side which was quite surprising to me. I don't like surprising behaviour πŸ˜‚

Sorry @jlj I've since left the room, no offense πŸ€—
@caesar What if that text file is 1MB in size? How do you display this in any reasonable way? What if it was recently rotated (something that occurs once feeds reach a certain size). Moreover, even if the feed file itself was relatively small, you would incur processing resources as you would have to parse it over and over just to serve the purpose? Which is what? To view the entire contents one someone's feed? πŸ˜…

Hope this helps πŸ˜…
@caesar What if that text file is 1MB in size? How do you display this in any reasonable way? What if it was recently rotated (something that occurs once feeds reach a certain size). Moreover, even if the feed file itself was relatively small, you would incur processing resources as you would have to parse it over and over just to serve the purpose? Which is what? To view the entire contents one someone's feed? πŸ˜…

Hope this helps πŸ˜…
πŸ“£ PSA: Could anyone that was/is running the websub feature on their pods, please docker pull or git pull and rebuild/redeploy your pods. I've fixed hopefully the last issue which leads to pods basically seeing no updates when another restarts 😳 Ooops πŸ˜‚ Thanks @ullarah πŸ™‡β€β™‚οΈ
πŸ“£ PSA: Could anyone that was/is running the websub feature on their pods, please docker pull or git pull and rebuild/redeploy your pods. I've fixed hopefully the last issue which leads to pods basically seeing no updates when another restarts 😳 Ooops πŸ˜‚ Thanks @ullarah πŸ™‡β€β™‚οΈ
@caesar Haha can I blame ignorance here and too many layers of trust indirection? πŸ˜… The _thing_ is you correct, but I am asserting that the additional "middle-man" here is the part that's difficult to trust. It's far easier to reason about and trust a service (for example Messenger) that you are a direct consumer of.
@caesar Haha can I blame ignorance here and too many layers of trust indirection? πŸ˜… The _thing_ is you correct, but I am asserting that the additional "middle-man" here is the part that's difficult to trust. It's far easier to reason about and trust a service (for example Messenger) that you are a direct consumer of.
@bram Hello! πŸ‘‹ Welcome to Yarn.social and my pod πŸ€— Let me know if you need any help getting started!
@bram Hello! πŸ‘‹ Welcome to Yarn.social and my pod πŸ€— Let me know if you need any help getting started!
@mckinley It's okay, one just need to bookmark the Root Twt. Since all Twts and Yarns are content-addressable, it is not hard to bring this back up πŸ‘Œ
@mckinley It's okay, one just need to bookmark the Root Twt. Since all Twts and Yarns are content-addressable, it is not hard to bring this back up πŸ‘Œ
@mckinley I tend to agree with this sentiment.

Yarn.social pods today are already IndieAuth providers, consumer side coming soonβ„’

So to answer your question in a roundabout way, yes this sort of thing will be possible.
@mckinley I tend to agree with this sentiment.

Yarn.social pods today are already IndieAuth providers, consumer side coming soonβ„’

So to answer your question in a roundabout way, yes this sort of thing will be possible.
For example; In order for you to trust a "Bridge" to another "platform" you have to:

- Trust the network
- Trust the software
- Trust the operator

You have to place trust in a whole bunch of things that acts an an "Agent" on your behalf on some other platform you don't have an identity with (for example some random Matrix room <-> some random IRC Channel on some random IRC Network)

This is kind of nuts πŸ€¦β€β™‚οΈ #Matrix #Trust
For example; In order for you to trust a "Bridge" to another "platform" you have to:

- Trust the network
- Trust the software
- Trust the operator

You have to place trust in a whole bunch of things that acts an an "Agent" on your behalf on some other platform you don't have an identity with (for example some random Matrix room <-> some random IRC Channel on some random IRC Network)

This is kind of nuts πŸ€¦β€β™‚οΈ #Matrix #Trust
Oh boi πŸ˜… After having used [Matrix] for a bit over a day or so now (after having some initial troubles with "Federating") I have some _really_ strong reservations on Matrix, Bridges and that whole ecosystem and it's architecture πŸ˜‚ I'm _really_ not certain I can live with some of the "decisions", "architectures" "culture" and over-engineering nature that is [Matrix] πŸ€” #Matrix #Thoughts
Oh boi πŸ˜… After having used [Matrix] for a bit over a day or so now (after having some initial troubles with "Federating") I have some _really_ strong reservations on Matrix, Bridges and that whole ecosystem and it's architecture πŸ˜‚ I'm _really_ not certain I can live with some of the "decisions", "architectures" "culture" and over-engineering nature that is [Matrix] πŸ€” #Matrix #Thoughts
Since enabling the new (still experimental) feature FeatureWebSub (enabled with websub) this has been the resulting change in behaviour for my pod (twtxt.net):

twtxt.net-status-codes
Since enabling the new (still experimental) feature FeatureWebSub (enabled with websub) this has been the resulting change in behaviour for my pod (twtxt.net):

twtxt.net-status-codes
and of course the obvious:

- it should be decentralised
- it should be easily self-hostable
- it should be easy to operate
- it should be easy to use

and above all:

- there shall never be any tracking of user data or user behaviour
- there shall be no advertising whatsoever
- there shall be no corporate or political interests or influence

Yarn.social should remain free (as in beer), open source, open and transparent.

I _hope_ it remains this way as we continue to grow! 🀞
and of course the obvious:

- it should be decentralised
- it should be easily self-hostable
- it should be easy to operate
- it should be easy to use

and above all:

- there shall never be any tracking of user data or user behaviour
- there shall be no advertising whatsoever
- there shall be no corporate or political interests or influence

Yarn.social should remain free (as in beer), open source, open and transparent.

I _hope_ it remains this way as we continue to grow! 🀞
I should also add to this Yarn that there is a long-list of things to avoid that are "hard lines" in terms of what Yarn.social is, what it should be and what it will be (the specs, the ecosystem, etc):

- It should be hard to abuse
- no one person's opinion is more important than another (top heavy posters, popular people, people in so-called "positions of power", etc)
- it should be your choice to post an opinions or share an idea or thought (not the other way around)
I should also add to this Yarn that there is a long-list of things to avoid that are "hard lines" in terms of what Yarn.social is, what it should be and what it will be (the specs, the ecosystem, etc):

- It should be hard to abuse
- no one person's opinion is more important than another (top heavy posters, popular people, people in so-called "positions of power", etc)
- it should be your choice to post an opinions or share an idea or thought (not the other way around)
@mutefall This is also well said ! πŸ‘Œ I like it, and you're absolutely right. Under no circumstances will we ever fall into the gawd awful trap of "timeline manipulation" beyond sorting by time and hash or rendering as trees (as is the case in some clients already).

Not only should there be an end, the "system" should forget as we "humans" do. Yes we will bring in builtin search to yarnd so you _can_ search the archives if you want to, but that _should_ be your choice to do so, sort of like:

> Hmm, let me think about that for a minute and try to remember!
@mutefall This is also well said ! πŸ‘Œ I like it, and you're absolutely right. Under no circumstances will we ever fall into the gawd awful trap of "timeline manipulation" beyond sorting by time and hash or rendering as trees (as is the case in some clients already).

Not only should there be an end, the "system" should forget as we "humans" do. Yes we will bring in builtin search to yarnd so you _can_ search the archives if you want to, but that _should_ be your choice to do so, sort of like:

> Hmm, let me think about that for a minute and try to remember!
@mutefall @nexeq Yes! Please bring your friends and family! πŸ€— My wife and old man are on here already and are active users πŸ˜…
@mutefall @nexeq Yes! Please bring your friends and family! πŸ€— My wife and old man are on here already and are active users πŸ˜…
@novaburst I _think_ you should try to dig up evidence, links, articles and such and post them here in this Yarn for for "posterity" maybe even #hashtag it #Minecraft to -- Google and other search engines do index Yarn.social (quite quickly too I might add) πŸ˜…
@novaburst I _think_ you should try to dig up evidence, links, articles and such and post them here in this Yarn for for "posterity" maybe even #hashtag it #Minecraft to -- Google and other search engines do index Yarn.social (quite quickly too I might add) πŸ˜…
@<~duriny https://envs.net/~duriny/twtxt.txt> Maybe later, things to do, people to see, table-tennis to play πŸ˜…
@<~duriny https://envs.net/~duriny/twtxt.txt> Maybe later, things to do, people to see, table-tennis to play πŸ˜…
@mutefall Thank you for your thoughts on this and your write-ups! πŸ‘Œ I couldn't have said any of this better myself, and I _really_ wanted someone else's unbiased perspective on this as they've gone through it. Thanks! πŸ™‡β€β™‚οΈ

I will reiterate that many of the design decisions made are in fact quite deliberate and philosophical in nature and learn towards "how do we make a better more human social media" and "how do we make it as real and down to earth" as possible, "more human" friendly.
@mutefall Thank you for your thoughts on this and your write-ups! πŸ‘Œ I couldn't have said any of this better myself, and I _really_ wanted someone else's unbiased perspective on this as they've gone through it. Thanks! πŸ™‡β€β™‚οΈ

I will reiterate that many of the design decisions made are in fact quite deliberate and philosophical in nature and learn towards "how do we make a better more human social media" and "how do we make it as real and down to earth" as possible, "more human" friendly.
@mutefall

> @prologic i may need to write a document on this.

Yes! let's see if we can weave this into a page on Yarn.social itself and perhaps some additions to the default built Help pages that @david also promised to help us update πŸ˜…
@mutefall

> @prologic i may need to write a document on this.

Yes! let's see if we can weave this into a page on Yarn.social itself and perhaps some additions to the default built Help pages that @david also promised to help us update πŸ˜…
@mutefall Sure why not πŸ˜‚
@mutefall Sure why not πŸ˜‚
@<~duriny https://envs.net/~duriny/twtxt.txt>

> would there be interest in me making https://pkg.go.dev/duriny.envs.sh/twtr/twtxt/parse compatible with yarn?

Perhaps. My _initial_ thoughts here (and I'm super tired from a ~3am all nights working on stuff for my day job...) are that -- It _might_ be a good idea to at least support parsing out Mentions, Subjects and Hashes.

I'm not sure you need to go to the lengths of parsing out Markdown where we also parse out Links and such? Not sure (hence why cc @xuu)~
@<~duriny https://envs.net/~duriny/twtxt.txt>

> would there be interest in me making https://pkg.go.dev/duriny.envs.sh/twtr/twtxt/parse compatible with yarn?

Perhaps. My _initial_ thoughts here (and I'm super tired from a ~3am all nights working on stuff for my day job...) are that -- It _might_ be a good idea to at least support parsing out Mentions, Subjects and Hashes.

I'm not sure you need to go to the lengths of parsing out Markdown where we also parse out Links and such? Not sure (hence why cc @xuu)~
cc @xuu @lyse
cc @xuu @lyse
@<~duriny https://envs.net/~duriny/twtxt.txt> pong!
@<~duriny https://envs.net/~duriny/twtxt.txt> pong!
@mutefall Ooof Im not great with names, mine are just vz1, vz2, vz3 πŸ˜…
@mutefall Ooof Im not great with names, mine are just vz1, vz2, vz3 πŸ˜…
@nexeq This is not possible at this time, due to deliberate / on-purpose design decision. cc @mutefall Plese help me explain this to our new friend πŸ˜…
@nexeq This is not possible at this time, due to deliberate / on-purpose design decision. cc @mutefall Plese help me explain this to our new friend πŸ˜…
@darch I understand where you're coming from, but we're not doing anything drastic, but we _should_ remain open to ideas and improvements, especially encrypted feeds. The _only_ problem that can arise is that messaging can open up a can of worms and consume the project. That's the risk, and we have to weight up the risks/benefits to the project and community overall πŸ€—
@darch I understand where you're coming from, but we're not doing anything drastic, but we _should_ remain open to ideas and improvements, especially encrypted feeds. The _only_ problem that can arise is that messaging can open up a can of worms and consume the project. That's the risk, and we have to weight up the risks/benefits to the project and community overall πŸ€—
@justamoment That's looking pretty good for a layout I _think_ cc @markwylde
@justamoment That's looking pretty good for a layout I _think_ cc @markwylde
@tkanos Oh good glad you found it! We used to have two implementations, retwt and lextwt. We only have the later now, because whilst retwt is a good reference starting point, it's incomplete and buggy and hard to get right. We needed to build a proper parser/lexer and @xuu did just that (Thank you!)
@tkanos Oh good glad you found it! We used to have two implementations, retwt and lextwt. We only have the later now, because whilst retwt is a good reference starting point, it's incomplete and buggy and hard to get right. We needed to build a proper parser/lexer and @xuu did just that (Thank you!)
@david Hope things get better πŸ€—
@david Hope things get better πŸ€—
@nexeq Define "comfy" ? πŸ€” But otherwise you are most welcome! πŸ€—

Explore around, update your Avatar, check out settings a and start following the cool folks here and on other pods in the network 😎
@nexeq Define "comfy" ? πŸ€” But otherwise you are most welcome! πŸ€—

Explore around, update your Avatar, check out settings a and start following the cool folks here and on other pods in the network 😎
Well that's just great. Feed rotation is broken. 😒 My feed hit >1MB and I had to go manually rotated it πŸ˜… I'll have to fix that section of code later.
Well that's just great. Feed rotation is broken. 😒 My feed hit >1MB and I had to go manually rotated it πŸ˜… I'll have to fix that section of code later.
@tkanos That is very cool! 😎 Very nice πŸ‘ PR(s) please!
@tkanos That is very cool! 😎 Very nice πŸ‘ PR(s) please!
@nexeq Helo! πŸ‘‹ Welcome to Yarn.social and my pod πŸ€—
@nexeq Helo! πŸ‘‹ Welcome to Yarn.social and my pod πŸ€—
@david

> I am not having much timeβ€”or inspirationβ€”lately to be around

Anything I can help with? πŸ€—
@david

> I am not having much ti
@david

> I am not having much timeβ€”or inspirationβ€”lately to be around

Anything I can help with? πŸ€—
@david

> I am not having much timeβ€”or inspirationβ€”lately to be around

Anything
@david How are you finding the WebSub now that I seem to have fixed the last of the critical bugs? πŸ€”
@david How are you finding the WebSub now that I seem to have fixed the last of the critical bugs? πŸ€”
@novaburst Dendrite

> Dendrite is a second-generation Matrix homeserver written in Go!
@novaburst Dendrite

> Dendrite is a second-generation Matrix homeserver written in Go!
@carsten https://url.mills.io πŸ˜‚
@carsten https://url.mills.io πŸ˜‚
Couple of other interesting things to note about Matrix and my homeserver running Dendrite:

latency
error-rates

#Matrix #Perforamnce
Couple of other interesting things to note about Matrix and my homeserver running Dendrite:

latency
error-rates

#Matrix #Perforamnce
@carsten It's certainly a possibility. Folks like @xuu @david and I are in support of this. It requires more eyes on the spec though to make sure we don't royally fuck it up security-wise. Once we complete the spec, someone will have to build implementations for it πŸ‘Œ
@carsten It's certainly a possibility. Folks like @xuu @david and I are in support of this. It requires more eyes on the spec though to make sure we don't royally fuck it up security-wise. Once we complete the spec, someone will have to build implementations for it πŸ‘Œ
@caesar That is true (public), that's by design, we're very open about that. Transparency. microBlogging and sharing your thoughts and opinions is the same as full blogging on your website. It _should_ be open and transparent.

However if we get get Encrypted Feeds off the ground (needs people to help contribute to the spec!) who knows? πŸ€·β€β™‚οΈ Maybe it'll open other other interesting possibilities? πŸ€”
@caesar That is true (public), that's by design, we're very open about that. Transparency. microBlogging and sharing your thoughts and opinions is the same as full blogging on your website. It _should_ be open and transparent.

However if we get get Encrypted Feeds off the ground (needs people to help contribute to the spec!) who knows? πŸ€·β€β™‚οΈ Maybe it'll open other other interesting possibilities? πŸ€”
So... Here's a thought...

> If [Matrix] is built on a decentralised/distributed event syncing and a basic model of "Room"

And:

> IRC is a centralised text based protocols with client to server and server to server networking and a basic model of "Channels" and "Users"

Then:

> Yarn.social can build a "Chat" system based on the already existing and established decentralised/distributed syncing of feeds with a model of well umm feeds

πŸ€” 🀣
So... Here's a thought...

> If [Matrix] is built on a decentralised/distributed event syncing and a basic model of "Room"

And:

> IRC is a centralised text based protocols with client to server and server to server networking and a basic model of "Channels" and "Users"

Then:

> Yarn.social can build a "Chat" system based on the already existing and established decentralised/distributed syncing of feeds with a model of well umm feeds

πŸ€” 🀣
@caesar Elements on iOS πŸ˜