# 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 61072
# self = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=45291
# next = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=45391
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=45191
@abucci Done lemme know if you got it
@abucci Done lemme know if you got it
@abucci Done lemme know if you got it
@abucci Done lemme know if you got it
@abucci Mind if I test the /support view of your pod and see if your email is working? 😅
@abucci Mind if I test the /support view of your pod and see if your email is working? 😅
@abucci Mind if I test the /support view of your pod and see if your email is working? 😅
@abucci Mind if I test the /support view of your pod and see if your email is working? 😅
@abucci This is the email I've been referring to btw that you typically get on a Sunday 😅
@abucci This is the email I've been referring to btw that you typically get on a Sunday 😅
@abucci This is the email I've been referring to btw that you typically get on a Sunday 😅
@abucci This is the email I've been referring to btw that you typically get on a Sunday 😅
@bender probably no more expensive than keyword based filtering to be honest. Right now it's O(n) complexity. It would probably be worth caching "filtered per-user views" (including the timeline) some of which we don't do right now. It would probably save a few % points of cpu utilisation of a larger pod.
@bender probably no more expensive than keyword based filtering to be honest. Right now it's O(n) complexity. It would probably be worth caching "filtered per-user views" (including the timeline) some of which we don't do right now. It would probably save a few % points of cpu utilisation of a larger pod.
@bender probably no more expensive than keyword based filtering to be honest. Right now it's O(n) complexity. It would probably be worth caching "filtered per-user views" (including the timeline) some of which we don't do right now. It would probably save a few % points of cpu utilisation of a larger pod.
@bender probably no more expensive than keyword based filtering to be honest. Right now it's O(n) complexity. It would probably be worth caching "filtered per-user views" (including the timeline) some of which we don't do right now. It would probably save a few % points of cpu utilisation of a larger pod.
And if I were to build this, I would simply extend the [User.Filter()](https://git.mills.io/yarnsocial/yarn/src/commit/590ce93f74ce201af5e2f6d28129957b075bdf8a/internal/models.go#L579-L598) function such that:

- Source based filters (mute) is the first path

Followed by:

- Content-based filters (keyword, language, etc)

And of course we'd have to build a fancy UI around this 😅
And if I were to build this, I would simply extend the [User.Filter()](https://git.mills.io/yarnsocial/yarn/src/commit/590ce93f74ce201af5e2f6d28129957b075bdf8a/internal/models.go#L579-L598) function such that:

- Source based filters (mute) is the first path

Followed by:

- Content-based filters (keyword, language, etc)

And of course we'd have to build a fancy UI around this 😅
And if I were to build this, I would simply extend the [User.Filter()](https://git.mills.io/yarnsocial/yarn/src/commit/590ce93f74ce201af5e2f6d28129957b075bdf8a/internal/models.go#L579-L598) function such that:

- Source based filters (mute) is the first path

Followed by:

- Content-based filters (keyword, language, etc)

And of course we'd have to build a fancy UI around this 😅
And if I were to build this, I would simply extend the [User.Filter()](https://git.mills.io/yarnsocial/yarn/src/commit/590ce93f74ce201af5e2f6d28129957b075bdf8a/internal/models.go#L579-L598) function such that:

- Source based filters (mute) is the first path

Followed by:

- Content-based filters (keyword, language, etc)

And of course we'd have to build a fancy UI around this 😅
@bender As discussed on IRC, I _think_ what you _really_ want is per-User level filters. The question is what? Keyword/Pattern based? Language? Anything more? 🤔 I consider "Muting" and "Filters" to be somewhat different I guess... If I had to define it:

- Filtering is content based
- Muting is source based (feed, twt or yarn)
@bender As discussed on IRC, I _think_ what you _really_ want is per-User level filters. The question is what? Keyword/Pattern based? Language? Anything more? 🤔 I consider "Muting" and "Filters" to be somewhat different I guess... If I had to define it:

- Filtering is content based
- Muting is source based (feed, twt or yarn)
@bender As discussed on IRC, I _think_ what you _really_ want is per-User level filters. The question is what? Keyword/Pattern based? Language? Anything more? 🤔 I consider "Muting" and "Filters" to be somewhat different I guess... If I had to define it:

- Filtering is content based
- Muting is source based (feed, twt or yarn)
@bender As discussed on IRC, I _think_ what you _really_ want is per-User level filters. The question is what? Keyword/Pattern based? Language? Anything more? 🤔 I consider "Muting" and "Filters" to be somewhat different I guess... If I had to define it:

- Filtering is content based
- Muting is source based (feed, twt or yarn)
@abucci Don't we have enough tools that allow users of single-user and multi-user pods to block stuff they don't want to see? 🤔 The list includes:

- Unfollow a feed
- Mute a feed
- Mute a twt
- Mute a yarn
@abucci Don't we have enough tools that allow users of single-user and multi-user pods to block stuff they don't want to see? 🤔 The list includes:

- Unfollow a feed
- Mute a feed
- Mute a twt
- Mute a yarn
@abucci Don't we have enough tools that allow users of single-user and multi-user pods to block stuff they don't want to see? 🤔 The list includes:

- Unfollow a feed
- Mute a feed
- Mute a twt
- Mute a yarn
@abucci Don't we have enough tools that allow users of single-user and multi-user pods to block stuff they don't want to see? 🤔 The list includes:

- Unfollow a feed
- Mute a feed
- Mute a twt
- Mute a yarn
@abucci It absolutely is 🤣 Something I'm always conscious about myself... One of the reasons I use emojis a lot actually, to clarify my "tone" 😅 -- I'm just conscious of the fact that Yarn.social (for better or for worse) has already and is already quite global and spans many countries and cultures and folks of all backgrounds and age groups. As much as possible, I agree with you, let's continue to grow a positive culture in the ecosystem of Yarners and Twtxters as much as we possibly can 👌
@abucci It absolutely is 🤣 Something I'm always conscious about myself... One of the reasons I use emojis a lot actually, to clarify my "tone" 😅 -- I'm just conscious of the fact that Yarn.social (for better or for worse) has already and is already quite global and spans many countries and cultures and folks of all backgrounds and age groups. As much as possible, I agree with you, let's continue to grow a positive culture in the ecosystem of Yarners and Twtxters as much as we possibly can 👌
@abucci It absolutely is 🤣 Something I'm always conscious about myself... One of the reasons I use emojis a lot actually, to clarify my "tone" 😅 -- I'm just conscious of the fact that Yarn.social (for better or for worse) has already and is already quite global and spans many countries and cultures and folks of all backgrounds and age groups. As much as possible, I agree with you, let's continue to grow a positive culture in the ecosystem of Yarners and Twtxters as much as we possibly can 👌
@abucci It absolutely is 🤣 Something I'm always conscious about myself... One of the reasons I use emojis a lot actually, to clarify my "tone" 😅 -- I'm just conscious of the fact that Yarn.social (for better or for worse) has already and is already quite global and spans many countries and cultures and folks of all backgrounds and age groups. As much as possible, I agree with you, let's continue to grow a positive culture in the ecosystem of Yarners and Twtxters as much as we possibly can 👌
@kaniyama_t2 / @tkd Whoever runs your pod... Would you mind if I track a couple of key metrics, namely dau and mau from your pod? 🤔 -- That is "daily active users" and "monthly active users". 🙏
@kaniyama_t2 / @tkd Whoever runs your pod... Would you mind if I track a couple of key metrics, namely dau and mau from your pod? 🤔 -- That is "daily active users" and "monthly active users". 🙏
@kaniyama_t2 / @tkd Whoever runs your pod... Would you mind if I track a couple of key metrics, namely dau and mau from your pod? 🤔 -- That is "daily active users" and "monthly active users". 🙏
@kaniyama_t2 / @tkd Whoever runs your pod... Would you mind if I track a couple of key metrics, namely dau and mau from your pod? 🤔 -- That is "daily active users" and "monthly active users". 🙏
We have always been against "pushing notifications" out to be honest. Why? Because its a source of "abuse" (or can be). One of the key design aspects of yarnd (that power Yarn.social pods) is to minimize possible points of abuse or outright make them hard / next to impossible -- That being said @tkd is that that we use the Twtxt spec under the hood and a set of extensions, that is to say having "push notifications" is not possible, just not something frequently asked for and the community has always pushed back on the idea anyway 😅
We have always been against "pushing notifications" out to be honest. Why? Because its a source of "abuse" (or can be). One of the key design aspects of yarnd (that power Yarn.social pods) is to minimize possible points of abuse or outright make them hard / next to impossible -- That being said @tkd is that that we use the Twtxt spec under the hood and a set of extensions, that is to say having "push notifications" is not possible, just not something frequently asked for and the community has always pushed back on the idea anyway 😅
We have always been against "pushing notifications" out to be honest. Why? Because its a source of "abuse" (or can be). One of the key design aspects of yarnd (that power Yarn.social pods) is to minimize possible points of abuse or outright make them hard / next to impossible -- That being said @tkd is that that we use the Twtxt spec under the hood and a set of extensions, that is to say having "push notifications" is not possible, just not something frequently asked for and the community has always pushed back on the idea anyway 😅
We have always been against "pushing notifications" out to be honest. Why? Because its a source of "abuse" (or can be). One of the key design aspects of yarnd (that power Yarn.social pods) is to minimize possible points of abuse or outright make them hard / next to impossible -- That being said @tkd is that that we use the Twtxt spec under the hood and a set of extensions, that is to say having "push notifications" is not possible, just not something frequently asked for and the community has always pushed back on the idea anyway 😅
@kaniyama_t Hello! 👋 I see you've spun up a new Yarn pod? 🤔 I _think_ you're the operator? 🤔
@kaniyama_t Hello! 👋 I see you've spun up a new Yarn pod? 🤔 I _think_ you're the operator? 🤔
@kaniyama_t Hello! 👋 I see you've spun up a new Yarn pod? 🤔 I _think_ you're the operator? 🤔
@kaniyama_t Hello! 👋 I see you've spun up a new Yarn pod? 🤔 I _think_ you're the operator? 🤔
Hey @tkd do you run this pod? 🤔
Hey @tkd do you run this pod? 🤔
Hey @tkd do you run this pod? 🤔
Hey @tkd do you run this pod? 🤔
Holy crap! 😝 I just found a new pod peering with mine called twitter2 🤣
Holy crap! 😝 I just found a new pod peering with mine called twitter2 🤣
Holy crap! 😝 I just found a new pod peering with mine called twitter2 🤣
Holy crap! 😝 I just found a new pod peering with mine called twitter2 🤣
@stigatle What is this? 🤔 My poor vision can't really tell what it is 🤦‍♂️
@stigatle What is this? 🤔 My poor vision can't really tell what it is 🤦‍♂️
@stigatle What is this? 🤔 My poor vision can't really tell what it is 🤦‍♂️
@stigatle What is this? 🤔 My poor vision can't really tell what it is 🤦‍♂️
@axodys 1.4kJ not bad 👌 indoor cycling? 🤔
@axodys 1.4kJ not bad 👌 indoor cycling? 🤔
@axodys 1.4kJ not bad 👌 indoor cycling? 🤔
@axodys 1.4kJ not bad 👌 indoor cycling? 🤔
@eldersnake Agreed 💯 That was the whole point of Yarn.social 👌
@eldersnake Agreed 💯 That was the whole point of Yarn.social 👌
@eldersnake Agreed 💯 That was the whole point of Yarn.social 👌
@eldersnake Agreed 💯 That was the whole point of Yarn.social 👌
@abucci I think the conversations of the last
few days is showing me that my efforts to help build a truly decentralized "non social social media" with a sparse network of interconnected communities Igor's is pricing to be "hard". 😢

I don't want to spend time moderating my pod let alone anyone else". If I have to do that, I've failed to build the right tools and controls and the project as a whole would have failed. 🤦‍♂️
@abucci I think the conversations of the last
few days is showing me that my efforts to help build a truly decentralized "non social social media" with a sparse network of interconnected communities Igor's is pricing to be "hard". 😢

I don't want to spend time moderating my pod let alone anyone else". If I have to do that, I've failed to build the right tools and controls and the project as a whole would have failed. 🤦‍♂️
@abucci I think the conversations of the last
few days is showing me that my efforts to help build a truly decentralized "non social social media" with a sparse network of interconnected communities Igor's is pricing to be "hard". 😢

I don't want to spend time moderating my pod let alone anyone else". If I have to do that, I've failed to build the right tools and controls and the project as a whole would have failed. 🤦‍♂️
@abucci I think the conversations of the last
few days is showing me that my efforts to help build a truly decentralized "non social social media" with a sparse network of interconnected communities Igor's is pricing to be "hard". 😢

I don't want to spend time moderating my pod let alone anyone else". If I have to do that, I've failed to build the right tools and controls and the project as a whole would have failed. 🤦‍♂️
Ooops sorry 🤗 Ita just sometimes the way in which we can sometimes say things can come across as "harsh".
Ooops sorry 🤗 Ita just sometimes the way in which we can sometimes say things can come across as "harsh".
Ooops sorry 🤗 Ita just sometimes the way in which we can sometimes say things can come across as "harsh".
Ooops sorry 🤗 Ita just sometimes the way in which we can sometimes say things can come across as "harsh".
Oooer how lovely 😍
Oooer how lovely 😍
Oooer how lovely 😍
Oooer how lovely 😍
This reminds me a bit about txtai: https://github.com/neuml/txtai 👌
This reminds me a bit about txtai: https://github.com/neuml/txtai 👌
This reminds me a bit about txtai: https://github.com/neuml/txtai 👌
This reminds me a bit about txtai: https://github.com/neuml/txtai 👌
@abucci OMG wut da fuq is this shit?! 😱 I opened the first link and immediately got bored reading the first few paragraphs. blah blah blah. Then a pop up showed up so I close the site immediately (uggh 🤮) -- Also I'm not sure that the "Internet" is sanitized at all, we as humans have a long way to go 😅
@abucci OMG wut da fuq is this shit?! 😱 I opened the first link and immediately got bored reading the first few paragraphs. blah blah blah. Then a pop up showed up so I close the site immediately (uggh 🤮) -- Also I'm not sure that the "Internet" is sanitized at all, we as humans have a long way to go 😅
@abucci OMG wut da fuq is this shit?! 😱 I opened the first link and immediately got bored reading the first few paragraphs. blah blah blah. Then a pop up showed up so I close the site immediately (uggh 🤮) -- Also I'm not sure that the "Internet" is sanitized at all, we as humans have a long way to go 😅
@abucci OMG wut da fuq is this shit?! 😱 I opened the first link and immediately got bored reading the first few paragraphs. blah blah blah. Then a pop up showed up so I close the site immediately (uggh 🤮) -- Also I'm not sure that the "Internet" is sanitized at all, we as humans have a long way to go 😅
@thecanine Hopefully we've changed subject here a little 😅

> What I have a problem with, is circulating blocklists, including many instances, because of some political ideology or offensive/dark sense of humor - or worst case scenario, the actions of only few of its members.

I too don't want to go down a path of what I call "over moderation"? When we had our first instance of extreme conspiracy content (that started on my pod), we felt the need to do something about this. Not because of the content per se, but because the person found a way to "prop" themselves and their views up above others (potentially) and that is one of Yarn.social's goals. To make abusing the ecosystem quite hard. So we built "shadow banning" for this very reason.

It is my great hope that as Yarn.social continues to grow (albeit slowly) that certain design decisions like (not using an external scalable SQL database, ephemeral visibility of Twts and Yarns, powerful tools for users and operators), will keep pods small.
@thecanine Hopefully we've changed subject here a little 😅

> What I have a problem with, is circulating blocklists, including many instances, because of some political ideology or offensive/dark sense of humor - or worst case scenario, the actions of only few of its members.

I too don't want to go down a path of what I call "over moderation"? When we had our first instance of extreme conspiracy content (that started on my pod), we felt the need to do something about this. Not because of the content per se, but because the person found a way to "prop" themselves and their views up above others (potentially) and that is one of Yarn.social's goals. To make abusing the ecosystem quite hard. So we built "shadow banning" for this very reason.

It is my great hope that as Yarn.social continues to grow (albeit slowly) that certain design decisions like (not using an external scalable SQL database, ephemeral visibility of Twts and Yarns, powerful tools for users and operators), will keep pods small.
@thecanine Hopefully we've changed subject here a little 😅

> What I have a problem with, is circulating blocklists, including many instances, because of some political ideology or offensive/dark sense of humor - or worst case scenario, the actions of only few of its members.

I too don't want to go down a path of what I call "over moderation"? When we had our first instance of extreme conspiracy content (that started on my pod), we felt the need to do something about this. Not because of the content per se, but because the person found a way to "prop" themselves and their views up above others (potentially) and that is one of Yarn.social's goals. To make abusing the ecosystem quite hard. So we built "shadow banning" for this very reason.

It is my great hope that as Yarn.social continues to grow (albeit slowly) that certain design decisions like (not using an external scalable SQL database, ephemeral visibility of Twts and Yarns, powerful tools for users and operators), will keep pods small.
@thecanine Hopefully we've changed subject here a little 😅

> What I have a problem with, is circulating blocklists, including many instances, because of some political ideology or offensive/dark sense of humor - or worst case scenario, the actions of only few of its members.

I too don't want to go down a path of what I call "over moderation"? When we had our first instance of extreme conspiracy content (that started on my pod), we felt the need to do something about this. Not because of the content per se, but because the person found a way to "prop" themselves and their views up above others (potentially) and that is one of Yarn.social's goals. To make abusing the ecosystem quite hard. So we built "shadow banning" for this very reason.

It is my great hope that as Yarn.social continues to grow (albeit slowly) that certain design decisions like (not using an external scalable SQL database, ephemeral visibility of Twts and Yarns, powerful tools for users and operators), will keep pods small.
@abucci Hmm maybe let's be a little more gentle 🤗 -- @thecanine I'm not completely sure of your background or what you mean by "protected from humor" when that humor involves or targets a group of people, individuals or events. But...

Let's use the word "making fun of":

"Make fun of" an individual can cause emotional harm. At worse it can cause bodily harm in terms of suicide or psychological harm in terms of depressions. Humor can be both a tool for good as well as a weapon for bad.

The same applies to groups of people, no matter their circumstances, beliefs, etc.

In California for example I discovered that even "making fun of myself" (being blind) was even considered illegal so I had to be careful about my own sense of humor when stupid shit would happen to me because of my lack of good eyesight.

Its important to understand and have empathy towards others, that they may not find the same things you do as "funny", but sometimes quite offensive or even hurtful.
@abucci Hmm maybe let's be a little more gentle 🤗 -- @thecanine I'm not completely sure of your background or what you mean by "protected from humor" when that humor involves or targets a group of people, individuals or events. But...

Let's use the word "making fun of":

"Make fun of" an individual can cause emotional harm. At worse it can cause bodily harm in terms of suicide or psychological harm in terms of depressions. Humor can be both a tool for good as well as a weapon for bad.

The same applies to groups of people, no matter their circumstances, beliefs, etc.

In California for example I discovered that even "making fun of myself" (being blind) was even considered illegal so I had to be careful about my own sense of humor when stupid shit would happen to me because of my lack of good eyesight.

Its important to understand and have empathy towards others, that they may not find the same things you do as "funny", but sometimes quite offensive or even hurtful.
@abucci Hmm maybe let's be a little more gentle 🤗 -- @thecanine I'm not completely sure of your background or what you mean by "protected from humor" when that humor involves or targets a group of people, individuals or events. But...

Let's use the word "making fun of":

"Make fun of" an individual can cause emotional harm. At worse it can cause bodily harm in terms of suicide or psychological harm in terms of depressions. Humor can be both a tool for good as well as a weapon for bad.

The same applies to groups of people, no matter their circumstances, beliefs, etc.

In California for example I discovered that even "making fun of myself" (being blind) was even considered illegal so I had to be careful about my own sense of humor when stupid shit would happen to me because of my lack of good eyesight.

Its important to understand and have empathy towards others, that they may not find the same things you do as "funny", but sometimes quite offensive or even hurtful.
@abucci Hmm maybe let's be a little more gentle 🤗 -- @thecanine I'm not completely sure of your background or what you mean by "protected from humor" when that humor involves or targets a group of people, individuals or events. But...

Let's use the word "making fun of":

"Make fun of" an individual can cause emotional harm. At worse it can cause bodily harm in terms of suicide or psychological harm in terms of depressions. Humor can be both a tool for good as well as a weapon for bad.

The same applies to groups of people, no matter their circumstances, beliefs, etc.

In California for example I discovered that even "making fun of myself" (being blind) was even considered illegal so I had to be careful about my own sense of humor when stupid shit would happen to me because of my lack of good eyesight.

Its important to understand and have empathy towards others, that they may not find the same things you do as "funny", but sometimes quite offensive or even hurtful.
@hacker-news-newest Hmmm this is cool to see 👌
@hacker-news-newest Hmmm this is cool to see 👌
@hacker-news-newest Hmmm this is cool to see 👌
@hacker-news-newest Hmmm this is cool to see 👌
You can always curl my pod for the missing Twt via it's permalink and ask for its JSON
You can always curl my pod for the missing Twt via it's permalink and ask for its JSON
You can always curl my pod for the missing Twt via it's permalink and ask for its JSON
You can always curl my pod for the missing Twt via it's permalink and ask for its JSON