# 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 12
# self = https://watcher.sour.is/conv/oqo3q6a
Hey @prologic, I wanted to learn a bit of jq so I went hunting for spam accounts on git.mills.io using data from the API. Here are the results. I thought I'd find more than 11.
@mckinley Oh that's fucking brilliant! How do you determine the account is "SPAM" in question? 🤔 I _should_ make you an Admin somehow and you can help cleanup this mess, or can I borrow your script or can you publish it somewhere (maybe git.mills.io 😅) -- I'd love to get on top of this 🙏
@mckinley Oh that's fucking brilliant! How do you determine the account is "SPAM" in question? 🤔 I _should_ make you an Admin somehow and you can help cleanup this mess, or can I borrow your script or can you publish it somewhere (maybe git.mills.io 😅) -- I'd love to get on top of this 🙏
@prologic There's no script, it was mostly a manual process. I used jq, gron, grep, and awk to present the information in a reasonable way, then manually checked any accounts that looked suspicious. I looked at user descriptions, user URLs, and repositories.

It wasn't difficult to go through the data by hand after it was filtered a bit.

There are 195 registered users, only a handful of which have specified a description or URL.

There are 203 non-fork repositories, but only 27 of them are owned by entities other than prologic, yarnsocial, and saltyim. That prologic guy alone accounts for 152 of them.
I love jq, it saved may life many times (yes I am a bit overdramatic)
I'm sure there are a lot of old accounts you could delete that have never made any contributions, but that information isn't trivial to get from the API endpoints to which I have access.
I'm sure there are a lot of old accounts you could delete that have never made any contributions, but that information isn't trivial to get from the API endpoints I can access.
@mckinley Cool! Thanks so much for doing this 🙇‍♂️ I will cleanup those accounts later today you have so graciously identified for me 🙏
@mckinley Cool! Thanks so much for doing this 🙇‍♂️ I will cleanup those accounts later today you have so graciously identified for me 🙏
@mckinley Thank you very much! 🙏 All nuked! 💣
@mckinley Thank you very much! 🙏 All nuked! 💣
@mckinley Cool! Now I'm wondering how my account ranks on your analysis if it did have another name that not immediately rang a bell. :-)