A tool for self-quizzing to help with memorizing large chunks of the Bible. It works as an interactive diff, and ignores punctuation and capitalization. It's as close as I could make it to reciting verses to a live person.
The data files are currently hand-crafted. I may automate that one day.
I've recently restarted memorizing the Bible again, but it's difficult for me to find other people to recite to. I did a version of this in turbo pascal a long time ago, and this might be close to what I had before. It helped back then, and I hope that it'll help again.
Select one of data files from the catalog below, click the 'start' button, and start typing. Only alpha-numeric characters and the space character are relevant. All other keys are treated as a space. The result is that we ignore all punctuation.
Hitting the ? key will hint the next character, the backspace key will cause the error counter to forget the current error, the \ key will jump back to the last restart position, and the | key will restart at the beginning of the current verse.
WARNING! Internet Explorer gets really slow (and runs in degraded mode)! Opera is fine for the most part, but it isn't very good at blinking the cursor.
You may download the application by using your browser to save in a web page complete mode. The downloaded file(s) may be run in your browser in offline mode (without an internet connection), but sound will not work.
The client area DIV "text-show" is the main display area. The event driver for the main loop is a 1px by 1px text box "text-in" camouflaged in the top left corner. The client div used to be the event driver, but firefox 3 beta 5 had problems with input elements losing focus, so I switched back to a text box. The text box is re-focused after any control panel operation. Focus is explicitly done in an onclick handler for the DIV.
Data files are available in the text directory.
Regarding the slowness of Internet Explorer, I've added a degraded mode for IE browsers. Degraded mode means that strings are buffered using arrays, and the on-screen buffers are also shortened.
Opera has trouble handling the blinking cursor (timer event). The problem isn't in searching for the css style to modify, but re-rendering the page after a change is made to any style. It seems to be work well if I change the style on an element directly, but Firefox and Internet Explorer regularly lose thte cursor element because it is dynamically generated.