« first day (1115 days earlier)      last day (3003 days later) » 
00:00 - 12:0012:00 - 00:00

12:00
which in many cases is probably better
Yep, batch URL would be nice
By property filter I mean that the request would specify which fields it wants in the response
oh
yeah, that's difficult
As an alternative to URL batching, how about a general batching mechanism?
that's posts-by-ids
[ SmokeDetector | MS ] Link at end of answer: google api places get real types not the other by kolkataseo1 on stackoverflow.com (@dorukayhan)
12:03
Generic as in for any endpoint
could do
it's a touch heavier on the server per-request, but I guess not worse than 100 separate requests
[ SmokeDetector | MS ] Link at end of answer: Using the razor engine in SharePoint 2013 Visual Web Part by ali on stackoverflow.com (@dorukayhan)
You could create both, if it saves CPU
tpu- by rene
As yet another alternative, I suggest "question by URL, and all of its answers"
12:07
@JanDvorak we don't keep question-answer relations
I can do you batch URLs easy enough
I'll take that one then, thanks
lemme switch system
[ SmokeDetector | MS ] Few unique characters in body, repeating characters in body: Missing line on first read using bufferedreader by Matchbox2093 on stackoverflow.com (@dorukayhan)
[ SmokeDetector | MS ] Link at end of body, pattern-matching website in body: That is one of my perfect notions by user61224 on workplace.stackexchange.com
Why is filtering properties hard, though?
tpu- by Jan Dvorak
12:09
@SmokeDetector vandalism
[ SmokeDetector | MS ] Pattern-matching website in body: Sugars! Why not ask your by arsal washell on askubuntu.com (@ThomasWard)
But maybe then again, "block images by 1-rep users" might still be a better heuristic than "block images in posts reported by Smokey" in case I want to sit in the realtime tab again.
tpu- by Jan Dvorak
@JanDvorak I tried to think up a solution to it the other day, and failed.
Though actually... now I think again... you could probably do a .select() based on the expansion of a base64-encoded filter parameter.
If your worry is how to encode the filter, what if you leave it unencoded?
12:15
because that would make URIs disgustingly long
but the worry isn't how to encode it :)
it's how to translate a URL parameter into a list of fields that Rails will accept in an ActiveRecord select call
Could do with a better encoding that base64, though... what efficient text compression algorithms are there?
If that can't be done, you could still filter post-select. Doesn't save CPU, but it save bandwidth.
@ArtOfCode A bitmask with a pre-agreed dictionary of bit meanings might be a good call
deflated, perhaps
@JanDvorak at that point, you're increasing CPU load... I'd like to keep it either the same or lower it
A fast compression algorithm that I can transform to a select list should lower the load
Why not the bitmask?
because I don't have a clue how to implement it :)
base64toBits(filter).zip(meanings).select(&:first).map(&:last)
12:22
wat
Expand the base64 string into an array of bits, zip it with the dictionary of meanings (it can grow, but existing entries shouldn't change), then select those pairs where the bit is true, and keep the corresponding dictionary entries
a.zip b is (mostly) equivalent to [a, b].transpose
I have no idea what either of those methods do
oh. Array transposition means exchanging its rows with columns
[ SmokeDetector | MS ] Link at end of body, repeated URL at end of long post: NitroBuild Plus et Testoboost ZMA - Arnaque Ou Pas? by nitrobuild2plus on superuser.com
zip takes successive elements of one array, and matches them with corresponding elements of the other array
12:27
Got an example? Fill in filter and meanings, that might help
I think Python has parallel array comprehension?
tpu- by Glorfindel
@angussidney They might have forgotten to enable that block on Drupal SE. That would explain a lot of things...
filter_decoded = [meaning where bit from bits and meaning from meanings and bit is true]
I don't know it in Python any better than I do in Ruby. What's filter? What's the result of base64toBits? What's meanings?
12:32
For example, when the bit mask is [0, 0, 1, 0, 1, 0] (I think that's Base64 A) and the table of meanings is ["foo", "bar", "baz", "quux", "key5", "post_id"], then the user wanted baz and key5
Okay, that makes sense
CI on d999868 succeeded.
!!/pull
Restart: API quota is 8814.
If you wanted to create a filter decoder that can serve the URL endpoint, the table of meanings would contain "id", "title", "body", "link" etc.
So, @Jan, this works:
meanings.zip(bits).to_h.map{|k,v| next if v == 0; k}.compact
results in an array of database field names
not that I know if that's usable
Somehow I thought Metasmoke was made in Python like SD was.
Nope, Rails
I've never seen next with map, though
The map could be rewritten as map{|k, v| k if v}
it's a loop, next works like any other loop
Can also be rewritten as map{|k,v| v == 1 ? k : nil}
12:43
I think k if v is the idiomatic version
...my god, that actually works
if is an expression :-)
No, the filter-and-select
while is also an expression, but it always evaluates to nil
2.3.0 :006 > def filter_fields(bits)
2.3.0 :007?>   meanings = ['posts.id', 'posts.title', 'feedbacks.id']
2.3.0 :008?>   meanings.zip(bits).to_h.map{|k, v| k if v}.compact
2.3.0 :009?>   end
 => :filter_fields
2.3.0 :010 > Post.joins(:feedbacks).select(filter_fields([1, 1, 0]))
  Post Load (0.5ms)  SELECT posts.id, posts.title, feedbacks.id FROM `posts` INNER JOIN `feedbacks` ON `feedbacks`.`post_id` = `posts`.`id` AND `feedbacks`.`is_invalidated` = 0 AND `feedbacks`.`is_ignored` = 0
 => #<ActiveRecord::Relation [#<Post id: 1, title: "Test Post">]>
okay it nearly worked
12:46
Why are you converting to hash?
Does that work on nested arrays?
map can handle an array of arrays just fine, it doesn't care about the contents.
[ SmokeDetector | MS ] Non-English link in answer: arduino creates strange files in SD card by hotmail Kaydol on arduino.stackexchange.com
tpu- by Jan Dvorak
That's better.
2.3.0 :016 > def filter_fields(bits)
2.3.0 :017?>   meanings = ['posts.id', 'posts.title', 'feedbacks.id']
2.3.0 :018?>   meanings.zip(bits).map{|k, v| k if v == 1}.compact
2.3.0 :019?>   end
 => :filter_fields
2.3.0 :020 > Post.joins(:feedbacks).select(filter_fields([1, 1, 0]))
  Post Load (0.5ms)  SELECT posts.id, posts.title FROM `posts` INNER JOIN `feedbacks` ON `feedbacks`.`post_id` = `posts`.`id` AND `feedbacks`.`is_invalidated` = 0 AND `feedbacks`.`is_ignored` = 0
 => #<ActiveRecord::Relation [#<Post id: 1, title: "Test Post">]>
[ SmokeDetector | MS ] Offensive answer detected: How to get the value in java class? by Joris Kühne on stackoverflow.com (@dorukayhan)
tpu- by Gothdo
12:52
Nice.
[ SmokeDetector | MS ] Manually reported answer: Storing Time Zones on an SQL Server by trolollool on stackoverflow.com (@dorukayhan)
Can we blacklist usernames like these?
Username blacklists don't tend to be that useful
[ SmokeDetector | MS ] Bad keyword in body, bad keyword in title, pattern-matching website in body: Viarexin – Lessons Learned From Google by johanvink228 on workplace.stackexchange.com
tpu- by Glorfindel
[ SmokeDetector | MS ] Bad keyword in answer, bad keyword with email in answer, email in answer: Co-Parenting with a Toxic Ex: How to Handle Poisoned Comments from Toddler? by venessa roland on parenting.stackexchange.com
tpu- by Jan Dvorak
[ SmokeDetector | MS ] Link at end of answer, pattern-matching website in answer: what is the best way to compress image size ,whether before image uploding on android to server or after uploding to theserver by Best Image Quote on stackoverflow.com (@dorukayhan)
13:06
tpu- by Jan Dvorak
[ SmokeDetector | MS ] Few unique characters in body, no whitespace in body, repeating characters in body, repeating characters in title: worksssssssssssssssssssssssss by Tanu on english.stackexchange.com
@SmokeDetector vandalism
@SmokeDetector vandalism
@ArtOfCode Two flags from the bot seems like a bold request, though I do like it
We did debate three
which is also what the proposed integration system is - we say "that's spam", SE cuts the flag threshold in half
I like that, if it succeeds
Are you going to use Charcoal users' flags? I assume that is opt-in?
13:14
The auto-flagging proposal uses users' flags, yes, and yes it'd be opt-in-only (kinda has to be, because app oauth, but it would be anyway).
What if a flag donor wants to add a flag of his own?
@JanDvorak that may be tough
I guess that SD should preferentially pick donors that are currently inactive
Depends how many participants we have. If we only have two participants, obviously we're using their flag every time we want to auto-flag. If we have twenty participants, we only use your flag once in every 10 posts
I believe we also talked about letting participants choose a time frame where Smokey can use their flags, and a limit of how many of their flags it can use per day.
Activity can be determined automatically from the time of last manually raised flag
13:20
So, I'm awake between 0800-0100 UTC usually, and I generally use around 20-30 flags in a day. So I can tell Smokey to use 70 of my flags per day, but only between 0100-0800 UTC.
You can use all of my flags anytime :)
@JanDvorak can, but that's development we don't need to do, if we can just let people specify manually.
If I run out that is a good thing.
You could just always pick the user with the longest time after his last flag. This would handle both donor-cycling and inactivity detection.
Yeah, but again we don't need to
We're looking for the simplest possible viable solution here
13:23
[ SmokeDetector | MS ] Link at end of body, pattern-matching website in body, repeated URL at end of long post: Furthermore Paravex your security by Triessir1 on workplace.stackexchange.com
tpu- by Jan Dvorak
[ SmokeDetector | MS ] Bad keyword in answer: Azure App Service - Outbound IP changed by visual studio on serverfault.com
tpu- by Jan Dvorak
WTF is that? The URL doesn't seem to match the product being offered
A schizofrenic spammer. Those are a rare bird.
[ SmokeDetector | MS ] Link at end of answer: Is popping your knuckles bad for you? by blep on skeptics.stackexchange.com
tpu- by Glorfindel
I wish there was a way to extend gasMask to abusive text
@JanDvorak lol
13:32
And we'll call it TrumpMask.
I'm sure that's possible if you find a foolproof definition of abusive.
That's tough, though I guess I could blank some words.
13:48
[ SmokeDetector | MS ] Few unique characters in answer: How to fire Unload event of Usercontrol in a WPF window by naina on stackoverflow.com (@dorukayhan)
tpu- by Floern
14:05
[ SmokeDetector | MS ] Bad keyword in title, pattern-matching website in body: The everyday tiers of testosterone are a thousand TESTX CORE? by KeithJunor on graphicdesign.stackexchange.com
tpu- by Jan Dvorak
[ SmokeDetector | MS ] Bad keyword in body, bad keyword in title, bad keyword with email in body: JOIN THE ILLUMINATI by Richard J Alexander on christianity.stackexchange.com
tpu- by Glorfindel
Is this spam, or just abusive trolling?
IDK, but let's kill it with fire.
I think it's both, actually.
@SmokeDetector burn with orbital weapons, where available.
(it's evil)
14:20
[ SmokeDetector | MS ] Few unique characters in answer, repeating words in answer: What does "$1/*" mean in "for file in $1/*" by baily on stackoverflow.com (@dorukayhan)
tpu- by Glorfindel
14:31
@SmokeDetector k
[ SmokeDetector | MS ] Offensive body detected, offensive title detected: Windows (cunt) 7 retardedness by user671870 on superuser.com
tpu- by Jan Dvorak
^ burn
[ SmokeDetector | MS ] Few unique characters in answer: Change Wordpress Image URL by user7257559 on stackoverflow.com (@dorukayhan)
tpu- by Glorfindel
14:58
[ SmokeDetector | MS ] Few unique characters in answer: Why does Davy Jones not want his heart around him? by freddie gayhand on movies.stackexchange.com
tpu- by Glorfindel
15:14
Does anyone have a link to that percentage-of-flags-helpful script that adds the little green bar to /flag-summary?
7
Q: Flagging Assistant - tweaks for frequent flaggers

Brock Adams About: Adds several nifty tools/features to assist in tracking your flags: Adds a shortcut link to the top of every page. When following an answer link, alerts if it has been deleted (only for < 10K users). Summarizes flags by resolution ("helpful", "declined", etc.); color codes them; an...

@Undo That one?
close enough, thanks
Huh, I'm 98% accurate. That's better than I expected.
@ArtOfCode I'm the same on Super User ;p
tpu- by Glorfindel
15:39
@JanDvorak This bitmask is gonna play hell with a lot of systems :) I'm getting filter strings containing non-ASCII
"À"
though I guess they can only go as far as U+00FF, so it's not too bad
16:01
@art I thought you would go with six bits per character (base64). Non-ascii characters in URL aren't great.
they can be URL encoded
%C0 and %FF and all
Yes, but then you average less than four bits per character
Nah, I'm using the full 8 bits
You can store 0-255 in 8 bits, which encode from %00 to %FF
That's eight bits per three characters, isn't it?
True, if you URL-encode them.
Most browsers these days can deal with you giving them the raw characters, though, and it'll handle the encoding.
and eight bits per three chars across the network is not something I'm worried about
16:07
By encoding them behind the scenes.
How about hex encoding if you strive for simplicity, then?
shrug
if this works, I'm inclined to just go with this
I'll need to test it and all, but it's looking promising
Also, browsers might get in the way if they decide to utf-8 encode before URL encoding, in which case I'd toss them the URL already encoded. But in the end, it's a constant string and I don't really care what it is as long as I know how to send it.
shrug
well I've already pushed the batch URL route, so that just needs @Undo to deploy and you can have it
filters are a way off yet
Thanks. I might get to coding tomorrow CET.
I wish you luck regarding the filters
[ SmokeDetector | MS ] Non-Latin link in answer: Too many authentication failures for *username* by Walter Forinstance on superuser.com
fp- by Glorfindel
16:22
@JanDvorak The scaffolding of decoding filters is done already, and it's not much work to plug the results of that into a select. The time consuming bit is that now I have to write a page and JS tool for consumers to create the filters.
Gotcha
The really time consuming bit is listing all our database fields out in rich HTML... it took long enough in plain text :)
But I suppose the empty filter is just a single zero or \0 ?
You could have the filter generation driven by the server
@JanDvorak Client needs to specify what fields they want at some point. I could do a /filter/create route like SE, but their point in having that is that their filters are bit shifted and you really shouldn't generate them yourself; with these, you can - so I might as well just have a basic client tool, and detail the algorithm so people can generate themselves if they want
@JanDvorak well, it'd be a string of 127 zeroes, which translates to... let's see.
Ah.
[ SmokeDetector | MS ] Bad keyword in body, bad keyword in title, link at end of body, pattern-matching website in body, repeated URL at end of long post: apex vitality booty pop The endocrine by Wortagicenin84 on superuser.com
16:29
That might present a problem.
tpu- by Ferrybig
An empty filter is a string of 15 NUL bytes.
...which is bad.
I guess the solution is to offset every character by 32 codepoints? Might cause issues at the top end - 255 is now 287
...though I guess NUL can still be URL-encoded
and Ruby can map it both ways
so actually NUL is fine
Someone's gonna shout at me for this, but I'm leaving it there.
16:59
[ SmokeDetector | MS ] Misleading link in answer: Android: ImageView Border With Buttons by Rohan Talukder on stackoverflow.com (@dorukayhan)
I've done my share of shouting for now, but I'll let you know if I'm unable to make the request ;-)
@JanDvorak URL-encode stuff and you should be fine. %00 for NUL
[ SmokeDetector | MS ] Link at end of answer: Android: how to make a ScrollView with fixed header and ReciclerView by Ajay on stackoverflow.com (@dorukayhan)
naa- by ArtOfCode
[ SmokeDetector | MS ] Blacklisted website in answer, shortened URL in answer: C:\\Windows\\System32\\ipconfig.exe console flashing frequently by anonymousatul on superuser.com
tpu- by ArtOfCode
oh look homework
fp- by DavidPostill
[ SmokeDetector | MS ] Few unique characters in answer: Add 2 mobile numbers to iphone by Mujeeb Ali on apple.stackexchange.com
tpu- by Jan Dvorak
Internet of Things is in private beta.
When do they let humans in?
You can get in now, you just need to go through the A51 proposal
17:44
Hm. I wasn't prepared for an IoT launch. goes to generate some questions
shrug if they're not spam, meh
Either they pushed out a faulty update, or there's a spam wave coming
18:17
[ SmokeDetector | MS ] Bad keyword in answer, bad keyword in link text in answer, pattern-matching website in answer: Atomic Force MIcroscopy Imaging of Proteins by Mary Popins on biology.stackexchange.com
tpu- by Jan Dvorak
might be spam
yeah, the product is semi-related to the question, but it isn't even close to what the question asks for
sd k
18:33
Restart: API quota is 6336.
[ SmokeDetector | MS ] Few unique characters in answer: CSS - Two different backgrounds on two pages by bob on stackoverflow.com (@dorukayhan)
tpu- by NobodyNada
Looking good... %00%00%00%00%00%00%00%03%C3%A1%C2%A3%C2%80%00%00%00%00%00
Oh come on! The filter logic worked perfectly, but the view bugged out
what are you working on?
18:50
[ SmokeDetector | MS ] Link at end of answer: How to directinize bluetooth signal? by Igor Tsarik on superuser.com
[ SmokeDetector | MS ] Bad keyword in body, pattern-matching website in body: You Can Thank Us Later - 7 Reasons To Stop Thinking About Enhance Xl by Enhance XL on graphicdesign.stackexchange.com
tpu- by NobodyNada
@NobodyNada filters for the MS API
ah, neat!
i.e. "give me only these fields"
and I've literally just cracked it
could you base64-encode them so you don't have all of the percent escapes?
possibly
...not easily, apparently
18:58
Strange.
I was just facing an exception caused by handling an exception when I attempted to reconnect to this room after waking up from standby.
Then I hit F5 and got presented a cute cat pic, at least
[ SmokeDetector | MS ] Few unique characters in answer, repeating words in answer: Slow response for ping to 127.0.0.1 by lame on superuser.com
tpu- by ByteCommander
19:24
[ SmokeDetector | MS ] Link at end of answer: CRISPR Cas9 most updated paper protocol by ascientist on biology.stackexchange.com
naa- by NobodyNada
[ SmokeDetector | MS ] Bad keyword in answer: Auto screen rotation Dell Inspiron 7347 by alejandro on askubuntu.com (@ThomasWard)
@SmokeDetector I am unsure between N or K...
naa- by ByteCommander
19:42
@Undo I am at least 2% sure that won't break.
Good to deploy?
I've been fighting SATA issues all morning
With limited certainty, but yes.
it won't knock the whole server offline
good enough
@ArtOfCode Okay for me to copy that config file change directly to prod?
Anything need tweaked?
should be good as is
kk
19:46
just one long list of every field we might ever possibly return in an API hit
Did you actually type all of that yourself? :P
Yep.
Every last tedious character.
there must be some better way, but I admire your dedication.
Quite probably there is, but I couldn't think of one at the time.
today's achievements: typed out the entire 127-field non-sensitive schema of the metasmoke database
twice
2.3.3 :004 > Post.new.attributes.keys - Post.protected_methods.to_a
 => ["id", "title", "body", "link", "post_creation_date", "created_at", "updated_at", "site_id", "user_link", "username", "why", "user_reputation", "score", "upvote_count", "downvote_count", "stack_exchange_user_id", "is_tp", "is_fp", "is_naa"]
