Once upon a long ago, pre match preparation meant spending a great deal of time pouring over their ECO or a BCO or an MCO (perhaps even all three) and a bunch of Šahovski Informator plus half a dozen monograms to end up being thoroughly confused. The next day, after the game is over, they inevitably need to take all those books out again to find out where they went wrong. Fortunately or unfortunately, during my playing days, the number of copies of opening encyclopedia available in Sri Lanka could be counted in your fingers. Now things have become a lot easier thanks to games databases. If your opponent is highly rated, you can analyze all his games and prepare and ambush. There are several commercial and free desktop games databases but there are quite a few online databases too. Chess.com Game Explorer is one such database. During a game you can quickly hit the explore button and track the master games or your own games. It is even possible to browse your opponents or any other players completed games as well. The term 'master games' should be treated with a pinch of salt, there are about 2.5 million games in this database but not all of them have been played by FMs, IMs or GMs. According to the rules at chess.com, it's not illegal to resort to an electronic database during correspondence chess but you cannot use an engine. However you are not allowed to resort to a database for blitz or rapid chess (which they call live chess). It should also be added that only premium members can use the games explorer. Another online chess database is at chessgames.com but only 530,000 games are available, however unlike at chess.com, master games really have been played by masters. The UI isn't all that great but it still beats going through books and having to setup the board over and over again. There are many other similar sites but the number of games are far too few. When it comes to desktop databases windows users sadly have more of a choice than those using linux. Every commercial chess engine seems to be a bundled with at least a small collection of games. For many years, linux users have been limited to Scid. Perhaps being limited to isn't the right choice of words because Scid is actually a very good program. I stopped taking part in competitive chess in 2000 and didn't play at all until 2008 when I started to play online. By that time Scid had almost become abandonware. I guess the authors thought it was feature complete and didn't bother to update it anymore. Instead a fork named chessDB (which in turn had not been updated since 2006) had become available. It ships with a database of over 4 million games. So chessDB is what I used to keep track of openings and to manage the games I have played at chess.com for a while now. I knew that it was more than just a database - it's a xboard/UCI client as well. What's more several engines are bundled with it too. However I never managed to get it to analyze a game properly with any of those engines.
For the life of me, I could never figure out why the xboard interface should complain about a difference of 32 and 64 bit systems. This is a client/server system after all it matters not whether one has a 64 bit OS while the other has a 32 bit OS. The other mystery is about why the error message mentions windows (isn't windows an 8 bit system?). So just out of curiosity, I decided to take a look at Scid. Lo and Behold, there has been an update just last month! This new version (4) has a new structure for the database but you can convert scid 3 databases to version 4. Scid 3 (.si3) is the format used by chessDB and those files including the 4million games database was easily imported. Scid 4 easily interacts with engines and what's more, it comes bundled with three of them (Toga II, Scidlet and Phalanx ). It takes a little while to figure out how game can be completely analyzed by the engine without having it produce a list of variations as long as your arm for even the most trivial alternatives. But it looks good. Real good.