« first day (852 days earlier)      last day (2967 days later) » 
00:00 - 18:0018:00 - 00:00

6:02 PM
!!/alive
 
@IͶΔ Of course
 
6:13 PM
[ SmokeDetector ] Manually reported answer: Include external js widget in angular template by Jack Mehoff on stackoverflow.com
 
@SmokeDetector K
 
Hey, here's an idea. What if we set it up so that the privileged users lists could be retrieved from metasmoke?
I.E. have a DB table with containing the privileged users, have metasmoke return it as JSON on request.
Smokey could hit it to get the lists, and we can remove the lists from the Smokey code.
We should probably save the current list to a file, so that it can be used as a backup if metasmoke goes down.
 
I like that idea
 
If we add a web interface, then we can update the lists from a metasmoke control panel.
 
Even just putting it in a file would be a start. It's kinda always bugged me how it's embedded in code
We can have a better audit trail through metasmoke too
 
6:26 PM
Add a !!/pull_privileged command, update the list in metasmoke, and tell Smokey to grab the new list.
 
Git wouldn't try to overwrite that file ever, so that'd be okay.
 
@Undo How so? You mean have a reason column that can link to a chat message of the request?
 
Although we might want it to get pushed to the repo occasionally in case someone else needs to run Smokey for a while and MS is down
@ArtOfCode "bob added joe ten minutes ago" without digging through git blame.
 
@Undo Yep. We could probably just include it in version control, to be honest. If it gets corrupted, we can just manually pull a new copy from metasmoke to Smokey.
@Undo "bob added joe ten minutes ago because chat.stackexchange.com/..."
 
yeah
@ArtOfCode Except that means Smokey has to be able to commit and push on its own, which sounds hard
Although... it's just one file, shouldn't be too hard.
git commit /path/to/file -m"auto-update contributors"; git push
Should be a python lib to do that
 
6:38 PM
There's an API for GH, and I think they have a python lib. However, we're not going to need to push it up that much - you could just do it manually from the Pi every X time.
Or, if the GH credentials are cached, just run the system commands.
 
You don't need a GH api
 
subprocess.call("git commit /path/to/file -m "auto-update contributors" && git push")
 
Yeah, that.
 
meh
sd f
 
[ SmokeDetector ] Link at end of body, pattern-matching website in body: It darkest just before the dawn by larendt on drupal.stackexchange.com
 
6:43 PM
@Undo you wanna make a start on doing this, or shall I give it a shot?
sd k
 
I'm a little busy right now
 
Cool
 
Between getting a presentation ready for code camp and SO and stuff
 
7:15 PM
[ SmokeDetector ] Link at end of answer: What is the best free or nearly free PDF library for Java? by NervalReports on softwarerecs.stackexchange.com
 
404
@SmokeDetector Should have disclosed affiliation in the post, right? @Undo ^
 
@404 yep
 
Yep
 
@ArtOfCode no
That's a little terse, sorry. :)
 
@hichris123 hmm?
 
7:22 PM
It's just too complicated
assuming I can type
 
It's okay, neithetr can I
How so?
 
I really like having Smokey be simple. In some ways, it's too complicated for my liking. But I really really don't want it to rely on a webapp that goes down every few days
We don't even add privileged users too often.
 
@Undo Wait, yep?
So that's K?
 
@hichris123 We've added quite a number recently, IIRC.
 
@IͶΔ Probably
 
7:24 PM
I accidentally effed it I think
 
meh
 
Don't take that to mean something bad
 
And if you do git log globalvars.py you get most the people's names. (Usually people put who they're adding in the commit message)
 
@hichris123 I'm thinking we cache the list on disk so that when MS goes down we still have a copy.
 
@hichris123 No, the idea is that Smokey is still self contained and we can still edit things through GH if we want. But we can also edit them through metasmoke and not have to go through a commit-pull cycle
 
7:26 PM
@ArtOfCode Less than we used to, really
 
@hichris123 No, you get the person who added a comma to the line to add the next user.
 
@Undo that's for blame
 
Oh, right
 
In essence, Smokey does have the full privileged users list available to it. But we have a command to tell it to update that list by consulting metasmoke, without having to pull from GH.
 
@Undo I mean, I guess. But it's fairly easy to add a comma and copy paste the user ID with quotes...
@ArtOfCode then GH would no longer be the source of truth?
 
7:27 PM
Really, I think this wouldn't be worth it on its own. But it's also our ticket to moving the Giant List of Regexes out of code, which would be really nice.
We really shouldn't have an array of a few hundred domains in source code
Throw that thing in a CSV or something
And if we're doing that, why not build a passable UI?
 
@hichris123 We add the list to version control, so it's on GH if we need it.
I'm building a prototype of it, just to see what kind of thing we'd end up with.
 
@Undo 'cause we know how well that works... (re: metasmoke outages)
 
@hichris123 No, don't depend on MS.
Have it as convenience. You can still edit the CSV and pull directly if you want
 
Right, depend upon another rails app. ;)
 
... you mean GitHub?
Because I'm not really worried about that
 
7:29 PM
I dunno. It makes sense for it to be in code, because regexes are code.
 
I'm only too aware that MS goes down a lot - but if we cache every list that we pull from MS on disk, that leaves Smokey self-contained if when MS does die.
 
@Undo no, I mean whatever UI you would build.
 
@hichris123 Which would be in metasmoke, and which we wouldn't depend on
 
