Using a protocol by default when you don't know if engine supports it or not is not logical at all for me. I just described the steps how one can add a new engine which can't start in a new human-engine game without any error/warning.hgm wrote:Why would that be a bug? It seems quite logical to me that WinBoard would use WB protocol if not explicitly instructed to use something else.
Elements of the ULTIMATE Chess GUI?
Moderator: Ras
-
- Posts: 389
- Joined: Wed Sep 26, 2012 1:29 pm
- Location: Hungary
Re: Elements of the ULTIMATE Chess GUI?
-
- Posts: 28326
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Elements of the ULTIMATE Chess GUI?
Sure, but that assumes that you do autodetection of the protocol. Because of the bad reputation this had I never bothered to try that in WinBoard. People always told me that it was better if they could select the protocol themselves.
-
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
Re: Elements of the ULTIMATE Chess GUI?
Doesn't the UCI spec say engines should ignore unknown input? In other words, the engine would not respond at all to xboard/protover.hgm wrote:CECP is the default protocol for WinBoard, so if you don't tick any of the 'foreign' protocols, it implicitly selects CECP. But what I meant was that ticking UCI with a WB engine would give you the same effect; the engine would just appear dead, because it would not recognize any of the commands intended to make it do something.
The sequence
> xboard
> protover 2
< unknown command: xboard ? => UCI
< feature ... ? => WB v2
< Error (unknown command); protover ? => WB v1
wait 1 sec
> uci
< uciok ? => UCI
wait 1 sec
WB v1
seems a reasonably reliable protocol determination, and could be made default. In any case ignoring engine complaints like "unknown command: xboard", which is apparently what Stockfish (non-compliantly?) would say, seems a missed opportunity.
I know people are bitching about having options, but I would prefer an option to configure X/WinBoard to use autodetect/cecp/uci by default...
-
- Posts: 389
- Joined: Wed Sep 26, 2012 1:29 pm
- Location: Hungary
Re: Elements of the ULTIMATE Chess GUI?
This explains why this bug is there, but the bug is remaining a bug until it's not fixedhgm wrote:Sure, but that assumes that you do autodetection of the protocol. Because of the bad reputation this had I never bothered to try that in WinBoard. People always told me that it was better if they could select the protocol themselves.

Btw. cutechess has this bug also, but in opposite way. It assumes UCI by default

-
- Posts: 389
- Joined: Wed Sep 26, 2012 1:29 pm
- Location: Hungary
Re: Elements of the ULTIMATE Chess GUI?
"Doesn't the UCI spec say engines should ignore unknown input? In other words, the engine would not respond at all to xboard/protover."
This is the reason I try to auto detect UCI first and CECP at second IIRC. This order takes less time most of the cases.
"I know people are bitching about having options, but I would prefer an option to configure X/WinBoard to use autodetect/cecp/uci by default..."
I suggest (and use in PyChess) auto detection which gives an initial selection. Users can change it if engine supports both protocol of course.
This is the reason I try to auto detect UCI first and CECP at second IIRC. This order takes less time most of the cases.
"I know people are bitching about having options, but I would prefer an option to configure X/WinBoard to use autodetect/cecp/uci by default..."
I suggest (and use in PyChess) auto detection which gives an initial selection. Users can change it if engine supports both protocol of course.
-
- Posts: 28326
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Elements of the ULTIMATE Chess GUI?
That seems to be the case, but apparently Stockfish is non-compliant in this respect. I don't know if this is common amongst UCI engines.Evert wrote:Doesn't the UCI spec say engines should ignore unknown input? In other words, the engine would not respond at all to xboard/protover.
The specs are a bit vague on this topic, however; it seems an unknown token is not so much ignored, as well as resetting the parser to its 'start-of-line' state. And ot even that, as it explicitly states that "debug joho on" has an undefined effect.
This was certainly my plan, because I of course also have to deal with USI and UCCI engines, which in general are extremely intolerant to anything uncommon, and sending them 'uci' instead of 'usi' is often enough to make them exit immediately. So for distributions where Shogi is configured as the default variant, I would want to switch the auto-detection off.I know people are bitching about having options, but I would prefer an option to configure X/WinBoard to use autodetect/cecp/uci by default...
Bugs are by defiition unintended behavior, so intended behavior can never be a bug. It is a desig choice. You could of course argue that it is a design flaw. I agree that when auto-detection can be done reliably it would be better to have it. But not everything that can be improved on is automatically a design flaw.gbtami wrote:This explains why this bug is there, but the bug is remaining a bug until it's not fixed![]()
-
- Posts: 389
- Joined: Wed Sep 26, 2012 1:29 pm
- Location: Hungary
Re: Elements of the ULTIMATE Chess GUI?
You can argue this way, but I can imagine users who added non playing engines to Xboard used strong words insteadhgm wrote:Bugs are by defiition unintended behavior, so intended behavior can never be a bug. It is a desig choice. You could of course argue that it is a design flaw. I agree that when auto-detection can be done reliably it would be better to have it. But not everything that can be improved on is automatically a design flaw.gbtami wrote:This explains why this bug is there, but the bug is remaining a bug until it's not fixed![]()

