Skip to content

Kingbase Update

July 6, 2018

It’s a little embarrassing that I haven’t posted anything in over a year, and that the last post is titled “Tarrasch V3.02”. When you’re steadily releasing minor updates you never know when you’re at a point that will prove to be relatively stable. I had some problems when I finally released Tarrasch V3 last year, and had to issue several maintenance releases in a row to address “showstopper” type bugs. Sadly the last of these was Tarrasch V3.03 *not* the aforementioned V3.02.

Oh well. I found it all a bit embarrassing at the time, and didn’t even make a blog post about V3.03. It turned out that V3.03 was the reliable workhorse that I hoped V3.00, then V3.01, then V3.02 would be. I am not the only one who suffers from this syndrome of course. I recall in the early days of my career Microsoft’s MS DOS V2.11 was “the golden one” that was the current and reliable version of their flagship operating system for a long long time (years if I remember correctly – or maybe time just went slower when I was a young man). They probably had great hopes for V2.10, V2.09 etc. as well.

Today I am not announcing a new Tarrasch version, although an updated version with some significant improvements shouldn’t be too much longer. (Spoiler alert: The biggest single change will be that the long awaited Linux native version is imminent).

I do have a small package to deliver though. There was really no excuse to have a more than year old version of Kingbase Lite for download, when Pierre Havard updates it regularly.  So I have updated the standalone Tarrasch database, available from the downloads page of

Just a quick note on how I build this database (as much as anything this will serve as a note to myself next time);

I download Pierre’s 2018 Kingbase Lite pgn and the monthly updates. I unzip everything, which gives me a mass of pgn files. I do a dir/b command from the Windows command line to get a list of the files in a text file and I wrangle that into an old fashioned DOS batch file that concatenates all the separate files into one big pgn. Just to be sure the concatenation works properly I add a crlf.txt file (a simple two character, one empty line text file) after each pgn file as I concatenate. This makes absolutely sure there’s a blank line between the last game in one file and the first game in the next (pgn files should end with a blank line – but this makes doubly sure).

For the masochistic here’s what my batch file looked like;

copy KingBaseLite2018-01.pgn + crlf.txt + KingBaseLite2018-02.pgn + crlf.txt + KingBaseLite2018-03.pgn + crlf.txt + KingBaseLite2018-04.pgn + crlf.txt + KingBaseLite2018-05.pgn u.pgn
copy KingBaseLite2018-A00-A39.pgn + crlf.txt + KingBaseLite2018-A40-A79.pgn + crlf.txt + KingBaseLite2018-A80-A99.pgn a.pgn
copy KingBaseLite2018-B00-B19.pgn + crlf.txt + KingBaseLite2018-B20-B49.pgn + crlf.txt + KingBaseLite2018-B50-B99.pgn b.pgn
copy KingBaseLite2018-C00-C19.pgn + crlf.txt + KingBaseLite2018-C20-C59.pgn + crlf.txt + KingBaseLite2018-C60-C99.pgn c.pgn
copy KingBaseLite2018-D00-D29.pgn + crlf.txt + KingBaseLite2018-D30-D69.pgn + crlf.txt + KingBaseLite2018-D70-D99.pgn d.pgn
copy KingBaseLite2018-E00-E19.pgn + crlf.txt + KingBaseLite2018-E20-E59.pgn + crlf.txt + KingBaseLite2018-E60-E99.pgn e.pgn
copy a.pgn + crlf.txt + b.pgn + crlf.txt + c.pgn + crlf.txt + d.pgn + crlf.txt + e.pgn + crlf.txt + u.pgn big.pgn

The final steps are a lot easier. I opened the resulting file, literally “big.pgn” in Tarrasch. I sort first on Round number then on Site, then on Date. The last sort is the most significant so I end up with most recent games first (sort on Date) with all games from an event together (sort on Site) and games from the same event on the same day ordered by round number / board (sort on Round). Then I save the file, now nicely sorted.

I am rather proud of the sorting facilities in Tarrasch, which absorbed an awful lot of effort in late 2016 early 2017!

Next I just create a database using this single file. Voila.

As a check I then copied the input files to my Ubuntu 16.04LTS Box and repeated the whole exercise (including wrangling the DOS batch file into a Bash shell script), and made sure that the resulting database not only worked beautifully on my Linux Tarrasch (it does) but that it also matches byte for byte with the database created on Windows (it does).

Sorry again I’ve gone a year without a blog post. If you really want to keep up with the minutiae of work on Tarrasch you can always go and look at the open source repository at Check the development branch rather than the master branch (edited: 26 Nov 2018 – day to day work now in master branch not development branch), because that is where day to day work takes place.


One Comment leave one →
  1. David Beagan permalink
    July 6, 2018 2:12 pm

    Great, thanks for the update.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: