Thursday, 2009-05-28

*** tpb has joined #melange00:00
*** solydzajs has joined #melange01:41
*** ChanServ sets mode: +o solydzajs01:41
*** penyaskito has quit IRC01:47
*** solydzajs has quit IRC01:49
*** jamtoday has joined #melange02:43
*** tansell_laptop has joined #melange02:50
*** rwatson has quit IRC03:41
*** Merio has joined #melange05:16
*** MatthewWilkes has joined #melange06:42
*** dr__house has joined #melange07:45
*** rwatson has joined #melange08:10
*** mithro_ has quit IRC08:58
*** MatthewWilkes has quit IRC09:51
*** MatthewWilkes has joined #melange09:51
*** florinciu has joined #melange09:56
*** madrazr has joined #melange10:04
*** ajaksu has joined #melange10:06
*** MatthewWilkes has quit IRC10:33
*** madrazr has left #melange10:34
ajaksujamtoday: ping10:34
*** MatthewWilkes has joined #melange10:35
*** rwatson has left #melange11:18
*** MatthewWilkes has quit IRC12:13
*** dhans has joined #melange12:13
Meriohi dhans ^_^12:15
dhanshello Merio:)12:15
MerioI've just cloned the hg repository from bitbucket and tried the collect statistics12:15
dhansand you got error?12:15
MerioThe final json string is {"0": 0, "1": 0, "2": 0, "3": 0, "4": 0, and so on till 99... is it normal?12:15
Merio(I mean in the current status of your code)12:16
MerioIt gives me always "records completed => 0"12:16
Merio(I've done the seed_db)12:17
dhansbut you collected stats on your local instance? not on dhansmelange?12:18
MerioYes, in my local instance12:18
dhansok, and did you add some students?12:19
dhansbecause I just collected the stats on dhansmelange it works, because it says "35" : "10"12:19
MerioHmm well the seed_db creates students with birth date as,12:20
MerioHowever I think they should be shown as "0".. no?12:21
dhansgenerally yes12:21
dhansmaybe I did not cover this edge condition that someone is born now:P12:22
Merioeheheh :P12:22
dhansit's even impossible to pick such a date from calendar... it ends at 2008:)12:23
MerioTo be fair, in the Datastore viewer I can't see any student entity12:24
MerioOh well, all ok12:26
MerioI'll figure out myself no probs12:26
dhansok, because I just checked out and it works for someone that's born today:)12:27
MerioYes, simple seed_db doesn't seed Students12:27
MerioThat's ok, need to use seed_many12:27
MerioWell, let's go to point (4) Memcache issue (and statistic logic)12:28
MerioIt's ok for you12:28
dhansyeah, because I just wanted to mention that I almost fixed this issue:)12:28
Meriooh well great!12:29
dhansif you pull my new commit it almost works, but I'll make a few more changes to make the code look nicer:)12:29
Meriowhat's the "almost"?12:29
dhansjust as said, it works, but I will make some stylish changes12:30
MerioGoing to open the logic12:31
MerioWhat was the problem?12:31
dhansafter updating an entity I didn't actualize memcache12:32
dhansok actualize is a wrong word (just checked in dictionary:) I meant update12:33
MerioYes, understood anyway ^_^12:33
Meriowhere is "self.updateEntityProperties()"?12:34
MerioIt's in some parent class?12:34
Meriook got it it's in base :)12:34
dhansyes, it's right there:)12:35
MerioOk so12:36
*** dr__house has quit IRC12:38
MerioWe can go for (5)12:38
MerioJS Layer and JS stuff12:38
MerioIs it ok for you?12:38
MerioSo, I've explored jQueryUI today12:38
MerioI've found it very very powerful12:39
MerioWe can use it for iGoogle style dashboards12:39
*** dr__house has joined #melange12:39
MerioAnd it's easy to work with it12:39
MerioAt least for simple things12:39
dhansthat would be grate to have such a dashboard:)12:40
MerioAlso we can do many wonderful things with it, but I'm going to think about it :)12:41
MerioI would like also to implement a sort of Ajax push or something for the "records completed" stuff, but I need to explore some solutions further, beyond the obvious "polling"12:42
MerioSo, for the spike solution, I really would like to try using a visualization API and show a sample chart12:43
dhansI'll implement some sort of filter that will convert final_json_string to the format you want12:45
MerioOk, let me see something about the visualization API12:45
MerioWhat's your thoughts about leaving the building of the final JSON string as a separate pat12:46
MerioSo, if we ever need to change it, or to have different generations for different purposes, we're ready12:46
dhansisn't is something that I just suggested?12:48
MerioYes, I mean to design it with this flexibility in mind12:48
*** durin42 has quit IRC12:48
MerioI've just seen a very good thing I didn't notice before12:48
MerioWe can use the JSON directly without any iteration12:49
MerioCheck it out12:49
tpb<> (at
MerioA nc12:51
MerioCheck this ==>
tpb<> (at
MerioThat surely would help!12:52
dhansit's great you found it!12:52
MerioSo probably we don't need any JavaScript to handle the responses for visualizations12:53
dhansbut as you can see (if I understand correctly), there are different json format for different visualization, aren't they?12:53
MerioWhat do you mean? The "JSON string"/"JSON response"/"JavaScript String" thing?12:53
dhansfor example: the JSONObject in the first link that you sent is different than the JSONObject that you used in the example on wiki12:55
dhansbut that's quite obvious:)12:55
MerioYes, that's because this is something preformatted to pass the JSON directly to the Visualization constructor12:56
MerioWell... can you give me some time (about an hour or so) to explore those things further?12:56
dhansand if I understand you correctly, yesterday you wanted me to create final_json_string in the format you used on wiki?12:57
MerioIt seems very promising on our integration12:57
MerioYes, but I've found that link only now :D12:57
MerioAlso there are many different interesting things12:57
dhansbecause my suggestion is to keep final_json_string as simple as possible and convert it later12:57
MerioSo... well... let's just wait for me to read some documents, I'm finding great things that might help our work ^__^12:57
*** florinciu has quit IRC12:58
MerioAre you here in an hour?12:58
*** durin42 has joined #melange13:03
*** ChanServ sets mode: +v durin4213:03
*** dr__house has quit IRC13:46
*** dhaun has joined #melange13:47
Meriodhans: ping13:59
MerioSo, I think there's something interesting out there for JS integration, but some solutions might imply different design, so I think it's better to ask the devs what they think about. I'll send an email to the mailing list as a RFC14:01
Meriodhans: What are you going to do in the meantime? Just for info and syncing14:03
dhansmeantime - it depends how long it will be:)14:04
Merioahah :)14:04
MerioWell, I think I'm going to send it in the next hour or so14:04
MerioBut we might be waiting at least a day for our mentors to respond14:05
dhansbut now I want to finish this memcache thing14:05
MerioThat's ok14:05
*** MatthewWilkes has joined #melange14:39
*** madrazr has joined #melange14:49
*** madrazr has quit IRC14:51
*** tlarsen has joined #melange15:38
*** ChanServ sets mode: +o tlarsen15:38
Meriodhans: ping15:38
*** James--Crook has joined #melange15:52
James--CrookHi Merio - you wanted to talk with me?15:52
James--CrookMerio: also, can I delete the higher quality version of the F1 I have?  Basically the DVD had everything on I hope and so the original is not needed anymore (can free up some space for Bobby).15:54
MerioJames--Crook: yep, of course ^__^ I didn't know you were keeping it :)15:55
James--Crook...just wanted to be sure :-)15:55
MerioJames--Crook: save some space for Sunday 7th if you can :P15:58
*** tlarsen has left #melange15:59
James--CrookWill do :-)15:59
ajaksuJames--Crook: I've got some cool survey stuff to show off and no appengine verified account, do we have one for hacky temporary demos? :)16:00
James--CrookI believe there is, but sverre is the person to talk to about it.16:03
James--CrookI lurk on wiki/issue tracker/e-mail....  Not actively developing...16:03
James--CrookI am keen to see cool survey stuff :-)16:04
James--CrookWhat have you got?16:04
MerioJames--Crook: so, I was looking in the visAPI page, and found this =>
tpb<> (at
James--CrookMerio: ..looking16:06
MerioJames--Crook: in that I've seen16:06
MerioJames--Crook: details about a visualization API query language =>
tpb<> (at
MerioJames--Crook: Which you can even use live ==>
tpb<> (at
MerioJames--Crook: Unfortunately that query language has only one implementation in Java, and seems one in PHP (even if not perfectly compliant, not released by Google itself)16:08
James--CrookDo you think the query language is good?  By that I mean, a good design, one that we would want?16:09
MerioJames--Crook: well actually they're queries sent by JavaScript... so they can be customized in a very easy and dynamic way. I mean... a click and we can have different kind of queries... dynamically changing the charts16:12
James--CrookI am thinking that it does not solve one of our most important problems.16:12
James--CrookIt is strictly one table at a time, as far as I can see.16:13
James--CrookIf we're driving filters (select) and aggregation (group_by, sum) from a GUI, then we are possibly just as well off doing the selections and grouping 'directly' ourselves...16:14
MerioThere are many things we could do16:15
MerioAs you can see, in this very moment, we can use that feature only by using Google Spreadsheets16:16
MerioSo we can have an exporting to it (in some way aggregating tables) and then use the query language over it16:17
James--CrookHmm.  That makes it a bit too limiting.  We want to be able to go direct from appengine to chart.16:17
MerioI've found also another project that might be useful16:17
MerioWhich is jLinq ==>
tpbTitle: jLinq - Javascript Query Language (at
James--CrookOh.  I Like!16:18
MerioIf say, for example, we come with some JSON objects from the appengine16:18
James--CrookIt's not artificially introducing a string version of the query.16:19
MerioWe can query over it/them in many many ways16:19
James--CrookThat makes it nicer for tying up to controls on a dashboard.  (I think)16:19
ajaksuJames--Crook: sorry for the delay, I've got 'pick_many' via checkboxes, starting to work on a nice 'edit choice field' interface and multiple rendering options for a given field :)16:19
James--Crookajaksu: wow!  I must see this!16:19
MerioThere are also other projects like jLinq.. there is JSONPath and JSONQuery. Both working with "strings", and are inspired by XPath16:20
James--Crookajaksu: Merio has been looking at jQueryUI.  Are you using any extra / new libs?16:20
Merioajaksu: James--Crook: yep, I think it's definitely a must-have16:21
Merioajaksu: what do you need for the interface?16:21
James--CrookMerio: personal bias showing here...  but the stringing together of the filters/aggregators in code needs to be done whatever is done, so I am reluctant to introduce a parser/string-creator that is not needed...  What do you think?16:21
ajaksuJames--Crook: no, I know very little about JS and jquery, but just reading Merio's messages I see we could do things a lot better :)16:21
James--Crookajaksu: well..  with more code :-)16:22
James--Crooksome of the jQuery UI features are very very nice though.16:22
ajaksuMerio: currently we add and remove form fields and sprinkle some events magic I have a superficial understanding of....16:22
ajaksuI want to have add/remove/edit/reorder options/fields16:23
MerioJames--Crook: well, actually we need something like a "query constructor" anyway if we plan to change dynamically the data (and thus the chart). Then we can output code for jLinq or a string, that's not too different to me, but I might be wrong16:23
James--Crookajaksu: we'll be wanting to use (gmail like) checkbox lists elsewhere in Melange.  I'm assuming that they are currently closely tied in to surveys?16:24
Merioajaksu: jQuery UI should work well on it (for example on reordering) but I should see in depth what are your needs to help better16:24
ajaksuMerio: our main JS file is at and we're about to refactor that now I'll add real edit fields stuff :)16:25
tpb<> (at
James--CrookMerio: mmm...  main difference is that code output does not need to be parsed by more code, it's ready to run.  Of course I agree, there will be a constructor object and we could generate multiple things in the same way if we so choose.  Hmm.  And we will need a viewable representation of the list of steps in processing to show to the user too..16:27
ajaksuJames--Crook: right now, yes, but I plan to make the code general by creating two (pick_one and pick_multi) kind of generic fields, so the 'add new option' features can be reused... we could then refactor the 'add new field' logic to make it a generic dynamic form creation tool16:28
James--CrookMerio: This is *way* ahead of what we need at the moment :-)16:28
ajaksuJames--Crook: add that base serialization format you mentioned and hey, we've got something way cool :)16:28
MerioJames--Crook: so you think jLinq might be better?16:30
Merioajaksu: have you seen in the jQuery site if there are plugins that already do those things?16:31
James--Crookajaksu: cool.  What do you want to happen now in melange?  You're probably the free-est active coder person in Melange, and it is very much up to you where you want to work next, what you wnat to know and do...16:32
James--CrookMerio: Yes, admittedly I've not had a long to look at it yet, but I like the look of jlinq.  It looks exactly the approach we would want.16:33
James--CrookThe only questions in my mind is how much we might possibly want to do server side, and how we deal with two (or more) table queries.16:33
ajaksuMerio: no, I'm following James Levy's lead and working with the JS he adds...  you were calling people to discuss a nice approach to JS, right?16:33
James--CrookI think development will be faster and more flexible if we do complex queries like these client side, not to mention more responsive.16:34
ajaksuJames--Crook: I still have to finish my part of surveys, so I'll be the freeest next week, hopefully :)16:34
* James--Crook grins16:35
Merioajaksu: yep I was trying to :)16:35
MerioJames--Crook: jLinq has a join function too16:36
James--Crookajaksu: In terms of surveys being ready for GSoC use, it is nearly there isn't it? I get the impression that mostly it is that you wnat to tidy the code, that there is not functionality missing.  Incidentally, surveys will make a great test case for stats....16:36
MerioJames--Crook: that's for sure ^_^16:36
James--CrookCan we talk a little about that?16:37
ajaksuMerio: we brought in a plugin to expand textareas and it broke things, so I'd rather get things working in a simple JS way and help pushing for a standardized JS approach :)16:37
MerioJames--Crook: about surveys for stats?16:37
James--CrookOn the wiki stats page there is a note that there may be some questions (like what years did you participate in in the past) that are helpful to us in gathering *useful stats for improving the program*.16:38
Merioajaksu: why it broke things?16:38
MerioJames--Crook: yes, that's definitely the most interesting part of the stats16:38
ajaksuJames--Crook: sort of, I can't run James's latest commits as-is, we've diverged a bit in code, so I have some real work to do before I consider us to be in the polish-things-up period :)16:39
James--CrookMerio: so we are going to have the most difficulty with the free text fields in surveys, which will be little use to us in stats.  So we need to think about what we can get that is numerical (and useful) and confirm that survey can actually do it...16:39
ajaksuMerio: I don't know exactly why or how, looks like it added hidden fields and we had buggy form handling code, so it went in then out before I got to know it :)16:40
James--Crookajaksu: got it.  It sounds excellent progress, but I will hold off on syaing that until I see it on an appspot site :-)16:40
MerioJames--Crook: I think a thread in the dev list should help :)16:40
James--Crook+1 on that16:40
James--CrookActually +2.  It is something where many points of view will help.16:40
MerioJames--Crook: also because I would like LH to join in the discussion (don't know when she'll come back)16:41
James--CrookI believe she is at Google I/O..  but don't quote me.16:41
*** madrazr has joined #melange16:42
Merioajaksu: eheh :) Well, if you've ever need some JS help just ping me16:42
MerioJames--Crook: are you going to start the thread?16:42
James--CrookMe?  Nope.  You start it :-)16:42
*** madrazr has quit IRC16:43
MerioJames--Crook: That's ok, I'll do :) Now dinner is ready here ^__^16:43
MerioJames--Crook: I also want to start a thread about jLinq and all the query stuff16:43
James--CrookOK. Merio, You also wanted to talk about other aspects of more flexible stats or is that covered by the jlinq discussion?16:43
MerioJames--Crook: but I'll do tomorrow probably, want to put some sensible thought on them too :)16:43
James--CrookMakes sense.16:44
ajaksuMerio: I almost interrupted your yesterday chat with dhans to ask about how you think we could re-organize our code, but it was such a great conversation I just sat and watched :)16:44
MerioJames--Crook: well actually I think we can go for a thread in the dev list, because it might imply some changes on the design16:44
James--CrookMain thing will be the exchanges with dhans...  The collection on the surver is interesting to discuss.16:44
James--CrookYes to that.16:44
James--CrookThe Access rights needs more working out in particular.16:45
James--CrookIt is possible to do anything for host.16:45
Merioajaksu: well, let's just plan a meeting on it so ^__^ Perhaps that would be better when they'll be back from the all-hands16:45
James--CrookAnd that might be the way we do it for now (i.e. for next two weeks or so)16:45
James--Crookand then we start thinking more seriously about what tables we could supply more generally...16:46
MerioJames--Crook: completely agree16:46
James--Crookand there will also be some discussion about caching stats derived by host, but for general view...16:47
ajaksuMerio: great, thanks a lot, I'll ping the list next week as we should also have a much better list of wants and wtfs by then :)16:47
James--CrookWhat I mean by that...16:47
James--Crookis host works on their chart in a totally flexible jlinq way...16:47
James--Crookthen publishes a fixed view of their chart.16:48
James--CrookAt that stage they might push some aggregated data back out to GAE (via a JSON object)16:48
*** ankitg has quit IRC16:48
James--Crookso that users will load the reduced JSON object, not the raw data.16:48
James--Crookanyway we can discuss later.16:49
James--CrookSo, you get two actions... two e-mails to write... one today... one tomorrow... and I get off scot free :-)16:49
James--Crookajaksu... anything you need at the moment?16:49
ajaksuJames--Crook: nope, I'll ping Sverre about the demo instance, thanks a lot for the guidance :)16:50
James--Crookcool.  Looking forward.16:50
MerioJames--Crook: today you mean the stats/survey one?16:50
James--Crookbye-for-now all.16:50
James--CrookMerio: yep...  what stats do we want to do on mid term surveys.  What questions would be good to ask - e.g to get years of previous participation which are not easily obtainable any othe rway...16:52
MerioJames--Crook: ok, perfect :)16:53
James--Crookand if we see patterns in how happy students are with their mentors vs size of group, how long org has been doing gsoc for etc...16:53
ajaksubye :)16:53
*** James--Crook has left #melange16:54
*** dhaun has quit IRC17:17
*** ajaksu has quit IRC17:18
*** dhans has quit IRC17:58
*** Merio has quit IRC18:50
*** ankitg has joined #melange20:25
*** ankitg has quit IRC20:26
*** mithro_ has joined #melange20:30
*** ChanServ sets mode: +v mithro_20:30
*** MatthewWilkes has quit IRC21:00
*** tansell_laptop has quit IRC21:07
*** tansell_laptop has joined #melange21:07

Generated by 2.13.1 by Marius Gedminas - find it at!