Oct 14


Okay, so it’s just a small chunk of a larger project that I’ve been messing about with for fun, but still, it’s nice to see work head out into the world.

A while ago, I started taking the chess games I was playing in the club and on chess.com and feeding them into SCID-vs-PC to run analysis engines on them; and because I’m a bit of a luddite in some ways, I wanted to be able to print off a report on them so I could sit down at the table with a cup of tea and a chessboard and play through a game while reading the engine’s analysis of it. If you don’t play chess yourself, the reason you’d do this is so you can see what moves and sequences of moves the computer thinks you should have played, and whether or not they were good lines for a human player to take – if the computer is saying “Oh, if you just played this sequence of seventeen moves perfectly you could have gained a half-pawn advantage here”, then you can pretty much ignore it unless you’ve been playing for decades and could actually do that in a game under time pressure (hint: I can’t 😀 ). On the other hand, if it says “Yeah, if you’d made this move, you’d have had checkmate in one move”, you probably want to see that so you remember the tactic in case you ever see it again 😀

Now SCID-vs-PC couldn’t print directly itself but it had a LaTeX report output function so I tried that, and found it relied on a LaTeX package called chess12 which was for LaTeX 2.09, even though LaTeX2e replaced Latex 2.09 in 1994 and chess12 itself hadn’t been touched since 1992. Turns out to be quite hard to get that old a setup to work, so effectively the LaTeX output was useless. But SCID-vs-PC is an open source project in a language I’ve been working in for decades and I did more than my fair share of LaTeX writing in college and afterwards (academia uses LaTeX pretty extensively because only a masochistic sociopath would entrust their thesis or research papers to Microsoft Word), so I figured it couldn’t be too hard to fix. And it wasn’t – I was able to get it to use a newer LaTeX chess package called skak, and to add in some nice graphing using ps-tricks as well as formatting things better on an A4 page using koma (all of which are standard LaTeX packages for all the sane distributions out there). But it has seriously renewed my belief that C++ is not a great language to do string processing in 😀

Anyway, the first version of the report code just shipped in the latest SCID-vs-PC version (4.13). I still have a few more ideas to bolt in there, particularly around the analysis graph and the detection of analysis scores in the PGN files (which seem to have different formats from just about every possible engine). And we already have some pretty serious refactoring in mind because the code’s a bit of a mess when it comes to output. But for now, if you load your game up in SCID-vs-PC and spit it out in LaTeX format, then run it through the standard latex-dvips-pstopdf chain (for some reason the latex2pdf tool chokes at the moment, that’s on the list of things to fix), you’ll get something like this:

Bodley 2014 Round 2

Round 2


Continue reading →

Oct 14

Bodley 2014, Round 2 Take 2

So Kevin (the Benildus Bodley B captain amongst other things) was looking over the post on Round 2 and noticed that 51.Rf1 looked a bit odd and suggested it might be a transcription error. So I went back over my scorepad and yes indeed, it’s a transcription error – it should have been Rg1, not Rf1. Which doesn’t transform the endgame into a paragon of clean planning and elegant execution, but does make it a wee bit less embarrassing. Transcription errors – who’d have thought such a small change could be so important?

Transcription error...

Transcription error…

I also did a bit of tweaking on my SCID-vs-PC LaTeX report code to better detect the scores in annotated games and the analysis graph is now a lot better than it was before – it had been registering any move with an annotated comment as a 0 because it wasn’t detecting the correct score:

Round 2 analysis graph

You can still see the same trend (okay play punctuated by punished mistakes), but it’s got a lot less staccato now. So, here’s the updated Round 2 game:

Oct 14

Bodley 2014, Round 2

Some games really feel like they’ve gotten away from you and you’re only just barely hanging in there, y’know?
THISWASABADIDEA....So our opponents tonight for Round 2 of the Bodley were Bray/Greystones, whose player panel wasn’t up before the match but is up now and as you can see from the ratings, they’re an interesting match to us with a bit more strength at the top boards and a little less on the bottom, but overall it looked even.

Bodley 2014 Round 2 Strengths

I got paired with Vincent Denard, a lovely gent who, at ninety-one years of age, proceeded to wipe the board with me for half the game and anytime I even blinked, I got a chesspiece put somewhere most uncomfortable. This is the thing with ratings in the Bodley – they’re not that stable so they’re at best a rough guideline, and at worse a deceptive trap. Allegedly, Vincent’s 17 points below me. In practice, that’s a load of twaddle and I was in trouble right from the start.

I got absolutely mangled in the opening, and was lucky to get away with just being a pawn down with my queenside in disarray and having lost the bishop pair and castling by the time it was over – and the only game I could find in the records that had that pattern in the opening was Huesemann v Schulz, in round 3 of BEM-ch U16/18, 1998 (and only 365chess.com’s opening explorer found that one for me, none of my opening books had our line after move 4, including the MCO!) and that game was lost by black in 15 moves, so it really was luck; if Vincent had played Bd6+, it would have completely destroyed my game instead of mauling it badly and I probably would have had to resign before move 20.

Two tactics presented themselves in the middle game, mostly by luck, but I was able to spot them and hang on through them, and got to an endgame a piece up; a piece I immediately hung but we didn’t notice that until literally a second after Vincent had released his rook after missing the pin. That was the motif for the entire game – I kept making mistakes or missing better moves, but in between was playing reasonably well; but whenever Vincent saw my mistakes, I was toast. The analysis graph shows that rather clearly:

Round 2 Analysis Graph

In fact the endgame was horribly scraggly, with no plan for the first half of it. I’ve been spending more time on chessendgames.com of late, and some of that is starting to pay off, but my endgames are still hairy affairs and need a lot more work. Silman and I have much time to spend together in the future I think.

Here’s the game, with annotations:

The game was also very even on time – I don’t think there was ever more then five or ten minutes between our clocks at the end of a move, and by the time we finished we’d used all but fifteen minutes or so of our three hours:

Not much time left at the end...Overall the team did fairly well, winning 3.5 to 1.5, which should at least get us up off the floor of the league tables

2014-10-01 23.16.38aedit: The team report is now up on the St.Benildus website here.

Lessons Learned

  • I’m still not remembering to Look Wide, Not Deep
  • Simple rhyming rules of thumb are stupid! Nb5 gets countered by Na6, rim or no rim!
  • Pins, pins, pins. Don’t give them out and keep looking for them on the other side of the board.
  • Lost material is lost. Don’t get greedy trying to save it when there’s a most solid route to an endgame win. Boring is fine in a Caro-Kann game.
  • I need to play more actively, especially in rook endgames. Right now I’m hanging back and letting the game get away from me.
  • Yes, beginners study openings too much, but I think I could stand to give them a few more hours!
  • And I also need to spend more time with rook endgames, if only for the purpose of learning to form an endgame plan more readily.