-
- Posts: 396
- Joined: Fri Aug 12, 2016 8:43 pm
Re: Elements of the ULTIMATE Chess GUI?
Good (well, you wrote a lot of posts repeating the same things without even bothering to try to understand).hgm wrote: Not wanting to learn all that should not really conflict with the presence of an extra facility for people that do want to learn.
Now that you are almost there, one last effort: try to focus on the meaning of *extra*.
-
- Posts: 28326
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Elements of the ULTIMATE Chess GUI?
'Extra here means nothing else than "what they don't happen to need, for their limited interests". If that is not what you understood from it, I would be happy to use any other word for it.
Don't get me wrong, I think reliable auto-detection of protocol is a great feature, and as long as there is a way to overrule it in the rare case it fails it would certainly be a good design choice. I still think every user should automatically be exposed to the control to accept or overrule it, however.
Imagining is not the same thing as happening. Fact is that no one ever complained about this before to me in whatever words. And it seems that the reverred Shredder GUI, praised here as the summit of user-friendliness, also forces the user to make a choice between UCI and WB, rather then auto-detecting it. So what exactly happens there if you select WB for a UCI engine? Does it give you a quick error message?gbtami wrote:You can argue this way, but I can imagine users who added non playing engines to Xboard used strong words instead
Don't get me wrong, I think reliable auto-detection of protocol is a great feature, and as long as there is a way to overrule it in the rare case it fails it would certainly be a good design choice. I still think every user should automatically be exposed to the control to accept or overrule it, however.
-
- Posts: 389
- Joined: Wed Sep 26, 2012 1:29 pm
- Location: Hungary
Re: Elements of the ULTIMATE Chess GUI?
"Imagining is not the same thing as happening."
That happened with me the day before when I tried to add stockfish to xboard 4.9.1
"Fact is that no one ever complained about this before to me in whatever words."
OK. Here I am. I'm complaining.
"And it seems that the reverred Shredder GUI, praised here as the summit of user-friendliness, also forces the user to make a choice between UCI and WB, rather then auto-detecting it. So what exactly happens there if you select WB for a UCI engine? Does it give you a quick error message?"
I'v not praised Shredder here, and if it behaves the same as Xboard and cutechess, I think both should do better.
"Don't get me wrong, I think reliable auto-detection of protocol is a great feature, and as long as there is a way to overrule it in the rare case it fails it would certainly be a good design choice. I still think every user should automatically be exposed to the control to accept or overrule it, however."
Agreed.
That happened with me the day before when I tried to add stockfish to xboard 4.9.1
"Fact is that no one ever complained about this before to me in whatever words."
OK. Here I am. I'm complaining.
"And it seems that the reverred Shredder GUI, praised here as the summit of user-friendliness, also forces the user to make a choice between UCI and WB, rather then auto-detecting it. So what exactly happens there if you select WB for a UCI engine? Does it give you a quick error message?"
I'v not praised Shredder here, and if it behaves the same as Xboard and cutechess, I think both should do better.
"Don't get me wrong, I think reliable auto-detection of protocol is a great feature, and as long as there is a way to overrule it in the rare case it fails it would certainly be a good design choice. I still think every user should automatically be exposed to the control to accept or overrule it, however."
Agreed.