bob wrote:CRoberson wrote:Hi Miguel.
Go ahead and adjust the issue in Gaviota. I had to do it in Telepath a couple of years ago. Arena is not the only UCI GUI with that problem.
Charles
Why not get the Arena guys (and others) to fix the GUI to match the specifications, rather than making the programs match the interpretation? You could find yourself with cases that are incompatible if the standard is not adhered to.
I agree 100% with that.
Stockfish is an offender in violating the UCI standard too. Here is the relevant section of code:
Code: Select all
* setoption name <id> [value <x>]
this is sent to the engine when the user wants to change the internal parameters
of the engine. For the "button" type no value is needed.
One string will be sent for each parameter and this will only be sent when the engine is waiting.
The name and value of the option in <id> should not be case sensitive and can inlude spaces.
In Stockfish you you must match the exact case of the option and value or Stockfish won't honor it. This is the kind of bug that could cause you to lose games if you are dealing with tools that expect the standard to be respected. It has little affect in the case of Stockfish because most tools and GUI's retain the case sent by the engine, but they are not required to do so. But if you are setting up programs with configuration files you could easily get this wrong and I have been bitten many times by this bug which is so trivial to correct.
Sometimes you are tempted to make tools more forgiving with respect to standards, but I think this encourages non-adherence and makes the problem worse because people are sometimes not even aware there is a bug.
Personally I think UCI names and values should have been case sensitive, but it doesn't matter what I think, it's not.
Several years ago I tried to parse a huge database of PGN games and I had to continue to patch my parser to deal with the fact that the games were not proper PGN with respect to the SAN notation. It didn't just happen 3 or 4 times but it went on and on, I would fix one thing and then at some point someone thought of a different way to violate the standard. It was unbelievable how many ways castling was represented in this database, practically every combination of upper and lower case 'o' and the zero character as well as the hyphen missing or included arbitrarily and let's not forget "Kg1" was in there a few times to mean O-O. Also you would see N3d2 when Nfd2 was the correct disambiguation. I could go on and on. Fortunately we have good tools that can clean up some of these issue and you rarely see this any more.