[13:18:53] Logs of, wikimedia-dev stop at 20120228 on the web ... Strange [13:19:16] Sorry ... wrong channel [17:55:51] guillom: ping [17:55:58] pong gwicke [17:56:09] wow- that was quick ;) [17:56:24] I just restored the Parsoid project infobox [17:56:43] was that what you wanted to contact me about last week? [17:57:58] <^demon> gwicke: I still think parsoid is an awful project name. [17:58:36] ^demon: so far you are the only one who does not like it ;) [17:59:41] better than 'js parser' or similar.. [17:59:41] <^demon> Everyone else is allowed to be wrong ;-) [17:59:41] gwicke: ah, I wanted to ask you about the Parsoid page. I saw that you removed the project page stuff, and it broke the pages where it was transcluded. I assumed you removed it because you had re-attached Parsoid to the Visual editor project, so I removed the places where it was transcluded. Just wanted to check with you that my understanding was ok. [18:00:07] <^demon> gwicke: "-oid" makes it sound like an android app, not a javascript parser. [18:00:09] guillom: oh- it was just a mistake as I removed the disambig section [18:00:12] * ^demon shrugs [18:00:16] <^demon> Not gonna bikeshed. [18:00:33] ^demon: we were considering 'Groupoid' first.. [18:00:45] <^demon> Ugh. [18:00:53] gwicke: ok, then I'll restore the project template and the links :) thanks [18:00:54] <^demon> Does it even have to be -oid? [18:00:54] which was established well before Android was created [18:01:10] guillom: sorry! [18:01:14] <^demon> I rather dislike the suffix in general. [18:01:23] np [18:01:25] <^demon> At least you're not calling it iParse ;-) [18:01:31] http://en.wikipedia.org/wiki/Groupoid [18:01:36] And yet, HeParses. [18:01:46] 'Category in which every morphism is invertible.' [18:02:31] * gwicke shudders at the thought of i-something [19:34:40] hashar: ping [19:55:58] Krinkle: what do you mean by marking this "HIGHEST"? https://bugzilla.wikimedia.org/34886 [19:56:20] asking b/c I want a relatively consistent usage of priorities [19:56:23] hexmode: because testswarm will collapse if this isn't fixed soon [19:56:52] Krinkle: sounds right then. How long do you think it will take to fix? [19:56:58] I have no clue [19:57:03] :( [19:57:22] as short term fix we could just re-install testswarm [19:57:25] start clean [19:57:27] no problem [19:57:36] that'll give us a month or 2 [19:57:48] will lose past data but that's not too important [19:57:58] Krinkle: hrm [19:58:04] is this an OPs issue? [19:58:06] <^demon> Krinkle: We'll just setup a cron to reinstall ever 2 months ;-) [19:58:29] ^demon: now that would become a problem as soon as we start using it it integrated and need permalinks :) [19:58:44] <^demon> Permalinks are for squares :) [19:58:49] since I'm here in SF, maybe I can bop people? [20:00:59] hexmode: https://bugzilla.wikimedia.org/show_bug.cgi?id=34886#c1 [20:01:45] Krinkle: ping :) [20:01:54] so we have testswarm in a bad shape ? :-/ [20:02:05] hashar: nah, that's just a production bug [20:02:12] hashar: not what I pinged for [20:02:21] hashar: I've created a new labs instance to get special page up for testing [20:02:42] oh that one I kept postponing :/ [20:02:43] https://labsconsole.wikimedia.org/wiki/Nova_Resource:Testswarm [20:02:55] https://labsconsole.wikimedia.org/wiki/Nova_Resource:I-0000017b#Config [20:03:26] Not using puppet because the testswarm puppet is useless right now, everything is hardcoded and mixed with production hostnames and jenkins [20:03:37] so I'm doing it manually for now [20:06:23] hmm [20:06:52] that is what I was saying this morning. I need to take a plane to Vilnius [20:07:11] Are you talking to me? [20:07:12] and drink a few bottle of wines with domas while he explains me innodb configuration [20:07:19] merely talking to myself sorry [20:07:22] was look at bug 34886 [20:07:31] right [20:07:37] was looking at ... [20:07:44] s/saying/seeing? [20:07:56] run_client has 500400 rows :/ [20:09:30] Krinkle: hashar: ct wants to know which server and which db you are using? [20:09:41] hexmode: it is on gallium [20:10:02] hashar: is there any more info I can put into an RT ticket? [20:10:03] I have chosen to have a mysql instance on gallium to avoid some trouble to the ops [20:10:48] ah [20:10:57] hashar: aren't you ops? [20:11:11] no I am not [20:11:32] the MySQL instance of gallium is a bit of an exception [20:11:52] the status quo is that we have some experimental software there (jenkins running unit tests, testswarm which is unstable) [20:12:04] so I did not want to have that on an ops DB [20:12:17] I am looking at the innodb configuration right now [20:12:19] hashar: ok, so maybe the solution is to move testswarm's db onto operations [20:12:30] might be a solution [20:12:40] <^demon> If it's data that should be stored, it should be moved to db9/10 [20:12:44] sounded easier to keep that on gallium [20:13:03] hashar: no doubt I understand JFDI for this [20:13:04] <^demon> The only databases on gallium directly should be temporary testing data, and it should not matter if they disappear at any time. [20:13:08] but it looks like wee [20:13:09] and I am afraid about what our testing system can do to db9 [20:13:19] 're outgrowing JFDI for testswarm [20:13:35] <^demon> hashar: A valid concern. I'm just saying generally :) [20:13:43] <^demon> Storing data on gallium's a Bad Idea. [20:13:44] note that the query's are insane in testswarm. not optimized for large scale. so moving it or whatever doesn't help, those queries shouldn't be ran on a live db [20:14:10] Krinkle-away: noted [20:14:13] the query needs optimization, current db is probably fine [20:14:17] I am not sure the ops will like queries doing file sorts out of 500k rows :-) [20:14:21] <^demon> hashar: I actually pondered the idea of getting a misc. box to be the dedicated "db host" for gallium. [20:14:27] but yeah, eventually testswarm db should have a little bit of redundancy [20:14:31] <^demon> Which we could install postgres, mysql, etc on. [20:14:34] going downstairs for dinner now [20:14:35] brb [20:14:39] yeah a db dedicated to the test would be good [20:14:44] * hexmode puts on his funny db hat: "Throw and index on it!" [20:14:46] Krinkle-away: have a good dinner :) [20:14:58] hexmode: hahah :) [20:15:00] how large does the testswarm db grow and what is the read/write pattern? db9/10 is key to monitoring the production cluster in some ways, so crazy site qa stuff shoiuldn't go there [20:15:24] I don't have any metrics [20:15:35] probably pretty low in term of qps [20:17:19] it's all temporary data than can be recreated if lost? [20:17:31] I think the biggest issue is that we are not sure what kind of dos would be possible by using the testswarm application [20:17:42] binasher: not the testswarm data [20:17:48] they are result of tests data [20:17:53] we can always rerun the tests [20:17:55] ah [20:18:38] the only information that matter in the testswarm database is a sha1 token [20:18:57] wich we can regenerate whenever we want [20:19:15] the only client being on the same server and having the sha1 token in some /etc/testswarm/client.ini file or something [20:19:28] of course we will lost the old runs :/ not sure it is that bad though [20:23:26] hashar: yes, old runs is what I was thinking. They'd be handy for metrics. [20:26:11] hexmode: I will tune up the innodb settings [20:26:17] it uses the default one [20:29:03] hexmode: content of testswarm is not interesting for metrics right now [20:29:15] hexmode: They're full of crap caused by broken VMs [20:29:35] hexmode: also, once everything is set up how It Should Be, the data will be aggregated into Jenkins [20:29:36] hashar: https://rt.wikimedia.org/Ticket/Display.html?id=2574 [20:29:41] that's were we view stuff for the long term [20:30:01] Krinkle: ok, have you talked to chrismcmahon about this? [20:30:05] TestSwarm is just a distributor. the data can be periodically wiped just fine (as soon as Jenkins integration is worked on and stable) [20:30:28] hexmode: I have not. Nor do I know him (I heard the nickname), fill me in ? [20:30:53] Krinkle: he is the QA guy WMF just hired. He has lots of ideas about testing [20:31:02] oh? [20:31:22] interesting [20:32:42] binasher: do you happen to have any magic formulat to determine the value of innodb_buffer_pool_size ? [20:34:19] it's being set to 80% of the ram on a prod server [20:34:56] binasher: Regarding your question, I'm not sure what kind of answer you're looking for [20:35:18] binasher: In general TestSwarm's DB grows linear. It does "stuff" for every commit to ./trunk/phase3 [20:35:42] read/writes happen both very frequently [20:38:05] i misunderstood "The only databases on gallium directly should be temporary testing data, and it should not matter if they disappear at any time." as being descriptive of testswarm's actual db. i probably shouldn't have jumped into a conversation i wasn't around for the start of [20:38:50] <^demon> binasher: Yeah, I was saying the current way is bad :) [20:38:52] binasher: no [20:38:53] <^demon> Sorry if I confused. [20:39:00] binasher: it's not temporary [20:39:13] although not critical either [20:39:29] it's easily re-generated would it disappear [20:39:39] just a waste of time to lose unit test results [20:39:53] Its pretty much the same as Jenkins in terms of type of data being stored [20:39:58] Where is Jenkins DB? [20:40:24] sorry away for a half an hour. [20:40:26] I am on audio [20:40:33] locally IIRC [20:40:43] ie on gallium [20:41:24] <^demon> Krinkle: jenkins doesn't have a database. test results are stored on the filesystem. [20:41:29] <^demon> And login's via LDAP [20:41:36] mmm, 50 security updates [20:41:44] ^demon: grmpf [20:41:46] <^demon> Reedy: For gallium? Ugh [20:41:50] ^demon: all of it? [20:41:54] yaaa [20:41:58] 67 updates in totals [20:42:10] ^demon: what's your opinion on that [20:42:15] <^demon> Krinkle: As far as I remember, yes. I don't ever remember setting up a database for it. [20:42:22] fenari is on 2.6.32-38, gallium is 2.6.32-35 [20:42:25] <^demon> I'm indifferent. It does what I want :) [20:42:28] could be sqlite file maybe? [20:43:12] well, sqlite doesn't work well for testswarm since it needs simultaneous writes (at least not as blocking as sqlite does by blocking the whole file and being limited by I/O) [20:43:20] anyway, whatever. I don't know [20:43:39] I'm going back to work, I think everything is answered? [20:45:51] i just saw the rt ticket that hexmode opened about this.. can someone add to it to expand on the meaning of "running into trouble"? https://rt.wikimedia.org/Ticket/Display.html?id=2574 [20:46:34] binasher: Sorry I wasn't clear. It is on the Bz ticket. Want me to copy it over? [20:46:46] that'd be great [20:48:40] what's involved into getting access to RT? [20:49:04] <^demon> Bribes. [20:49:08] Not sure if it's useful but I'm periodically being linked to it and then someone has to paste what I need elsewhere since I don't have access to it [20:49:17] Ryan_Lane: ^^ re: rt access - i have no idea [20:50:26] hashar: I've updated https://www.mediawiki.org/wiki/Continuous_integration/Task_management can you look it over as well and update where you see need? [20:50:55] Krinkle: usually just ask RobH [20:51:06] Might need your manager to approve, I can't remember [20:51:12] I think you need manager approval [20:51:19] have your manager send in a request [20:51:27] I remember bringing it up last year and someone said it required having shell access/LDAP on the production cluster [20:51:33] is that true? [20:51:39] No...? [20:51:48] right, didn't think so [20:52:02] we don't have production ldap [20:52:03] it has it's own user base [20:52:10] at some point it'll link to labs ldap [20:52:18] k [20:52:23] and just require access to a group, or something [21:02:00] back [21:07:18] grr stupid RT show me everything in french [21:07:56] Ryan_Lane: Hm.. no interwiki for labsconsole? [21:07:59] (on wmf wikis) [21:08:16] <^demon> Krinkle: Add it to the interwiki map on meta? [21:10:12] ^demon: ok [21:14:26] stupid firefox [21:14:28] seriously [21:14:36] apple + left means move back in browser [21:14:41] instead of moving to beginning of line [21:14:52] just lost everything I wrote in my RT ticket [21:21:43] binasher: I have updated RT 2574 about testswarm database [21:22:17] hashar: "Forward" ? [21:22:27] can't get stuff out of RT per NDA [21:22:37] hashar: nono [21:22:41] I have basically copy pasted what you wrote [21:22:52] hashar: I mean you lost stuff, when you went "Back", go "Forward" [21:22:59] oh sorry :) [21:23:05] I went back [21:23:08] then clicked forward [21:23:12] In Chrome textarea content is preserved [21:23:18] but the text area has been reset [21:23:24] Firefox not I see [21:23:25] ok [21:23:34] it is probably not a textarea but a magic div :) [21:23:48] so the javascript context is lost when moving back and forward :/ [21:35:01] Krinkle: Alright, so WM2012 talk title [21:35:17] basically the translation of the WCN one [21:35:20] fine by me [21:35:30] heh [21:35:37] * RoanKattouw corrects s/The/De/ in the WCN title [21:35:47] I've been making those kinds of mistakes in my e-mails to relatives all the time [21:35:58] hehe [21:36:32] OK, I'll create a skeleton wiki page for our submission [21:37:15] on the etherpad [21:37:24] OK, sec [21:37:35] Oh, heh [21:37:40] You were also looking at the preloaded thing [21:37:45] :) [21:37:54] Krinkle: I mostly agree with you about removing node.js to run our test suite :) [21:38:04] Krinkle: should I just wipe the task? [21:38:07] sure [21:38:17] maybe keep it as log though [21:38:25] status is 'not done' [21:38:40] too late :) [21:38:44] will bring it back one day maybe [21:39:05] my original idea was to quickly run some basic, non browser dependent, tests [21:39:10] to at least get a rough idea [21:40:07] the testswarm integration roadmap is great :-] [21:40:41] hashar: I know, back then it was a good idea. but with TestSwarm and BrowserStack API we can do better [21:41:06] I am sure, hence why I wiped my proposal :) [21:44:41] RoanKattouw: I could make a close-to-final slidedeck already and attach it [21:44:50] it's no more than 30 minutes work probably [21:45:20] That sounds excellent [21:46:41] RoanKattouw: Wanna view screen via google hangout? (no idea if I can set that up) [21:47:26] Or screen share with Skype? At least that works for sure [21:47:33] ok [21:47:59] that shares entire screen though (g+ can share windows) [21:48:12] Hmm [21:48:15] OK let's try G+ then [21:48:26] Skype also consumes a lot of CPU on my machine and would probably overheat it [21:48:40] (My video card isn't quite up to the task of running my large monitor) [21:49:43] setting up.. [21:52:18] * RoanKattouw looks up the WCN abstract [21:52:57] are you in the hangout? [21:53:05] PMed url [21:53:12] comin [21:54:09] * RoanKattouw grudgingly adds his personal gmail to G+ [21:54:23] G+ doesn't support the account switching thins [21:54:25] *thing [21:54:27] indeed [21:54:32] Installing plugin now [21:54:33] you need to login to your Google Aps for WMF [21:55:03] ./hangout/extras/ is shared with .wikimedia.org circle not sure it can go outside that (normal hangouts can) [21:55:17] oh, right. the plugin. [21:55:19] Oh, hmm [21:55:27] Well it seemed to work [21:55:29] Let's see [21:56:01] Yay! [21:57:43] \o/ [22:01:31] Krinkle: I'm off to the 1.19 postmortem, back in 15-30 [22:01:36] ok [22:01:48] Hello [22:01:58] TrevorParscal: Hello [22:02:02] howdy [22:02:16] is christian around too? [22:02:46] Christian will be joining us in few minutes [22:03:18] cool beans [22:10:46] Ok [22:10:54] christian, where are you? [22:10:57] I don't know where is Christian :( [22:11:01] lol [22:11:09] ok, well basically this is what we are doing [22:11:32] rob is focusing on UI now, which means he's getting the toolbar and inspectors working on the ce demo [22:12:00] hi ChristianWikia [22:12:08] hi trevor [22:12:11] , all [22:12:16] Ok. [22:12:20] I was just saying, rob is focusing on ui, and is getting toolbars and inspectors working for ce [22:12:30] Rob, are you here? [22:12:42] he's run into a few problems, you guys will need to work with him a bit to sort those out as you go [22:12:52] i'm sure they are all things on your radar anyways [22:13:06] I'm going to be focusing on dm stuff for a bit with Roan - and helping Rob here and there [22:13:07] Inez: here [22:13:09] Ok. I worked on toolbar in ES and already started some work on it in CE as well, so I will sync up with him. [22:13:16] Hey guys :) [22:13:37] once we get ce up to where es was, we can go and clean up the codebase - remove the dual front-ends and all that [22:13:41] I want to get simple functionality (in theory simple:)), like: bold selection, bold when typing (IME and not IME) working soon [22:13:46] I assume we'll want to do some major reorganization to remove es and change the naming scheme again? [22:14:13] ChristianWikia: yup [22:14:17] Yes. I think it would be better to do it sooner than later. [22:14:19] I just converted the es annotation method over to rangy and added it to ce surface [22:14:27] and enabled toolbar in the demo [22:14:40] we can probably just s/ve.es/ve.ce/g for the most part [22:14:50] and then drop the es folder [22:14:50] yes [22:14:56] I can actually handle that if you want [22:15:00] we will be left with ui, dm and ce modules [22:15:14] I will let you guys decide when that's appropriate [22:15:19] that will simplify some things, though some of the es code will probably still be useful [22:15:31] just consider that you may be pulling code from es for a while [22:15:54] so don't delete it yet, cause it will make moving the code a hassle [22:16:15] but yeah, I'm going to be focusing on dm, feel free to clean things up as you guys see fit [22:16:55] Ok. So I will be syncing on it with Rob and Christian. [22:17:06] rob is mostly going to be focusing on ui - but in the beginning he's sort of up against a few incompatibilities while you guys are finishing getting ce to the same api level as es [22:17:12] cool beans [22:17:34] I'm also going to redo a setInterval "loop" that I'm using [22:17:47] rmoen: could you email Inez and me with the blockers that you have, so we can be sure to lift those quickly? [22:18:00] I want to actually introduce event like "leaf node changed", and subscribe to it.. and fire it from within the loop. [22:19:38] ChristianWikia: yea, I'll try to pinpoint any and send those over. basically i added the .annotate method to prove to myself that current UI setup will work as is in ce [22:20:20] Yeah. Why did you have to use rangy? just Surface.getSelection() should be enough... [22:21:04] i think he's still getting a feel for such things [22:21:11] feel free to be over-descriptive for a while [22:21:14] oh, i guess i didn't use rangy [22:21:23] i just used this.getSelection [22:21:41] aka, Surface.getSelection . . my mistake [22:21:41] perfect (in fact it works on top of getOffset which uses rangy) [22:23:11] How about working space? We could work in the new portion of Wikia's office until the construction begins (I'm about to get an update on the days) [22:23:23] Otherwise, is there space at WMF? [22:27:19] I've just been told that we've got about 2 weeks with a nice, large working space here at Wikia [22:27:38] Want to work here for 2 weeks? [22:28:27] TrevorParscal: Do we know about space yet? [22:29:13] We have plenty of space here.. and I play only good music, like Beyonce [22:29:14] ;) [22:29:45] Inez: that's rad [22:29:56] lolz [22:30:33] .... [22:30:43] I'm looking into the space thing right now [22:33:59] Also.. I have a question (it might be hard to answer right away)... What do you think about using Coffee Script for this project? [22:43:30] i'm not really a fan of it [22:44:17] 2 reasons - 1. it makes it that much harder for contributors to the project to get involved because it's yet another language to learn [22:45:08] 2. I'm biased against languages that are converted to other languages because they tend to produce code that's much more difficult to debug [22:45:22] seem reasonable? [22:48:30] I'm working on the space thing, it looks like we are going to be making room here for you guys, but I don't have a firm date yet [22:48:50] I should know soon [22:49:09] Inez: Do you guys have plans for a drawSelection method ? [22:49:41] our goal is for the 5 of us to be in the same location, 6 when we get our product analyst (which is soon) and 7 when we import gwicke [22:50:03] 8 when we hire another front-end person :) [23:00:12] RoanKattouw: Wanna get back into hangout? [23:01:24] https://plus.google.com/hangouts/extras/wikimedia.org/wikimedia2012-rl2-prep [23:03:03] In 5-10 mins [23:04:42] ok [23:05:58] rmoen: Yes. I will be working on set [23:06:02] setSelection method [23:07:56] Inez: cool, I was just looking at the rangy.saveSelection(); method. pretty cool [23:14:29] Krinkle: I am in the hangout [23:14:36] I am not :/ [23:14:46] Hrmph, this G+ bug is annoying, it turns on the camera even if I disable it [23:15:01] disable before joining? [23:15:08] Like, in the "check your hair" screen you can turn off video, and it turns off the web cam [23:15:13] But once you join, it comes back on [23:15:16] Hm.. [23:15:19] not having that here [23:15:23] anyway, in the hangout now [23:15:25] sharing screen [23:15:26] It's not actually sending it to you [23:15:35] right [23:15:36] But it's just engaging the camera for no reason :S [23:15:49] I don't see you [23:15:50] yeah, I have that too. The green LED lights up during hangouts [23:15:59] RoanKattouw: correct url? see above [23:16:30] Oh [23:17:24] so.., lets go through them? [23:18:05] Wait, it's not fullscreening your screen for me [23:18:12] indeed [23:18:27] I can share fullscreen if you want [23:18:32] but you'll only see me typing in irc [23:18:47] OK that's better [23:19:00] No, I meant it was showing your screen really tiny [23:19:06] oh [23:19:12] OK I'm in lets' go [23:19:21] you can click it in the right and then it shows that person in the main area [23:19:25] anyway [23:19:36] #1 [23:19:57] (move to G+ chat?) [23:20:01] ok [23:20:18] Krinkle: fyi, http://www.mediawiki.org/wiki/Special:Code/MediaWiki/113105 - if you need to add more browsers to the "we recognize you" list, that's pretty much how, pretty simple [23:21:38] TrevorParscal: can you add a unit test as well to be sure? [23:21:43] the order of the detection is important [23:21:48] sure [23:21:53] should be simple, just add a line somewhere [23:22:33] actually, I did this without actually installing this browser [23:22:51] does anyone have this browser easily available? [23:26:43] TrevorParscal: I do [23:26:54] It's the browser that ships with KDE [23:27:20] could you give me a JSON blob of your entire navigator object? [23:27:23] I can add the test [23:27:49] OK [23:28:51] TrevorParscal: interesting, [23:28:52] JSON.stringify(window.navigator) [23:28:52] RangeError: Maximum call stack size exceeded [23:28:55] (Chrome) [23:29:02] lolz [23:29:09] i might not need that now that I look at this [23:29:29] RoanKattouw: you could just wrap window.navigator in $.extend( {}, .. ) [23:29:48] Yeah that same statement killed rekonq too [23:30:08] ok, I do need that object, sorry [23:30:09] plz [23:30:30] just run JSON.stringify( $.extend( {}, window.navigator ) ); [23:30:34] Nope, doesn't work either [23:30:49] wtf, that works in chrome just fineā€¦ lame [23:30:51] By which I mean it sends the browser into 99% CPU utilization for a while, and then I kill it [23:31:12] console.log( window.navigator ) [23:31:13] expand it [23:31:18] copy paste that [23:31:29] that browser is a POS [23:32:27] Yup, it is [23:36:04] konqueror? [23:36:41] rekonq = rebranding of konqueror, yeah [23:39:34] xubuntu installs midori by default, which is another webkit browser [23:40:14] from the wikipedia page it sounds like rekonq is more like that, yet another miscellaneous webkit wrapper, than a rebranding of konqueror [23:49:49] TimStarling: Too bad all webkit browsers wanna be matching Safari/ though. Now the Safari version in the actual Safari browser is in another UA key/value pair (Safari/ Version/) [23:51:06] (fun fun http://webaim.org/blog/user-agent-string-history/, you probably've come across that article already) [23:54:53] Nikerabbit: did you need me?