« first day (1610 days earlier)      last day (2210 days later) » 
00:00 - 16:0016:00 - 00:00

4:01 PM
hm how do I take a word of the watchlist
 
edit the file
 
ih you were replying to me above lol
 
soooo
I think I might have found a way to make searches, in particular body regex searches, a hell of a lot quicker
 
4:10 PM
\o/!
 
sounds good
 
Regular MySQL regex search across the whole corpus for middle (east|earth) takes 6.260 seconds
Loading all the post bodies into memory and running a Ruby regex search (same regex) on them takes 3.913 seconds
MySQL fulltext match for middle followed by a Ruby regex search on the results of that for middle (east|earth) takes 0.051 seconds.
 
oh? But you'd have to do it in small chunks to make sure you're not running out of memory
 
literally 122 times faster
 
that's quite significant
 
4:13 PM
Nah, whole lot is only ~40 MB, we can spare that much memory
 
What? The whole MS DB? How can it be so small...
 
in fact lemme measure
okay, 85 MiB
89606106 bytes
still, pretty sure we can spare that
cc @Undo how much spare memory is there on the MS server
But with a good precursor match, you won't even be loading the lot at once
 
That's damn small
I'd have expected a lot more
 
@ArtOfCode this is tricky because you have to parse the regex yourself though
 
is that 85mb the results for "middle" or the results for anything?
 
4:16 PM
that's hardly a tricky thing to do
 
parsing regex with html
 
literally Regexp.new params[:search]
@doppelgreener that's everything, all post bodies concatenated
 
ok, cool
 
but it should be fairly easy to get static parts that are not in groups and not affected by quantifiers to pre-select in mysql
 
@ArtOfCode i mean to extract the constant parts
 
4:18 PM
so that would require doing a mysql match on a non-regex portion of the search, then a ruby regex on the full search term. would that still be OK if i gave a pure regex search, such as (foo|baz) for the entire search term?
 
Fun fact: average length of a spam post is just 734 bytes
@quartata what constant parts?
the precursor match? Make the user give you that
 
middle in middle (east|earth)
 
Totally willing to do a bit of user education in return for a 122x speedup
 
@ArtOfCode the two big regex search users are half-life and smokey when generating a PR
neither of which will do that
 
Can you throw me a few example regexes to test my static regex part extraction regex?
 
4:20 PM
it's trivial if you have the automata
 
Okay, so the automated stuff just has to do a Ruby regex search on the lot. Still twice as fast.
 
(i wish there were some more lower-level regex libraries that would let you do that)
 
@ByteCommander the middle (east|earth) is one
 
^test\\W\..*?
 
4:22 PM
https?:\/\/this-is-a-(domain|website)\.(?:com?|net)(?:\.uk)? - my human-generated precursor would be ://this-is-a
The precursor match can use MySQL BOOLEAN MODE match syntax, little bit like Google search operators
 
Hmmm
probably better to use string operations than regexes
can't get it to work
Remove (?<!\\)\(.*?(?<!\\)\) to get rid of all groups
 
You've got to get rid of anything dynamic, though, not just groups
 
yeah, WIP
 
that includes non-escaped periods, optionals, character groups \w \s \b \d etc
 
8 mins ago, by quartata
^test\\W\..*?
this is a good one for the escapes
 
J F
4:30 PM
(answer should be test\W.)
I think
 
looks about right
 
J F
For searches that are just (foo|bar), you could take the union of the results for foo and bar.
 
[ SmokeDetector | MS ] Bad keyword in body, bad keyword with email in body, bad keyword with email in title: Contact( belsju@tuta.io )Buy Quality fake money,Canadian dollar,euro,USD,valid passports by huan1 on superuser.com
tpu- by WELZ
 
@SmokeDetector k
 
So I think I'd first replace (?<!\\)\(.*?(?<!\\)\)|(?<!\\)\[.*?(?<!\\)\] (should match all unescaped () groups and [] char classes) with e.g. a NUL byte
Then in the next iteration, replace all unescaped quantifiers and their preceding symbol with a NUL
Also replace all unescaped \w \W \s \S and so on with NUL
 
4:44 PM
@ByteCommander just replace 'em with nothing, rather than potentially weird characters
 
finally split the string at the NULs and search for entries containing all of them
 
Oh, I getcha
 
If you replace the groups with nothing, that could mess up following quantifiers
like (foo|bar)*
 