^ for next time :)
19:49
BAH
though actually, given that I needed to put 'em in text files not in array format, that wouldn't have helped
it just lists the attributes, which I had the schema file for
yeah, suppose so
deploying
well the server's still up
that's a plus
migration worked
/api/filters works, though that's just static stuff so unsurprising
the test will be when someone actually hits an API route
I also don't know if I've broken FDSC here
Give me the docs. I'm ready to pack a punch.
20:01
[ SmokeDetector | MS ] Bad keyword with email in body, email in body: Looking For Development Team by Tyler Ritterskamp on gamedev.stackexchange.com
[ SmokeDetector | MS ] Link at end of answer: Add link to the "50 rep to comment" FAQ to the VLQ auto-response by bobby on meta.stackexchange.com (@dorukayhan)
sd k
@Art FDSC is broken for me
20:16
@JanDvorak Haven't got round to docs yet :)
Docs might end up being tomorrow
tl;dr: pass a URL-encoded filter as the filter parameter to most routes.
Still waiting for a batch URL request endpoint
already deployed
How does it work? It isn't in the docs
@JanDvorak it's this, but the parameter is urls not url, and it takes semicolon-delimited URLs now
I guess I want the link parameter in the response, then, so that I know which URL a response belongs to?
20:25
yeah
Thanks. I also think it's the only param I need.
you probably want the MS ID too
but otherwise, filter down to it :)
If you wanna do anything else with the API, yeah
the other posts routes are based on the post ID
I think I only care if it's in the system
20:28
then yeah, that's all you need
filter away :)
and tell me when it breaks
Thanks
Is the path url, or also urls?
whatever the path says in the docs, I didn't change that
Thanks
Also, if you have lots of URLs, the route also responds to POST requests
31 max, one page's worth of URLs
 
