I am starting this blog mainly as a personal journal that will help keep me motivated and focussed on the task of finishing Tarrasch V2. There is always the possibility that one or more people will find some of the things I have to say interesting, but really that is just a (potential) bonus.
I do intend to write about exactly what Tarrasch V2 will offer, and to break down what has been accomplished so far, what remains, and how long it will take. There may be ruminations on generic development issues (eg C++ pros and cons), and chess programming issues (eg my algorithm for compressing a chess position into the fewest bytes possible).
But I envisage most posts to simply be short “what I did today” type posts. I do at least a little work on Tarrasch most days, and I plan to summarise each of these sessions as a way of keeping me tracking towards the ultimate goal.
So the first of these “Daily summaries”;
Yesterday I finally eradicated all traces of move lists from Tarrasch. I’ve replaced them with move trees, which are like lists except that they are recursive; That is another complete move tree can grow from any move within an existing move tree. This in microcosm is probably the most important difference between Tarrasch V2 and Tarrasch V1. In V1 I took the huge short cut of just presenting each game as one list of moves. In V2 I am going to support variations and subvariations of arbitrary depth