Thursday, 2009-06-18

*** tpb has joined #melange00:00
ajaksujamtoday: still hacking?00:24
*** solydzajs has joined #melange00:34
*** ChanServ sets mode: +o solydzajs00:34
*** madrazr has joined #melange01:40
*** ChanServ sets mode: +v madrazr01:40
*** dr__house has joined #melange01:58
*** madrazr has left #melange02:31
ajaksusolydzajs: morning :)02:53
solydzajsajaksu: hi :-)02:54
*** dr__house has quit IRC02:56
*** dr__house has joined #melange02:57
jamtodayajaksu: still hacking, im pulling your latest changeset03:23
ajaksujamtoday: I just got querying for projects and saving project in surveyrecord working, it's ugly but works03:24
ajaksujamtoday: just pushed it03:26
*** jamtoday has quit IRC03:27
* ajaksu realizes that he's done the now, to write the status update email... wait, issue x is actually simple, lemme look about five times in the last two hours03:30
*** Merio has joined #melange03:47
*** ChanServ sets mode: +v Merio03:47
*** jamtoday has joined #melange04:28
jamtodayajaksu: it works now! thanks for helping out with the getFields() logic method. It seems so obvious now... :)04:28
jamtodayi'm also adding a notice that says how long until the deadline04:30
ajaksujamtoday: yw :)04:30
ajaksujamtoday: cool! Pawel has just sent a review for the models, I'll get myself a sandwich and fix his suggestions :)04:31
jamtodayI just pushed another update that changes some more method names and tells survey takers when the deadline is04:49
jamtodayI've deployed to staging surveys in debug mode04:50
jamtodayit requires running seed_db to create the student and project entities04:50
jamtodayand now I'm working on the grade activation aprt04:50
*** jamtoday has left #melange04:51
*** jamtoday has joined #melange04:55
jamtodayajaksu: i agree with almost all of Pawel's comments. The 'this_survey' property is just confusing, but I couldn't think of anything better at the time04:59
ajaksuI didn't get there yet (looking if we can ditch get/set_schema but doesn't look like it), but I can try to rename it to be consistent: survey.survey_content?05:00
jamtodayWe can't ditch those methods, but we could always move them to the logic module05:01's kind of a big deal to change it, because it's referred to in many places05:01
jamtodaybut it could be done05:02
jamtodayunfortunately not all of the "this_survey" references are to that property, making things more complicated05:02
jamtodayand it's not the content, the this_survey property is where the surveycontent refers to the main survey entity05:02
jamtodayso something better would be like 'survey_parent' or 'survey_entity'05:02
ajaksuSurvey.this_survey is a reference for SurveyContent, SurveyContent.survey_parent is a reference to Survey and SurveyRecord.this_survey is a reference to Survey, right?05:04
ajaksujamtoday: as I was writing that we need set/get_schema, it ocurred to me: we'd just need to convert to string and eval in the places that call these methods, let me count them :)05:07
*** arvind_khadri has joined #melange05:12
jamtodayyeah probably not too many05:35
* jamtoday is going to sleep...05:35
ajaksufixed, forgot to actually count... :)05:36
ajaksugood not-quite-night :)05:36
*** dhans has joined #melange05:51
*** dhans has quit IRC05:53
*** MatthewWilkes has joined #melange06:17
*** MatthewWilkes has quit IRC06:21
*** MatthewWilkes has joined #melange06:35
*** solydzajs has quit IRC06:38
*** mithro has quit IRC06:44
*** dhans has joined #melange06:54
*** Lennie has joined #melange07:27
*** ChanServ sets mode: +o Lennie07:28
*** Lennie has quit IRC07:30
dhansMerio: ping?07:46
Meriodhans: pong07:47
dhanshello :)07:47
dhansI've got one simple question...07:47
dhansyesterday, you said you updated seed_db with some code that creates statistics07:48
Meriotell me :)07:48
dhansis it described somewhere how to actually use this seed_db? maybe on wiki on somewhere?07:48
dhansbecause I can't find it :(07:49
Merioit's very simple, just use http://localhost:8080/seed_db07:49
MerioTo have the statistics in place you need also to run seed_many for users and students07:49
MerioTo do that, use http://localhost:8080/soc/content/seed_db.html07:50
Merioand click on "200 users", than go back and use "200 students"07:50
Merioand then you're ready to go, providing that you collect the statistics (I suggest in your local repository to increment the batch size to 250)07:50
MerioIt's one of my tasks to enhance that interface, but low priority now07:51
dhansinterface is great :)07:51
dhansthank you :)07:51
dhansit's much more nice than adding it manually :)07:52
MerioI think what you're seeing has been made by Sverre :)07:52
MerioYes, it's one of the most powerful things to test... I have some ideas to enhance it but.. well... in the future ^__^07:52
dhansI'll have to take a closer look at it :)07:52
Meriook :)07:53
*** dr__house has quit IRC08:03
*** MatthewWilkes is now known as mwilkes|lunch08:36
*** florinciu has joined #melange09:07
*** mwilkes|lunch is now known as MatthewWilkes09:29
Meriodhans: I'll be probably about 5 minutes late for the daily meeting, bbs however :)09:53
dhansMerio: ok, cool :)09:54
Meriodhans: ping :)10:04
dhansMerio: pong!10:04
Meriodhans: great ^__^10:04
MerioSo, giving you my status update:10:05
MerioI've started to use json2 library to avoid eval() when parsing parameters from templates, but there's a problem: it doesn't like jsons like {key:"value"}, but only {"key":"value"}10:06
*** solydzajs has joined #melange10:06
*** ChanServ sets mode: +o solydzajs10:06
MerioWhat happens is that gviz outputs data in the former way, so we need to hack gviz or json2 or integrate another library/function to parse it10:06
dhansI remeber that I had the same problem10:06
dhansso that's why always keys are strings10:07
MerioThen I put an example external template in the repository, I've sent a mail, you're in CC so you can find the example in the source10:07
dhansI have seen it10:07
Merioyes, I think JSON format wants them as string, so it's not correct to use it in another way10:07
MerioBut we have to deal with it, so perhaps we're going to use another way, but I've put a FIXME, I guess it's low priority at the moment, we will just change that function10:08
MerioNow I'm analyzing jquery inheritance library to see if it's suitable for our needs or just go for the "basic" way I've done10:09
MerioThen I would like to explore how to do async tests with JSUnit, it's difficult but I've found a post in a blog that seems to do the trick, but I've to understand and try it10:10
dhansI think it sometimes may be a problem, because when we give strings to gviz to produce data_table something strange may happen if we want to sort by such a column10:10
MerioIf I have enough time I would like also to study better the library which handles dependencies between javascript package, but it's low priority as well10:10
MerioWell, I think we can just live with that, and do something different Javascript side to handle melangeContext variables10:11
Merioperhaps this ==>10:12
tpb<> (at
MerioSo for the moment I've just put an eval so we can forget about it10:12
MerioHowever, now status update from you.. and then we have to plan a meeting to write down next tasks and priorities, and let our mentors assign priorities and well.. who does what :)10:13
Merio(obviously if you find another solution for the json just let me know it :))10:14
dhansand short update from my work: I am still adding support for stats that need data from multiple models (for example applications per student)10:14
dhansanyway, there is also one thing I'd like to ask, because I have not decided yet how to deal with this problem10:15
Merioyou need to ask me/mentors or dev list?10:15
MerioIf you want we can discuss it now10:16
dhansI will start from asking you:)10:16
Merioeehe ok ^__^10:16
MerioTell me :)10:16
dhansso normally, when we get data from one model, a list of choices is let's say 'static'10:16
dhansfor example [ 'undergrad', 'master', 'phd' ]10:16
dhansbut when we want to collect for example number of applications per student the list of choices should look like all students link_ids10:17
dhanslike [student1_link_id, student2_link_id, ... ]10:18
dhansthe problem is that we do not know all students before starting collecting data10:18
Meriolet me see your source code a moment10:19
Meriohmm.. thinking10:21
dhansok, but there are like two possible solutions: (1) we simply set choices to be [] at the beginning and then when we iterate through all student proposals we check their student in scope link_id10:21
Meriothis is what I was thinking about, and how to make it generic10:22
Meriowhat about the second solution?10:22
dhansok it can be done quite generic10:22
dhansbut the problem is that we take only inforamtion about students from student_proposal.scope10:23
dhansso in the final statistic we will not have inofrmation about how many students have zero applications10:24
dhansand this is a problem with this solution10:24
dhansthe other solution is to divide stats collection into two parts: collecting of possible choices and collecting actual stats10:24
Meriowell probably (in pseudo code thought) you need to iterate all students in the program, put them in an associative array with all zeroes and then increment their value every time you see their link_id into student proposals10:25
dhansso the 2nd solution ;-/10:25
Meriothe problem is how to make it enough generic to handle all the statistics10:26
Merioof that kind, at least10:26
dhansI know it's better, but I was just wondering if the problem of getting no information about students who does not have applications is so substantial10:26
dhansbecause the first part (collecting choices) will also have to be done in batches10:27
Meriowell, you might want to know how many students have registered the program but failed to apply because of whatever reason... so it's a signal that something might need to be easier for them10:27
dhansyes,, so I will go probably for the second option10:28
Merioyes that's true10:29
dhansok, so I'll work on it now10:30
MerioI think that's pretty difficult to abstract stuff before doing some examples (at least I can't), so we might want to do "release early, release often", so just gather statistics for applications per student, then do something similar one or two times and look for common patterns to abstract10:30
Meriook perfect10:32
dhansyou know, it may be done quite generic, but it depends on how much data about one stat may be stored in the model10:32
MerioSorry, what do you mean?10:33
dhansfor example these choiceSelectors get params as an arg, and the params may be specific for each statistic10:33
dhansso if we could keep params dict as a json in the model, we could have more generic functions10:34
dhansbut sverre has not replied yet10:34
MerioThis is exactly what I was meaning yesterday about generalising those functions10:34
MerioWell, just work on the application per student stuff and wait for something to happen :D10:35
dhansok :)10:35
MerioJames Crook suggest us also to start mixing up our tasks, so work in Python and JavaScript both of us in a more homogeneous way10:35
MerioI think now that the codes are joined, we can begin to think seriously about it10:35
dhansyes, it's true10:36
MerioIn my mail to the dev list I was proposing to do that perhaps starting from next week10:36
dhansat this point I think it's a good idea, provided nothing strange happens until the next week :)10:36
MerioBecause personally I want to do the JS layer a little better to handle more situations (like I told you at the beginning of the meeting)10:36
Merioyep ^__^10:37
MerioSo, I'll probably leave one day free this weekend (otherwise I can explode :P), it can be Saturday or Sunday, more probably Saturday10:37
dhansthat's cool10:38
MerioHowever tomorrow we can plan to talk about it Saturday or Sunday (if you're available)10:38
dhansif nothing unexpected happens, I am available :)10:38
MerioAnd so come up with a list of tasks (not too much deep, just next steps for roughly a week), gave them priority and assign me or you to each of them, and then let our mentors decide if our plan is good or if they want something different10:39
MerioOk, just give us another day to have a better view about our weekends ^__^10:39
dhansprobably they're gonna be fine10:39
MerioIf you're not working during the weekend it's perfectly fine to me as long as we can plan something at worst on Monday morning10:40
MerioOk :)10:40
MerioSo, that's ok :)10:40
Meriodhans: Another thing I would like to suggest is to commit granularly as soon as you've something sensible to commit (as long as it doesn't break something), I think that's the way to go, but we might want to ask as well. In that way I'm up to date with your code.10:42
MerioIs it ok for you?10:42
dhansyes, it is - once the new stats are ready I'll commit it, but as I said I want to make it as generic as possible, so probably now old stats may not work...10:43
MerioAt least leave students per degree working10:44
MerioSo I can keep on using my code on that template :)10:44
MerioAnd we can push new versions in the demo instance that are still working10:44
dhansI will commit the new stats by the evening I hope10:45
MerioNo problems, do it whenever you're ready :)10:45
MerioIf it's all ok with you, going to update meeting notes on the wiki, mail the dev list and back to work. Obviously just ping me if you need something :)10:46
*** solydzajs has quit IRC10:58
*** arvind_khadri has quit IRC10:59
*** arvind_khadri has joined #melange11:28
*** arvind_khadri has quit IRC12:27
*** penyaskito has joined #melange12:34
*** jamtoday has quit IRC12:34
*** jamtoday1 has joined #melange12:55
*** dhans has quit IRC12:56
*** jamtoday1 has quit IRC13:51
*** dhaun has joined #melange13:52
*** jamtoday has joined #melange13:54
*** ArthurLi1 is now known as ArthurLiu13:57
*** ajuonline has left #melange14:01
*** MatthewWilkes has quit IRC14:34
*** MatthewWilkes has joined #melange16:13
*** timpatrick has joined #melange17:12
*** MatthewWilkes has quit IRC17:12
*** MatthewWilkes has joined #melange17:26
*** dhaun has quit IRC17:29
*** florinciu has quit IRC18:03
jamtodayis it just me or is the task queue live?18:30
* jamtoday is biking about 50 blocks...probably be back online in half an hour18:30
*** Merio has quit IRC18:55
*** penyaskito has quit IRC19:03
*** mithro has joined #melange20:39
*** ChanServ sets mode: +v mithro20:39
*** MatthewWilkes has quit IRC22:00
*** Kraln has quit IRC22:43

Generated by 2.17.2 by Marius Gedminas - find it at!