[00:08:07] Liangent: orphaned, iirc. Are you volunteering? [00:28:32] Amgine: nope. just some local wiki users asked me about this [00:31:15] heh [00:31:27] Yah, that's why I was suggesting... [00:34:40] liangent: we are just starting to port Parsoid to C++, which will make interfacing to Lua and PHP a bit easier than from Node.. [00:35:34] \o/ [00:35:51] \o/ [00:35:52] php extension? [00:36:02] yep [00:36:04] I'll be so much happier when it's a C++ / PHP extension thing [00:36:16] I like JavaScript but NodeJS apps are a PITA to deploy [00:36:23] producing a libxml2 DOM [00:36:24] [00:40:19] oooooh i like [00:41:09] we looked at hooking into webkit or gecko too, but that seemed too much trouble for now [00:41:26] plus libxml2 is well supported in PHP and other languages [00:41:50] Lua and JS/Node for example [00:46:58] * jeremyb pokes kaldari_ [00:47:26] howdy [00:47:31] hey [00:47:47] so, let's make this thing a first class systemwide tool ;) [00:48:54] I originally tried creating it in the same directory as the other tools, but apparently didn't have sufficient permission [00:50:14] who cares if you have sufficient permissions? [00:50:25] you shouldn't be putting it there yourself anyway [00:50:32] let puppet do it for you like the rest of the tools [00:50:46] well, it would be cool if someone wants to set it up in /usr/local/bin/ [00:50:55] right. that's from puppet [00:51:09] oh [00:51:15] this sounds complicated :) [00:51:57] let's do it tomorrow. I'm about to leave work now [00:52:07] can you just give me the files and i'll do it? [00:52:13] i don't has fenari ;/ [00:52:15] oh sure... [00:56:10] files sent [00:57:31] cya! [00:58:42] * jeremyb has mail! [01:17:27] Ryan_Lane: what are ops requirements then? i'm thinking can be self hosted, has some kind ACLs (gating), allows postcommit reviews and tagging and followups [01:17:50] postcommit reviews are a nice to have [01:18:09] self-hosted, acls, and pre-commit [01:18:21] missing anything? [01:18:26] support for private repos is needed [01:18:39] I honestly could live without it, but it's somewhat necessary [01:18:40] i was bundling that in with ACLs [01:18:49] that's it [01:19:31] I think self-hosted should be a requirement for anything, whether ops repos are involved or not [01:19:42] hah, just looked at my mail and misread someone as Bryan. (Brion + Ryan) [01:19:54] well, so should most of that ;) [01:24:50] oooh, there's an """Open Revisions Affecting These Files""" in phabricator [02:51:06] gwicke: talking it over with some folks, and I have a specific query from the FreeBSD server people: will parsoid have a bsd port? [02:59:28] Amgine: why not?? [03:01:04] Only that freebsd is rarely supported. The hosts say they'll have to freeze MW at pre-parsoid without the support. [03:01:17] how about z/OS? [03:02:36] [03:05:51] New patchset: Tim Starling; "Fixed section and distro to make reprepro happy" [analytics/udplog] (master) - https://gerrit.wikimedia.org/r/19702 [03:06:36] Change merged: Tim Starling; [analytics/udplog] (master) - https://gerrit.wikimedia.org/r/19702 [03:10:26] well, if I was going to be serious I would say that there's no reason a parser should depend on platform-specific features [03:12:55] Yah... I expect it would be rather straight-forward port; I just don't know anything about doing that so I said I would mention it to gwicke. [03:14:01] (and then it could be added to macports, and...) [03:14:20] [03:31:32] like what? [03:31:57] is there a throwing inventory on a wiki somewhere? [07:32:22] * siebrand greets TimStarling and Nikerabbit. [07:33:18] I'm not sure generating class files is the way to go [07:33:36] there are some good reasons to separate code from data where possible [07:34:32] where is the JS parser again? [07:34:59] https://gerrit.wikimedia.org/r/#/c/11726/ here [07:36:27] the main problem is that you consider writing a PHP parser to be a big job, right? [07:38:02] beside not wanting to update MessagesXX.php files manually or automatically, yes it is not something I've done before [07:43:28] do you have the change URL for the LocalisationCache.php patch handy? [07:44:42] hmm [07:44:55] finding things in gerrit is hard [07:44:58] https://gerrit.wikimedia.org/r/#/c/11836/ this one? [07:45:03] also in the email [07:45:17] in CodeReview we had path search [07:45:34] I never find anything in Gerrit unless it's on my dashboard [07:46:28] how long does readPluralRules() take? [07:47:57] I haven't measured it [07:50:12] CLDRPluralRuleParser.js is only 300 lines, I could probably convert it to PHP for you [07:50:48] I'm more attached to the idea of separating code and data than I am to the idea of having everything in Messages*.php [07:51:41] so I think parsing the XML files at runtime and using a PHP version of CLDRPluralRuleParser would be a reasonable compromise [07:51:50] okay [07:51:55] but only if readPluralRules() is fast enough, i.e. a very small percentage of a typical recache [07:52:11] because it looks like you have to re-read all the rules every time a language is recached [07:52:52] maybe that's just an accident, with maybe 3 lines of code you could have an in-process cache [07:53:43] it'd still have to be <200ms or so, I think [07:54:53] ok, got to go have dinner now, but I'll try to find time to write this parser for you [07:55:03] okay [07:55:05] if it's not done in two days, you should bug me again [07:55:45] right now the readPluralRules() is done in the constructor, which is good and bad [07:57:06] only once if you are rebuilding all languages, but still once if you are not rebuilding anything [07:59:42] on quick look parsing the XML files doesn't take more than 1ms, unless there are hidden costs I don't see [10:12:43] re [10:13:47] anyone seen Eloquence ? [10:24:11] OrenBo: email is easier [10:31:48] if people answer them [10:33:41] i got no reply to any emails sent to the dev team in the last four weeks [10:34:34] which dev team? [10:35:13] I sent to people in ops and core [10:35:34] I mean that it's easier with Erik (AFAIK) [10:35:35] also HR [10:36:09] could be [10:37:10] must be a very generic question if so many departments are affected :D ^_^ [10:37:43] indeed [16:25:48] plop [16:26:05] Reminder: i18n office hours in 5 minutes in #wikimedia-office [16:40:39] tewwy: Am I correct in thinking that I'm in the right place? S does not appear to be aware of any change in seating. [16:44:35] marktraceur: you are. Is S downstairs? [16:44:46] marktraceur: I don't think anyone has told him since he got back from vacation. :-D [16:45:51] tewwy: He walked off ~1 minute after I sent the above message [16:47:03] marktraceur: Hehe.If I wasn't busy with annual reviews I'd tell him. If there's an issue, there is Ori's old desk one of you two can use. [16:47:08] marktraceur: in the meantime. [17:06:09] robla: are 20% checkins unofficially dead? [17:06:49] no....just that that is one activity that I've fallen off the wagon on while I'm covering for Sumana [17:07:15] robla: I haven't seen any activity on this one for a month or more [17:07:29] he calendar just keeps bugging me [17:10:59] I'll talk to Sumana about that when she's back. Sorry for not being active in this area. [17:46:46] gwicke: https://gerrit.wikimedia.org/r/#/c/19695/ [17:47:42] thanks! [18:14:29] kaldari: what's the output of ~kaldari/bin/testmwversion ? [18:15:35] the mw version string... [18:15:41] like 1.20wmf8 [18:17:00] ugh, labs is being screwy [18:17:28] kaldari: so, what's the difference between that and `getMWVersion testwiki` ? [18:18:09] possibly the same :) [18:18:27] even for the '*' business? [18:19:13] the * business? [18:25:10] if ( $extVersion !== '*' ) { [18:25:11] $version .= "-$extVersion"; [18:25:14] kaldari: ^ [18:36:38] gwicke: // Convert trailing space into   // XXX: This should be moved to a serializer <-- this was never done, right? Any pointers? [18:37:44] this is a bit tricky, since it is a modification of the DOM just for display purposes [18:38:19] we could probably insert something right there as long as we mark it up in a way that strips it again when serializing back to wikitext [18:38:38] Hrm [18:38:56] in theory, something like typeof="mw:Placeholder" and dataAttribs.str = '' could work [18:39:07] on a span [18:41:34] gwicke: Funny thing is, this rule doesn't get called for definitions, causing more errors [18:42:20] Never mind, I can't think [18:43:10] we commented that out for now, but you could perhaps re-add that behavior in the ListHandler [18:44:06] I guess the problem might be that it calls too often now [18:44:15] And this test was written when it was commented out [18:44:47] I guess it's better to channge the test, since it's a parsoid-only one [19:26:53] anyone from Analytics team around [19:28:17] matanya: What's your question? I'm not in analytics but I might know who you need to talk to [19:28:33] I found david, thanks [19:28:44] OK cool [19:31:44] gwicke: "Definition Lists: Mixed Lists: Test 1" fails because (I think) we close lists if we don't find a list item immediately after a close list tag, accurate behavior or not? [19:31:49] * marktraceur lunches [19:48:04] marktraceur: the PHP parser behavior in that area is very inconsistent, so we cleaned that up a bit [19:51:33] marktraceur: the PHP parser behavior in that area is very inconsistent, so we cleaned that up a bit [20:26:25] is there an existing RC dispatching framework working by watching irc channel? [22:57:59] New patchset: Ori.livneh; "Lay out package structure & add log analysis tool" [analytics/E3Analysis] (master) - https://gerrit.wikimedia.org/r/19958 [23:02:49] New patchset: Ori.livneh; "Lay out package structure & add log analysis tool" [analytics/E3Analysis] (master) - https://gerrit.wikimedia.org/r/19958 [23:21:55] hola [23:32:45] howief: Hi! [23:33:00] hey marktraceur