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...
To Jeroen and interested minds, re. Tiger node count
Moderators: hgm, Rebel, chrisw
-
- Posts: 2129
- Joined: Thu May 29, 2008 10:43 am
-
- Posts: 6081
- Joined: Fri Mar 10, 2006 11:14 pm
- Location: Munster, Nuremberg, Princeton
Re: To Jeroen and interested minds, re. Tiger node count
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
-
- Posts: 2129
- Joined: Thu May 29, 2008 10:43 am
Re: To Jeroen and interested minds, re. Tiger node count
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
that's why i'm such an expert
now i can sleep in peace.
actully mine is not very different than the ..... (oops i mean Strelka) code above, it's also fruitfull
that's why i'm such an expert
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: To Jeroen and interested minds, re. Tiger node count
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'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.
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?
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.
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 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?
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 don't even recognize the origin of the above, much less that the content is factual.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?
-
- Posts: 6081
- Joined: Fri Mar 10, 2006 11:14 pm
- Location: Munster, Nuremberg, Princeton
Re: To Jeroen and interested minds, re. Tiger node count
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.
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
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: To Jeroen and interested minds, re. Tiger node count
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.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.
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.
-
- Posts: 921
- Joined: Fri Mar 10, 2006 11:21 am
- Location: Lulea, Sweden
Re: To Jeroen and interested minds, re. Tiger node count
This goes for all the Nordic languages I guess. E. g.: How long has he been collaborating with the enemy?Henrik Dinesen wrote: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.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?
If anyone called me a collaborator, I'd like it to be a friend who's just joking.
Tony, SSDF
-
- Posts: 2129
- Joined: Thu May 29, 2008 10:43 am
Re: To Jeroen and interested minds, re. Tiger node count
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'...icander wrote:This goes for all the Nordic languages I guess. E. g.: How long has he been collaborating with the enemy?Henrik Dinesen wrote: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.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?
If anyone called me a collaborator, I'd like it to be a friend who's just joking.
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...
-
- Posts: 6081
- Joined: Fri Mar 10, 2006 11:14 pm
- Location: Munster, Nuremberg, Princeton
Re: To Jeroen and interested minds, re. Tiger node count
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.icander wrote:This goes for all the Nordic languages I guess. E. g.: How long has he been collaborating with the enemy?Henrik Dinesen wrote: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.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?
If anyone called me a collaborator, I'd like it to be a friend who's just joking.
-Popper and Lakatos are good but I'm stuck on Leibowitz
-
- Posts: 910
- Joined: Wed Mar 08, 2006 9:46 pm
- Location: Plovdiv, Bulgaria
Re: To Jeroen and interested minds, re. Tiger node count
Me too.kranium wrote: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'...icander wrote:This goes for all the Nordic languages I guess. E. g.: How long has he been collaborating with the enemy?Henrik Dinesen wrote: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.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?
If anyone called me a collaborator, I'd like it to be a friend who's just joking.
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...
May be this was a little play-game by Noomen, other way I can't get it...
take it easy