« first day (1124 days earlier)      last day (2851 days later) » 

10:00 PM
sigh
@Undo I voted to undelete.
@Undo clever shit
that's gonna take me ages to work out :)
Need to do some DB optimization on it, but it's fairly simple.
10:02 PM
@ArtOfCode Fun fact: You can render JavaScript from Rails and the client will happily run it
@Undo so 99.86% accurate, and we're still flagging multiple posts per day (assuming cross-network)... that's impressive
@ArtOfCode This is also not even looking at weight
just reason count and rep?
aye
that's impressive!
10:04 PM
Counting rep also gets us into a slightly more modern era, where we're more accurate anyway.
well that's pretty good
now what if you weight each reason by a round-to-nearest-integer of it's tp percentage, @Undo?
@ArtOfCode ugh, those queries are... like really expensive
Probably need to cache it on the reason model if we're going to do that
@Undo also one-off, though
Or nightly
set the weight now, once, and then update every now and then
or that
10:06 PM
don't you already have the numbers of true and false positives? what more is there when calculating the weight?
@NobodyNada It's just doing it inline that gets expensive
also complicated
99.97% accuracy at 4 reasons, and we're still flagging plenty posts per day
Interesting that it goes down at 5 reasons
by just a little bit
6 reasons hits 100.00%
still a few every day
10:09 PM
this may sound like a stupid question, but what's "code admin" mean on MetaSmoke, again?
@ThomasWard Means !!/blacklist works
@ThomasWard people who can use blacklist without PR
ah, cool. :)
also, where are you seeing that?
@Undo Tools > User Data
10:10 PM
Oh, okay
yeah, that includes a list of roles
Most of them also have push access on GH
all of 'em, I think
at least as part of the Smokey team rather than org-wide
though actually very few people have org-wide push access, I think
Magish doesnt
10:15 PM
oh yeah, he was the one special case
There will probably be more cases like that if we start to increase security
sd why
sd f
@SmokeDetector f
sd 3remove f
10:16 PM
whatever
I don't think Ashish or Kyll need anything except blacklist
yeah, we can start tightening that down
Yeah, that'd make sense
Only a handful of us will actually need commit access for any reason. I mean, I have commit access to Smokey, but i'm not an abuser, and I always want anything I add spot-checked ;)
(lookit, the review system is great!)
I'm sure there's a button somewhere to require review on pull requests
10:17 PM
@angussidney Indeed yeah, the write rights was mainly to update the blacklist
I still use my code access for other stuff regularly, so I'll keep my access if the rest of you are fine with that
team pruned
Which one's Kyll?
What do you mean, 'which one'?
aralun
already gone
10:21 PM
@angussidney trying to find his GH username
Wouldn't have guessed that for a long time
You could have had a look at the profile pics :)
... Or ask me, really =p
@SmokeDetector Maybe a false positive?
@Kyll Ohai!
Plop!
> A last means that in this case? Tell me please. This link is not entirely clear: preply.com/question/chto-oznachaet-last
10:22 PM
@SmokeDetector f
@NobodyNada Looks like an NAA
sd n
yeah
the link seems to confirm it
[ SmokeDetector | MS ] Link at end of answer: How do I test my connection to a given site? by timfredo on superuser.com
@Undo have you got time to set up weighting now?
@SmokeDetector doesn't answer the question, but could be an attempt
10:23 PM
@ArtOfCode Next window is probably in about an hour, need to do some Physics labs
if you want to, go for it
If there's anything I can help with, I can in about an hour
I don't know Ruby though
@Undo I was debating whether I had time, but probably not
@NobodyNada that's probably a limiting factor, really
given that the entire thing is Ruby
well
@NobodyNada Art didn't either until... what, a few months ago?
I learned Ruby on a consulting project. It's really not that hard.
@Undo look up my first MS commit, and I learned it about a week before that
mid-January this year
I could git clone MS and try to figure it out
10:26 PM
@NobodyNada Note that if you're on Windows, it's a little bit harder.
I'm on Mac
^
as in much harder
@NobodyNada oh, then it's fine. Clone away.
as in you need a Linux VM to be anywhere near productive
"a little bit"
I can walk you through getting it set up.
I wonder if it works without a db dump
10:27 PM
@Undo Yes, now that we have seeds
@ArtOfCode Oh, sweet. You've tested them from scratch?
the only thing that didn't before now was not having a SmokeDetector record, but you can seed that in now
@Undo yeah, once about a month ago
yay
should be able to git clone, bundle install, db:schema:load, db:migrate, db:seed and you're ready to go
I know how to do the git clone part, but that's about it :p
10:29 PM
@NobodyNada cd into the metasmoke directory
What's ruby --version say?
I forget what's bundled with OS X these days
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]
thanks for helping!
good enough, probably
I can update it with Homebrew
10:30 PM
actually, it requires 2.2.2+
naa- by DavidPostill
probably want 2.3.0
@NobodyNada I'd recommend using rvm instead, makes things a little cleaner
seems to be more stable than the 2.2.x series
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash -s stable --ruby=2.3.3
10:31 PM
installing, thanks!
(yes the backslash is significant)
no idea what it does, but things break if you don't include it
Stack Overflow says it prevents the command from being aliased
[ SmokeDetector | MS ] Repeating characters in answer: Break inner foreach loop and continue outer foreach loop by Jeffrey Sall on stackoverflow.com (@dorukayhan)
tpu- by Undo
Calling that abusive/nonsense
Restart: API quota is 2449.
10:38 PM
@Undo would installing ruby on rails be easier on windows 10, now that it comes with a subsystem for ubuntu? (its like a full blown ubuntu environment in windows, including sudo)
it failed to install it:
> There was an error while trying to resolve rubygems version for 'latest'.
Halting the installation.
> /Users/jonathan/.rvm/bin/rvm: line 66: shell_session_update: command not found
bash: line 850: shell_session_update: command not found
@NobodyNada What's the error?
whut
which is strange, since running shell_session_update works just fine in the terminal
What command did you run?
I'll try running the command again, and if that doesn't work I'll just use Homebrew.
\curl -sSL get.rvm.io | bash -s stable --ruby=2.3.3
10:40 PM
hrmph
Yeah, go ahead and just use Brew. Won't hurt anything
I just ran the installer again; it completed in about a second and it works now
@Ferrybig yes, if that's in production now
ruby -v:
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]
dat'll work
gem install bundler next
10:41 PM
You have some kind of awesome Internet connection
@NobodyNada bundle install, it should fail for some reason
Always does, then we just track down what it wants
I dunno, worked first time for me when I did a fresh clone
@Undo I think it's being faster than it usually is right now
@ArtOfCode Yeah, you already had the Nokogiri dependencies and such installed
it says I need to install mysql; I'm doing that right now with Homebrew
10:45 PM
You're having a suspiciously smooth time of it
I think bundle install succeeded, but it gave me a bunch of information about Passenger and about configuration files
@NobodyNada About restarting it with touch?
You can ignore that stuff
yeah, that's what it is; thanks!
When you installed MySQL through Brew, did you follow up on mysql_secure_installation and such?
no; I didn't pay any attention
I probably should have
10:50 PM
There should be some instructions that Brew threw at you, follow those to get MySQL set up
(it's possible to just use SQLite, but MySQL works better)
Should I install "VALIDATE PASSWORD PLUGIN"?
@NobodyNada Never heard of it, but it probably wouldn't hurt
your choice, leaving it off is probably fine
okay, done
Did Brew give you a root password for it?
I set up a password
10:54 PM
kk
So now mysql -u root -p and it'll ask you for your password
Once you're in, CREATE DATABASE metasmoke;
Followed by CREATE USER 'metasmoke'@'localhost' IDENTIFIED BY 'password';
Change password if you want, it doesn't matter much
10:56 PM
Then GRANT ALL PRIVILEGES ON 'metasmoke'.* TO 'metasmoke'@'localhost';
FLUSH PRIVILEGES;
> ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''metasmoke'.* TO 'metasmoke'@'localhost'' at line 1
ugh
just a sec
GRANT ALL PRIVILEGES ON `metasmoke`.* TO `metasmoke`@`localhost`;
perhaps
(backticks)
that worked; thank you!
Could all of these steps get put in the MS wiki ?
@Andy I think we're generating one right now
10:58 PM
Woot
@NobodyNada Now cntrl-d to exit MySQL
Inside the metasmoke folder (cli):
cd config; cp database.sample.yml database.yml
Open database.yml in your editor of choice.
Replace the development: section with something like this:
development:
  adapter: mysql2
  database: metasmoke
  encoding: utf8
  username: metasmoke
  password: yourpass
  host: 127.0.0.1
  port: 3306
Replacing yourpass with... your password, of course
Now, hypothetically, this should work:
In the metasmoke root, run:
Nope, not that (unless it worked, then it's fine)
rails db:create
rails db:seed
11:02 PM
that worked
you're gonna want schema:load in between those two @Undo
@ArtOfCode seed doesn't load it for you?
Let's test it. @NobodyNada rails c
not that I've noticed
Then ap Post.last
it gave me a console thing, after spitting out a warning:
/Users/jonathan/Desktop/Metasmoke/config/initializers/appconfig.rb:1: warning: already initialized constant AppConfig
/Users/jonathan/Desktop/Metasmoke/config/environments/development.rb:19: warning: previous definition of AppConfig was here
Loading development environment (Rails 5.0.0.1)
irb(main):001:0>
11:04 PM
yup
normal
ap Post.last in there
  Post Load (0.3ms)  SELECT  `posts`.* FROM `posts` ORDER BY `posts`.`id` DESC LIMIT 1
#<Post:0x007fc28b5ed170> {
                        :id => 1,
                     :title => "Test Post",
                      :body => "Test Post",
                      :link => "//stackoverflow.com/a/40291627",
        :post_creation_date => Thu, 15 Dec 2016 22:02:16 UTC +00:00,
                :created_at => Thu, 15 Dec 2016 23:02:16 UTC +00:00,
                :updated_at => Thu, 15 Dec 2016 23:02:16 UTC +00:00,
yeah, so it worked.
Sweet
great! thank you!
11:04 PM
rails s to start the webserver
(short for rails server, as c is short for console)
I'll start learning Ruby soon and start working on it
and you should have a functioning metasmoke on localhost:3000
I can't make any promises about how much I can do or if I can work on it at all, but if I have time and want to work on it, what would you like me to do?
And therein lies the issue :P
I don't know of any good beginnerish tasks we have
Maybe @Art does
11:07 PM
Maybe I'll try to debug that issue that's open on GitHub
I don't have a populated database though
It's a database issue that has the ability to make you go completely nuts, but if you like you can play with it.
I tend to just ignore Unicode issues :)
@NobodyNada In that console, run Post.create(:body => "My name is jeff😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂") and it should repro.
they're like pluralization bugs, except Jeff will hit you with two giant S's because two-byte characters
@ArtOfCode four bytes :(
11:08 PM
lol
We handle two bytes fine. It's the four byte ones that get us
@Undo two two-bytes, actually
thanks for the help!
the emoji and the skin tone mod
No problem ;)
As a super-high-level overview of how Rails works: Models store data, controllers get that data in response to requests, then they pass it to views which render the data in a human-friendly way.
11:10 PM
so MVC then?
Yeah
yep
metasmoke is actually pretty complex these days... way more than the babby project it was when I started working on it
Scope creep ;)
Someone decided to go adding ignored users to it. I still don't know how that works :P
Works good, though
admin tools, feedback invalidation, deletion logs, ignoring feedback, read api, write api, roles, dev tools
all things that have happened this year
year's not over. Automatic flagging.
11:13 PM
@Undo it's not working at all at the moment, I don't think
Ignored users are the easy bit, anyway, you wait till someone makes you need to understand the API bitmasks
I think we have a bus factor of one on that
Oh hey, a Routemaster.
</london>
@Undo tl;dr: take ASCII characters in as the filter param, take their character ordinal, convert that to binary, concat the lot, and use that to represent which DB fields are "on" and should be returned
'character ordinal'
Sounds like something the Russians would use to hack an election
the DEC column in that
same as ord('c') in Python or 'c'.ord in Ruby
Huh
11:18 PM
so if you have filter = 'abcd' then you get 97, 98, 99, and 100 as the ordinals
convert those to binary and concat
you get 01100001011000100110001101100100
which means you should return the second, third, eighth and so on fields
you get to determine which those are, which is the purpose of the massive list in the AppConfig file
Our database is bigger than that and filter strings are a lot longer, but that's the general idea
11:31 PM
hrmph
11:49 PM
[ SmokeDetector | MS ] Offensive answer detected: Usage, pros and cons for binary search tree, 2-3 tree and B-tree by fffffffffffffff on stackoverflow.com (@dorukayhan)
[ SmokeDetector | MS ] Offensive body detected: Why are you such an a**hole today by Rus on superuser.com
tpu- by NobodyNada

« first day (1124 days earlier)      last day (2851 days later) »