*** th1a has quit IRC | 00:20 | |
*** th1a has joined #schooltool | 00:23 | |
*** replaceafill has quit IRC | 00:48 | |
*** th1a has quit IRC | 01:09 | |
*** menesis has quit IRC | 02:27 | |
*** th1a has joined #schooltool | 02:28 | |
*** th1a has quit IRC | 04:03 | |
*** th1a has joined #schooltool | 05:33 | |
*** th1a has quit IRC | 06:00 | |
*** th1a has joined #schooltool | 06:10 | |
*** th1a has quit IRC | 07:32 | |
*** yvl has joined #schooltool | 09:23 | |
*** menesis has joined #schooltool | 09:52 | |
*** khildin has joined #schooltool | 10:54 | |
*** menesis has quit IRC | 11:36 | |
*** menesis has joined #schooltool | 12:33 | |
*** menesis has quit IRC | 13:10 | |
*** menesis has joined #schooltool | 13:48 | |
*** menesis has quit IRC | 13:53 | |
*** menesis has joined #schooltool | 13:53 | |
*** menesis has quit IRC | 13:58 | |
*** menesis has joined #schooltool | 14:00 | |
*** menesis has quit IRC | 14:04 | |
*** replaceafill has joined #schooltool | 14:53 | |
*** jelkner has joined #schooltool | 14:53 | |
jelkner | Good morning replaceafill! | 14:54 |
---|---|---|
replaceafill | good morning jelkner :) | 14:54 |
jelkner | pgully isn't here yet, but you and i could start now and he could read the log... | 14:54 |
replaceafill | ok | 14:54 |
jelkner | things are going well, methinks | 14:55 |
jelkner | my daily quizzes are working to help me figure out how the class is doing, and to reinforce the ideas students may have missed in reading and disucssion | 14:55 |
jelkner | the automatic generation of skills seems to be working well also, aside from the bug i reported yesterday | 14:56 |
jelkner | (which pgully did not say he fixed yet) | 14:56 |
jelkner | do you know what the problem is with that one? | 14:56 |
jelkner | the scores appear to be accurate | 14:57 |
replaceafill | not really | 14:57 |
jelkner | except for students who have not taken any quizzes at all. | 14:57 |
replaceafill | i still consider that feature (the one developed in pycon) "beta" | 14:57 |
jelkner | of course | 14:57 |
replaceafill | since you just started using it "for real" | 14:57 |
jelkner | but that is what we are here for now, right? | 14:57 |
replaceafill | right | 14:57 |
jelkner | to test it and make sure it works. | 14:58 |
jelkner | anyway, i'll talk to pgully when he gets here, but we need to fix that bug. | 14:58 |
jelkner | so, the real reason i requested this meeting is to figure out what comes next. | 14:58 |
jelkner | i would say that the experiment so far has been a smashing success from my point of view. | 14:59 |
jelkner | but i haven't entered in any skills scores directly yet. | 14:59 |
jelkner | all skills scores have come from the ST quiz. | 14:59 |
jelkner | I realize, however, that I will never have enough quiz items this Summer for all students to earn 3s on all the skills. | 15:00 |
jelkner | And I don't need to. | 15:00 |
jelkner | They are now at the point that they have demonstrated many basic skills through their daily activity. | 15:00 |
jelkner | They don't need quiz items to measure them. | 15:00 |
jelkner | So.... | 15:01 |
jelkner | What happens when I enter a skill score, and then click on "Update Skills"? | 15:01 |
jelkner | That's the issue at hand. | 15:01 |
replaceafill | right | 15:01 |
replaceafill | the "overwriting" part, correct? | 15:01 |
jelkner | correct | 15:02 |
jelkner | Paul suggested yesterday that the simplest thing that could work is this: | 15:02 |
*** menesis has joined #schooltool | 15:02 | |
jelkner | Create a new attribute on the skill that indicates whether it was machine or human generated. | 15:02 |
jelkner | And don't allow machine generated to overwrite human generated. | 15:03 |
jelkner | That would be the proper agile approach for now, I think. | 15:03 |
jelkner | Since it would address the need from my current user story. | 15:03 |
jelkner | It won't be the end of the story, however | 15:04 |
jelkner | since it would prevent the kind of self initiated study we are aiming at for end of Summer. | 15:04 |
jelkner | We'll have to think more about that. | 15:04 |
replaceafill | by skill i think you mean "evaluation", correct? | 15:05 |
jelkner | yes | 15:05 |
jelkner | Although we say "Update skills" and not "Update evaluations" ;-) | 15:05 |
replaceafill | :D | 15:05 |
jelkner | Anyway, I start teaching at 8:30 am sharp. | 15:06 |
jelkner | That's all I wanted to address this morning. | 15:06 |
jelkner | Thoughts.... | 15:06 |
replaceafill | i think we're already using a custom evaluation class for quiz | 15:07 |
replaceafill | which at some point i considered a mistake | 15:07 |
replaceafill | but we needed to store the answer to the question somewhere | 15:08 |
replaceafill | so, i don't see any problem sticking the machine generated flag | 15:08 |
replaceafill | i've learned through quiz that you can do crappy design decisions (like the ones i've made) as long as you make sure everything works (tests) | 15:09 |
replaceafill | xp after all :) | 15:09 |
jelkner | as long as you are committed to refactoring, that is ;-) | 15:10 |
*** pgulley has joined #schooltool | 15:10 | |
replaceafill | and for that you need the tests | 15:10 |
jelkner | don't want those code smells to get too bad! | 15:10 |
replaceafill | right | 15:10 |
jelkner | i leave that up to you, my friend. | 15:10 |
replaceafill | but my point is: users happy fast | 15:10 |
pgulley | replaceafill, jelkner, good morning! | 15:10 |
jelkner | good morning, pgulley | 15:11 |
replaceafill | good morning pgulley | 15:11 |
jelkner | we are just about done here, so pgulley's timing is perfect. | 15:11 |
pgulley | Sorry I'm late, had to run an errand before I came this way, took longer than expected | 15:11 |
jelkner | it always does ;-) | 15:11 |
jelkner | this learn you must, young jedi! | 15:12 |
* pgulley bows dutifully | 15:12 | |
jelkner | ok, i told replaceafill what you and i discussed yesterday | 15:12 |
jelkner | seems like i need to go teach class and the two of you need to figure out how to proceed. | 15:13 |
jelkner | btw. did you figure out why the students with no quizzes have scores? | 15:13 |
jelkner | i forgot to ask you that yesterday | 15:13 |
jelkner | pgulley? | 15:14 |
pgulley | I couldn't trace it, no. There is a lot more digging I could do on that subject | 15:14 |
pgulley | I'll spend some time today sorting that one out | 15:14 |
jelkner | perhaps replaceafill could help... | 15:14 |
jelkner | please | 15:14 |
jelkner | its a serious concern | 15:14 |
jelkner | ok, anything else for me before i go? | 15:15 |
replaceafill | jelkner, not from me | 15:15 |
pgulley | likewise, jelkner | 15:16 |
jelkner | sweet | 15:16 |
jelkner | have at then, you uber hackers! ;-) | 15:16 |
jelkner | have at it then, that is | 15:16 |
jelkner | later | 15:16 |
pgulley | vale | 15:16 |
*** jelkner has quit IRC | 15:16 | |
pgulley | So replaceafill, I'm fairly certain the bug jelkner is describing is sort of inherant in the way skills are currently updated. | 15:18 |
pgulley | Like it's an unforeseen consequence of the way dreich and I wrote it, but an unavoidable one. That whole thing should be refactored at some point | 15:18 |
pgulley | And I can commit to doing that. | 15:18 |
replaceafill | pgulley, agree | 15:18 |
replaceafill | it needs further testing imho | 15:19 |
replaceafill | the current test for it is very basic | 15:19 |
pgulley | alright. Should I focus on that next, then, rather than jelkners new feature? | 15:20 |
replaceafill | jelkner also wants the feature to not overwrite scores entered by the teacher | 15:21 |
replaceafill | maybe you can address both cases in one go? | 15:21 |
replaceafill | i mean, the changes will probably be in the same area of the code | 15:22 |
pgulley | right | 15:23 |
pgulley | okay. I can do that | 15:23 |
replaceafill | http://bazaar.launchpad.net/~schooltool-owners/schooltool.quiz/trunk/view/head:/src/schooltool/quiz/browser/cando.py#L512 | 15:23 |
replaceafill | line 512 | 15:23 |
replaceafill | i think that's what you need to focus on | 15:23 |
replaceafill | to fix the issue "students with no quizzes being evaluated" | 15:23 |
pgulley | right | 15:24 |
pgulley | perfect. Thanks, you just saved me a lot of time | 15:24 |
replaceafill | for the "not overwrite" part: | 15:24 |
replaceafill | jelkner was suggesting adding a flag to the evaluation | 15:24 |
replaceafill | i'm thinking that maybe we could use the fact the evaluator is None in that particular case | 15:25 |
replaceafill | http://bazaar.launchpad.net/~schooltool-owners/schooltool.quiz/trunk/view/head:/src/schooltool/quiz/browser/deployedquiz.py#L879 | 15:25 |
pgulley | Oh that's a really sneaky way to do that | 15:27 |
pgulley | I like that | 15:27 |
pgulley | wait no- | 15:27 |
replaceafill | in any way, the answered evaluation class i where you'd need to stick whatever flag you need | 15:27 |
pgulley | This is for skills, no? | 15:27 |
pgulley | The skills are what need that flag, not the evaluation | 15:27 |
replaceafill | skills? | 15:27 |
pgulley | Right. jelkner's concern as he expressed it to me was that skills which he set at a certain level may be inadvertantly lowered by schooltool.quiz | 15:28 |
replaceafill | i think he was using the wrong wording: | 15:29 |
replaceafill | http://schooltool.pov.lt/irclogs/latest.log.html#t2013-07-19T15:02:20 | 15:29 |
replaceafill | i think the route should be: | 15:30 |
replaceafill | 1. add a more complete test for the update "skills" feature | 15:30 |
replaceafill | which shows students with no quiz taken getting graded | 15:31 |
replaceafill | 2. fix the feature to not do that | 15:31 |
replaceafill | 3. add the "don't overwrite" part to the feature (with a separated/new test) | 15:32 |
pgulley | Okay | 15:33 |
pgulley | But I'm still unclear on how the "don't overwrite" part should work- | 15:33 |
pgulley | We're concerned with skills there- | 15:34 |
pgulley | don't overwrite a skill if it was set by a teacher | 15:34 |
replaceafill | it's an evaluation | 15:35 |
replaceafill | teachers set evaluations | 15:35 |
replaceafill | not skills | 15:35 |
replaceafill | skills are set by the manager | 15:35 |
pgulley | ok. | 15:35 |
pgulley | I clearly need to poke at that some more to see what's going on | 15:35 |
pgulley | I can do that | 15:35 |
replaceafill | a cell in the cando gradebook represents an evaluation | 15:35 |
replaceafill | and remember | 15:35 |
replaceafill | those cells (evaluations) have history too | 15:36 |
replaceafill | that's important for this imho | 15:36 |
pgulley | yes, definitely | 15:37 |
pgulley | Okay, I think I have everything I need to get into this | 15:40 |
*** replaceafill has quit IRC | 15:41 | |
*** replaceafill has joined #schooltool | 15:41 | |
*** replaceafill has joined #schooltool | 15:41 | |
replaceafill | oops sorry, was disconnected :( | 15:42 |
pgulley | It's all good! | 15:45 |
pgulley | I was just saying that I think I have all I need to get started | 15:45 |
replaceafill | ah cool | 15:46 |
replaceafill | i'll go get some breakfast, bb in ~30 mins | 15:46 |
pgulley | replaceafill, when you get back- is there any way I could get a snapshot of the current database in jeff's deployment? | 16:11 |
replaceafill | pgulley, sure, let me get it | 16:11 |
pgulley | thanks! | 16:12 |
replaceafill | pgulley, done | 16:14 |
replaceafill | http://dev.schooltool.org/hilt/ | 16:14 |
replaceafill | 2013-07-19... | 16:14 |
pgulley | danke schoen! | 16:14 |
*** th1a has joined #schooltool | 16:31 | |
*** th1a has quit IRC | 16:45 | |
*** yvl has quit IRC | 17:02 | |
*** th1a has joined #schooltool | 17:17 | |
pgulley | replaceafill, should UNSCORED be in the skill scoresystem? | 17:33 |
replaceafill | pgulley, no | 17:35 |
pgulley | Okay. but is it okay if I pass UNSCORED as the score value to gradebook? | 17:36 |
replaceafill | http://bazaar.launchpad.net/~schooltool-owners/schooltool.gradebook/trunk/view/head:/src/schooltool/requirement/scoresystem.py#L101 | 17:36 |
pgulley | because it's storing that anyway before I change it. | 17:36 |
replaceafill | pgulley, what are you trying to do? | 17:36 |
pgulley | Well I figured out what was going on with the Update skills thing. There was a dict which wasn't being reset to zero everytime the function iterated | 17:37 |
replaceafill | ah ok, sounds right | 17:38 |
pgulley | I fixed that, but the consequence was that skills for which there are no evaluations get set to zero | 17:38 |
pgulley | whereas they should be unscored by default | 17:38 |
pgulley | (and they are) | 17:38 |
replaceafill | why don't you just skip them? | 17:38 |
pgulley | It's not efficient in the logic I have set up already | 17:39 |
pgulley | because students who haven't taken certain quiz items won't have evaluations for skills where everyone else will. In that case they need to be set to zero, not unscored | 17:39 |
pgulley | It would require generating a list of all the skills for which there are quiz items at the begining of the update_skills function. | 17:40 |
pgulley | which I could do, it just seemed like it would be uneseccarily complex | 17:41 |
pgulley | wait. I'm not thinking through this right. I'd need to do that anyway | 17:41 |
replaceafill | well, i guess jelkner is ok with the 0 logic, right? | 17:41 |
pgulley | no, he wants skills which haven't been evaluated to appear 'null' in the cando gradebook | 17:42 |
replaceafill | in any case, you can import UNSCORED from the requirement.scoresystem module | 17:42 |
replaceafill | and pass that to evaluate(student, activity, UNSCORED, evaluator) | 17:42 |
pgulley | okay, that's what I wanted to do, i just wanted to make sure that wouldn't break anything. I seem to recall that the gradebook is a fickle thing, and I didn't want to get too deep | 17:43 |
replaceafill | np, passing UNSCORED as the score is safe | 17:43 |
replaceafill | that's what removeEvaluation does actually | 17:43 |
replaceafill | http://bazaar.launchpad.net/~schooltool-owners/schooltool.gradebook/trunk/view/head:/src/schooltool/gradebook/gradebook.py#L297 | 17:43 |
pgulley | okay, perfect. | 17:49 |
pgulley | thanks! | 17:49 |
*** th1a has quit IRC | 18:05 | |
*** th1a has joined #schooltool | 18:11 | |
*** khildin has quit IRC | 18:20 | |
*** th1a has quit IRC | 18:49 | |
*** th1a has joined #schooltool | 19:16 | |
pgulley | replaceafill, I'm still having some problems with Selenium | 19:55 |
pgulley | which aren't related to my tests | 19:55 |
replaceafill | what happens? | 19:56 |
pgulley | Error 111 - connection refused | 19:56 |
*** menesis has quit IRC | 19:56 | |
replaceafill | does this happens in both modes: bin/test and bin/test-headless? | 19:57 |
pgulley | yes | 19:57 |
replaceafill | and the test doesn't run at all? | 19:58 |
*** th1a has quit IRC | 19:59 | |
pgulley | It begins running | 19:59 |
pgulley | but stops | 19:59 |
replaceafill | at a specific part? | 19:59 |
replaceafill | trunk tests run fine here btw | 20:00 |
pgulley | yes, at a specific part- but the code in the test at that point is essentially identical to code that runs without error a few lines prior | 20:02 |
*** th1a has joined #schooltool | 20:02 | |
replaceafill | if you push your current state i could try running it here | 20:03 |
replaceafill | although i'm not sure if that really helps | 20:03 |
pgulley | It's still possible I've just made a stupid mistake I guess. | 20:03 |
replaceafill | at least you could point me to the line | 20:04 |
pgulley | okay, I'm running them again (I've just changed some things) | 20:05 |
replaceafill | ok | 20:05 |
pgulley | if it still fails to work, I'll push what I have | 20:05 |
replaceafill | you didn't have this problem in pycon, right? | 20:05 |
pgulley | nope, I did not. | 20:07 |
pgulley | It didn't work, I've pushed to my branch | 20:07 |
replaceafill | update_skills.txt? | 20:08 |
pgulley | yep | 20:09 |
replaceafill | on what line is dying? | 20:11 |
replaceafill | line 126? | 20:13 |
pgulley | 126 | 20:13 |
pgulley | yep | 20:13 |
replaceafill | well | 20:13 |
replaceafill | you closed student1 | 20:13 |
replaceafill | and then you're using it again | 20:13 |
replaceafill | shouldn't that be student2.... | 20:13 |
replaceafill | >>> student2.query.id("form-widgets-QuizItem-0").click() | 20:14 |
replaceafill | >>> import time; time.sleep(100) | 20:14 |
replaceafill | >>> student1.query.id("form-widgets-QuizItem-2-1").click() | 20:14 |
pgulley | Oh lord | 20:14 |
pgulley | yes | 20:14 |
pgulley | that | 20:14 |
pgulley | is what happend | 20:14 |
replaceafill | :) | 20:14 |
replaceafill | glad we found it quickly ;) | 20:14 |
pgulley | :) | 20:16 |
pgulley | danke schoen, again | 20:17 |
replaceafill | francais seulement sil vous plait ;) | 20:17 |
pgulley | Oui, monieur! | 20:22 |
pgulley | *monsieur | 20:22 |
replaceafill | :D | 20:22 |
*** th1a has quit IRC | 20:48 | |
pgulley | So one last thing, replaceafill | 20:55 |
replaceafill | yes? | 20:56 |
pgulley | with regards to pushing this fix to jeff's deployment | 20:56 |
pgulley | is that a safe thing to do, do you think? | 20:56 |
pgulley | It would also push the auto-save thing, etc. | 20:56 |
replaceafill | i'd separate the fix from the other feature | 20:57 |
replaceafill | unless you think the "auto-save" is ready? | 20:57 |
pgulley | Well, it passes tests. | 20:57 |
replaceafill | i saw you wrote a test for it, is it complete/strong? | 20:57 |
replaceafill | i think using miliseconds is confusing btw | 20:58 |
pgulley | I think so | 20:58 |
replaceafill | i mean, in the settings | 20:59 |
replaceafill | why don't you use seconds | 20:59 |
pgulley | the feature is simple enough that there aren't any fringe cases. | 20:59 |
replaceafill | and convert them in code | 20:59 |
pgulley | That was a thing I thought about- it was just a secondary thing. | 20:59 |
pgulley | worth doing now, you think? | 20:59 |
replaceafill | i'd suggest you clean those secondary things today, if you still have time | 21:00 |
replaceafill | and i'll review/merge during the weekend | 21:00 |
replaceafill | so jelkner can start using on monday | 21:00 |
pgulley | okay! I'll get on that then | 21:00 |
replaceafill | ok | 21:00 |
*** th1a has joined #schooltool | 21:09 | |
pgulley | Okay, I've pushed for today | 21:22 |
pgulley | I'm popping out, I think. | 21:24 |
pgulley | Merci, replaceafill, I'll talk to you Monday! | 21:24 |
*** pgulley has quit IRC | 21:29 | |
*** menesis has joined #schooltool | 22:01 | |
*** th1a has quit IRC | 22:10 | |
*** menesis has quit IRC | 23:01 | |
*** replaceafill has left #schooltool | 23:08 | |
*** th1a has joined #schooltool | 23:43 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!