How does it work?
You supply a set of PGN files, the program picks random positions and challenges you to guess the best move computed by a chess engine. On every attempt you are given a penalty (the difference in score between your move and the engine best)
The nice thing about this program is that you will also get very ordinary positions where not much is going on. If you compare your move with the moves of the game or the engine, you will find subtle differences in the evaluation of the moves. In this kind of positions, if you play moves that are 0.2 pawns worse than the best move, you will eventually lose against better players. That is exactly how this program can help you a great deal: it is as if a trainer is continually watching and commenting on you.
You can configure the program to work with multiple chess engines (it supports both the XBoard and UCI engine protocols).