Both are based on a design I came up with in High School, that I used to help me with my German and Spanish vocabulary tests. That was on an Atari 800, though I no longer have a copy of that code. I also wrote a version that worked on VMS that I used in college, but that too is long gone.
The gist is that you are asked a list of questions in random order. A question is eliminated from the list after you answer it correctly (typically) twice in a row. When you've eliminated all the questions, you are done with the quiz. This helps you focus in on the problems you've having difficulty with, as toward the end of the quiz that's really all that's left. There's something about answering a question right twice in a row that helps you burn the correct answer into your medium-term memory.
For my German tests, I would generally do an elimination-2 (g)quiz a few days in advance, and another the night
before the test. That was all the study required to do well on the actual test.
You can e-mail the author with questions or comments: