Elements of the ULTIMATE Chess GUI?

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: Elements of the ULTIMATE Chess GUI?

Post by gbtami »

hgm 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.
This explains why this bug is there, but the bug is remaining a bug until it's not fixed :wink:

Btw. cutechess has this bug also, but in opposite way. It assumes UCI by default :)
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: Elements of the ULTIMATE Chess GUI?

Post by gbtami »

"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.
User avatar
hgm
Posts: 28519
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Elements of the ULTIMATE Chess GUI?

Post by hgm »

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.
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.

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.
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...
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.
gbtami wrote:This explains why this bug is there, but the bug is remaining a bug until it's not fixed :wink:
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.
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: Elements of the ULTIMATE Chess GUI?

Post by gbtami »

hgm wrote:
gbtami wrote:This explains why this bug is there, but the bug is remaining a bug until it's not fixed :wink:
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.
You can argue this way, but I can imagine users who added non playing engines to Xboard used strong words instead :)
Fulvio
Posts: 399
Joined: Fri Aug 12, 2016 8:43 pm

Re: Elements of the ULTIMATE Chess GUI?

Post by Fulvio »

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.
Good (well, you wrote a lot of posts repeating the same things without even bothering to try to understand).
Now that you are almost there, one last effort: try to focus on the meaning of *extra*.
User avatar
hgm
Posts: 28519
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Elements of the ULTIMATE Chess GUI?

Post by hgm »

'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.
gbtami wrote:You can argue this way, but I can imagine users who added non playing engines to Xboard used strong words instead :)
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?

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.
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: Elements of the ULTIMATE Chess GUI?

Post by gbtami »

"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.
User avatar
hgm
Posts: 28519
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Elements of the ULTIMATE Chess GUI?

Post by hgm »

gbtami wrote:That happened with me the day before when I tried to add stockfish to xboard 4.9.1
I was referring to the "strong words". And yes, it happened to me the other day as well, when I wanted to check how many options Rodent actually had (as it was mentioned here as an example of an engine with many options, and I happened to have Rodent III on my disk), and I forgot to tick 'USI'. Did't cause my blood pressure to raise, though.
OK. Here I am. I'm complaining.
Well, your complaint is duly noted. Protocol auto-detection is at the top of the list of possible features to add now.
I'v not praised Shredder here,
Sure, but others did here, and I heard such sentiments voiced many times before. I just mentioned it as an indication that apparently leaving the protocol choice entirely to the user is not such a big deal with users.
Fulvio
Posts: 399
Joined: Fri Aug 12, 2016 8:43 pm

Re: Elements of the ULTIMATE Chess GUI?

Post by Fulvio »

hgm wrote: 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.
Please don't.
We are at the end of year 2017, and my computer have 4 core.
Your first thought should be to start 2 different sub-process in parallel, one for UCI and one for xboard, and just kill the one that do not respond (or the one that you think is inferior for multi-protocol engines).
This way you do not have to wait 1 sec (wtf) and it works 100% of the times.
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: Elements of the ULTIMATE Chess GUI?

Post by gbtami »

hgm wrote:And yes, it happened to me the other day as well, when I wanted to check how many options Rodent actually had (as it was mentioned here as an example of an engine with many options, and I happened to have Rodent III on my disk), and I forgot to tick 'USI'.
Then you can imagine how often this can occur with users knowing nothing about protocols at all.
hgm wrote:Well, your complaint is duly noted. Protocol auto-detection is at the top of the list of possible features to add now.
Great, thx!
hgm wrote:
gbtami wrote:I'v not praised Shredder here,
Sure, but others did here, and I heard such sentiments voiced many times before. I just mentioned it as an indication that apparently leaving the protocol choice entirely to the user is not such a big deal with users.
UX is a big deal IMO.