« first day (1635 days earlier)      last day (2185 days later) » 

8:00 PM
@doppelgreener Post ignored; alerts about it will no longer be posted.
 
I've poked a portuguese.se moderator about it
 
@Makyen uh no
that was me laughing
I just meant that some reasons are no more accurate than guessing and it's identified those
 
[ metasmoke ] ci/circleci failure on dc0be3e: Your tests failed on CircleCI
New metasmoke user 'has not been' created
8
 
!!/test Guarani
 
8:08 PM
> Potentially bad keyword in body, potentially bad keyword in title, potentially bad keyword in username
----------
Title - Position 1-8: Guarani
Body - Position 1-8: Guarani
Username - Position 1-8: Guarani
 
!!/unwatch guarani
 
@doppelgreener No such item guarani in watchlist.
Recovered from BrokenPipeError: [Errno 32] Broken pipe
 
!!/unwatch Guarani
 
@doppelgreener Removed Guarani from watchlist
 
really hope the trolls don't find out about this https://metasmoke.erwaysoftware.com/destroy/humanity
 
8:10 PM
no strong coincidence with spam, barely any use over the past 2 years, actually just an ordinary demonym of some people.
 
CI on 555828a succeeded. Message contains 'autopull', pulling...
Restart: API quota is 15696.
 
@ByteCommander it's been happening recently, thinking it's an SE thing
 
Recovered from websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.
[ SmokeDetector | MS ] Few unique characters in body, repeating characters in body: ML and Data point challenging Question! by Saurabh Saurabh on datascience.SE
tp- by ByteCommander
 
@SmokeDetector v
 
.9
(barring the fact that it was an edit of course)
 
8:28 PM
Recovered from BrokenPipeError: [Errno 32] Broken pipe
 
8:38 PM
Recovered from BrokenPipeError: [Errno 32] Broken pipe
 
SpaceX launch in an hour
 
Recovered from BrokenPipeError: [Errno 32] Broken pipe
 
sd ignore-
 
8:55 PM
Recovered from BrokenPipeError: [Errno 32] Broken pipe
 
Example of how MSML is more aggressive: this would have been trivially autoflagged metasmoke.erwaysoftware.com/post/118820
But at the same time an example of how it's more conservative: this would not have been metasmoke.erwaysoftware.com/post/113316
That's good
I like
Sooo @ArtOfCode @Undo if we did this, how would we transition?
We have a few options
Just reset everyone to a new default
Or keep both behaviors -- people with "old-style" flagging conditions and "new-style" flagging conditions
hmm
Also if we did this we'd almost certainly need a new meta post, and then I worry people would conflate it with 5 flags
 
Or perhaps add it as a new reason, as an experiment?
 
It's not a reason
At least, it wouldn't be feasible to have it as one, since it would have to run last
and we're not guaranteed an execution order of reasons
Maybe if I stuck it in spamhandling
It's in Ruby tho :P
 
Zoe
What's MSML?
 
We could set up dry runs again
@Zoe I slammed together a logistic regression model for autoflagging today and it does way, way better than I ever expected github.com/Charcoal-SE/msml
 
Zoe
9:02 PM
cool
 
It's definitely the next step for addressing these autoflagging problems, but using it is going to require some careful thought
there are social issues involved, primarily
 
Recovered from BrokenPipeError: [Errno 32] Broken pipe
 
Zoe
Did someone call the plumber at least?
got 8 emails earlier today
 
Korean spammers do that, where they apologize for spamming
This is more interesting though
 
9:16 PM
[ SmokeDetector | MS ] Potentially bad keyword in answer: liveReload plugin not refreshing page on save by Jokz on stackoverflow.com
Recovered from BrokenPipeError: [Errno 32] Broken pipe
[ SmokeDetector | MS ] Username similar to website in answer, blacklisted user: Vaccinations and medicines for Peru and Ecuador by Perubybus on travel.SE
Recovered from BrokenPipeError: [Errno 32] Broken pipe
tpu- by JAD
 
@quartata Why would it need a new meta post?
 
@Undo fundamental change to autoflagging?
 
Is it at least as accurate as before?
Meta told us we can do autoflagging; they didn't approve a specific approach. We don't need to grovel to meta for technical changes
 
