karda: Difference between revisions

From Lojban
Jump to navigation Jump to search
mNo edit summary
 
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:


Mentioned on [[jbocre: existential requantification|existential requantification]]:
Karda is an open-source flash card program for the desktop and the web, under development by [[Bruce Webber|Bruce Webber]] and timonator. Instead of presenting the user with a single word, Karda will present the user with a series of flashcards lined up simultaneously to form a grammatical Lojban sentence. [[Matt Arnold|Matt Arnold]] suggested the name, which is the Lojban word for "card", and created [http://matt.mattarn.googlepages.com/karda  requirements demo].


See [[the Book|the Book]], chapter 18.
Karda will be somewhat similar to SuperMemo, but will be open-source and cross-platform, using Python and wxPython. The existing open-source Python-based spaced-repetition software, Mnemosyne, is fine software for what it does, but is not conveniently accessable. With Karda, Lojbanists can devote time to memorization almost anywhere, have their progress backed up to the web, and get an RSS feed of repetitions they are scheduled for.


''su'o da'' means ''naku no da'' and ''no da'' means ''naku su'o da''; if you don't have at least one then you have zero, and if you don't have zero then you have at least one. We can say that ''su'o'' inverts to ''no'' and vice versa. Knowing how to invert quantifiers is handy if you want to baffle your critics by precision-dropping ''naku'' into the middle of your bridi.
Every day the software looks at the list of words that are coming up for review, and selects sentences from its database (generated by the [[pixra game|pixra game]]) that will include all of them at least once. It then adds each sentence to the user's RSS feed to alert them that they have a test. Each RSS feed entry contains a link directly to that test. The software will track the user on how well he or she remembers each individual word, but present it in sentences so that the user absorbs an understanding of grammar similar to how people absorb it from usage.


Other numbers used as existential quantifiers can be inverted too. ''mu'' inverts to ''vei ga me'i mu gi za'u mu ve'o'', or "(less than 5 or greater than 5)", meaning "not five". Maybe there's a better way to say this--anybody know one? ''su'e mu'' (at most five) inverts as ''za'u mu'' (more than five). You get the idea.
Karda tracks each word as two "facts": you are given the Lojban word and are asked for the English gloss, or given the English gloss and asked for the Lojban word. It tracks them as if they were separate


But I don't see any way to invert ''ji'i mu'' that's convincingly symmetrical. Suppose you claim it's ''vei ga me'i ji'i mu gi za'u ji'i mu ve'o''--would you say that "not around five" means "either more than around five or less than around five"? And vice versa? Maybe, but you'd rather have a number that means ''not that close to five'', and I don't see one.
flashcards because the user is likely to be better at one of them than at the other and would need a different amount of repetition. But it knows that in a given sentence, it can test each word either way.


Other vague numbers have the same problem; for example, ''so'i'' and ''no'o'' (depending on what it means in context).
A failed word on a test will be scheduled to drill by itself, not part of a sentence. In Karda, drills work differently than tests. But the most important difference is in repetition. In Karda, each drill is also scheduled for repetition. In Supermemo, you often get the feeling that you've already forgotten some of the most difficult cards you've worked on today. You know they need more work, but they are gone from the list and you can't remember which ones they are. Tests in Karda operate on a 24-hour iteration like in Supermemo, but Karda keeps track of the minute a drill is taken, and triggers recurrences of the drill after a certain number of minutes have passed rather than days. It cuts the period in half when the user fails the word, doubling it when the user succeeds, until the user has remembered it over a delay of six hours or until the word comes up to test again. Each repetition also generates an entry in the RSS feed.


''mi'e [[jbocre: jezrax|jezrax]]''
Of course, it would have to require the user to enter what time zone they are in, so it won't count the time they spend sleeping.


OK, let's say that ji'imu defines a probability function shaped like a bell curve centered at 5. Call that function '''j(n)'''. Now, the inversion of '''j''', call it '''i(n)''', is nothing other than '''i(n) = 1 - j(n)'''. Perhaps you knew this and were asking for something else? --[[User:xod|xod]]
[[Bruce Webber|Bruce Webber]] set up the project at karda.org. There's a link from the home page to trac.karda.org, the source code management system for this project. Subversion is set up for version control. If you would like participate, please let Bruce know and he will set up a Trac user ID for you.
 
Are you sure it's so simple? Say j(9)=0.05 and j(10)=0.03, then using your formula, we get i(9)=0.95 and i(10)=0.97, and the probability of 9 or 10 is 1.92, which seems a bit high. The sum for all n of j(n) has to be 1. The sum of i(n) should also be 1, but you formula gives infinity. --[[User:xorxes|xorxes]]
 
''If we normalize the inversion, '''i(n)''' is infinitesimal for all n except "near" 5, where it dips even lower. --[[User:xod|xod]]''
 
I think xod's solution is sort of OK if we consider '''j(n)''' to be a fuzzy truth-value function rather than a probability distribution. The problem is that ''ji'imu'' is vaguer than '''j''' ; the function contains strictly more information than the Lojban quantifier. In a given context people could come up with many fuzzy truth-functions which they might all agree are reasonable interpretations of ''ji'imu''--or might disagree about. In any case, inventing an elaborate way to invert ''ji'imu'' certainly won't happen in usual practice; people who are being precise will not move ''naku'' freely about the bridi when there's such a tricky point, and people who are not being precise won't care! ''mi'e [[jbocre: jezrax|jezrax]]''

Latest revision as of 18:20, 1 March 2016

Karda is an open-source flash card program for the desktop and the web, under development by Bruce Webber and timonator. Instead of presenting the user with a single word, Karda will present the user with a series of flashcards lined up simultaneously to form a grammatical Lojban sentence. Matt Arnold suggested the name, which is the Lojban word for "card", and created requirements demo.

Karda will be somewhat similar to SuperMemo, but will be open-source and cross-platform, using Python and wxPython. The existing open-source Python-based spaced-repetition software, Mnemosyne, is fine software for what it does, but is not conveniently accessable. With Karda, Lojbanists can devote time to memorization almost anywhere, have their progress backed up to the web, and get an RSS feed of repetitions they are scheduled for.

Every day the software looks at the list of words that are coming up for review, and selects sentences from its database (generated by the pixra game) that will include all of them at least once. It then adds each sentence to the user's RSS feed to alert them that they have a test. Each RSS feed entry contains a link directly to that test. The software will track the user on how well he or she remembers each individual word, but present it in sentences so that the user absorbs an understanding of grammar similar to how people absorb it from usage.

Karda tracks each word as two "facts": you are given the Lojban word and are asked for the English gloss, or given the English gloss and asked for the Lojban word. It tracks them as if they were separate

flashcards because the user is likely to be better at one of them than at the other and would need a different amount of repetition. But it knows that in a given sentence, it can test each word either way.

A failed word on a test will be scheduled to drill by itself, not part of a sentence. In Karda, drills work differently than tests. But the most important difference is in repetition. In Karda, each drill is also scheduled for repetition. In Supermemo, you often get the feeling that you've already forgotten some of the most difficult cards you've worked on today. You know they need more work, but they are gone from the list and you can't remember which ones they are. Tests in Karda operate on a 24-hour iteration like in Supermemo, but Karda keeps track of the minute a drill is taken, and triggers recurrences of the drill after a certain number of minutes have passed rather than days. It cuts the period in half when the user fails the word, doubling it when the user succeeds, until the user has remembered it over a delay of six hours or until the word comes up to test again. Each repetition also generates an entry in the RSS feed.

Of course, it would have to require the user to enter what time zone they are in, so it won't count the time they spend sleeping.

Bruce Webber set up the project at karda.org. There's a link from the home page to trac.karda.org, the source code management system for this project. Subversion is set up for version control. If you would like participate, please let Bruce know and he will set up a Trac user ID for you.