[00:01:52] o/ guillom [00:13:38] Is "queue" really a bad word in french? [03:32:54] halfak yo [04:06:30] https://meta.wikimedia.org/wiki/2015_Community_Wishlist_Survey/Moderation_and_admin_tools#Paragraph_blaming_tool [04:06:37] This is something we may pick up [04:07:02] we do provide a score for the entire revision, it may be interesting to do that on a per modified paragraph basis [04:07:24] IN other note I see a khw translation on interface and edit quality pages [04:07:45] https://en.wikipedia.org/wiki/Khowar_language a dialect used in pakistan it seems [04:07:56] 240,000 speakers [04:08:17] This was interesting because I wasnt expecting this at all [04:08:43] Amir1|afk if you have the time, can you run your badword tool on this wiki? [04:09:14] there does not seem to be a https://khw.wikipedia.org/ [04:10:01] https://incubator.wikimedia.org/wiki/Wq/khw ? [04:10:14] I mean https://incubator.wikimedia.org/wiki/Wp/khw [04:10:37] with only 13 pages I dont see the point actually [04:11:25] no wait there are 1,069 pages total incuding templates [04:11:57] I dont have a reliable counbt [04:12:00] *count [04:12:28] if we work on it, it will be the smallest dataset [14:12:40] o/ ToAruShiroiNeko [14:12:44] Sorry to miss your messages. [14:13:12] I don't think that the author of that wishlist item wants us to score the paragraph so much as to track the authorship of a paragraph. [14:13:25] I'm engaged in a related project. [14:13:40] See https://meta.wikimedia.org/wiki/Research:Measuring_edit_productivity [14:25:39] \o/ khw. Can you make sure I have cards telling me to pick it up? I'm guessing this'll be a bot-pedia. [14:40:19] o/ halfak [14:40:27] hey Amir! [14:40:35] what's up? [14:40:37] PR is up on revscoring repo [14:40:44] have you seen the news? [14:40:51] I'm addressing some open bugs for wikilabels dutch campaign. [14:40:54] no. What's up? [14:41:15] (like movies, turn on the TV) Read mailing lists [14:41:23] some shitstorms [14:41:38] not related to us directly but it can affect our work [14:56:01] halfak its on incubator so it may take a tad bit more effort [14:56:30] Amir1 what happened? [14:56:57] ToAruShiroiNeko: https://wikimediafoundation.org/wiki/Resolution:James_Heilman_Removal [15:05:39] ToAruShiroiNeko, yeah. that's a good point. Maybe we should build support for the language since people met us half-way, but not go farther than that until the project is live. [15:31:26] language support is independent (but required) for project support. [15:36:40] halfak: My computer freezes when I open your PR [15:37:46] :D [15:38:06] Oh yeah. Sorry about that. :\ [15:38:34] It's a doozy! https://en.wiktionary.org/wiki/doozy [15:39:00] [[:en:doozy]] [15:39:00] 10[1] 04https://meta.wikimedia.org/wiki/:en:doozy [15:39:14] ^ not exactly relevant [15:44:26] I'm reading now [15:44:30] no big deal [15:44:57] Would be nice if github would make those big PRs a bit more manageable. [15:45:12] It would also help if I knew what I was doing when I started and therefor could have made some smaller PRs [15:45:23] hah [15:45:42] so what exactly happened? [15:45:56] Who is James Heilman in terms of relevance to us [15:46:26] I have no more details about what happened with James than what you have seen. [15:46:42] I see lots of questions. [15:46:53] I sense a soul in search of answers/ [15:49:34] I'd really like to know what happened there. [16:07:24] halfak: 1- Make a note about pickle issue somewhere [16:07:28] so people know [16:07:41] So many of those [16:07:45] Hmm. [16:07:55] no [16:08:00] I meant a README file [16:08:11] a developer note files [16:08:14] *file [16:08:23] http://stackoverflow.com/questions/1914261/pickling-a-staticmethod-in-python [16:08:29] Oh! sure. [16:08:33] somewhere to keep track of this issue [16:09:03] 2- I meant pylint says, classes no matter what should have object like "class Diff(object):" [16:09:08] I can check for more [16:09:20] it's coding convention [16:09:31] nothing really important but it should be there [16:09:59] so don't get in trouble in case of multiple inheritance [16:10:37] old-style classes have disappeared in Python 3, and inheritance from object has become implicit. [16:11:16] halfak: so per this we can fix the issue? http://stackoverflow.com/questions/1914261/pickling-a-staticmethod-in-python [16:11:19] okay [16:12:25] last thing: We should make our tests more OOP too [16:12:29] it's a note [16:12:37] let's get back to it later [16:12:44] Oh? What do you mean about the tests? [16:13:13] for example let's have a class named "class TestFeatures:" [16:13:37] then we build wikitext and wikibase tests based on this [16:14:00] I have example of pywikibot but it's a great example [16:14:02] it's messy [16:14:07] *it's not [16:15:19] I'm generally against unnecessary complication in tests. Would it reduce the lines of code in the test cases? [16:15:26] It seems like there isn't much space for re-use. [16:15:30] I'll write some examples to show you [16:15:31] *code re-use. [16:15:44] I think it'll help us a lot [16:15:49] and reduce it [16:16:28] at least theoretically [16:16:42] I need to run [16:16:59] OK! I'll be around at this time again tomorrow. [16:17:01] otherwise I would write some examples for you now [16:17:06] I'll have some updates for you :) [16:17:21] I try to write it tonight [16:17:32] and I will send it to you [16:17:44] it's your call to use it :) [16:17:51] halfak: awesome [16:17:54] o/ [16:18:09] o/ [16:26:05] hey all [16:26:22] * aetilley is in a Starbucks in farm-ville trying to get some work done. [16:46:47] o/ aetilley [16:46:57] Sorry I missed your "hi". [16:47:14] Just about to deploy the edit_types campaign pilot :) [16:50:53] :) [19:08:33] ^ wooooooooooooh :) [19:45:15] (03PS1) 10Legoktm: build: Updating development dependencies [extensions/ORES] - 10https://gerrit.wikimedia.org/r/261495 [19:47:03] (03CR) 10Addshore: [C: 032] build: Updating development dependencies [extensions/ORES] - 10https://gerrit.wikimedia.org/r/261495 (owner: 10Legoktm) [20:00:33] halfak: if you have some time, can you check the blog post draft? [20:01:01] Amir1, yes. [20:01:08] awesome [20:01:10] thanks [20:01:15] I've got an hour set aside for blog and the balanced extractor today. [20:01:20] addshore: thanks for the code review [20:01:28] yay [20:01:29] I just pushed some flake8 and documentation stuff up for the massive PR. [20:01:47] ok [20:02:04] I write some tests for you [20:02:06] as exmaple [20:02:25] ojemplo [20:08:08] Great [20:09:52] (03Merged) 10jenkins-bot: build: Updating development dependencies [extensions/ORES] - 10https://gerrit.wikimedia.org/r/261495 (owner: 10Legoktm) [20:47:34] sigh [20:48:03] allegedly they just blocked 13% of all IPs in Turkey on tr.wikipedia. [20:48:41] 88.232.0.0/16 [20:49:42] looks like it was reversed [21:09:14] halfak: https://gist.github.com/Ladsgroup/4c6610738a214c723c0e [21:09:24] I mean something like this [21:09:48] but this one is pretty basic and then we can expand it in subclasses [21:09:53] So, why all the boilerplate around the functions that actually run the test? [21:10:04] Oh! I see. [21:10:09] there are utility functions. [21:10:26] What benefit do we get with this over just having a util.py inside of the tests/ dir? [21:10:43] * halfak used to do tests this way and converted to the bare test functions in ~2008. [21:11:12] that would be good [21:11:31] why did you change? [21:11:52] I found the OOP style testing to be excessively verbose when I really just wanted to run the functions. [21:12:03] Also, this is the way that nose recommends: http://nose.readthedocs.org/en/latest/writing_tests.html [21:12:22] You're supposed to use decorators for setup/teardown if you need it. [21:12:31] But most of our stuff is stateless, so module scope works fine. [21:17:05] I'm happy to consider it, but I've long felt that the simple module-scope functions are desirable. [21:17:27] One really nice thing is that you can use nose to run just one test. [21:17:48] nosetests revscoring/datasources/tests/test_revision_oriented.py:test_pickling [21:22:56] it's more descriptive and easier to re-use [21:23:07] we can clean up lots of our codes [21:23:37] Can you give me an example of reuse that doesn't work with the module-level function style? [21:24:16] it's harder not impossible [21:24:24] I say it's cleaner [21:25:47] an idea [21:26:07] let's just finish this PR, it's way more important [21:26:24] then I'll make a PR [21:26:33] if you don't like it we discard it [21:30:29] I got to go [21:30:30] OK. Sounds good. [21:30:30] Have a good one! [21:30:30] I'll be on tomorrow. Same hours. [21:30:40] sure [21:30:42] * halfak continues hacking on documentation and test coverage. [21:31:07] * YuviPanda should write tests for things some day [21:32:16] o/ YuviPanda [21:32:28] Tests for everything! [21:32:48] If it's not tested, it probably doesn't work. [21:33:03] :D [21:33:15] * YuviPanda wrote tests for the jupyter nbconvert sanitization stuff [23:26:39] Up to 87% test coverage.