It catches less TPs at the more conservative flagging condition but much more TPs at the more aggressive condition, all within the standard accuracy ranges we consider
 
9:31 PM
If we can migrate people to something at least as good, I'd say just do it automatically
 
OK, sure
 
Launch webcast is live
 
if someone complains, easy to shut them down with "well yeah, but it is better in every way"
 
So 0.98/1/1 would be the new default
Most of the core here would probably run 0.93 - 0.95
All right so I guess there are less social issues
Is it OK to just reset flagging conditions though?
I think we did that before once when we changed the overall accuracy?
 
what's .98?
 
9:33 PM
Should be okay, as long as no one becomes less accurate
 
The other thing is that you'd have to run a migration to get the new scores on old posts
@Undo .98 is 99.95% accurate which Art said was OK
 
Current min is 99.75, so yeah
 
oh, .75%?
 
Recovered from BrokenPipeError: [Errno 32] Broken pipe
 
I thought it was 99.5% for some reason
0.93 is too low then
 
9:35 PM
99.95 > 99.75
 
@Undo was thinking 99.95% for the default, but we can keep 99.75% as the min
 
280/1/1 is currently 100.00%, so... that might be hard to beat
 
No I know, I mean for the most aggressive condition
$ ruby liblinear/accuracy.rb .934
51223.0/98.0 = 99.80904503029949%
That looks about the lowest
For some reason there's a landmine of FPs when you drop to .933:
$ ruby liblinear/accuracy.rb .933
52147.0/200.0 = 99.6179341700575%
(note the TP count which is about 10,000 more than our current)
 
0.9335?
 
Still .8
This thing tends to be discontinuous
What happens is you get some certain reason combination that is really common that settles to a specific score like .9332 or something
So then you start catching all those, and all the FPs with it
Now what that exact combination is I'm not sure, I could try to find out
That would get a more accurate lower bound
I'm just playing around right now
 