Yeah, that makes more sense
 
Oh, I forgot pipes
 
4:46 PM
Still, you don't want to search for entries containing all of them - you want to split on NULs and then use the longest continuous string as the precursor
 
urgh, I should write this up as a python script... but can't right now
 
5:11 PM
BAH
I got rickrolled by my own code :(
 
J F
↰ @ArtOfCode how did that happen?
 
ha you wish
reply arrows aren't blue
 
J F
they also look a little different
too bad you can’t embed linked images
 
⎞ (•)(•) ⎛
 
5:24 PM
@WELZ Hmm. Considering flagging that as r/a ;)
 
> Please do not use this feature for anything other than informing moderators of serious issues that require their attention.
:P
 
@WELZ That doesn't apply to informing myself :)
 
@SmokeDetector k
 
tpu by Zoe
 
5:31 PM
!!/watch hentaimangaly\.com
 
@OliviaZoe You don't have code privileges, but I've created PR#2014 for you.
Merged SmokeDetector #2014.
Restart: API quota is 14148.
 
@SmokeDetector k
 
5:46 PM
tpu by Zoe
 
6:01 PM
naa- by DavidPostill
 
!!/test datatables
 
> Would not be caught as a post, title or username.
 
legit
 
but doesn't answer the extremely poor question.
 
!!/test nhtechnologies
 
6:06 PM
> Would not be caught as a post, title or username.
 
uhm, why I thought I had already seen it? :/
 
@Art why the new look?
 
back to the roots, I guess
 
new? it's an old look revisited
 
that was his previous image ^
 
6:10 PM
@WELZ It's an old look :)
 
I know, I mean the "switch"
 
[ metasmoke ] ci/circleci failure on fe2475f: Your tests failed on CircleCI
 
went from Summer colors to Winter colors.. in the Summer!
 
@Undo good to deploy ignore me, don't deploy that yet
@WELZ you call this summer?
 
fp- by DavidPostill
[ metasmoke ] ci/circleci failure on a73a242: Your tests failed on CircleCI
 
6:12 PM
lol at the FP
 
@ArtOfCode 79°F (26.1°C) in NYC on Friday.
 
@ArtOfCode ~500MB right now. Plenty
 
get out of here with your unuseful units
@Undo sweet
much better :P
 
@WELZ think you did that conversion wrong, that's about 25C
 
literally the only temperature I know in °F is 32
 
6:16 PM
heh
 
70F is room temperature, >90F is hot weather.
(for me, at least)
<40F is cold weather
 
West Coasters....
 
lol that's not west coast
 
70 is room temp.
 
this is west coast: 75F is normal, <75F is cold, >75F is hot
trust me
 
6:17 PM
It's just easy in Celsius... <0 is freezing, <10 is cold, 10-20 is meh, >20 is hot
 
LMAO!
 
this is actually how my lizard brain thinks
for the benefit of Art: anything other than exactly 22C will instantly kill me
@ArtOfCode >20 is hot, londoner spotted
 
correct
 
lol
 
I like sunny days with a cool breeze.
 
6:19 PM
this is the only good time of year
 
what is it there like 10C right now
that's freezing
you people are mad
 
