Friday, 1 July 2011

Rabbit Timer Revamped

The problems in my next three books were scattered about with irregular problem numbering systems.  The Empirical Rabbit Timer was not up to the job of telling me where to find every sixth problem, so I decided to modify it read free text instructions from a file. The Rabbit Timer could then simply read every sixth line of the file, prompting me on where to find each problem.  For my next experiment, I used a simple code for the problem references:

H33  2
C39  1
P22  1

In this example, “H33 2” means Heasman page 33 problem 2, “C39 1” means Coakley page 39 problem 1, and “P22 1” means Pandolfini page 22 problem 1.  I also added a percentage progress indicator to the Ready screen.  I could now experiment with repeating only those problems at which I did worst.  I could do this by pasting the output file from the Timer into a spreadsheet, sorting it, extracting what I wanted, sorting it back into the original order, pasting it into Notepad, and saving it as text file.

I found that the original Rabbit Timer occasionally had a problem with double hits on the Enter key.  If I double hit the Enter key when I was on the Start screen, the Timer would jump straight to the Score screen, recording a fraction of a second as my solution time.  I could fix this problem by hitting the r (redo) key, but I occasionally failed to spot the double hit immediately, and then I had to guess the solution time.  I fixed this problem by modifying the Rabbit Timer so the “.” key has to be hit to progress to the Move screen, and the Enter key has to be hit to proceed to the Score screen.  These keys are together on the numeric key pad, which is rather convenient.  Pressing any other key results in a beep.

I also modified the Rabbit Timer to update the Move screen every second to show the time that I had spent so far on the current problem, which made the “t” command redundant. [Also see: Empirical Rabbit Timer Source Code.]


  1. Hi,
    i wonder if you want to write a chess trainingsprogram wich automatise the whole trainingsprocess. A first step would be to display the position at your Timer. There is free available java software to display Fen's and there are many free pgn's and epd's for download

  2. Displaying good clear standard diagrams from within Java is not easy, but I could find a way to do it, given time. Even HTML is a problem. Chrome will display the Chess Alpha font, but IE and Firefox will not. There are plenty of free problems on the web, but setting up problem sets that are better than those in the best books would not be easy. The Rabbit Timer does a good job. Paper diagrams are less tiring than backlit screens. Spreadsheets are very flexible!

  3. The most free pgn-collections ( as far as i know )in the net are from books ( for example ).

    To search a page in a book takes time, numbered photocopy's might be an alternative?

    I will use Chess Hero to follow you training sheme. ( )
    At the moment i use trainingssets of the size of ~250 each at Chesstempo, there is no delay in between.

  4. Here is the best collection of free problems and solutions that I have found:

    With my system, finding the problems in a book is not a problem, because I visit every nth one in the book. Chess Hero clearly uses the Chess Alpha font that I like, but has grey scale rather than cross hatching for the black squares, which is better.

    The only open source Java PGN reader that I was able to find is the My Chess reader. This guy has customised it to display Chess Alpha:

    My next books are Chess Tactics for Champions, Chess School 1b, and Winning Chess Exercises for Kids. After that?

  5. Well, i dont want to sell you Chess Hero at any cost but...

    Chess Hero has 20 board designs and the brightness of the squares can be selected AND you can use your own squares:


    Graphics: graphics for the board. You can add new graphics by providing two PNG files named "dark.png" and "light.png", for dark and light squares respectively. Copy the files into a new folder inside the graphics/boards folder and you are done. Your graphics will be automatically detected and listed in the options. The board is generated at runtime by randomly tiling the files you provide."

    So "cross hatching" is possible

    There are some pgn-vewers with sourcecode
    for ex: ( see example: )

    but to use an applet or a webpage seems to be to complicated, you need to write the server to.
    Your timer is in Java so a java library might be helpful:

    There are some easy java chess programs like