# 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 23
# self = https://watcher.sour.is?uri=https://twtxt.net/user/kayos/twtxt.txt&offset=23
@prologic approximately all of them
@kayos well in general, it is a commonly believed myth that computers work. ever.
I am bad at computers.
I know there are lots of bastion solutions for this, but I don't know of any that simply send netfilter/pf commands and just plain open the port for the source IP address either temporarily or permanently depending on configuration. The fancy bastions are cool and all, but not as universal as simply opening a port temporarily for an IP.
Wait a minute, fwknopd is cool and all, it's still proprietary.

Why hasn't anyone implemented port knocking with something as simple and ubiquitous as SSH public key authentication (or even password if desired) for port knocking? It could even fire-off RPC signals to other servers from a single bastion..
@david bitcask as in @prologic's golang implementation of the key/value store :D https://en.wikipedia.org/wiki/Bitcask - https://git.mills.io/prologic/bitcask

Even on the weekends I still feel like I should be working ._._
@prologic Work/Life balance is an incredibly tricky thing I feel. Lately I have had plenty of money, but to even take the time to enjoy it has been difficult to do.

Starting to realize that full-time feels like a bit of an anti-pattern for me as a person with no kids and extremely minimal living expenses. After some time passes I may need to consider seeking more of a part-time role of some kind.

Honestly I miss just sitting around coding for fun. Funemployment wasn't lazy, it was just fun ;p

I digress; I'll definitely let you know my take on bitraft!
Seems like all I've had time to do lately is work and sleep ._.
About to take a closer look at bitraft though, as I have been meaning to set something like this up for my many bitcask powered projects for a long time now :^)_
@prologic This is great. I don't really have much else to say about it, and now the words of
@fastidious are ringing in my head.

But yeah, nice work.
@fastidious definitely does hit a valid nail on the head, if you will, though. However, it's probably better to try and address that at more of a social level than a technical one, with that particular issue.
The quality of the responses from all of you @kt84 , @darch , @lyse , @eldersnake , @thecanine really drives home the original point that @prologic was making from the beginning. I think you are all correct on several fronts. I definitely was having a kneejerk reaction due to my serious twitter dot com addiction.

I will say that it will make it harder to use the service on busy days, but on those days, should I really even be using social media (unless read-only for info)? Probably not.

I am certainly capable of helping w/ ratelimits and stress tests :D
@prologic woah, what are those things
@prologic I am 100% all about it! I don't mean to come off as argumentative <3
@prologic Is there anything written up about that testing? Forgive my ignorance, it just seems like it wouldn't be all that hard to do, especially given the resources of the groups to worry about šŸ˜¬
@prologic agh I looked at this like a year ago and totally forgot about it! derp

Thank you!
To be clear, I don't intend to change your mind! Just a discussion is all :D
>And more importantly, say why too!

Then again, devils advocate here, a series of decision trees can come up with most of that, especially if it's being targeted by engagement bots, they already know the context. They can even mix it up with some negative to make it appear real, this happens in the real world all the time (amazon).
@prologic

> If we donā€™t stick to the original projects goals and vision here and the ethical/moral decisions of the project and itā€™s design choices, we are no better (or worse) than any other ā€œsocialā€ platform.

I fully respect this!
Furthermore if the answer is:

> If you like what someone posted or is talking about, chime in with your piece too.

It seems like it's six one way, half a dozen the other. One could just spin up 500 bots to write generically positive things on a post and do the same thing that you're worried about, I wager.
@prologic This is a fair point as well, but it doesn't feel as natural to say "Cool post!" when you can just "like" the post. However, I totally understand your position.
@prologic no you're absolutely correct obviously, I do realize you used to do engineering for them and that you know exactly how it works. I also understand, hence the nod to the dopamine bit.

I understand where you're coming from, but I must admit it feels like a huge gap. While it may be used for evil in many cases, that dopamine hit is, as you very well know, what keeps people around.

I feel that it gets abused and misused in the other cases. In my humble opinion I would think there would be a way to implement it that would be resistant to the bad bits.
@prologic this seems to be missing "like" functionality, which maybe you never intended to implement.

However, that functionality is a major driving force for people using services like this due to the dopamine situation.

Looking at the twtxt spec, I wonder if it would be reasonable to implement it by creating a specially crafted status that yarn.social just interpreted as a "like"?
didn't realize etcd was coded in golang, I wonder if I could import some of the gRPC bits of it and then use bitcask as the backend k/v on the nodes..