<feed xmlns='http://www.w3.org/2005/Atom'>
<title>org-drill/README.org, branch 2.3</title>
<subtitle>Spaced-repetition flashcards for Org Mode
</subtitle>
<id>https://git.cjennings.net/org-drill/atom?h=2.3</id>
<link rel='self' href='https://git.cjennings.net/org-drill/atom?h=2.3'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/'/>
<updated>2011-05-10T04:52:23+00:00</updated>
<entry>
<title>- All drill items now receive unique IDs (using the org-id module). This allows</title>
<updated>2011-05-10T04:52:23+00:00</updated>
<author>
<name>eeeickythump</name>
<email>devnull@localhost</email>
</author>
<published>2011-05-10T04:52:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=0aeff8516d30ce8b29865db8ce4c40803157d75d'/>
<id>urn:sha1:0aeff8516d30ce8b29865db8ce4c40803157d75d</id>
<content type='text'>
  various clever tricks such as 'synching' the item collections of two
  people. At the beginning of a drill session, IDs are assigned automatically
  to all drill items that do not possess them. This is slow if you have a large
  collection, but it only happens once.
- New command 'org-drill-merge-buffers'. Called from buffer A, and given buffer
  B, imports all the user-specific scheduling data from B into A, overwriting
  any such information in A. Matching items are identified by their ID. Any
  items in B that do not exist in A are copied to A.  A scenario where this
  could be useful:
  * Tim decides to learn Swedish using an item collection (org file) made
     publically available by Jane.  (Before publishing it Jane used
     'org-drill-strip-all-data' to remove her personal scheduling data from the
     collection.)  A few weeks later, Jane updates her collection, adding new
     items and revising some old ones. Tim downloads the new collection and
     imports his progress from his copy of the old collection, using
     'org-drill-merge-buffers'. He can then discard his old copy. Any items HE
     added to HIS copy of the old collection will not be lost -- they will be
     appended to his copy of the new collection.
- Instead of overdue items being reviewed in a completely random order, they
  are now ordered by the number of days overdue, so that the most overdue items
  are seen first. When two items are the same number of days overdue, then the
  order is random.
- slightly adjusted how 'random noise' is applied to intervals, to give wider
  spread
- we now use the port of the Common Lisp random number generator, in cl.el,
  instead of emacs' builtin RNG
- Random number generator is now reseeded using system time at the beginning of
  each drill session.
- Hints inside clozed text areas are now invisible during drill sessions if the
  clozed text is not itself being hidden, ie if your card contains
  [Moscow|Russian city] you will only see [Moscow] in the answer.
- The '...' is now shown after the hint text rather than before it,
  i.e. '[Russian city...]'. You can override this by actually including '...'
  in the hint itself.
- The minibuffer prompt now displays the card 'type' for testing purposes, as a
  single letter: N=new, Y=young, o=old, !=overdue, F=failed
- New card type: hide2cloze (hides exactly 2 randomly chosen areas of clozed
  text)
</content>
</entry>
<entry>
<title>- Added new example card types, more useful than 'spanish_verb':</title>
<updated>2011-04-30T04:47:42+00:00</updated>
<author>
<name>eeeickythump</name>
<email>devnull@localhost</email>
</author>
<published>2011-04-30T04:47:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=c27d9035ef5ba5120157649cbfc8e0587ab4a08c'/>
<id>urn:sha1:c27d9035ef5ba5120157649cbfc8e0587ab4a08c</id>
<content type='text'>
  - 'conjugate': retrieves properties VERB_INFINITIVE and VERB_TRANSLATION
    from parent item, and uses its own property VERB_TENSE to prompt the
    student 'Translate the verb INFINITIVE and conjugate for the TENSE tense'
    or 'Give the verb meaning TRANSLATION and conjugate for the TENSE tense'
  - 'translate_number': using third party library spell-number.el,
    prompt the student to translate a random number to or from a non-English
    language (the library can handle numerous languages)
  - examples of both in spanish.org
