Find Inactive org-drill Items With org-mode's Agenda
emacs, org-mode
I use org-drill for spaced repetition. org-drill
treats any element with the :drill:
tag as a question. Any child nodes are the answer. It presents each question and conceals the answer until I've had a chance to remember it myself. Here's a sample card from my deck:
,* What is the Rule of 72? :drill:
,** Answer
An estimation of the time it takes double an amount with compound interest. Given interest rate n, 72/n yields the approximate number of years to double the amount.
Problem
When adding new cards, if I forget to add the :drill:
tag, then I'll never see it during spaced repetition sessions.
Solution
I do weekly reviews with an org-mode agenda. So, I created a section in my review agenda:
(setq org-agenda-custom-commands
(quote
(("r" "Review"
( ;; ...
(org-ql-block
'(and (not (descendants))
(not (tags-all "drill")))
((org-agenda-files '("~/org/drill/"))
(org-ql-block-header "Untagged drills"))))))))
org-ql makes this simple. Any element which has no children, and has not inherited the :drill:
tag will show up during weekly reviews so that I can correct it.
Another nice hack here is (org-agenda-files '("~/org/drill/"))
. It had never occurred to me that I could specify different agenda files for different sections of the agenda!