To Jeroen and interested minds, re. Tiger node count

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

Moderators: hgm, Rebel, chrisw

kranium
Posts: 2129
Joined: Thu May 29, 2008 10:43 am

Re: To Jeroen and interested minds, re. Tiger node count

Post by kranium »

FRUIT:
static void parse_setoption( char string [])
{
const char *name;
char* value;

name = strstr(string, "name ");
value = strstr(string, "value ");
if (name == NULL || value == NULL || name >= value)return;
value[-1] = '\0';
name += 5;
value += 6;

STRELKA:
void parse_setoption(char string[])
{
char *name, *value;
int size;

name = strstr(string,"name ");
value = strstr(string,"value ");
if (name == NULL || value == NULL || name >= value) return;
value[-1] = 0;
name += 5;
value += 6;

---------------------------------------------------------------

FRUIT:
bool input_available()
{
static bool init = false, is_pipe;
static HANDLE stdin_h;
DWORD val, error;

if (stdin->_cnt > 0) return true;

if (!init)
{
init = true;
stdin_h = GetStdHandle(STD_INPUT_HANDLE);
is_pipe = !GetConsoleMode(stdin_h, &val);

if (!is_pipe)
{
SetConsoleMode(stdin_h, val & ~(ENABLE_MOUSE_INPUT | ENABLE_WINDOW_INPUT));
FlushConsoleInputBuffer(stdin_h);
}
}

if (is_pipe)
{
if (!PeekNamedPipe(stdin_h, NULL, 0, NULL, &val, NULL))
return true;
return val > 0;
}
else
{
GetNumberOfConsoleInputEvents(stdin_h, &val);
return val > 1;
}
return false;
}

STRELKA:
int input_available()
{
static int init = 0, is_pipe;
static HANDLE stdin_h;
DWORD val;

if (stdin->_cnt > 0) return 1;

if (!init)
{
init = 1;
stdin_h = GetStdHandle(STD_INPUT_HANDLE);
is_pipe = !GetConsoleMode(stdin_h, &val);

if (!is_pipe)
{
SetConsoleMode(stdin_h, val & ~(ENABLE_MOUSE_INPUT | ENABLE_WINDOW_INPUT));
FlushConsoleInputBuffer(stdin_h);
}
}

if (is_pipe)
{
if (!PeekNamedPipe(stdin_h, NULL, 0, NULL, &val, NULL))
return 1;
return val > 0;
}
else
{
GetNumberOfConsoleInputEvents(stdin_h, &val);
return val > 1;
}
return 0;
}
---------------------------------------------------------------

FRUIT:
static void parse_position( char string [] )
{
const char *fen;
char* moves;
const char *ptr;
char move_string[256];
int move;
undo_t undo[1];
fen = strstr(string, "fen ");
moves = strstr(string, "moves ");
if (fen != NULL)
{
if (moves != NULL)
{
ASSERT(moves > fen);
moves[-1] = '\0'; // dirty, but so is UCI
}
board_from_fen(SearchInput->board, fen + 4);
}
else
{
board_from_fen(SearchInput->board, StartFen);
}
if (moves != NULL)
{
ptr = moves + 6;
while (*ptr != '\0')
{
move_string[0] = *ptr++;
move_string[1] = *ptr++;
move_string[2] = *ptr++;
move_string[3] = *ptr++;
if (*ptr == '\0' || *ptr == ' ')
{
move_string[4] = '\0';
}
else
{
move_string[4] = *ptr++;
move_string[5] = '\0';
}
move = move_from_string(move_string, SearchInput->board);
move_do(SearchInput->board, move, undo);

while (*ptr == ' ')
ptr++;
}
}
}

STRELKA:
void parse_position( char string [] )
{
const char *fen;
char *moves;
const char *ptr;
char move_string[256];
int move;
struct undo_t undo[1];

fen = strstr(string, "fen ");
moves = strstr(string, "moves ");

if (fen != NULL)
{
if (moves != NULL)
moves[-1] = 0; // Das ist UCI
board_from_fen(fen + 4);
}
else
board_from_fen(start_pos);

if (moves != NULL)
{
ptr = moves + 6;

while (*ptr != 0)
{
move_string[0] = *ptr++;
move_string[1] = *ptr++;
move_string[2] = *ptr++;
move_string[3] = *ptr++;

if (*ptr == 0 || *ptr == ' ')
move_string[4] = 0;
else
{
move_string[4] = *ptr++;
move_string[5] = 0;
}
move = move_from_string(move_string);
move_do(move, undo);

while (*ptr == ' ')
ptr++;
}
}
}
---------------------------------------------------------------
note:
both sets of code formatted with polystyle for regularity and clarity
comments removed:
except for the translation of Fabien's
// dirty, but so is UCI
to
// Das ist UCI
(which is clearly German..i thought this was really odd considering Juri is Russian?)
lines (and blank lines) have been aligned for easy content comparison

theres a lot more but i don't have the energy...
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: To Jeroen and interested minds, re. Tiger node count

Post by Rolf »

Norm, could you please add the similar parts of your clone code from earlier this year? So that we could have a better oversight. Please Str___ then Fruit and then Schmidt. Thanks. <cough>
-Popper and Lakatos are good but I'm stuck on Leibowitz
kranium
Posts: 2129
Joined: Thu May 29, 2008 10:43 am

Re: To Jeroen and interested minds, re. Tiger node count

Post by kranium »

ah, the inevitable personal attack from Rolf (he even used the c word)...
now i can sleep in peace.

actully mine is not very different than the ..... (oops i mean Strelka) code above, it's also fruitfull :D
that's why i'm such an expert :!:
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: To Jeroen and interested minds, re. Tiger node count

Post by bob »

Rolf wrote:
bob wrote: I don't follow the thread that leads from "reverse engineering" to "wrong". If you don't want someone to reverse engineer your idea, you patent the idea, then there is no issue. But often, in any discipline, simply knowing that something is possible leads to how it was done. If you don't know that something is possible, then you might not be willing to expend the resources to figure out how. That happens all the time and I am mystified as to how this is "wrong".
[
But this what is exsactly happening in our example. Vas once had a beta for free and some took this as sort of invitation to get the source code by r.eng. But apparently nobody was keen enough to publish Rybka stuff. So the following happened. Evil criminals IMO created a copy of Rybka 1 beta which was for free and called it Str___ and threatened to publish Str__ as open source. So here you hasve a clear mafia-like threat/ blackmail. To end all that Vas simply claimed that Str__ is his own program before the criminals could continue their blackmail. So that we have actually the following threat in a remake of the former mafia-like crime, Bob.
/quote]

That isn't quite what happened. There was no "threat" to post the source. The source was posted when evidence suggested that the program had roots in Rybka 1 I never saw any evidence of anything wrong, other than not being so forthcoming about the program's roots until pressed on the issue.

It is a Theron, in your eyes still a honorable programmer who announced that people have now compared Str___ (guess what!!) with Rybka and Fruit. And Theron wanted now to publish all the similarities in Rybka 1 beta, Fruit and Str___! Is this crazy in your eyes or is this a completely normal research the scene has done over all the pastr 30 years with all the new commercial programs, to finally reveil all their secrets? No?? How come that no?
It's been repeated _many_ times in the past. Some with my program (Le Petite, voyager, gunda, bionic impact, etc). And others as well with other programs being copied. Nothing new.

Because, as you want to insinuate, the former commercial big ones didnt cheat but as Theron has written, Vas allegedly has obfuscated his output because he wanted to hide that he cheated with his code. And to make this a real scandal, you agreed with such idiotic allegations, isnt it? Didnt you agree?
I didn't agree to anything remotely resembling that, so I don't know where you are coming from. I agree the output was obfuscated. I believe it was done to hide internal programming tricks. It is plausible that output was obfuscated to hide copying. This was certainly done in several of the crafty clones. But inspection of the executable found that they had not modified any of the important stuff.

Then in your last post to me you ask me why perhaps it's a fact that with these former leading commercial progs similar campaigns did NOT happen and you want to insinuate the same evil trick by insinuating that in computerchess there were no cheaters in the last 30 years,
I have no idea where that nonsense comes from. Clearly there has been significant cheating (cloning is a better word but the difference is small). So where did I say it had _not_ happened?
so that if now such a campaign happens it can only mean that really really promissed Rybka and Vas have done something wrong. That is what Bob is now signing?????? Give me break, Bob. What we have is a campaign supported by all these former successful commercial buddies who actually know that with Rybka their own successes are really meant in the past forever because if they cant get to the secrets to Rybka without crimes or cheats, then they will always remain second best and that doesnt please these former big ones. And because of the many connections, just like in the 'family' (Marlon Brando!), the organizers and officials also want to re-install the former rank order. So, if I were official in Pejing I would force Rybka to be dismantled , be ripped and reveiled or I would forbid Rybka to participate in all future championships. Exactly what happened with List in Graz. And then Fritz or Shredder or Junior will share number one again. And if they didnt die, the will live forever..........

Is this the scenario, Bob?
I don't even recognize the origin of the above, much less that the content is factual.
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: To Jeroen and interested minds, re. Tiger node count

Post by Rolf »

I asked you why this was done with Rybka now, what hasnt been done against Fritz, Junior, Shredder, you name it. Because everybody knew that those were kosher? What is behind the hunt against Rybka ands its author. Easy enough to be answered now?

Of course now you could answer, what hunt, I dont know where you have this word kosher from. You must not answer. You must not invent answers if you cant answer because you have no answer for my questions, but please dont put down my questions as such.

So, I summarize: why is it that the named programs were never reverse engineered? And why was it done against Vasik? - I ask you because you are for me the science reference in computerchess.
-Popper and Lakatos are good but I'm stuck on Leibowitz
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: To Jeroen and interested minds, re. Tiger node count

Post by bob »

Rolf wrote:I asked you why this was done with Rybka now, what hasnt been done against Fritz, Junior, Shredder, you name it. Because everybody knew that those were kosher? What is behind the hunt against Rybka ands its author. Easy enough to be answered now?

Of course now you could answer, what hunt, I dont know where you have this word kosher from. You must not answer. You must not invent answers if you cant answer because you have no answer for my questions, but please dont put down my questions as such.

So, I summarize: why is it that the named programs were never reverse engineered? And why was it done against Vasik? - I ask you because you are for me the science reference in computerchess.
I don't know that anyone has _ever_ seen the source of a commercial program, so how could it be done? As far as "why were they not reverse-engineered" I can't answer. I personally would not invest the time and effort needed to do that unless there was some remarkable reward for doing so.

So, to take your questions in order:

(1) I doubt anyone in the past was willing to invest the effort required to go from machine language to assembly language, to C code. That's a significant effort.

(2) It wasn't done against Vax. It was done _to_ Rybka. Again, no idea why other than Rybka represented the program at the top of the rating heap, and someone decided that they wanted to pull this off.

The only way to get your questions answered factually would be to ask the world why no one reverse-engineered any past program and (b) then ask the "author" of Strelka why he invested the time and why he chose Rybka.

Everything is just idle speculation that is wasting bandwidth.
User avatar
icander
Posts: 921
Joined: Fri Mar 10, 2006 11:21 am
Location: Lulea, Sweden

Re: To Jeroen and interested minds, re. Tiger node count

Post by icander »

Henrik Dinesen wrote:
Jeroen wrote:A collaborator in the Dutch language means f.e. Dutch people who joined the Nazis during world war II and betrayed their own people. So maybe now you understand why I am upset?
For the record, the meaning is more or less the same in Danish. And when used in English, it usually seems to follow that line too.

If anyone called me a collaborator, I'd like it to be a friend who's just joking.
This goes for all the Nordic languages I guess. E. g.: How long has he been collaborating with the enemy?
Tony, SSDF
kranium
Posts: 2129
Joined: Thu May 29, 2008 10:43 am

Re: To Jeroen and interested minds, re. Tiger node count

Post by kranium »

icander wrote:
Henrik Dinesen wrote:
Jeroen wrote:A collaborator in the Dutch language means f.e. Dutch people who joined the Nazis during world war II and betrayed their own people. So maybe now you understand why I am upset?
For the record, the meaning is more or less the same in Danish. And when used in English, it usually seems to follow that line too.

If anyone called me a collaborator, I'd like it to be a friend who's just joking.
This goes for all the Nordic languages I guess. E. g.: How long has he been collaborating with the enemy?
I just want to remind that the word was used in an English forum, by an native English speaker, and in English the primary meaning is to 'work with' or to assist'...
the only negative connotation in English is when it is used with 'Nazi'.
i.e. a 'Nazi collaborator'. this was not the case.

Why is it being being taken completely out of context, and translated it into other languages in an effort to provide negative connotations?

I don't get it...
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: To Jeroen and interested minds, re. Tiger node count

Post by Rolf »

icander wrote:
Henrik Dinesen wrote:
Jeroen wrote:A collaborator in the Dutch language means f.e. Dutch people who joined the Nazis during world war II and betrayed their own people. So maybe now you understand why I am upset?
For the record, the meaning is more or less the same in Danish. And when used in English, it usually seems to follow that line too.

If anyone called me a collaborator, I'd like it to be a friend who's just joking.
This goes for all the Nordic languages I guess. E. g.: How long has he been collaborating with the enemy?
In German it has ONLY that sense. In the other case the zusammen, together working, or just the kooperieren (to cooperate) is the choice number one. But this isnt all important. Here we have a typical situation where we can only understand in context. CT felt heavily attacked by JN and he stroke back. With a wording, that he with his good connections to Holland and the Dutch (note Lukassoft and the former cooperatron with Ed too) knew as an impossible to tolerate verb for a Dutch. That has nothing to do with the time since WWII. Also what the linguitic context is concerned: the Dutch is mainly a variation of the German and that again is closely related to the Nordic languages. So also from an archaic linkage plus the history of a shameful event (of course caused by the dirty Nazis!) it is one the most evil allegation one could make against a Dutch and this was the case here. The excuse that HERE the English dominated is worthless in case we have a French. BTW with a similar past and the clear negative context but maybe the French have a lighter style to make this forget as a direct pain. But we must not seek too far in the national characters, what counts is that CT is absolutely familiar with that topic in Holland. And therefore it was a dirty attack. While JN just asked for what is proven as fact. In the end the actual campaign was led by someone who has the same tech in his own prog to deceive the naive display readers. So we have this as case one and in the meantime CT came out with his confession that he in special has never liked and has never done therefore, to adopt something OTHES have invented or used for the first time. This is a case two hypocrisy because as reference Bob explained there are not so many new inventions in the progs because they all rely on stuff that was invented by others, mostly friends of Bob and in a time period when Bob was himself competiting. - So, overall, this is a very dirty smear act for computerchess as such.
-Popper and Lakatos are good but I'm stuck on Leibowitz
User avatar
GenoM
Posts: 910
Joined: Wed Mar 08, 2006 9:46 pm
Location: Plovdiv, Bulgaria

Re: To Jeroen and interested minds, re. Tiger node count

Post by GenoM »

kranium wrote:
icander wrote:
Henrik Dinesen wrote:
Jeroen wrote:A collaborator in the Dutch language means f.e. Dutch people who joined the Nazis during world war II and betrayed their own people. So maybe now you understand why I am upset?
For the record, the meaning is more or less the same in Danish. And when used in English, it usually seems to follow that line too.

If anyone called me a collaborator, I'd like it to be a friend who's just joking.
This goes for all the Nordic languages I guess. E. g.: How long has he been collaborating with the enemy?
I just want to remind that the word was used in an English forum, by an native English speaker, and in English the primary meaning is to 'work with' or to assist'...
the only negative connotation in English is when it is used with 'Nazi'.
i.e. a 'Nazi collaborator'. this was not the case.

Why is it being being taken completely out of context, and translated it into other languages in an effort to provide negative connotations?

I don't get it...
Me too.
May be this was a little play-game by Noomen, other way I can't get it...
take it easy :)