- org-drill-card-type-alist can now take a second function name, for
  controlling how the ANSWER is displayed
- items can have weights (DRILL_CARD_WEIGHT). The interval is divided by
  the weight when scheduling, so eg an item with a weight of 2.0 will be
  tested twice as often as a normal item.
- New command: org-drill-tree. Same as org-drill using 'tree' argument.
- New command: org-drill-strip-data: deletes all scheduling data from
  every item in scope. Intended for use if you wish to share your item
  library with someone else.
- Fixed bug in simple8 algorithm where items failed on their first review
  were not having intervals reset
- Ensure all markers are freed before starting a new drill session.
</content>
</entry>
<entry>
<title>- 'multicloze' card type renamed to 'hide1cloze' (though 'multicloze' is</title>
<updated>2011-04-22T03:41:08+00:00</updated>
<author>
<name>eeeickythump</name>
<email>devnull@localhost</email>
</author>
<published>2011-04-22T03:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=97aad887284ac4d9590e31f843d4f4f11393e9be'/>
<id>urn:sha1:97aad887284ac4d9590e31f843d4f4f11393e9be</id>
<content type='text'>
  still recognised as a synonym, for backwards compatibility)
- new card type 'show1cloze' -- like hide1cloze, but only reveals one
  of the areas of clozed text in the item.
- when 'revealing' an item during a drill session, do not show contents
  of any subheadings which are themselves tagged as drill items. This means
  you can have drill items inside drill items, without giving their answers
  away when you review the parent item.
- better ensure visibility state of the org buffer is restored after the
  drill session.
- syntax highlighting of [clozed text] now works if other faces are applied
  inside the clozed text area, eg [the *largest* city]
</content>
</entry>
<entry>
<title>- More robust handling of the situation where we resume a drill session but</title>
<updated>2011-04-14T20:46:35+00:00</updated>
<author>
<name>eeeickythump</name>
<email>devnull@localhost</email>
</author>
<published>2011-04-14T20:46:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=e698616493d45db983fc1d3054790b71536450a4'/>
<id>urn:sha1:e698616493d45db983fc1d3054790b71536450a4</id>
<content type='text'>
  some items have been moved or deleted. We now check for this and discard
  offending markers, rather than failing outright.
- Final report now shows number of items that will become due tomorrow.
- Fixed a rounding bug which affected deciding whether items are 'overdue'.
</content>
</entry>
<entry>
<title>- Can now resume drill sessions after exiting with (e)dit or (q)uit commands!</title>
<updated>2011-04-12T23:31:30+00:00</updated>
<author>
<name>eeeickythump</name>
<email>devnull@localhost</email>
</author>
<published>2011-04-12T23:31:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=8b72dfbded08af1444a795c379d4bd588b2a8a3a'/>
<id>urn:sha1:8b72dfbded08af1444a795c379d4bd588b2a8a3a</id>
<content type='text'>
  Use 'M-x org-drill-resume'.
- Finessed the prioritisation of items during drill sessions.
  - We now present failed and OVERDUE items first. Overdue status is defined in days and
    has some leeway, defined by a new variable 'org-drill-overdue-interval-factor'.
  - Next we present YOUNG items (learned or relearned recently, so have short intervals).
    The definition of 'young' is via the variable 'org-drill-days-before-old'.
  - Finally we present a random mix of OLD items and NEW items.
- Final report gives info about counts of pending overdue, young, and old items.
- Timer shows '++:++' if &gt; 1 hour passes while reviewing an item.
</content>
</entry>
<entry>
<title>Many changes:</title>
<updated>2011-04-08T04:22:13+00:00</updated>
<author>
<name>eeeickythump</name>
<email>devnull@localhost</email>
</author>
<published>2011-04-08T04:22:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=a222b4dfb486991960e9c12e3df90d518c81801a'/>
<id>urn:sha1:a222b4dfb486991960e9c12e3df90d518c81801a</id>
<content type='text'>
- Item drill data is stored in a clearer format, each value has its own property, the old 'org-learn'
  LEARN_DATA property has been dropped. Items that contain LEARN_DATA are silently rolled over to
  the new format.
