[16:14:16] * ori nominates bd808 for sainthood for https://gerrit.wikimedia.org/r/#/c/215573/3/docs/hooks.txt [16:14:25] :) [16:15:10] I merged a patch from tgr that had some hooks.txt that I didn't like. That drug me into a rabbit hole [16:16:40] sorry about that :) [16:16:45] http://i.imgur.com/t0XHtgJ.gif [16:17:48] personally, I find it somewhat ridiculous that our main hooks documentation is an unstructured txt file [16:24:39] tgr: I agree. I was thinking about a yaml structure for it last night [16:24:51] I'm not sure if anyone other than me would like that or not [16:24:57] eww, yaml [16:25:16] eww, hand-wavy remarks [16:25:20] (still better than JSON tho) [16:25:28] MatmaRex: https://pecl.php.net/package/yaml ;) [16:25:46] hah [16:27:45] The potentially nice thing about yaml is that you can create human readable docs that are actually machine parseable [16:27:55] which is not so much the case with json for instance [16:28:20] and you can can execute arbitrary code! [16:28:41] I fixed that bug :) [16:31:18] yaml rocks [16:31:35] but I would be content with docbook or markdown or whatever [16:32:09] as long as it can be used to generate documentation that I can read without my eyes falling out [16:32:36] https://github.com/legoktm/mwhooks [16:32:40] I never finished it [16:35:09] I haven't seen this argument before: http://martinfowler.com/bliki/MonolithFirst.html [16:47:46] greg-g: seems akin to my rule for libraries which is that a useful lib can only come from the third attempt at doing the same thing [17:45:17] 10MediaWiki-Core-Team, 10MediaWiki-extensions-WikibaseClient, 6Scrum-of-Scrums, 10Wikidata, 7Performance: avoid fetching SiteList object from memcached - https://phabricator.wikimedia.org/T58602#1334559 (10daniel) Fetching SiteList from memcached does not seem to happen on the page view code path. It doe... [17:50:51] legoktm, MatmaRex: i'd love your thoughts on the etiquette of how to do https://phabricator.wikimedia.org/T101286 [17:51:07] specifically, how to automate edits to javascript in user and mw namespace pages without pissing people off :P [17:51:42] ori: User:Maintenance script with good edit summaries? [17:51:43] this would not be used to turn on / off fuctionality or anything like that, just rewrite URLs or calls [17:51:58] and some kind of attribution to which user ran it [17:52:24] ori: for User namespace, i say let's not touch it ever. for MediaWiki namespace, become a global interface editor and jfdi [17:52:32] (that's what i've been doing :P) [17:53:19] would i have a shot at getting it if i applied for the perm? [17:53:30] * ori applies [17:53:32] easily [17:53:53] MatmaRex: also, did you renew your permissions? [17:54:53] no. i'm just filing in the thingy [17:54:57] right now [17:59:33] 10MediaWiki-Core-Team, 10MediaWiki-extensions-WikibaseClient, 6Scrum-of-Scrums, 10Wikidata, 7Performance: avoid fetching SiteList object from memcached - https://phabricator.wikimedia.org/T58602#1334678 (10JanZerebecki) Yes, the graph "Memcached eqiad aggregated bytes_out" didn't visibly increase over wh... [17:59:33] (donnnne) [18:06:59] legoktm: how does this sound: [18:07:01] "I would like to be added to the [[Interface editors|global interface editors]] group. I am principal performance engineer at the Wikimedia Foundation, but I also hack on the site in my spare time, and have been an editor since 2006, so I have a fair understanding of norms of behavior and etiquette. If my request is approved, I will use the permission to update code for JavaScript API changes, and to make performance optimizations, wh [18:07:01] en such optimizations can be applied without compromising functionality." [18:07:42] ori: lgtm [18:09:15] anomie: you (and yurk) are cc'ing mediawiki-api-announce on your responses :| [18:11:51] legoktm: I just did once, then I realized, felt appropriately dumb about that, and made sure to CC mediawiki-api instead. [18:12:25] anomie: also, I assume you're generating the list of bots from api-feature-usage.log? [18:12:44] https://meta.wikimedia.org/wiki/Steward_requests/Global_permissions#Global_editinterface_for_Ori_Livneh [18:14:12] legoktm: Yeah. I ran a grep over the weekend, then on Sunday I ran the result through sort | uniq -c so I could have the list on Monday. The result is /home/anomie/3 on fluorine, if you're interested. [18:15:02] * anomie tends to use uncreative names for temporary files [18:15:42] legoktm@terbium:~$ mwgrep "query-continue" --> (total: 261, shown: 100) [18:16:10] lots of hotcat and popups :\ [18:16:40] Any way to exclude ones using rawcontinue? [18:17:24] legoktm: can you point me to some example of a script that uses User:Maintenance_script ? [18:18:03] ori: all the SULF ones did, there are probably a few in core and WikimediaMaintenance. https://github.com/wikimedia/mediawiki-extensions-CentralAuth/blob/master/maintenance/forceRenameUsers.php for example [18:18:48] the GlobalCssJs migration script too [18:19:01] also, do you have a good example of a simple search & replace python script? [18:19:14] i could hack one easily enough but if you have something handy.. [18:19:23] search & replace on a mw page i mean [18:19:58] i guess https://www.mediawiki.org/wiki/Manual:Pywikibot/Create_your_own_script is easy enough [18:20:32] ori: replace.py in pywikibot is extremely powerful [18:21:07] https://www.mediawiki.org/wiki/Manual:Pywikibot/replace.py [18:21:23] not sure how up to date the wiki page is, https://github.com/wikimedia/pywikibot-core/blob/master/scripts/replace.py [18:31:54] AaronSchulz: for https://phabricator.wikimedia.org/T101054, where would I want to implement that? in JobQueue::pop? [18:37:01] legoktm, probably JobRunner, but you'll want a Job::getTimestamp() method that will expose the job_timestamp (db) and $item['timestamp'] (redis) values [18:37:40] ok [18:43:07] ori, I want to go to Mexico City too :) [18:44:39] AaronSchulz: check your e-mail [19:00:19] bd808, tgr: https://phabricator.wikimedia.org/T93043 [19:04:03] bd808: Re your hooks.txt patch, I ran it through some perl that should have sorted it by hook name. [19:21:09] AaronSchulz: https://gerrit.wikimedia.org/r/215698 no idea if that works [19:35:08] anomie: want to upload your sorted version? [19:35:16] bd808: Sure [19:44:52] that hooks.txt patch is what's awesome about FLOSS software. I saw some >80 char lines, poked at it for a half hour or so and have now nerd sniped others into contributing and resurrected a months old "we should fix this" bug discussion [19:45:40] MaxSem: have you looked into how phabricator does syntax highlighting, using pygments? [19:45:54] no [19:46:22] as in hanen't loooked:P [19:46:22] as in haven't looked [19:46:49] bd808: I'm so easy to nerd-snipe I do it to myself all the time. [19:47:22] anomie: have I held up my shaved yak action figure in a hangout yet? ;) [19:47:32] bd808: Not that I've seen [19:47:56] * anomie points out that if the yak is already shaved then we're good [19:48:03] He sits on my desk -- http://www.amazon.com/Palisades-Ren-Stimpy-Shaven-Action/dp/B000302CQM [19:48:48] Wow, expensive. [19:49:08] heh. mine was not that pricy [19:49:16] it's "rare" now or something [20:22:13] "synthesize this feedback with other stakeholder inputs" [20:22:23] I just heard that asid out lout without irony [20:22:27] *loud [22:26:11] AaronSchulz: https://phab.wmfusercontent.org/file/data/4ihqhn3v566wldzc6uqg/PHID-FILE-2wbnx6tygw7pdhbidkl6/2kmn2bqu5aknvmmm/top_memcached_keys_by_volume_of_requests [22:26:32] i'm very proud of how i produced that [22:26:39] dsh -c -g mc "timeout --foreground 20s tcpdump -i eth0 -s 65535 -A -ttt port 11211 2>/dev/null | cut -c 9- | grep -i '^get' | cut -d' ' -f2 | sort | uniq -c | sort -rn | head -10" | sort -rn | head -50 | awk '{$1=int($1/20);print $1"/s\t"$2 }' [22:27:09] gah, https://phabricator.wikimedia.org/P721 [22:27:37] this one is surprising: 370/s enwiki:SiteStats:groupcounts:sysop [22:27:59] 290/s enwiki:revisiontext:textid:650393323 [22:29:01] 124/s commonswiki:pagetranslation:sourcepages [22:35:50] LoadMonitorMySQL could really use apc [22:59:36] ori: sekret paste? [23:08:14] it shouldn't be [23:08:16] try https://phabricator.wikimedia.org/P721 [23:14:10] that one worked. the link you poked aaron with was dead [23:14:48] I think the file links just expire really fast [23:15:14] and I see that if I had read down backscroll farther the good link was there already [23:15:22] * bd808 fails at irc [23:33:00] swtaarrs lives [23:33:26] * swtaarrs waves [23:33:56] * ori pounces on swtaarrs with https://phabricator.wikimedia.org/T89912#1286874 [23:34:22] heh [23:34:31] yeah I keep meaning to look into that, sorry [23:52:44] swtaarrs: how are you, by the way? are you still working on an LLVM backend?