0.07. Poor misleading link :(
 
Ooooh. Launch abort.
 
I might want to remap the scores so they range from -1 to 1
e.g 2x - 1
I don't know, do you like them as probabilities
 
that... makes less sense, I think
 
I think it's more useful to see 0.5 means 0, since that's what potentially bad keyword gives
 
9:48 PM
Recovered from BrokenPipeError: [Errno 32] Broken pipe
fp- by Makyen
 
@SmokeDetector link-only: go see how I did it here and the code is on GitHub, but nothing more than the links in the answer.
 
J F
@quartata I like that — -1 is definitely not spam, and 1 is definitely spam. Might be worth multiplying by 100 to make numbers easier to talk about.
 
Let's do it like Fahrenheit (to make it more confusing).... 32 is definitely not spam and 212 definitely is spam
2
 
Recovered from websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.
 
10:04 PM
@quartata Merge my PR then it'll work.
But if you merge it... I'll just have to make another one to keep working :)
 
Welp. Launch canceled.
I stayed up for nothing :(
well. another ~10 minutes and i'll finish the first page of domains, though
 
Recovered from websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.
[ SmokeDetector | MS ] Bad keyword in answer: Does a vegan diet actually cause weight loss? by yaakov on vegetarianism.SE
 
@JF Yeah
 
fp- by ByteCommander
 
@thesecretmaster I can't merge PRs on the MS repo, ask Art instead
 
10:16 PM
Alright. Going through the first of eight pages of only domains that are tagged #drugs, I found a total of 1756 spam posts on Medium, now linked spread over three gists ([1] [2] [3]).
 
criminy
Poor blokes over at Medium are going to be right busy
 
Indeed. :D
 
@Mithrandir ...wow, all by hand still?
 
@NobodyNada yes
manually looking at each one
...now I need to sleep
goodnight y'all
 
@Mithrandir Wow, that's really impressive
@Mithrandir night \o
 
10:20 PM
let me know if they respond again @art
 
aye
 
I wonder if Medium has some way to get new posts in realtime analogous to what we do here
 
@Undo Read the email I sent back? I figure if they want to integrate with us, the "technical discussion" that we need to have includes some way of getting posts in real time
and probably some sort of automated flagging removal thing
 
Recovered from websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.
 
@ArtOfCode yep, saw it
 
10:22 PM
@ArtOfCode Can these be published under an abuse report?
 
Can what be published?
 
@quartata @ArtOfCode
 
@ArtOfCode The emails
 
@thesecretmaster want me to merge it?
 
well keep in mind any changes you might need run them by me because in probably a month or so I'mma drop a banger that complete rewrites findspam
 
10:23 PM
Ehm.... kinda. I wish you could merge it and leave it open, but that's not how things work.
Eh merge it and I'll make a third.
 
PRs are cheap
 
@thesecretmaster Just keep pushing to the branch and make a new PR from it
 
I will try now to make the "sources" of posts generic, like making bodyfetcher an abstract base class or something
 
@quartata niiiice!
 
@NobodyNada I know, already done it once. It's just ugly imo
 
10:24 PM
might be interesting
 
@NobodyNada I mean... I have no objection to them being public, but the email chain at the moment is mostly not an abuse report, it's Medium asking who we are and how we can help
@thesecretmaster you've got a typo in that PR
 
It's only in email because it's convenient for them.
 
@ArtOfCode It's probobly OK?
 
@thesecretmaster where -> whre
so... gonna break things
 
10:25 PM
If it gets serious we can take it to Slack, however I suspect what they want are the blacklists
 
We don't have Slack :P
 
@ArtOfCode It doesn't need to be published and it doesn't need to be under abuse reports, but I'm curious
 
pleeeease not another chat platform :P
 
No but they will
 
Hi Mateusz,

I'm Owen, aka ArtOfCode. Insofar as we have them, I'm one of the leadership of Charcoal.

For context, it's probably a good idea to have a quick view of who we are. Charcoal is a volunteer, user-run group that aims to detect spam on Stack Exchange and remove it as quickly as possible. We do this with the aid of some software that we've written, called SmokeDetector. SmokeDetector receives a real-time feed of new content posted to Stack Exchange; it runs that content through a set of filters and, if the filters indicate that it could be spam, SmokeDetector posts a report of the
 
10:26 PM
guaranteed
 
meh
 
@Undo oh, are the abuse reports for companies to look at? As in, we make an abuse report and send an email to the company saying "look over here?"
 
can always give 'em access here
 
at any rate I would say "autoflagging" = add to an abuse report?
 
@NobodyNada nah, abuse reports on MS are for Charcoal tracking of reports that would otherwise be confined to the inbox of the person who reported them
 
10:27 PM
Spelling fix pushed
 
@ArtOfCode That's what I thought; thanks
 
merged
@quartata ?
 
Nevermind, I misunderstood abuse reports
 
there's some kind of a miscommunication here and I don't know what it is
 
@ArtOfCode I see no mention of teh stickerz
 
10:30 PM
I thought it was like what Nobody said
 
That's what it should be. Spam removal for stickers.
 
Recovered from websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.
[ metasmoke ] ci/circleci success on c693b32: Your tests passed on CircleCI!
 
MS abuse reports are Charcoal-internal tracking. You still have to report things to companies manually.
 
[ metasmoke ] ci/circleci success on c693b32: Your tests passed on CircleCI!
 
@Undo Whenever you get a chance, can you deploy the graphiql fixes?
 
10:31 PM
[ metasmoke ] ci/circleci failure on 8c97a54: Your tests failed on CircleCI
 
But really honestly don't get your hopes up. We are still very "optimized" for the fact that SE involves a lot of humans. The fact that Smokey casts such a wide net makes it less useful to otjers
 
@ArtOfCode unless we got something like RSS working for searches, then they could just get notifications of new posts with Medium URLs in there.
that'd be easily scaleable
 
MS abuse reports and Medium integration are also two entirely separate things :P
 
@thesecretmaster You've confirmed that this won't expose anything we don't want to, right?
 
I think @ArtOfCode has read it?
 
10:32 PM
yeah the abuse reports were for likr Tumblr and stuff
 
I didn't intend to expose anything we don't want to :)
 
because tripleee had to use temporary domain tags
 
k, just checking
 
and what not
 
@Undo Doesn't expose sensitive DB fields; they're simply not included in the model. To check, @thesecretmaster can you give me a GQL query that queries for fields x, y, and z on post 100000?
 
10:33 PM
{ post(id: 100000) { x y z } }
 
@quartata no, because we were using Teams questions to track who'd reported what to who
 
You can also try it on prod at /api/graphql now
It's just graphiql that isn't working, I think?
 
30s
 
Oh nope, it's the whole mess.
 
Deployed
 
10:35 PM
Wait noooo
 
@art I think email confirmation might have broken something
 
ahahaa
 
Why does it work on dev?
 
sure has
 
/api/graphql gives me undefined local variable or method 'confirmed_at' for #<User:0x00007f7281110418> Did you mean? confirmed?
 
10:36 PM
Pushed fix, good to deploy
 
Wait, Lemme fix another thing
 
@ArtOfCode ...where?
 
@NobodyNada bah, push failed
actually pushed now
 
@ArtOfCode Merge me?
 
done
 
10:40 PM
K, I'm good to deply too
 
[ metasmoke ] ci/circleci success on 304e321: Your tests passed on CircleCI!
[ metasmoke ] ci/circleci success on 952e832: Your tests passed on CircleCI!
[ metasmoke ] ci/circleci success on 952e832: Your tests passed on CircleCI!
[ metasmoke ] ci/circleci success on 5450d79: Your tests passed on CircleCI!
 
Lord I've been away from this site too long... Wth happened to Yvette?
 
hm?
 
@K.Dᴀᴠɪs She anonymized herself, likely in response to Jay's blog post & the resulting Meta discussions but I don't know for sure
 
10:50 PM
Although the name is user3956566, that's Yvette
 
shrug
 
> I'm having a break from the site, things to do
That's a little more than going anon
 
fp- by ArtOfCode
 
@NobodyNada Hmm where can one see this blog post? I don't follow Jay on anything.
 
@Undo Can you do another deploy so that everything stops being broken? :)
 