- For SM5, matrix of optimal factors is now correctly *global* rather than per-item, and is saved
  between drill sessions as an emacs customization variable.
- We store interval data as floating point numbers rather than rounding to the nearest integer.
- New experimental algorithm: 'simple8', based on SuperMemo SM8.
- New options:
  - org-drill-forgetting-index: define the percentage of items that it is "acceptable" to fail.
    A warning message is shown after the drill session if more items than this were failed.
  - org-drill-learn-fraction: governs how fast time intervals increase with each successful
    repetition of an item.
  - org-drill-adjust-intervals-for-early-and-late-repetitions-p: if true, alter next scheduled date
    if an item is reviewed earlier or later than it was supposed to be.
- Almost all variables have been declared safe for file-local reassignment.
- We now ignore org-learn-always-reschedule, regarding it as always true.
- Post-session report now shows a count of dormant items (those not yet due for review).
</content>
</entry>
<entry>
<title>- New option: org-drill-hide-item-headings-p. If non-nil, item headings will be made</title>
<updated>2011-04-03T22:21:12+00:00</updated>
<author>
<name>eeeickythump</name>
<email>devnull@localhost</email>
</author>
<published>2011-04-03T22:21:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=9ab44310d5d5e4d07e07bb83df3c6c994201afe1'/>
<id>urn:sha1:9ab44310d5d5e4d07e07bb83df3c6c994201afe1</id>
<content type='text'>
  invisible while each item is being tested.
- OF matrix entries are rounded to 3 decimal places.
- Item E-factors are not modified if the item is "failed" (in accordance with Dr Wozniak's description of
  the SM5 algorithm).
</content>
</entry>
<entry>
<title>- Hide comments (#...) in items during drill sessions.</title>
<updated>2011-03-27T03:55:46+00:00</updated>
<author>
<name>eeeickythump</name>
<email>devnull@localhost</email>
</author>
<published>2011-03-27T03:55:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=5d4694dc3b746cf9d0a97856a47027cb1e88d1c9'/>
<id>urn:sha1:5d4694dc3b746cf9d0a97856a47027cb1e88d1c9</id>
<content type='text'>
- Fix bug where if a subheading was more than 1 level deeper than the tested item, and had no parent
  heading other than the item's heading, it would not be hidden during testing.
</content>
</entry>
<entry>
<title>* Documentation added for multicloze cards and cram mode.</title>
<updated>2010-09-17T00:13:40+00:00</updated>
<author>
<name>eeeickythump</name>
<email>devnull@localhost</email>
</author>
<published>2010-09-17T00:13:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=0e2040ba7e03aa23dc76eecc5b1df1f3d14be0b3'/>
<id>urn:sha1:0e2040ba7e03aa23dc76eecc5b1df1f3d14be0b3</id>
<content type='text'>
* Multicloze card example added in 'spanish.org'.
</content>
</entry>
<entry>
<title>Separate counts of pending new, old, and failed items are displayed in custom colours</title>
<updated>2010-09-04T05:28:22+00:00</updated>
<author>
<name>eeeickythump</name>
<email>devnull@localhost</email>
</author>
<published>2010-09-04T05:28:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=1daa7d6de535a7ce9385e9131bea2320d2d946ab'/>
<id>urn:sha1:1daa7d6de535a7ce9385e9131bea2320d2d946ab</id>
<content type='text'>
during review and in the final report.
A timer (MM:SS) is displayed as part of the review prompt.
Order-of-magnitude speed boost when scanning entries to prepare a drill session.
Recycle markers at the end of each drill session.
</content>
</entry>
</feed>
