Hi Gwern, I accept some of that, and certainly don't want to argue with you. I always read your posts with great interest, and I know you are generally very helpful to newbies. But just reread his posts and mentally replace 'access to the decks' with 'user access to the decks', not programmatic access. That logically implies the GUI (even if he had not thought the details through), because that's how the student usually *does* have access. It does not follow, then, that the scheduling need be hampered in any way by switching off user-initiated content-editing. All the discussion about mnemosyne needing file access to write scheduling data is simply tangential to his inquiry, and I don't think he misunderstood this so much as ignored it because it was irrelevant, or he failed to see why you all linked user-access to cards with programmatic-access to files. I also have trouble seeing why these need to be treated as inseparable - it never occurred to me to implement his request by letting the user edit the deck and then blocking the program at the write stage. *Of course* you would be better to block the user at the GUI before any editing took place. (This is especially true if the scheduling data and content data are in the same file, but the GUI would still be the natural blocking point regardless of where the data was. If nothing else, it would be unkind to let legitimate users waste time doing editing if their changes could not then be saved.).
I think it is more of a miscommunication than anything else. And sure, he got annoyed, which is somewhat understandable given that he was basically called an idiot. To some extent, I could not help posting in his defence because the list was getting increasingly agitated in its claims that the feature was way beyond the scope of mnemosyne, was inconsistent with the aims of SRS, and required major restructuring - which all seemed somewhat silly when I had already implemented it in another context, with very little effort, and the extra lines of code required were about the same length as this post. And I still don't think it would take more than an evening of programming to add it to mnemosyne. After all, we are simply talking about removing the editing features for some users. Adding encryption should not be much extra work, though I am not familiar with python and maybe it is much harder in that language. As for worrying that people will rip off his decks, that is a whole separate issue. I have no real interest in preventing people from exchanging decks. It would be possible to encrypt the files, sure, but the dedicated rip-off artist could always write the cards down as they appeared. I'd be interested in knowing what the decks contained that they were considered such hot property. Or maybe his points about ripping material off the internet still related to the bully's capacity to sneak in cards like 'to sit = scheißen'. Now we'll never know. Of course, if his bullies are also geniuses, then they could always write their own plug-in to undo whatever protection is created. That seems a little unlikely, though. The ability to delete the files is a separate problem, not fixable by any change to mnemosyne, though it would be possible to give the files cryptic names so the bully had no idea what he was deleting. And it would be easy enough for the teacher, at the end of every lesson, to back up all user files with a one-line batch program. Cheers, Craig. On Nov 19, 10:52 am, Gwern Branwen <[email protected]> wrote: > On Wed, Nov 18, 2009 at 5:52 PM, [email protected] > > > > <[email protected]> wrote: > > >> > I do not see a contradiction between using spaced repetition, which I > >> > want, > >> > and preventing access to decks. You fail to explain how those two > >> > concepts > >> > naturally exclude each other by their very nature. > > >> There may be some confusion as to what "write access" means. ... SNIP ... > >> From an application perspective, you might be thinking of "write > >> access" as the ability to add/remove/edit the contents of a "deck". > > > Exactly. I'm pleased someone understands this, besides the original > > poster. As I said, denying the *program* access and denying the > > *student/user* acccess are not the same thing, which is why the > > different data types do not have to be in a different file. The > > control can be blocked at the level of the GUI, and the OP didn't ask > > for anything more than the optional removal of the editing facility. > > It was others, not him, who made assumptions that revealed their > > ignorance. > > "Would it be possible to lock the cards so that no one could add, > change, or alter the content of any card except the creator?" > "I would just like some encryption or password protection." > "Otherwise some students can fail quizes because of missing > vocabulary, or claim they failed because the class bully deleted > cards. I need to stop any malicious tampering with decks." > "So, in layman's terms, it is impossible to protect my vocabulary from > being ripped off the Internet, loaded on a computer, have some words > altered, and resaved as the exact same deck?" > > I suppose if one squinted really hard, one could read that as 'disable > parts of the GUI'. > > But he *is* ignorant: > > "I do not see a contradiction between using spaced repetition, which I > want, and preventing access to decks. You fail to explain how those > two concepts naturally exclude each other by their very nature." > > After people had multiple times explained to him that the cards and > metadata are in the same file, and remembering that SRS is *defined* > as changing the intervals between repetition! Where is Mnemosyne going > to get the change in intervals from if it cannot save any data? Out of > thin air? By asking its fairy godmother? > > If he only wanted Mnemosyne to not do SRS (and just display cards), > then something could be done - the deck/.mem file could be created as > usual, and then changed to be owned by root but still world-readable. > Mnemosyne would crash or something upon exiting, since it wouldn't be > able to write the recorded grades, but the actual review would still > work. If he wanted Mnemosyne to do SRS, then he needs to allow writing > and there are many solutions to that as well. But he wants SRS and > not-writing, which preclude each other. > > No, this man is beyond our ability to help. Sometimes that happens; > sometimes people are idiotic or refuse to think or are arrogant or > have some other flaw. Once that is ascertained, they must be ignored > in the hope they will go away before doing any more damage (like this > whole acrimonious thread), and forgotten about unless they start > spreading their venom elsewhere. > > -- > gwern -- You received this message because you are subscribed to the Google Groups "mnemosyne-proj-users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/mnemosyne-proj-users?hl=.