1 hour later…
21:51
@ArtOfCode not sure if you noticed the ping by nobody above, but according to them the latest MS deploy did break FDSC
would not surprise me
someone's gonna need to tell me what the errors are, I don't have FDSC installed here
[ SmokeDetector | MS ] Few unique characters in answer, repeating words in answer: coverage probability vs. rejection rate by user141415 on stats.stackexchange.com
@SmokeDetector k
[ SmokeDetector | MS ] Repeating characters in answer: Were servants killed and entombed in Egyptian pyramids? by user22630 on history.stackexchange.com
Hmm. I'm getting flagging errors with FDSC
@ArtOfCode
When trying to flag the last reported post
22:08
@Undo: Activate my metasmoke account, which is under the username "DraconicPenguin". Thanks.
kk
done
Great, thanks.
metasmoke.erwaysoftware.com/api/posts/… returns [HTTP/1.1 500 Internal Server Error 801ms]
@Undo got logs access?
@ArtOfCode @Undo
@SmokeDetector n
22:11
@ArtOfCode There are a few MS write keys you gotta delete from chat above
I'm proud to contribute even more to the chatbot.
@Ferrybig Oh. Was that me with my error report?
@ArtOfCode whatcha need?
@Undo 500 ISE's coming from FDSC
I'm getting the same error.
22:13
@ArtOfCode I won't get anymore more than you can see on metasmoke.erwaysoftware.com/dev/prod_log
oh point, I keep forgetting I made that
It's returning 500.
although I will tell you that I'm skeptical about selecting users.stackoverflow_chat_id FROM 'posts'
@DavidPostill I believe the key is something that should not be exposed, looks like a write token, but can't check it since the error page of 160 KB crashes google chrome dev tools
@Ferrybig I'm not seeing any write tokens anywhere
@Undo hah, that'd do it
Mysql2::StatementInvalidError, if I'm not mistaken
crap, that means the filter logic did break after all
@Ferrybig the key param is safe to expose, that's the same key that's publicly available in FDSC code
it's token params you gotta watch for
22:15
Phew :)
@bwDraco User removed from blacklist (672084 on superuser.com).
Not sure I like this workflow for reporting NAA posts manually...
There needs to be a !!/report-naa command.
22:23
@bwDraco we're not looking for NAAs
Smokey's for spam/abuse
any NAA's we happen to catch are incidental, but we're not trying to catch 'em
So why is there functionality for reporting NAA content?
@bwDraco there isn't
!!/report is for reporting spam/abuse that Smokey missed
Ah. I keep getting confused about the bot's features :(
Alright, then.
there are bots around that look for NAAs, this just ain't one of 'em :)
[ SmokeDetector | MS ] Blacklisted website in body: This gig on fiverr will convert any apk to source file,reverse engineering by Hamdi Tarek on stackoverflow.com (@dorukayhan)
22:33
@SmokeDetector k
@approxiblue: It seems this is your first time sending feedback to SmokeDetector. Make sure you've read the guidance on your privileges, the available commands, and what feedback to use in different situations.
@SmokeDetector k
@ArtOfCode So are you working on the 500 error?
@DavidPostill not at the moment, I have a grand total of no time to do it in
Ah. OK. I will report from here then.
23:09
4
Q: Affiliate codes and self promotion

Smart KidPlease do not post answers containing affiliate codes or affiliate links. If your answer is deleted once please do not post the same answer again and expect different results. You should try deleted promoted software download link They Have Altcoins Faucet (once a day), including Monero. ...

00:00 - 12:0012:00 - 00:00

« first day (1115 days earlier)      last day (3003 days later) »