IRC log of #schooltool for Thursday, 2007-08-16

*** pcardune has quit IRC00:16
*** Spec is now known as x-spec-t00:26
*** didymo has joined #schooltool00:57
*** pcardune has joined #schooltool01:21
*** pcardune has quit IRC01:59
*** rafaelfeito has quit IRC02:43
*** didymo has quit IRC03:40
aelknerjfroche: are you there?04:26
*** lameiro has joined #schooltool04:33
th1ahi lameiro05:19
*** lisppaste5 has quit IRC06:02
*** lisppaste5 has joined #schooltool06:08
lameirohi tom. i was sleeping, sorry for the delay07:19
lameiroth1a: hi tom. i was sleeping, sorry for the delay07:19
th1ahi lameiro.07:20
th1aDo we have test users and classes now?07:21
lameiroyes, in populate.py script.07:24
*** aelkner has quit IRC07:31
th1alameiro: Excellent.  Do I run default_db then populate?07:32
lameirono. default_db will populate the database i am planning to ship with (basically with some popular grading scales, categories and criteria), but not students or classes. i use populate.py to populate the db with everything needed to test gNota completely.07:34
th1aok07:35
th1alameiro: I'm not sure it is practical to use words as scores.07:38
th1a"pass" and "fail" are too much.07:38
th1aAlso, one serious UI problem is how to abbreviate the names of assignments, because the columns will need to be narrow.07:39
th1alameiro: Is there going to be a UI for managing scoresystems?07:40
lameirothere is. in edit->preferences07:41
*** didymo has joined #schooltool07:41
th1aAh.07:42
lameiroedit->preferences is the UI to set all the one-time preferences (scoresystems, criteria and categorires)07:42
th1aI wouldn't call that a preference.07:42
lameiroi couldn t think of a better name. :)07:42
th1aWell, I wouldn't put them under preferences.07:42
th1aPerhaps a "grading" menu?07:42
lameirocategories do not belong in grading, i think.07:43
lameiroand for the abbreviation of assignments, is it really needed? i don't see an use case with more than 10 assignments, but I don't know.07:45
th1aI think it is better than preferences.07:45
lameirosure07:45
th1aYou mean, you can't imagine having more than 10 assignments in a grading period?07:45
lameiroyes. at least in the schools I studied I never had more than 3 exams and maybe 1 or 2 projects... but the world is very big :)07:46
th1aYes.  Some teachers make an entry for every homework assignment.07:47
lameiroI will limit the column size to maybe 4 or 5 chars. That will give more than 25+ assignments, I think. and put that list inside a scrolled window...07:49
th1aSo I haven't been giving you feedback on some of this because I hadn't found the Preference pane :-p07:49
th1aThis may actually be a good time to try to at least put a tarball together and send out a little announcement to some of the education-related mailing lists.07:50
lameirosure, I was planning to do it after addressing your concerns07:51
th1aOK.07:52
th1aI think we missed one obvious use case in terms of scoring.07:52
lameiro?07:52
th1aIt is a little more free-form.07:52
th1aEssentially, give each individual assignment an arbitrary number of points.07:53
th1aI mean, like, this quiz has 16 questions.07:53
th1aThe next quiz has 14.07:53
th1aWhatever.07:53
th1aYou score each one based on the number of points.07:54
th1aHm...07:54
lameiroit is possible to do now but quite boring. you would have to create a new scoresystem for each quizz07:54
th1aThis is the point.07:54
th1aThen for the final grade it just totals up the overall percentage.07:55
th1aI think in SchoolTool we had a class? of scoresystems that were just an arbitrary range of numbers like this.07:56
lameiroi also do. in fact, i saw this class you are refering to.07:56
lameiroRangedValuesScoreSystem07:56
th1ayes.07:56
lameiro:)07:56
th1aCan we use that?07:57
lameiroyes, the thing is that it is not really ranged, because it is not possible to have 15.4 points in a 16-question quiz07:57
th1aOh, it's possible ;-)07:58
th1aBut generally it is integers.07:58
th1aIs that what you mean?07:58
lameiroyes, sure. you ar eright07:59
th1aWe need buttons.08:00
lameiro?08:00
th1aLike an "add an activity" toolbar button.08:00
lameiroand it would add to the currently selected class?08:00
lameiro(the class selected in the main window?)08:00
th1aIn many cases it would be added to multiple classes.08:01
th1alameiro: This is the most common routine: making an activity and grading it.08:11
th1aSo it needs to be obvious.08:11
lameiroagreed08:12
Lumierelameiro: non-integer scores are almost exclusively from like math classes where you can give like .8 for doing the problem properly but making a small arithmatic error08:12
th1aLumiere: Or just generally insane, anal teachers in any subject.08:13
Lumiereyes\08:13
Lumiereanyways I am still trying to write the doc for you08:13
Lumierebut work today was not <308:13
Lumiereand my wrist is acting up08:13
Lumiereso I may not be using a computer tomorrow08:13
th1aLumiere: I sent my invoices to Mark yesterday and mentioned a report was pending from you.08:14
lameiroLumiere: yes, but I was thinking about non-integer scores for multiple-choice tests.08:14
Lumierekk08:14
th1aSo the big guy is expecting it ;-)08:14
LumiereI guess I really need to write it well then08:14
* Lumiere goes to sleep on it08:14
th1aLumiere: Good night.08:14
lameiroLumiere: bye08:15
*** jfroche has quit IRC09:34
*** x-spec-t has quit IRC10:07
*** Aiste has joined #schooltool10:19
*** jfroche has joined #schooltool11:25
*** jfroche has quit IRC12:08
*** jfroche_ has joined #schooltool12:08
lameiroth1a: do you think it is good enough to add a scrollbar to the "spreadsheet"? I was trying to ellipsize the strings in the column header but it didnt really help any to reduce the space. Do you have any better idea instead of a scrollbar?12:26
*** jfroche_ has quit IRC12:52
*** jfroche__ has joined #schooltool12:52
*** jfroche__ has quit IRC13:13
*** jfroche_ has joined #schooltool13:13
*** didymo has quit IRC13:13
*** jfroche__ has joined #schooltool13:19
*** jfroche_ has quit IRC13:34
*** lameiro has quit IRC13:47
*** jfroche__ has quit IRC14:16
*** jfroche has joined #schooltool15:00
*** mgedmin has joined #schooltool15:32
*** jfroche has quit IRC15:33
*** jfroche has joined #schooltool15:33
*** jfroche has quit IRC16:08
*** jfroche has joined #schooltool16:09
*** jfroche has quit IRC16:09
*** jfroche has joined #schooltool16:16
*** jfroche has quit IRC16:50
*** jfroche_ has joined #schooltool16:50
*** jfroche_ has quit IRC17:02
*** jfroche_ has joined #schooltool17:02
*** jfroche_ has quit IRC17:02
*** jhancock has joined #schooltool18:09
*** jhancock has quit IRC18:21
* Lumiere huggles19:45
Lumiereoh interesting19:45
Lumierenot the alias I was looknig for19:45
* Lumiere is amazed that he has a huggles alias...19:46
*** aelkner has joined #schooltool20:16
Lumierehi aelkner20:34
aelknerhey jason20:34
*** jfroche has joined #schooltool20:48
*** mgedmin has quit IRC20:52
*** pcardune has joined #schooltool20:52
aelknerpcardune: fyi, the ViewletManagerBase's update method, where the viewlets are looked up for a given manager, uses self.context for the adapter lookup20:54
aelknerso i couldn't register the viewlets for a view class20:54
aelknerbut20:54
aelknerif you look at my diff, you will see that i got it to work20:54
aelknerusing ISectionView as a marker interface20:54
aelknerso even if you question my method, i doubt you could offer an alterniative20:55
aelknerpcardune: ping20:55
pcarduneI would only question your method if I could offer an alternative21:06
*** sudinf has joined #schooltool21:11
aelknerpcardune: nice restatement of my point.  you should be a statesman :)21:17
aelkneri could change the marker interface to be something else i guess21:17
aelknerinstead of ISectionView21:17
sudinfdoes the school tool have a code(any language) testing module21:18
pcarduneIt is just important that the name of the marker interface, and its docstring, reflect its usage/purpose21:18
sudinfan online judge kind of module21:19
aelkneri'll change it21:19
pcardunesudinf: you mean, like students submit code, and it gets automatically tested?21:19
sudinf?21:19
pcardunesudinf: I'm not sure what you mean21:19
pcardunewhat is the "online judge" supposed to be judging?21:20
sudinfpcardune: just check www.spoj.pl/submit21:22
* pcardune looks21:22
sudinfwhen a solution to a problem is provided the module checks for the solution and returns back the result21:22
sudinfor mentions whether the submitted solution is right21:23
pcarduneah, I see21:23
sudinfit has a pre-defined test cases and then it cheks and replys21:23
pcarduneno, we don't have anything quite like that21:24
pcardunethose closest thing that it of a similar nature is what we call doctestquiz21:24
sudinfI would like to develop one actually21:24
sudinfsomething like that21:24
pcardunewhich you can find in cando.quiz21:24
pcarduneit was never completely finished and won't be included in our releases... but it is similar21:25
pcardunepython only though21:25
pcarduneI wonder how this Sphere Online Judge thing handles malicious code?21:25
sudinfthats actually amazing21:26
pcarduneI know that with cano.quiz, we jumped through a few hoops to use a special python interpreter that protects against any kind of system calls among other things21:26
sudinfI am infact using the same for the past 3 months and have not seen the site crash even once21:26
pcardunesudinf: I can only imagine it working if they were to spawn entire virtual machines for running the code... that would be pretty cool21:27
sudinfthats a good ide21:28
Lumierepcardune: they run a hacked java/c21:28
sudinf*idea21:28
Lumiereto prevent use of certain libs21:28
Lumiereand I assume they hand it off to compile/test machines21:29
Lumierethat can be pulled if something happens21:29
pcarduneand i guess all the other languages are built on java and c?21:29
pcarduneI mean, they have a lot of languages on there21:29
pcarduneI just wouldn't want to be the sysadmin for that kind of project... lol21:30
Lumierepcardune: you're telling me21:30
LumiereI've run a couple of those contests21:31
Lumierethey're a pain21:31
Lumiereanyways the whoe spoj thing is designed for ACM contest participants21:31
sudinfLumiere: how exactly do you do it without a server crash21:31
Lumiere1) don't run compiles on the webserver21:32
sudinfok21:32
sudinfbut where then21:32
Lumiere2) use throw away machines to compile on... that are honeypotted so you gather all the data when something happens21:32
sudinfhoneypotted21:33
sudinf??21:33
Lumiere2) hack your compilers to stop 99.99% of the ways to hack a system21:33
Lumierehoneypot is a term to refer to making a system that looks open21:33
Lumierebut once you get into it21:33
Lumiereit tracks all your moves21:34
Lumiereand hands it all to a sysadmin21:34
pcarduneha ha, that is a great name21:34
Lumierepcardune: yes21:34
Lumiereyou stick your hand in a pot of honey21:34
Lumiereand all you're going to get is sticky21:34
pcarduneso the content organizers can go to the person who submitted the code and smack them with the long list of system calls?21:34
pcardunelol21:34
Lumiereyes21:34
Lumierebut I doubt they get many incursions21:35
Lumierebecause of 321:35
Lumiere(which is mislabeld 2 ;))21:35
sudinfis there any such independent module available which kind of automates this task21:35
Lumiereno idea21:35
Lumiereask spoj21:35
sudinfah!!..... ok21:35
sudinfLumiere: you did the coding from scratch is it??21:37
pcardunesudinf: our quiz module is such that you could actually use it as an online python interpreter... the web server itself processes the code21:37
pcardunelike the thing ruby has21:37
sudinfI got it21:39
sudinfhow efficient is it21:39
LumiereI didn't do anything21:39
LumiereI used existing resources21:39
pcarduneI imagine it is just as efficient as running python normally (minus the html generation)21:41
sudinfok21:43
sudinfpcardune: and what happened to the doctestquiz21:44
sudinfis it still active21:44
sudinf??21:44
pcarduneno, we did not have the funds/time to continue working on it21:44
pcarduneBut there it is still on the table as something that will be done in the future, but there is no time frame set at this point21:45
sudinfbut is it of some kind that I am talking about21:46
sudinfif it is so then I am ready to work on the same21:47
pcardunesudinf: it is certainly similar21:47
pcardunesudinf: you should contact Jeff Elkner if you are interested in working on it21:47
pcarduneHe would *love* for someone to do it21:48
pcarduneyou might also be interested in another project: http://crunchy.sf.net21:48
aelknerI can echo that sentiment as he's my brother, and i hear him talking about it often21:48
sudinfcan I get his email address please321:48
sudinf*please21:48
aelknerjeff.elkner@gmail.com21:49
sudinfi will be sending a mail to him21:49
aelknerjeff talks about crunchy a lot, but he hasn't pulled together the resources to get it doing everything he wants21:50
aelkneryou will definitely be interested in talking with him21:50
aelknerpcardune: may I change the subject and ask you to work with me on the new skin please21:50
pcarduneaelkner: sure21:51
aelknerso i took your advice and created my own marker interface21:51
sudinfwait!! may i get his nick please21:51
aelknerjelkner?21:51
aelkneryou mean here?21:51
sudinfyes21:52
aelknerjelkner then21:52
aelknerpcardune: i also rearranged his code a little to make it more readable21:52
aelkneranyway21:52
sudinfthanks21:52
aelknerdid you notice global competencies don't work?21:53
pcarduneaelkner: let me start up my instance21:53
aelknercould you explain the reason behind ++competencies++21:53
aelknerok21:53
aelknerdoing a grep of all of cando source on ++comp reveals mostly only tests21:54
aelknerand config for menu items21:54
pcarduneso, back in the day, before schooltool.traversing existed, they way you did custom traversal goodness in a normal fashion was to use "name space traversers"21:54
pcarduneyou will notice that there are already a lot of namespace traversers in zope...21:54
pcardune++skin++21:54
pcardune++vhost++ (that might be ++virtualhost++)21:55
aelkneri noticed but never fully understood21:55
pcarduneWell, it has been so long, that I'm a bit fuzzy on how it all works21:55
aelknerthere's only one line of code that refers to ++competencies21:56
pcarduneanyhow, that is why there is ++competencies++, because it is defined as a namespace traverser21:56
aelknerline 191 of cando.virginia.competency21:56
pcarduneright, probably because when you define a namespace traverser, you give it just the name, without the ++21:56
pcarduneand by nature of it being a "namespace traverser" and registered as such, zope adds the ++21:56
aelknerso i should grep without the ++21:56
pcarduneyeah, but then you will get *lots* of stuff that is less relevant I imagine21:57
pcardunebut it is all in cando.virginia.competency21:58
aelkneri found a clas called competenciesNamespace21:58
pcarduneaelkner: yeah, that is the one21:59
aelknerand i found it registered as a view called "competencies" for .interfaces.IHaveCompetencies providing zope.traversing.interfaces.ITraversable22:00
aelknerso that's all it takes to create a namespace traversal adapter, eh?22:00
pcardunepossibly22:00
pcarduneit was a long time ago that i dealt with that22:01
aelknerwell i could use your consult on this before i lose you to school22:02
aelknerany recollections WILL be helpful22:02
* pcardune is currently looking through that code22:03
aelknerand if you could clean up anything that is superfluous that would also be very helpful22:04
pcarduneI guess you just need to register the competenciesNamespace class as a view and an adapter, and define that class as well22:05
pcarduneand make sure that whatever it returns gets located22:05
aelknerit's already defined and registered22:06
aelknerhey, could you call me?22:06
pcarduneyes22:07
aelkner267-886-928522:08
pcarduneaelkner: are you the person to talk to for css fixes by chance? or are we still giving those to filip?22:08
aelkneri think filip would be a good choice for that22:08
*** pcardune has quit IRC22:34
*** jfroche_ has joined #schooltool23:08
*** jfroche has quit IRC23:09
*** sudinf has quit IRC23:58

Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!