Re: id field
David Calinski <[email protected]> Tue, 11 Nov 2003 14:57:09 +0100
| Newsgroups | gmane.comp.tools.memaid.devel |
|---|---|
| Message-ID | <[email protected]> |
On Tuesday 11 of November 2003 12:42, Fernando Antonio Mac Cracken Cezar wrote: > > I's bad to write such thing to import items *directly* to MemAid database > > (elements.* file). But doing so you mess up with items - imported items > > will miss data from initial 'review', interval will be... ahem. Yuck! > > I was actually thinking of importing words into a brand new created DB > and not into an DB *in production*. It doesn't matter in this case - MemAid database is MemAid database,. MemAid keeps there elements that are already in *learning process*. Any element in learning process has some parameters (like: grade from last review, or the first 'review' - presentation), which are heavily used to compute next intervals, but also to give ANN feedback later. If you miss these parameters (or give bad ones), you will make a mess in MemAid database, MemAid will give bad feedback to ANN on next repetition of every item, and it will finally result in just inferior new intervals from ANN later, making all learning process unoptimal. > > (BTW: a script in contrib_1 package that imports data to MemAid format, > > is a pretty good example of a something one should never do, unless one > > imports data from another supermemo/memaid-like software, where items > > were *already* in a learning process.) > > That is what I also want ... to import SuperMemo DBs. If we talk about SuperMemo on PC, and most recent versions: it would very very hard. I myself have about 14000 elements in SuperMemo learning databases. (in learning process), so I was very interested in making such converter. It's hardly possible, so I have gave up, I prefer to start them over (put items in queue.txt, and learn them just from there). :-( This is not a very very big lost though, as elements I remember well, will be quickly scheduled on higher intervals anyway. Nevertheless, such converter would be great. Unfortunately, SuperMemo stores some almost completely different data that MemAid does. It sounds paradoxical, doesn't it? SuperMemo relies on an algebra algorithm. Computes some factors (A-factor, D-factor - e.g. difficulty, etc.) and uses them to schedule next repetition by an algorithm (e.g. SM-11). MemAid generally doesn't compute any factors, just stores few data (mainly: current interval and data from last repetition) and uses them to query ANN. On next repetition also gives ANN feedback how well scheduled was last repetition, so ANN can correct itself. (if last interval was too high, or too low.) E.g. IIRC, SuperMemo main format doesn't store data (e.g. grade and current interval then) from last repetition (e.g. grade and current interval then; which are needed by MemAid ANN to have feedback). SuperMemo stores data from every repetition for statistics purposes, but only when it's turned on in options, sigh. So, such converter from SM-PC format to MemAid would be very tricky to make. Now, maybe you think about SuperMemo on Palm or PocketPC, they are much simpler, therefore converter could be doable, but I don't know the details about them. > Anyway I'll take > a look at this 'anti-pattern' script example ;-) The right way would be to just drop imported elements into queue.txt (I hope KMemAid also supports this queue(?).), unless you know past data (e.g. last grade from every element) about elements that you take from a learning process of another software... > I didn't know about this queue.txt possibility. That is nice actually, > I'll check it out. Thx, for the tip. It works in MemAid. I am not sure if it's implemented in KMemAid though... > It was exactly what I said ... It "isn't" nice ... > Anyway, let's drop this jokes about the system-time-bit-operation thing, > that was just a sudden idea ( not perfect, I assume ) to solve the > system time ID problem. So David, forgive me ;-) I hope you will forgive me my specific sense of humour. ;) > > Sure they are very welcome. > > So, anyone has a better solution than Unix time? :> > > > > Now, the only con I see is that one can really learn so quickly (and > > carelessly :-P), that can make two items in 1 second. O_o > > But I highly doubt it's possible (have just done some test with a > > stop-watch - I can't achieve 2 items in 1 sec. even not looking at > > answer/questions.) > > Just a comment: It is stated on the web site that a CGI interface for > Memaid is planned. What would happen if this CGI is highly accessed by > multiple users? Well, first of all: standard CGI version should be for one person only. (What could be the use of one learning database shared by many persons? A different person may review an item and put grade 5 there, when I could forget it, and I wouldn't have a review of it.) So ID is not a problem here. (there is a point to share one queue - e.g. by students that need to learn the same material. But not share main database with elements already in learning process (scheduled on a repetitions) - this is very personal database, which shouldn't be shared.) > Different DBs for each user is surely a solution, isn't ? This is the only solution for multiple users I see. :) Dave ------------------------------------------------------- This SF.Net email sponsored by: ApacheCon 2003, 16-19 November in Las Vegas. Learn firsthand the latest developments in Apache, PHP, Perl, XML, Java, MySQL, WebDAV, and more! http://www.apachecon.com/