[19:26:28] TrevorParscal - what's up! [19:26:37] howdy [19:26:40] how are you doing? [19:26:49] my dog ran away [19:26:50] Pretty good... running around today. [19:26:53] Oh no! [19:26:58] i gotta go look for him at the SPCA in a minute [19:27:04] Oh. [19:27:07] he's been gone for more than a day now [19:27:20] Oh no - that's serious. [19:27:57] Do you think it's related to the baby showing up? (I don't know if that's a weird question.) [19:28:40] I apologize if so. [19:28:58] Anyway, I wanted to talk at some point about all the nested template call stuff, but it can wait. [19:29:03] ha ha [19:29:27] who knows - he's always trying to escape, this time he escaped at night so it was hours before we noticed [19:29:48] so - i think he just got far enough away that whoever found him doesn't recognize him [19:30:00] Man. [19:30:11] YaronK: oh - yeah, we should refine our plan - but I think we are getting really close [19:30:31] Really? It doesn't feel that way to me... [19:31:24] There are two things I'm worried about: nested template calls, and turning the textarea in the edit page into some sort of Javascript-friendly "edit box". [19:34:37] ok - so I'm getting the feeling I don't know enough about nested templates to be authoritative on the subject - so I will be doing more research and looking to our team to help me understand the limits of the system - but ideally a template call in an article would represent a whole object - it would make things much more sane in a wysiwig solution, which is off in the future but we are paving the way for that to [19:34:37] happen right now [19:35:20] secondly, the javascript-friendly "edit box" - don't know what you exactly are envisioning, so let me tell you what we are doing [19:36:06] we are going to be doing something very similar to codemirror [19:36:32] which is using content editable to build a syntax highlighted plain-text editor. [19:37:25] the wikitext will be plain wikitext - but we will be coloring things a bit and collapsing/expanding template calls and tables using javascript/css [19:37:27] that's it [19:40:58] Is there an example of that you can point to on the web? [19:41:28] http://en.wikipedia.org/wiki/Comparison_of_JavaScript-based_source_code_editors [19:41:32] I like codepress allot [19:41:56] Ah, cool. [19:42:26] Oh, okay, that's the one that WordPress uses - yeah, it's nice. [19:42:50] Although WordPress editing is always a little weird for me - I tend to prefer going to HTML source for it. [19:43:33] But that's a true WYSIWYG thing, so it's different. [19:44:12] wordpress? [19:44:14] no - http://codepress.sourceforge.net/ [19:45:27] Oh, sorry, never mind - I saw the "WordPress plugin" in the "CodePress powered" section, and I thought that meant WordPress's main editor used that. [19:46:09] Seems reasonable. [19:47:05] I also want to talk about who's going to develop what - what part of the code would I actually create? [19:47:47] Ideally (for me), I think, it would just be the part that is given a pop-up window and has to populate it with a form. [19:51:50] You mean, you are interested in working on client-side code? [19:54:32] Well, not really, but I think I might have to. :) [19:54:48] If I don't have to at all, then that's cool too. [20:10:44] well we are pretty well staffed up with client side people (nimish, adam, roan and me) so we aren't really trying to push you into it or anything [20:11:10] but if you want to get involved, we have lots to do [20:11:23] it's up to you really [20:11:51] Alright. [20:12:50] I have yet to write a line of jQuery, for what it's worth. [20:13:14] Although I guess one line is all you usually need? :) [20:13:14] :) [20:13:35] in many cases yes [20:14:29] Okay, then, we'll see. I'll probably start out by doing the PHP XML parsing stuff, once the structure is more fixed. [20:15:34] But back to the issue of nested template calls - I found a Wikipedia page that uses header and footer templates: [20:15:49] http://en.wikipedia.org/w/index.php?title=Fu%C3%9Fball-Bundesliga_1988%E2%80%9389&action=edit§ion=5 [20:16:54] As I suspected, it's used for displaying a table with a variable number of rows; I don't know if that's always the case, but I'd guess it usually is. [20:18:07] that just looks like a poorly designed template [20:18:30] Which one? Or all of them together? [20:18:48] they are all related, yet called individually [20:19:12] I don't really see why this can't be done with an encapsulated approach [20:19:56] The thing is, I can't think of a way to set that up so that it would make anyone's life easier. [20:21:28] I mean, how would the form for that template know to tell you, "you can now add either 'Fb cl team' or 'Fb cl2 qr' as another parameter"? [20:22:33] are all template parameters named? [20:22:37] And actually, on an even more basic level, can you even have a template that takes in a limitless number of parameters? I don't think you can. [20:23:19] variadic template calls... [20:23:21] hmm [20:23:25] They don't have to be named, they can be indexed (i.e. {{{1}}}, etc.), but you still need to specify them in advance. [20:23:48] i was assumin/hoping that was possible / suggesting it be made possible [20:24:03] :) [20:24:38] It doesn't seem to me like a good idea even if it were possible, though; which makes me somewhat glad that it's not. [20:24:52] i mean our software could consider all consecutive template calls a special case, but that's a very ambiguous situation [20:25:13] well, there could be a limit of course [20:25:30] this is all because they are avoiding loops? [20:25:40] iteration over parameters should be a special case [20:25:46] general looping doesn't have to be allowed [20:27:38] Well, what's the problem that putting everything into one template call is trying to solve? [20:28:30] Is it to make it possible for users to know which templates can be used, or is it mostly an aesthetic thing? [20:34:19] it's a template == whole object thing [20:34:39] it's an encapsulation thing [20:34:55] So, aesthetics? :) [20:35:06] no, functionality [20:35:14] going beyond a text UI [20:35:43] Ah, for better editing. [20:35:51] and honestly, even inside a text ui - those templates being called in series without any encapsulation is confusing to people not intimately farmiliar with the templates functionality [20:36:28] Yes, that's true, but I dare say it's just as confusing to put a wrapper around everything. [20:38:03] In other words, that doesn't seem like it would lessen anyone's confusion. [20:38:46] {{table | {{tr | 1 | 2 | 3 }} | {{tr | 1 | 2 | 3 }} }} is easier to understand as a whole object to a computer and a person than {{th}}{{tr | 1 | 2 | 3 }}{{tr | 1 | 2 | 3 }}{{tf}} [20:39:01] in my opinion [20:39:10] Maybe. [20:39:11] I dont [20:39:17] I don't know if that's true. [20:39:24] well - it's my opinion [20:39:59] if indeed it's equally confusing to a person, it's at least easier for a computer to understand [20:40:21] a computer would need extra info that relates th tr and tf templates together [20:40:33] Okay - that's the more relevant issue; what the editing interface would look like in each case. [20:40:34] or, it could get that contextually through encapsulation [20:41:42] How are you imagining it - a button for the main template, that when clicked on popped up a window with a bunch more buttons? [20:42:15] i don't want to make it easier for the computer for the hell of it, i want the software to be stable - so I'm reccomending we consider supporting and encouraging encapsulation in template writing - but we can't force it anyways so it's really just a matter of influencing people to help make the UI work better [20:42:22] yes [20:42:39] or not even buttons, just expanded to a summary style ui or something [20:42:42] maybe a full ui [20:44:06] Defining that in the XML could be quite difficult, I think. [20:44:24] And then implementing it would be difficult as well. [20:47:41] defining what in XML? [20:49:09] Defining that a certain template holds, as parameters, some combination of some other templates. [20:50:27] [20:50:49] and the templates that it can contain should not be defined in the container template [20:51:03] they should be associated by the inner templates [20:51:10] like object orient programming [20:51:28] the parent class doesn't know about the child classes, the child classes know about the parent [20:53:01] the outter template just takes templates a parameters, the inner templates have information that links them to the outter [20:53:28] that way 1 outter template can be made, and many inner templates can be made, and no modifications to the outter template are needed to add more inner templates [20:53:43] shouldn't be hard to do [20:53:56] and these links are meerly suggestions for the UI, not strictly enforced [20:54:14] i gotta go see if my dog is at the SPCA [20:54:22] bb after lunch + dog resuce [20:54:30] *TrevorParscal TrevorOmNomNom [20:54:37] good luck [20:54:40] Ooh, I don't know about that.... that way, every time you edited a template call, you'd have to check through the XML of every other template, to see whether it's a child of that template, no? [20:54:43] thanks! [20:54:52] Alright, talk to you later - good luck. [20:55:09] YaronK: this type of data will all be cached [20:55:19] simple table of template relationships [20:55:32] updated when templates are changed - not calls are changed [20:55:36] ok [20:55:38] going now [20:55:40] cyall [22:08:55] hi RoanKattouw [22:09:04] Hi parutron [22:09:13] is there a link to the results of our feedback survey? [22:09:25] or is there a latest? want to get it off to hannes + bolt peters in some way, shape, form...... [22:09:30] Yeah, second [22:09:33] cool [22:09:44] It's not the latest 'cause the data is privileged, so I can't retrieve it [22:09:50] Also, I had to anonymize and condense it [22:10:07] privileged by someone other than us? [22:10:08] http://toolserver.org/~catrope/survey/ [22:10:15] Yes, tech staff [22:10:24] The optin_survey_... files are the actual data [22:10:44] Split up into 3 files to not violate the 65,536 row limit [22:10:51] The everything file contains everything :P [22:11:28] sweet [22:11:29] The rest is basically remnants of my playing around [22:11:29] thanks [22:11:38] Also note that all non-English characters are broken [22:11:48] Which sucks for languages such as Japanese [22:11:50] did we get many responses in languages other than english? [22:12:14] i just realized we didn't ask in what country or language they were using our beta. [22:13:16] Well the total result set is like 176k [22:13:22] Or wait [22:13:28] *RoanKattouw looks up the numbers [22:15:09] OK enwiki alone is 76k rows [22:16:01] And the whole set is 170k rows [22:26:37] RoanKattouw .. how many messages are currently in the LocalisationUpdate file ? [22:26:53] GerardM-: Ask Brion, I don't have shell access [22:26:58] ah ok [22:27:25] *RoanKattouw considers asking for shell access based on the argument that everyone seems to assume he has it [22:28:14] you do know David Gerard's law [22:28:25] a job well done means three more jobs [22:28:41] Hey as long as I'm being paid for it... :P [22:29:00] I don't mind my salary growing exponentially [22:29:03] :) [22:32:53] hm what we need to check? [22:34:16] brion: He wants to know how many entries the l10ncache as a whole has [22:34:51] So like for f in cachefiles; do php -e "echo count(unserialize(file_get_contents($f)));"; done [22:35:03] that'll work :) [22:35:19] It's actually pretty accurate for something starting out as pseudocode :P [22:38:22] php -r '$n=0;foreach(glob("*.cache")as $f){$n+=count(unserialize(file_get_contents($f)));}echo "$n\n";' [22:38:25] 5257 [22:38:38] php wins again :D [22:39:28] Yeah I guess I forgot to pipe that into awk [22:41:10] i'm too lazy to learn sed and awk :) [22:41:15] perl and php already do anything i need em for [22:42:43] I don't know perl, guess that's a gap in my knowledge [22:43:34] perl is the php of the 90s ;) [22:45:12] ok - my dog is no longer lost [22:45:49] I was born in 1990, guess that makes Perl "before my time" [22:46:07] the SPCA has him, and he's staying the night to get nuetered, microchopped, and get some shots... [22:46:08] Was it at the animal shelter or something? [22:46:44] RoanKattouw: Perl was my 2nd scripting language, 1st being Visual Basic (using Microsoft Visual Studio 6) [22:46:52] RoanKattouw: yes [22:47:05] Heh I did VB with MS Access for a while as a kid [22:47:09] http://en.wikipedia.org/wiki/Humane_society [22:47:45] My first VB program was an automated installer for pirated adobe applications [22:47:56] before they had multi-application installers [22:48:03] and suites and such [22:48:34] crap - this chanel is logged [22:48:38] :) he he he [22:48:51] *TrevorParscal censors the log [22:51:23] RoanKattouw: just notice the topic [22:51:29] awesome! [22:51:48] heh [22:51:51] It's been there forever [22:51:58] Well from Aurora's point of view at least [22:52:35] you know, at the hospital they weighed her as 4.41kg and did the conversion for our benefit [22:52:40] the metric system prevails! [22:52:56] Woot [22:52:56] ha ha - yes, it's been there her whole life [22:53:15] She's a pretty big (both heavy and tall) baby BTW [22:53:21] I was like 2460 g [22:53:53] Which is... 5 lbs 7 oz [22:54:57] yeah, cadence was 8 lbs 2 oz (3685g) [23:03:06] you lost your dog!??!?! [23:04:58] i found him though [23:05:07] at the San Mateo SPCA [23:05:11] "the pound" [23:06:14] he's all good now [23:07:00] it was only $137 - including him staying there tonight and getting nuetered, microchipped and vaccinated [23:07:10] and the license (he wasn't licensed yet) [23:07:16] cheap [23:22:16] TrevorParscal: glad you found him! [23:22:35] :) thnx