l3kn / org-fc

Spaced Repetition System for Emacs org-mode
https://www.leonrische.me/fc/index.html
GNU General Public License v3.0
262 stars 31 forks source link

Review due dates going incredibly high #14

Closed jethrokuan closed 4 years ago

jethrokuan commented 4 years ago

After some reviews, the due date becomes incredibly big:

| position | ease | box |   interval | due                    |
|----------+------+-----+------------+------------------------|
| front    | 4.30 |  14 | 6718827.96 | +20415-09-09T16:41:56Z |

and this breaks timestamp parsing:

Debugger entered--Lisp error: (wrong-type-argument fixnump nil)
  encode-time((nil nil nil nil nil nil nil -1 nil))
  parse-iso8601-time-string("+20415-09-09T16:41:56Z")
  org-fc-tsv--parse-element((:due . date) "+20415-09-09T16:41:56Z")
  org-fc-tsv--parse-row(((:due . date)) ("+20415-09-09T16:41:56Z"))
  org-fc-tsv--parse-row(((:interval . interval) (:due . date)) ("6718827.96" "+20415-09-09T16:41:56Z"))
  org-fc-tsv--parse-row(((:box . box) (:interval . interval) (:due . date)) ("14" "6718827.96" "+20415-09-09T16:41:56Z"))\
l3kn commented 4 years ago

Did you change the interval / box by hand? In the years I've used this system and the previous version, I've not run into this problem.

I think the only way around this would be to cap the interval to 5 or 10 years.

jethrokuan commented 4 years ago

Did you change the interval / box by hand?

Hmm yeah I think I change the interval manually once for this card, to test the image overlay bug thing.

rickalex21 commented 1 year ago

@l3kn Hello, how do I continue to study? Is there a variable that I'm missing or something? I can't study because every time the dates go into the future which won't allow me to review the cards. I only reviewed a few times by changing the date manually and I'm already at 2025.

Until I get this figured out I have modified the source code to not filter cards by due date.

Not sure if there's a variable org-fc-no-due-dates t.

Thanks

l3kn commented 1 year ago

@rickalex21 If you rate the card as good in each review, it should take around 7 to 8 reviews until the interval between reviews reaches a year. Learning should be most efficient when cards are reviewed just before forgetting them so there are downsides to reviewing too early.

Depending on how many cards you have created (and if you stopped creating new cards since then), it's easy to run out of cards to review for long times but that would mean that the algorithms assumes you still remember the fact well enough.

This is a limitation of due-date based spacing algorithms (instead of ones that choose the card considered most likely to forget) and while other algorithms exist, it will take some time and effort until one makes it into org-fc.

rickalex21 commented 1 year ago

@l3kn Why not have cram or custom in org-fc? It's only a matter of filtering the list like anki does. With anki you can do a custom study and study as much as you want with whatever cards you filter. For me, I use tags.

To achieve somewhat the same thing without the filters in org-fc I had to... in org-fc-review.el

(let* ((index (org-fc-index context))
           ;; (cards (org-fc-index-filter-due index)))
           (cards (identity index)))

With a little work this can be easily filtered, if custom return custom result do custom things like no date or set the date to something else.