*** pcardune has quit IRC | 00:16 | |
*** Spec is now known as x-spec-t | 00:26 | |
*** didymo has joined #schooltool | 00:57 | |
*** pcardune has joined #schooltool | 01:21 | |
*** pcardune has quit IRC | 01:59 | |
*** rafaelfeito has quit IRC | 02:43 | |
*** didymo has quit IRC | 03:40 | |
aelkner | jfroche: are you there? | 04:26 |
---|---|---|
*** lameiro has joined #schooltool | 04:33 | |
th1a | hi lameiro | 05:19 |
*** lisppaste5 has quit IRC | 06:02 | |
*** lisppaste5 has joined #schooltool | 06:08 | |
lameiro | hi tom. i was sleeping, sorry for the delay | 07:19 |
lameiro | th1a: hi tom. i was sleeping, sorry for the delay | 07:19 |
th1a | hi lameiro. | 07:20 |
th1a | Do we have test users and classes now? | 07:21 |
lameiro | yes, in populate.py script. | 07:24 |
*** aelkner has quit IRC | 07:31 | |
th1a | lameiro: Excellent. Do I run default_db then populate? | 07:32 |
lameiro | no. 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 |
th1a | ok | 07:35 |
th1a | lameiro: I'm not sure it is practical to use words as scores. | 07:38 |
th1a | "pass" and "fail" are too much. | 07:38 |
th1a | Also, one serious UI problem is how to abbreviate the names of assignments, because the columns will need to be narrow. | 07:39 |
th1a | lameiro: Is there going to be a UI for managing scoresystems? | 07:40 |
lameiro | there is. in edit->preferences | 07:41 |
*** didymo has joined #schooltool | 07:41 | |
th1a | Ah. | 07:42 |
lameiro | edit->preferences is the UI to set all the one-time preferences (scoresystems, criteria and categorires) | 07:42 |
th1a | I wouldn't call that a preference. | 07:42 |
lameiro | i couldn t think of a better name. :) | 07:42 |
th1a | Well, I wouldn't put them under preferences. | 07:42 |
th1a | Perhaps a "grading" menu? | 07:42 |
lameiro | categories do not belong in grading, i think. | 07:43 |
lameiro | and 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 |
th1a | I think it is better than preferences. | 07:45 |
lameiro | sure | 07:45 |
th1a | You mean, you can't imagine having more than 10 assignments in a grading period? | 07:45 |
lameiro | yes. 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 |
th1a | Yes. Some teachers make an entry for every homework assignment. | 07:47 |
lameiro | I 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 |
th1a | So I haven't been giving you feedback on some of this because I hadn't found the Preference pane :-p | 07:49 |
th1a | This 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 |
lameiro | sure, I was planning to do it after addressing your concerns | 07:51 |
th1a | OK. | 07:52 |
th1a | I think we missed one obvious use case in terms of scoring. | 07:52 |
lameiro | ? | 07:52 |
th1a | It is a little more free-form. | 07:52 |
th1a | Essentially, give each individual assignment an arbitrary number of points. | 07:53 |
th1a | I mean, like, this quiz has 16 questions. | 07:53 |
th1a | The next quiz has 14. | 07:53 |
th1a | Whatever. | 07:53 |
th1a | You score each one based on the number of points. | 07:54 |
th1a | Hm... | 07:54 |
lameiro | it is possible to do now but quite boring. you would have to create a new scoresystem for each quizz | 07:54 |
th1a | This is the point. | 07:54 |
th1a | Then for the final grade it just totals up the overall percentage. | 07:55 |
th1a | I think in SchoolTool we had a class? of scoresystems that were just an arbitrary range of numbers like this. | 07:56 |
lameiro | i also do. in fact, i saw this class you are refering to. | 07:56 |
lameiro | RangedValuesScoreSystem | 07:56 |
th1a | yes. | 07:56 |
lameiro | :) | 07:56 |
th1a | Can we use that? | 07:57 |
lameiro | yes, the thing is that it is not really ranged, because it is not possible to have 15.4 points in a 16-question quiz | 07:57 |
th1a | Oh, it's possible ;-) | 07:58 |
th1a | But generally it is integers. | 07:58 |
th1a | Is that what you mean? | 07:58 |
lameiro | yes, sure. you ar eright | 07:59 |
th1a | We need buttons. | 08:00 |
lameiro | ? | 08:00 |
th1a | Like an "add an activity" toolbar button. | 08:00 |
lameiro | and it would add to the currently selected class? | 08:00 |
lameiro | (the class selected in the main window?) | 08:00 |
th1a | In many cases it would be added to multiple classes. | 08:01 |
th1a | lameiro: This is the most common routine: making an activity and grading it. | 08:11 |
th1a | So it needs to be obvious. | 08:11 |
lameiro | agreed | 08:12 |
Lumiere | lameiro: 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 error | 08:12 |
th1a | Lumiere: Or just generally insane, anal teachers in any subject. | 08:13 |
Lumiere | yes\ | 08:13 |
Lumiere | anyways I am still trying to write the doc for you | 08:13 |
Lumiere | but work today was not <3 | 08:13 |
Lumiere | and my wrist is acting up | 08:13 |
Lumiere | so I may not be using a computer tomorrow | 08:13 |
th1a | Lumiere: I sent my invoices to Mark yesterday and mentioned a report was pending from you. | 08:14 |
lameiro | Lumiere: yes, but I was thinking about non-integer scores for multiple-choice tests. | 08:14 |
Lumiere | kk | 08:14 |
th1a | So the big guy is expecting it ;-) | 08:14 |
Lumiere | I guess I really need to write it well then | 08:14 |
* Lumiere goes to sleep on it | 08:14 | |
th1a | Lumiere: Good night. | 08:14 |
lameiro | Lumiere: bye | 08:15 |
*** jfroche has quit IRC | 09:34 | |
*** x-spec-t has quit IRC | 10:07 | |
*** Aiste has joined #schooltool | 10:19 | |
*** jfroche has joined #schooltool | 11:25 | |
*** jfroche has quit IRC | 12:08 | |
*** jfroche_ has joined #schooltool | 12:08 | |
lameiro | th1a: 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 IRC | 12:52 | |
*** jfroche__ has joined #schooltool | 12:52 | |
*** jfroche__ has quit IRC | 13:13 | |
*** jfroche_ has joined #schooltool | 13:13 | |
*** didymo has quit IRC | 13:13 | |
*** jfroche__ has joined #schooltool | 13:19 | |
*** jfroche_ has quit IRC | 13:34 | |
*** lameiro has quit IRC | 13:47 | |
*** jfroche__ has quit IRC | 14:16 | |
*** jfroche has joined #schooltool | 15:00 | |
*** mgedmin has joined #schooltool | 15:32 | |
*** jfroche has quit IRC | 15:33 | |
*** jfroche has joined #schooltool | 15:33 | |
*** jfroche has quit IRC | 16:08 | |
*** jfroche has joined #schooltool | 16:09 | |
*** jfroche has quit IRC | 16:09 | |
*** jfroche has joined #schooltool | 16:16 | |
*** jfroche has quit IRC | 16:50 | |
*** jfroche_ has joined #schooltool | 16:50 | |
*** jfroche_ has quit IRC | 17:02 | |
*** jfroche_ has joined #schooltool | 17:02 | |
*** jfroche_ has quit IRC | 17:02 | |
*** jhancock has joined #schooltool | 18:09 | |
*** jhancock has quit IRC | 18:21 | |
* Lumiere huggles | 19:45 | |
Lumiere | oh interesting | 19:45 |
Lumiere | not the alias I was looknig for | 19:45 |
* Lumiere is amazed that he has a huggles alias... | 19:46 | |
*** aelkner has joined #schooltool | 20:16 | |
Lumiere | hi aelkner | 20:34 |
aelkner | hey jason | 20:34 |
*** jfroche has joined #schooltool | 20:48 | |
*** mgedmin has quit IRC | 20:52 | |
*** pcardune has joined #schooltool | 20:52 | |
aelkner | pcardune: fyi, the ViewletManagerBase's update method, where the viewlets are looked up for a given manager, uses self.context for the adapter lookup | 20:54 |
aelkner | so i couldn't register the viewlets for a view class | 20:54 |
aelkner | but | 20:54 |
aelkner | if you look at my diff, you will see that i got it to work | 20:54 |
aelkner | using ISectionView as a marker interface | 20:54 |
aelkner | so even if you question my method, i doubt you could offer an alterniative | 20:55 |
aelkner | pcardune: ping | 20:55 |
pcardune | I would only question your method if I could offer an alternative | 21:06 |
*** sudinf has joined #schooltool | 21:11 | |
aelkner | pcardune: nice restatement of my point. you should be a statesman :) | 21:17 |
aelkner | i could change the marker interface to be something else i guess | 21:17 |
aelkner | instead of ISectionView | 21:17 |
sudinf | does the school tool have a code(any language) testing module | 21:18 |
pcardune | It is just important that the name of the marker interface, and its docstring, reflect its usage/purpose | 21:18 |
sudinf | an online judge kind of module | 21:19 |
aelkner | i'll change it | 21:19 |
pcardune | sudinf: you mean, like students submit code, and it gets automatically tested? | 21:19 |
sudinf | ? | 21:19 |
pcardune | sudinf: I'm not sure what you mean | 21:19 |
pcardune | what is the "online judge" supposed to be judging? | 21:20 |
sudinf | pcardune: just check www.spoj.pl/submit | 21:22 |
* pcardune looks | 21:22 | |
sudinf | when a solution to a problem is provided the module checks for the solution and returns back the result | 21:22 |
sudinf | or mentions whether the submitted solution is right | 21:23 |
pcardune | ah, I see | 21:23 |
sudinf | it has a pre-defined test cases and then it cheks and replys | 21:23 |
pcardune | no, we don't have anything quite like that | 21:24 |
pcardune | those closest thing that it of a similar nature is what we call doctestquiz | 21:24 |
sudinf | I would like to develop one actually | 21:24 |
sudinf | something like that | 21:24 |
pcardune | which you can find in cando.quiz | 21:24 |
pcardune | it was never completely finished and won't be included in our releases... but it is similar | 21:25 |
pcardune | python only though | 21:25 |
pcardune | I wonder how this Sphere Online Judge thing handles malicious code? | 21:25 |
sudinf | thats actually amazing | 21:26 |
pcardune | I 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 things | 21:26 |
sudinf | I am infact using the same for the past 3 months and have not seen the site crash even once | 21:26 |
pcardune | sudinf: I can only imagine it working if they were to spawn entire virtual machines for running the code... that would be pretty cool | 21:27 |
sudinf | thats a good ide | 21:28 |
Lumiere | pcardune: they run a hacked java/c | 21:28 |
sudinf | *idea | 21:28 |
Lumiere | to prevent use of certain libs | 21:28 |
Lumiere | and I assume they hand it off to compile/test machines | 21:29 |
Lumiere | that can be pulled if something happens | 21:29 |
pcardune | and i guess all the other languages are built on java and c? | 21:29 |
pcardune | I mean, they have a lot of languages on there | 21:29 |
pcardune | I just wouldn't want to be the sysadmin for that kind of project... lol | 21:30 |
Lumiere | pcardune: you're telling me | 21:30 |
Lumiere | I've run a couple of those contests | 21:31 |
Lumiere | they're a pain | 21:31 |
Lumiere | anyways the whoe spoj thing is designed for ACM contest participants | 21:31 |
sudinf | Lumiere: how exactly do you do it without a server crash | 21:31 |
Lumiere | 1) don't run compiles on the webserver | 21:32 |
sudinf | ok | 21:32 |
sudinf | but where then | 21:32 |
Lumiere | 2) use throw away machines to compile on... that are honeypotted so you gather all the data when something happens | 21:32 |
sudinf | honeypotted | 21:33 |
sudinf | ?? | 21:33 |
Lumiere | 2) hack your compilers to stop 99.99% of the ways to hack a system | 21:33 |
Lumiere | honeypot is a term to refer to making a system that looks open | 21:33 |
Lumiere | but once you get into it | 21:33 |
Lumiere | it tracks all your moves | 21:34 |
Lumiere | and hands it all to a sysadmin | 21:34 |
pcardune | ha ha, that is a great name | 21:34 |
Lumiere | pcardune: yes | 21:34 |
Lumiere | you stick your hand in a pot of honey | 21:34 |
Lumiere | and all you're going to get is sticky | 21:34 |
pcardune | so the content organizers can go to the person who submitted the code and smack them with the long list of system calls? | 21:34 |
pcardune | lol | 21:34 |
Lumiere | yes | 21:34 |
Lumiere | but I doubt they get many incursions | 21:35 |
Lumiere | because of 3 | 21:35 |
Lumiere | (which is mislabeld 2 ;)) | 21:35 |
sudinf | is there any such independent module available which kind of automates this task | 21:35 |
Lumiere | no idea | 21:35 |
Lumiere | ask spoj | 21:35 |
sudinf | ah!!..... ok | 21:35 |
sudinf | Lumiere: you did the coding from scratch is it?? | 21:37 |
pcardune | sudinf: our quiz module is such that you could actually use it as an online python interpreter... the web server itself processes the code | 21:37 |
pcardune | like the thing ruby has | 21:37 |
sudinf | I got it | 21:39 |
sudinf | how efficient is it | 21:39 |
Lumiere | I didn't do anything | 21:39 |
Lumiere | I used existing resources | 21:39 |
pcardune | I imagine it is just as efficient as running python normally (minus the html generation) | 21:41 |
sudinf | ok | 21:43 |
sudinf | pcardune: and what happened to the doctestquiz | 21:44 |
sudinf | is it still active | 21:44 |
sudinf | ?? | 21:44 |
pcardune | no, we did not have the funds/time to continue working on it | 21:44 |
pcardune | But 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 point | 21:45 |
sudinf | but is it of some kind that I am talking about | 21:46 |
sudinf | if it is so then I am ready to work on the same | 21:47 |
pcardune | sudinf: it is certainly similar | 21:47 |
pcardune | sudinf: you should contact Jeff Elkner if you are interested in working on it | 21:47 |
pcardune | He would *love* for someone to do it | 21:48 |
pcardune | you might also be interested in another project: http://crunchy.sf.net | 21:48 |
aelkner | I can echo that sentiment as he's my brother, and i hear him talking about it often | 21:48 |
sudinf | can I get his email address please3 | 21:48 |
sudinf | *please | 21:48 |
aelkner | jeff.elkner@gmail.com | 21:49 |
sudinf | i will be sending a mail to him | 21:49 |
aelkner | jeff talks about crunchy a lot, but he hasn't pulled together the resources to get it doing everything he wants | 21:50 |
aelkner | you will definitely be interested in talking with him | 21:50 |
aelkner | pcardune: may I change the subject and ask you to work with me on the new skin please | 21:50 |
pcardune | aelkner: sure | 21:51 |
aelkner | so i took your advice and created my own marker interface | 21:51 |
sudinf | wait!! may i get his nick please | 21:51 |
aelkner | jelkner? | 21:51 |
aelkner | you mean here? | 21:51 |
sudinf | yes | 21:52 |
aelkner | jelkner then | 21:52 |
aelkner | pcardune: i also rearranged his code a little to make it more readable | 21:52 |
aelkner | anyway | 21:52 |
sudinf | thanks | 21:52 |
aelkner | did you notice global competencies don't work? | 21:53 |
pcardune | aelkner: let me start up my instance | 21:53 |
aelkner | could you explain the reason behind ++competencies++ | 21:53 |
aelkner | ok | 21:53 |
aelkner | doing a grep of all of cando source on ++comp reveals mostly only tests | 21:54 |
aelkner | and config for menu items | 21:54 |
pcardune | so, 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 |
pcardune | you 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 |
aelkner | i noticed but never fully understood | 21:55 |
pcardune | Well, it has been so long, that I'm a bit fuzzy on how it all works | 21:55 |
aelkner | there's only one line of code that refers to ++competencies | 21:56 |
pcardune | anyhow, that is why there is ++competencies++, because it is defined as a namespace traverser | 21:56 |
aelkner | line 191 of cando.virginia.competency | 21:56 |
pcardune | right, probably because when you define a namespace traverser, you give it just the name, without the ++ | 21:56 |
pcardune | and by nature of it being a "namespace traverser" and registered as such, zope adds the ++ | 21:56 |
aelkner | so i should grep without the ++ | 21:56 |
pcardune | yeah, but then you will get *lots* of stuff that is less relevant I imagine | 21:57 |
pcardune | but it is all in cando.virginia.competency | 21:58 |
aelkner | i found a clas called competenciesNamespace | 21:58 |
pcardune | aelkner: yeah, that is the one | 21:59 |
aelkner | and i found it registered as a view called "competencies" for .interfaces.IHaveCompetencies providing zope.traversing.interfaces.ITraversable | 22:00 |
aelkner | so that's all it takes to create a namespace traversal adapter, eh? | 22:00 |
pcardune | possibly | 22:00 |
pcardune | it was a long time ago that i dealt with that | 22:01 |
aelkner | well i could use your consult on this before i lose you to school | 22:02 |
aelkner | any recollections WILL be helpful | 22:02 |
* pcardune is currently looking through that code | 22:03 | |
aelkner | and if you could clean up anything that is superfluous that would also be very helpful | 22:04 |
pcardune | I guess you just need to register the competenciesNamespace class as a view and an adapter, and define that class as well | 22:05 |
pcardune | and make sure that whatever it returns gets located | 22:05 |
aelkner | it's already defined and registered | 22:06 |
aelkner | hey, could you call me? | 22:06 |
pcardune | yes | 22:07 |
aelkner | 267-886-9285 | 22:08 |
pcardune | aelkner: are you the person to talk to for css fixes by chance? or are we still giving those to filip? | 22:08 |
aelkner | i think filip would be a good choice for that | 22:08 |
*** pcardune has quit IRC | 22:34 | |
*** jfroche_ has joined #schooltool | 23:08 | |
*** jfroche has quit IRC | 23:09 | |
*** sudinf has quit IRC | 23:58 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!