winter is freezing, summer I melt, autumn (yes it's called autumn) the days get too short
about 15-16 at the moment
 
i guess that's a little better
not much
 
just about right
 
if you're interested, that's 60F
 
6:21 PM
19-20 is good, t-shirt weather without melting
 
although I'd say you're better off not learning fahrenheit, it's an awful unit
 
Best is 60ish-70ish
 
@quartata no disagreement there
 
wish I wasn't CSU (celsius second unit)
 
[ SmokeDetector | MS ] Bad keyword with email in body: How to give shape to magnetic/electromagnetic fields by Srijan Das on physics.SE
 
6:22 PM
who decided that 32 degrees precisely was a good temperature for water to freeze at
 
it's like
 
fp- by DavidPostill
 
100F is supposed to be body temperature
but they couldn't even get that right
since it's actually lower
 
°C Makes sense 0 freezing 100 boiling.
 
6:24 PM
Also with miles and feet, who came up with the number 5280?!
 
@WELZ 8 furlongs
 
the one who counted all those feet...
 
yeah there you go
that's a good explanation
 
@quartata Not it's not.
> The lower defining point, 0 °F, was established as the temperature of a solution of brine made from equal parts of ice, water and salt (ammonium chloride). Further limits were established as the melting point of ice (32 °F) and his best estimate of the average human body temperature (96 °F, about 2.6 °F less than the modern value due to a later redefinition of the scale).
 
@quartata yep, it actually sort of makes sense.
 
6:26 PM
@DavidPostill huh, i've been lied to
 
96 is too low still
 
yeah but for a different reason
 
My average temp is 36.5, ie 97-98
 
> He called his own body temperature '96 degrees'...
 
hmm
a couple different accounts
 
6:29 PM
> According to a letter Fahrenheit wrote to his friend Herman Boerhaave, his scale was built on the work of Ole Rømer, whom he had met earlier. In Rømer's scale, brine freezes at zero, water freezes and melts at 7.5 degrees, body temperature is 22.5, and water boils at 60 degrees. Fahrenheit multiplied each value by four in order to eliminate fractions and increase the granularity of the scale.

He then re-calibrated his scale using the melting point of ice and normal human body temperature (which were at 30 and 90 degrees); he adjusted the scale so that the melting point of ice would be 32
 
although the lower end is definitely that
 
He fiddled it all because of math.
:44021486 Of course. Nobody said claimed that value is an accurate measure of body temp.
It got redefined later.
> the Fahrenheit scale is redefined slightly so that the freezing point of water is exactly 32 °F, and the boiling point is exactly 212 °F or 180 degrees higher. It is for this reason that normal human body temperature is approximately 98° (oral temperature) on the revised scale (whereas it was 90° on Fahrenheit's multiplication of Rømer, and 96° on his original scale)
 
6:51 PM
Bah, search is a clusterfuck
Very tempted to roll this lot back and make a new search page for more efficient searches
Yup, this ain't happening
 
@ArtOfCode *aye
 
Meh. I'll find something else to work on :)
 
@ArtOfCode this is very true
 
fp- by Glorfindel
[ metasmoke ] ci/circleci failure on 7aa1ba1: Your tests failed on CircleCI
 
7:02 PM
@JF Does nav_link have an option for me to pass a literal path?
 
J F
@ArtOfCode No :(
feel free to add an option for it though
 
@ArtOfCode whatcha need it for?
 
and passing the namespaced controller doesn't work, I guess?
 
correct, because it's a lambda'd route
 
7:11 PM
bah
 
Rails doesn't think blazer/queries is a controller
 
oh, it's not even in routes
 
aye
 
@ArtOfCode ugly hack would be to just add a redirect in DashboardController
 
ew
rather add a path option to nav_link
 
7:12 PM
or that
 
Yup, that works
 
[ SmokeDetector | MS ] Repeating characters in title: Epidemic, ahhhhhhhhhh! by WELZ on puzzling.SE (@Mithrandir)
 
[ metasmoke ] ci/circleci failure on 00dbfa5: Your tests failed on CircleCI
fp- by Glorfindel
[ metasmoke ] ci/circleci success on 768b91a: Your tests passed on CircleCI!
 
@SmokeDetector f
 
J F
7:21 PM
> 2, 3, 4, 5, 6, 8, 10, 11, 12, 15, 16, 20, 22, 24, 30, 32, 33, 40, 44, 48, 55, 60, 66, 80, 88, 96, 110, 120, 132, 160, 165, 176, 220, 240, 264, 330, 352, 440, 480, 528, 660, 880, 1056, 1320, 1760, 2640
^ divide a mile into any of those numbers of pieces, and you’ll get an integer number of feet.
Divide it into any of these numbers of pieces, and you’ll get an integer number of inches.
 
7:40 PM
But I would walk 2,640,000 feet isn't really catchy.
 
I would walk 805 kilometers almost works.
 
@Undo The DNS record for primaries.charcoal-se is still there, but the server's dead (I assume you took it offline). Is there something I can CNAME it to to get the archive instead?
also, enabling DNSSEC on charcoal-se.org, lemme know if things break
so this is an error I just got
notice the failing domain
 
@SmokeDetector f
 
@ArtOfCode The archive is just a SQL dump. I don't have an HTML thing set up at all
 
@Undo is it on a root domain that I can CNAME to?
 
It's on Internet Archive
You'd get SSL errors doing that
 
bah
mkay, I'll just remove then
 
8:13 PM
You could point it to the metasmoke server and I could just redirect it
(A/AAAA)
 
kinda feels like more effort than it's worth at that point
 
Just an nginx directive on my side
 
shrug try it
record updated
 
8:34 PM
k, will when I get to laptop
 
 
1 hour later…
9:53 PM
[ SmokeDetector | MS ] Username similar to website in answer: Use Video as Featured Image by Wordatom on wordpress.SE
 
10:10 PM
[ SmokeDetector | MS ] Few unique characters in body, no whitespace in body: Android: How to get Webview working? by Jay1995 on android.SE (@iBug)
 
@SmokeDetector tp-
 
tpu by Nisse Engström
 
@SmokeDetector tp-
 
10:49 PM
tpu- by ByteCommander
 
11:02 PM
[ SmokeDetector | MS ] Potentially bad keyword in answer: What has the Holocaust taught us as a people? by John on judaism.SE
tpu- by Makyen
[ SmokeDetector | MS ] Potentially bad keyword in answer: Preferred DNS server: Router or ISP by Allen Smiths on superuser.com
tpu- by Makyen
fp- by ByteCommander
 
@SmokeDetector Undisclosed affiliation. Is the author of the blog being linked to.
 
Oh, I see.
@SmokeDetector k
 
I wouldn't necessarily spam flag (yet). I consider it likely that it can be resolved by the OP editing in disclosure once informed that it's required.
 
@SmokeDetector still alive, rude/abusive or spam flags please
oh it's dead
yay!
 
@Makyen heh, commented 4 seconds before you :P
*6
can't maths
 
11:16 PM
@ByteCommander Yeah, I edited my comment to be supplementary to yours instead of mostly a duplicate.
 
*27
it's late... >_<
 
@ByteCommander Yeah, I don't have my you're-the-author-of-the-linked-blog-and-must-disclose comment incorporated into my autocomments for every site & had to go to SO to grab the comment text. :-) I really need to just make it such that the autocomment script has a global set of comments, in addition to a per-site set. Sigh. Yet another thing to work on.
 
[ SmokeDetector | MS ] Username similar to website in answer: Compare Excel Spreadsheets by Nuno Brum on apple.SE
tpu- by Makyen
 
This instance doesn't have a perspective key
No wonder it hasn't been catching the troll posts
 
Your Linode, smokedetector1, has exceeded the notification threshold (30) for CPU Usage by averaging 39.5% for the last 2 hours. The dashboard for this specific Linode is located at: <https://manager.linode.com/linodes/dashboard/smokedetector1>

This is an automated message, please do not respond to this email.  If you have questions, please open a support ticket.

You can view or change your alert thresholds under the "Settings" tab of the Linode Manager.

This is not meant as a warning or a representation that you are misusing your resources.  We encourage you to modify the thresholds bas
 
11:28 PM
!!/test shit
 
> Offensive body detected, offensive title detected
----------
Title - Offensive keyword: *shit*
Post - Offensive keyword: *shit*
 
@SmokeDetector Undisclosed affiliation. Not yet at spam-flag level. I usually feel that people should get the benefit of the doubt.
 
Yup. Server load has gone up.
I'll adjust the notification threshold.
 
Well I can't see how that's possible since the change isn't even running on your server
You need the Perspective key
 
That was this morning, though.
It looks like we have a new API to work with and a private space on Stack Overflow. I'll probably need a few days to get to this.
 
11:32 PM
[ metasmoke ] ci/circleci failure on a926a7c: Your tests failed on CircleCI
 
@bwDraco Your instance doesn't have the Perspective key yet?
 
No.
I missed all this stuff while in Hong Kong.
 
ArtOfCode/EC2 received failover signal.
 
Will I need to take my instance offline until this is done?
 
!!/standby bwDraco
 
11:34 PM
Restart: API quota is 19655.
 
I'm going to be really busy over the next few days.
 
!!/stappit bwDraco
 
No worries
 
Instance shut down. I'll see when I can catch up.
 
11:40 PM
[ metasmoke ] ci/circleci success on 02a8c50: Your tests passed on CircleCI!
 
11:59 PM
[ SmokeDetector | MS ] Link at end of answer: How can I use i.mx6 TPM for Azure IoT provisioning? by Adrian Buzescu on stackoverflow.com
 
00:00 - 16:0016:00 - 00:00

« first day (1610 days earlier)      last day (2210 days later) »