10:52 PM
@K.Dᴀᴠɪs and Magisch as well
 
@K.Dᴀᴠɪs stackoverflow.blog
 
@K.Dᴀᴠɪs I was gonna ping you to ask where you've been, but I just assumed you "had your reasons"
 
@WELZ Meh I am protesting till I get meh stickerz
 
Still?!
 
10:53 PM
IKR?!?!? :P
 
@K.Dᴀᴠɪs speaking of, I stuck the new lot in the post $NotVeryLongAgo
 
Lol I was jk btw
 
@Catija did you get the stickers from Art yet?
 
But gtk
Life just consumed me into a black hole
 
@WELZ Nope.
 
10:54 PM
#Fail
 
Postal service lost them -_-
 
Seems that way.
 
@K.Dᴀᴠɪs I know what that's like...glad to see you back
 
Thanks for the links @Art @Nobody
 
The first batch came in so quickly and without a problem... wasn't really expecting it.
 
10:55 PM
@NobodyNada Thanks
 
afk, time to drive home
 
[ SmokeDetector | MS ] Potentially bad keyword in body: Parsing JSON file in powershell with specific characters by Adam Sanders on stackoverflow.com
 
@K.Dᴀᴠɪs In other news... I'm running for mod on GD
 
@quartata ?
 
10:56 PM
what do you mean
it's a PR
it allows you to inject code straight into your veins
 
@WELZ Ahh I got to get the rep to vote there ... Can't have you running
:D
 
oh I guess I should explain why
 
@K.Dᴀᴠɪs I'm currently running uncontested.
 
fp- by Makyen
 
so like before I was an idiot and made it so that when you do !!/approve it tries to acquire a lock
 
10:57 PM
@WELZ NoOoOoooOO!!!!
 
but the lock is just a class variable so it's not shared across workers
so I replaced it with a write lock on some random git file
 
so, if you quickly get 300 rep, I'll vote you as my 2nd choice!
 
that should actually work
 
@WELZ Meh well in that case . . . .
 
I can approve your edits and also if you just post 2 or 3 really good answers you already have 300
 
10:58 PM
[ metasmoke ] ci/circleci success on b2b4eb1: Your tests passed on CircleCI!
[ metasmoke ] ci/circleci success on b2b4eb1: Your tests passed on CircleCI!
 
