Winboard "level" command issue

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

Moderator: Ras

User avatar
hgm
Posts: 28391
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Winboard "level" command issue

Post by hgm »

bob wrote:I think the idea of "remembering" is bad. _really_ bad. And I'd bet that this causes more problems than any other issue. Position learning in chess engines has led to more errors, false reports, false claims about quick solution times and such than I care to remember.

I would prefer this be done with a more traditional approach, such as .xboardrc or whatever so that the user is responsible for setting up the defaults, and changing the defaults whenever desirable.

There is a definite hierarchy for this. You first parse the .xboardrc file, then you parse the command-line options which override the .xboardrc if given, then you let the usere point and click to override both if they so choose. Which is how most other application packages work. This gives the same effect without the confusion of long-term memory that a user might not be aware of.

Just my $.02...
This is not so different from what happens in WinBoard. The only difference with what you propose is how the settings file (your .xboardrc) is made. Rather than preparing it with a text editor, WinBoard itself can be used (through the point and click mechanism) to alter the settings, and save them back onto the settings file (by clicking "save settings"). I would say this definitely is a more user-friendly way to do it, as you can actually see what you are doing. Having to position the various windows on the screen by typing in screen coordinates is not something I would wish even on my worst enemies.

The problem starts because people can also click an option "save settings on exit", which, (because of the saving), then becomes permanent. But people apparently want this option; no one forces them to use it.

And what you propose would not solve the reported problem. If the normal way XBoard is used is with incremental TC, that will presumably in your .xboardrc file. And then passing only an -mps parameter without a new -inc would still leave the old -inc from the settings file in force, with the effect that the given -mps will be suppressed.
krazyken

Re: Winboard "level" command issue

Post by krazyken »

hgm wrote:Except that the parameters are handed as a a structure of settings to the application, and there is no way to know which occured before the other, or what its source was.
Something must be parsing these options, not knowing the order, or the source is quite weird. So is there a command line flag to not use the ini file?
User avatar
hgm
Posts: 28391
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Winboard "level" command issue

Post by hgm »

In XBoard the options are parsed by a standard Athena-widgets function that returns the option settings in a structure (or the default value where the option was missing). This structure is then passed to the backend (= platform-independent code). There is no remembering of parametes there.

In analogy, WinBoard parses the command line by a table-driven function, to fill that same structure. The table-driven parser does not interpret the options, the only thing it knows about it the type of the argument, (int, string, boolean) and the field in the structure where the value should be stored.

By the time the backend gets to see the options, the information about their order in the command line is no longer present. Unless you start the parsing of initial command line and ini file(s) all over, with a different parser.