@hichris123 But massive lists of magic regexes? I doubt you'd get it past a code review.
We should submit Smokey to CR and see what they make of it.
 
Also, a lot of our checks now are method checks, with involve more logic than just a regex.
@ArtOfCode it's better than it used to be ;)
 
7:31 PM
this thing really shouldn't be there.
 
We could happily chuck the regexes in some JSON, which would also store any additional flags we want.
 
And we have ProgramFOX to thank for that
@ArtOfCode That's what we are doing, pretty much
It's a dict in python
 
The regexes I'm not as worried about, they're code. The big list of websites is not code.
 
@hichris123 so do it properly, in a resource file?
 
I suppose we could. But I'm not sure there would be a huge benefit
and it makes it more complex, see point 1
 
7:33 PM
observation: projects stop growing when they become change-averse.
 
API quota rolled over with 1976 requests remaining. Current quota: 9999.
stackoverflow: 1522
superuser: 484
askubuntu: 453
drupal: 228
unix: 228
electronics: 167
security: 161
math: 151
english: 150
mathematica: 132
salesforce: 126
gaming: 125
dba: 124
ell: 120
gis: 112
magento: 108
apple: 106
wordpress: 105
rpg: 104
academia: 104
programmers: 95
sharepoint: 95
puzzling: 93
mathoverflow.net: 86
scifi: 83
meta: 83
money: 82
webapps: 78
android: 71
worldbuilding: 70
physics: 69
travel: 68
diy: 67
stats: 67
graphicdesign: 66
tex: 61
ru.stackoverflow: 59
gamedev: 58
judaism: 51
 
^^^ true that. We can always try it, then roll back if we hate it.
 
Heck, !!/pull was marginal value. Body fetching was marginal value. metasmoke is marginal value, but it's still nice to have
And I can get around whatever gremlins are in there.
 
@Undo I guess pull was pretty useful, given that suddenly anyone could manage smokey remotely.
 
It still scares me a little bit, but yeah.
 
7:38 PM
@Undo You just need to be careful who you give write access to the main repo
 
Right.
 
Most things can be handled with pull requests.
 
Still, giving anyone with a mask the ability to run stuff on your local network is risky.
Even if you trust the mask
 
404
<-- if that's not a trustworthy looking mask, I don't know what is.
 
I have a way that I'm 99% confident will kill the 503 errors, but it also kills some performance. So I've been hesitant to switch to it.
buuuuut maybe I should just do it
 
7:41 PM
@Undo Can't you configure apache to ignore failures? If 1 connection fails, apache will return 503 for a small ampount of time
 
@Ferrybig No, pretty sure it's Puma itself failing
 
@Undo This isn't change-averse. I don't believe that the addition of a third-party dependence would be net-beneficial. Obviously, it would make it easier to add regexes & privileged users. But making a self-contained bot dependent on another system and not having a clear source of truth is a recipe for disaster. Even being dependent on the SE API/websockets causes a crash or two each day.
 
@Undo How much performance?
 
@ArtOfCode Somewhere between a few dozen and a few hundred milliseconds
@hichris123 There's some truth in there
 
@Undo meh
 
7:48 PM
okay, MS down temp
 
"temp"
 
[ SmokeDetector ] SmokeDetector started at rev bbcd224 (Normal Human: exclude ja.SO from all-caps) (running on Raspberry Pi)
Restart: API quota is 9870.
 
Okay, can folks confirm metasmoke.erwaysoftware.com works?
 
@Undo works for me
 
@Undo Up
 
8:22 PM
yep
 
8:34 PM
sd f
edited
 
9:23 PM
[ SmokeDetector ] Bad keyword in title, phone number detected in title: how do i contact Facebook support 1~855~77O~779O? by bandhu on webapps.stackexchange.com
 
404
sd k
 
[ SmokeDetector ] Offensive answer detected: Did NASA use metric units for the Mercury missions? by mother fuc on space.stackexchange.com
 
sd k
 
9:46 PM
[ SmokeDetector ] Link at end of answer: Drive letter for MTP connection under Windows by Peter Pehrson on android.stackexchange.com
 
404
sd 2k
 
10:19 PM
[ SmokeDetector ] Email in answer: What exactly is "なの" (nano)? by wlad kioshi on japanese.stackexchange.com
 
404
sd n
 
sd f
 
10:57 PM
[ SmokeDetector ] Pattern-matching website in answer: What is a good Code to Test Ratio? by Gaurav Kumar on stackoverflow.com
 
sd k
 
[ SmokeDetector ] Bad keyword with email in body: Testimony about my loan by Johnathan Medina on money.stackexchange.com
[ SmokeDetector ] Bad keyword with email in answer, email in answer: Testimony about my loan by Johnathan Medina on money.stackexchange.com
 
404
sd 2k
 
11:25 PM
[ SmokeDetector ] Few unique characters in body, repeating characters in body: How to ask for a password with unique complexities and exceptions in JOptionPane? by Josh on stackoverflow.com
 
11:44 PM
[ SmokeDetector ] Few unique characters in answer, offensive answer detected: Reactjs: how to modify child state or props from parent? by garbage on stackoverflow.com
 
@SmokeDetector k
@SmokeDetector tp- (Vandalishing edit)
 
00:00 - 18:0018:00 - 00:00

« first day (852 days earlier)      last day (2967 days later) »