@quartata Start from the start. What does it do, and why do we need it?
 
4 mins ago, by quartata
so like before I was an idiot and made it so that when you do !!/approve it tries to acquire a lock
So that if two !!/approves fire at the same time, one doesn't screw up the other
 
Recovered from websocket._exceptions.WebSocketConnectionClosedException: Connection is already closed.
 
(although Git would just fail most likely)
The way I was locking before doesn't really work though
This way does
 
Is having that metasmoke-side deliberate? Seems like you'd need to lock on the Smokey side if you're talking about a command.
 
11:04 PM
No I mean when you type !!/approve on a PR. Pullapprove.
 
Ah
 
[ metasmoke ] ci/circleci success on bf92c2a: Your tests passed on CircleCI!
 
will need Undo to stick around after deploy to test it
 
Ms down?
 
yes
 
11:12 PM
no, just a bug
I mean
"yes" loosely
@ArtOfCode do you have the latest TTD data so I can run the test between 3 vs 4 and 4 vs 5 again
now that we're talking about that again
 
there's a query for it in the SQL exploder
 
which doesn't work currently
well I'll wait
 
okay fair point
 
the results will probably be the same though
 
I don't think my dump is too old
 
11:16 PM
which is that the difference between 3 and 4 is not nearly as statistically significant as the difference between 4 and 5
although we do have the new deletion watcher
 
I pulled that specific stat not long ago, hold on
 
so the TTD data might be a bit different
Mar 6 at 18:32, by quartata
@Undo t = -2.6374006236321903, v = 68.88519325013864, tcdf(t, v) = .005159
Mar 6 at 18:38, by quartata
On the other hand, 3 vs 4 is much weaker (p = 0.03)
 
Around 59s average at 3
33s at 4
13s at 5
 
so that hasn't changed much
(do you have the stdevs on hand?)
oh... wait
this is all the old data
we haven't run it since the new deletionwatcher
so yeah it hasn't changed, duh
 
naa- by ArtOfCode
 
11:19 PM
You know, implementation wise, 4 flags in the manner @Undo suggested would be very easy. All you would do is give System a flagging condition and make it count outside the number of flags
(e.g. core_count -= 1 unless user.id == -1)
or whatever it is
just set the flagging condition from the console?
and set it to 280 or 300 or whatever we decided
or .993 for the new system
That would be nice because then admins could adjust it from the UI
or disable the flagging condition in an emergency
Lot of functionality built in
pretty painless, all in all
 
J F
11:41 PM
@ArtOfCode GraphiQL is broken. Does it require Auth in order to work?
 
literally everything is broken right now
 
Please deploy <3
 
J F
MS works mostly fine if you’re logged out though
 
Except graphql
 
undo needs a pager tbh
 
11:45 PM
@thesecretmaster [tag:dev-on-prod] [tag:everything-is-broken] [tag:failure-as-a-service] [tag:panic-driven-development]
 
Would it be worth giving Art the ability to deploy? (or is that too much access?)
 
I wanna dev on prod but I need to deploy
@NobodyNada Meh, it's nothing super important that's broken.
It's the new sparkley stuff
 
@thesecretmaster Sure, and it's not a big deal -- it's just that sometimes another deployer would speed things up a bit
 
@NobodyNada I have... just about all the accesses apart from that
Historically I haven't had that so that Undo is the final point of responsibility and sanity-checking of code before it makes it to running alongside the sensitive data.
 
@ArtOfCode Right -- and being a GH admin already lets you run whatever you want on everyone's servers through Smokey
I don't think it's a big risk, but I'm not in charge
 
11:51 PM
Aye, which is why metasmoke handles the sensitive stuff
Undo has been talking recently about a CI job or deploy keys for me, so I don't think it's at all outside the realm of possibility
 
[ SmokeDetector | MS ] Shortened URL in body: Domain specific language naming conventions by Tobby P on security.SE
fp- by NobodyNada
tpu- by NobodyNada
 
I picked a poor time to disappear
@quartata Yep, that's roughly what I was thinking (System already has a good API token, IIRC).
 

« first day (1635 days earlier)      last day (2185 days later) »