Rybka 1.0 source code

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

Moderators: hgm, Rebel, chrisw

User avatar
JuLieN
Posts: 2949
Joined: Mon May 05, 2008 12:16 pm
Location: Bordeaux (France)
Full name: Julien Marcel

Re: Rybka 1.0 source code

Post by JuLieN »

OliverUwira wrote:
JuLieN wrote:
José Carlos wrote:
Rebel wrote:Yes.

He says he does not have it any longer hence the surrogate.
Sorry, I didn't know that. So what about the next closest (less different) source code that he keeps? I don't think it can bring him much trouble because it would be an old version and, disgracefully, all Rybka insights have already been shown to public...
Well, it happens that Vas not only lost the 1.0's source code, but also all the 0.x, the 1.x, the 2.x... (No, this is NOT a joke).
This is what I actually find pretty strange in the whole saga.

I for example also haven't used version control for my stuff but I sure as hell copied the whole VS project folder to a backup drive before I began to work on a new version.

I doesn't seem to fit into my tiny brain that somebody wouldn't do at least this. I mean, what if you screw up something, making you want to go back to known working code?

Once I lost such a backup folder because of a hard drive crash. It is reasonable that this might have happened to VR as well. Who knows, but I find it very hard to believe he didn't do backups at all.
I do exactly the same. Despite I am an amateur and my engine is of amateur force too and not commercial I always archive each version source each time I release a new version. Out of the 7 currently publicly available versions of my engine, I have the source for 6 of them (and the seventh one I don't have the source because it was a quick fix, so it could easily be reconstructed from the immediately previous version). I keep those archives in two places: 1) on my hard disk, and 2) a backup on a USB key. If I were a commercial engine author I'd take even more precautions.

So, I don't know anymore if Vas took as many as Fruit as his accusing says he did, but I'm sure of something: he really doesn't want to show his code. (Because no, I don't buy the whole lost code source thing).
Last edited by JuLieN on Wed Feb 08, 2012 1:57 pm, edited 2 times in total.
"The only good bug is a dead bug." (Don Dailey)
[Blog: http://tinyurl.com/predateur ] [Facebook: http://tinyurl.com/fbpredateur ] [MacEngines: http://tinyurl.com/macengines ]
User avatar
Rebel
Posts: 6991
Joined: Thu Aug 18, 2011 12:04 pm

Re: Rybka 1.0 source code

Post by Rebel »

Gerd Isenberg wrote:On the 0.0 issue. There are (only) about 32 >=, <=, >, < zero expressions in the Rybka C code Ed posted. And surely enough, the possible typo appeared exactly in the code where it had "semantical connections" with the floating point comparison inside Fruit.
Good point Gerd. And also only one float compare in whole Rybka 1 I must add. What about the 0x7fffffff sentinel in both Rybka 1.6.1 and Rybka 1.0 time control ?
K I Hyams
Posts: 3584
Joined: Fri Mar 31, 2006 11:21 pm

Re: Rybka 1.0 source code

Post by K I Hyams »

José Carlos wrote:
Rebel wrote:Yes.

He says he does not have it any longer hence the surrogate.
Sorry, I didn't know that. So what about the next closest (less different) source code that he keeps? I don't think it can bring him much trouble because it would be an old version and, disgracefully, all Rybka insights have already been shown to public...
Perhaps I should simply have provided a link to the material reproduced below because it is largely a repeat of a previous post. However, I think that the issue is sufficiently revealing to make a verbatim reconstruction appropriate.

The exchange below is taken from the Rybka forum and altered to make it CCC friendly. In my opinion, his repeated claim to have lost the source code to Rybka 1 and Rybka 2 is shown to be unlikely to be true, at the time at which it was originally made. Either way, he appears to retract it immediately when faced with evidence that indicates that it is untrue. He then appears to offer to provide the code in question and immediately retract that offer when pressed.
KIHyams wrote: Hi Vas,
Something nice and simple for you:

The fact that Rybka versions released before Rybka 3 are now ancient is one of a number of reasons why it would seem unlikely that they hold much commercially sensitive information in 2012.

Even if they do, you could make the source code of the Rybka versions 1 and 2 that played in ICGA tournaments available to a responsible ICGA associated expert who is not one of your competitors and who undertakes to keep your code confidential.

If you did that and the code was declared as untainted as you claim it is, many of the accusations that have been leveled against you would melt away and a substantial number of experts who have spoken out against you would end up with egg on their faces. Are you still reluctant to release the R1 and/or the R2 code under those controlled conditions and if so, will you please explain why?
Keith
Vas wrote: I don't have any Rybka source code from before the spring of 2010. Possibly I will release the source code to Rybka 4 in a few years, when it has no remaining value. I haven't decided about that yet. It's not something I am considering right now.

In the long run, this issue and others like it will be resolved by better tools. In the future, we'll have programs which can take two executables and quantify the source-code-level similarities between them. Code copying will then be very clear.
KIHyams wrote: Thank you for your prompt answer. However, having read the post below, I find the statement that you "don't have any Rybka source code from before the spring of 2010" rather surprising. The post quoted below was written by Lukas Cimiotti on date 2011-08-14 at 10:28 hours. My problem is that I do not understand why you would be discussing reasons for not releasing obsolete code if it wasn't in your possession anyway. Would you please explain?


- N/- By Lukas Cimiotti (*****) [de] Date 2011-08-14 10:28
Vas and I discussed whether or not he should give source code to the ICGA. He really didn't like that idea. My idea was removing all comments and maybe changing all names of variables to make the code harder to understand. But as the guys that disassembled Rybka hadn't understood several parts of the code, we agreed it's safer to not give anything to our competitors.
So Vas only defended himself by saying: I did nothing wrong.
http://rybkaforum.net/cgi-bin/rybkaforu ... ;hl=source
Vas wrote: By Vasik Rajlich Date 2012-01-08 20:55
In this scenario I would release the source code that I had. (I probably misunderstand your question.)

Vas
KIHyams wrote: By K I Hyams Date 2012-01-08 21:13
If I understand you correctly, you are saying that you are willing to show obsolete source code to an honest broker, who is not one of your competitors, under controlled conditions. Such an action would clear up a lot of questions. I wonder whether that can be arranged in the near future.
Vas wrote: By Vasik Rajlich Date 2012-01-08 21:19
I don't see how that would help. It wouldn't convince anybody who wasn't that broker.

Vas

KIHyams wrote:By K I Hyams Date 2012-01-08 21:36
The opinions of expert and impartial witnesses can carry a lot of weight. Am I to understand that you are now withdrawing your offer that "In this scenario I would release the source code that I had", within 50 minutes of making that offer?
Vas wrote: By Vasik Rajlich Date 2012-01-08 22:01
> The opinions of expert and impartial witnesses can carry a lot of weight.

It wouldn't be an impartial witness if it was someone of my choosing.

Anyway, no, this is not an option (for now).

Vas
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Rybka 1.0 source code

Post by Don »

JuLieN wrote:
José Carlos wrote:
Rebel wrote:Yes.

He says he does not have it any longer hence the surrogate.
Sorry, I didn't know that. So what about the next closest (less different) source code that he keeps? I don't think it can bring him much trouble because it would be an old version and, disgracefully, all Rybka insights have already been shown to public...
Well, it happens that Vas not only lost the 1.0's source code, but also all the 0.x, the 1.x, the 2.x... (No, this is NOT a joke).
We should not confuse facts with innuendo. If the source code is lost or Vas says it's lost we have to take his word for it unless someone can present evidence that it was not really lost.

I have ALWAYS been careful about not losing RECENT versions of the source code, however I have never been obsessive about keeping ancient versions. Things get archived, put on floppies (at least they used to) and get forgotten and lost. I don't find his claim of losing the source code strange at all.

I just checked my repositories and the earliest version of doch that I have goes back only to July 11, 2009 - it's in a separate doch repository using git. This may have been when I switched over to git, I do not remember for sure but I did lose all the source code that goes before this - and I think it was due to human error.

I use git as my version control system. I counted how many distinct versions of source and it's a little over 7,000 different versions of the program. I don't think I have ever needed to look at source code that is older than that 2 releases ago and rarely even 1 release ago. If I lose anything beyond 1 release ago it would not be any kind of disaster to me, it would at most just be a minor annoyance.

Having said that, I have no desire to lose source code. If I could I would like to have every piece of code I have ever written. I would LOVE to get my hands on the Rexchess source code. Rexchess was written in assembler with a Pascal GUI.
Jose Carlos
Posts: 151
Joined: Wed Mar 08, 2006 10:09 pm
Location: Murcia (Spain)

Re: Rybka 1.0 source code

Post by Jose Carlos »

Thanks for the material. Very interesting.
__________________________
José Carlos Martínez Galán
Gerd Isenberg
Posts: 2250
Joined: Wed Mar 08, 2006 8:47 pm
Location: Hattingen, Germany

Re: Rybka 1.0 source code

Post by Gerd Isenberg »

Rebel wrote:
Gerd Isenberg wrote:On the 0.0 issue. There are (only) about 32 >=, <=, >, < zero expressions in the Rybka C code Ed posted. And surely enough, the possible typo appeared exactly in the code where it had "semantical connections" with the floating point comparison inside Fruit.
Good point Gerd. And also only one float compare in whole Rybka 1 I must add. What about the 0x7fffffff sentinel in both Rybka 1.6.1 and Rybka 1.0 time control ?
INT_MAX might be used with similar +oo semantics as 999999. The range of INT_MAX - 257 to INT_MAX looks interesting in sub_40B1C0 (ln 4675) (mate score range?). Scoring move list? Where do you think INT_MAX appears in UCI-code?
Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: Rybka 1.0 source code

Post by Sven »

K I Hyams wrote:The exchange below is taken from the Rybka forum and altered to make it CCC friendly. In my opinion, his repeated claim to have lost the source code to Rybka 1 and Rybka 2 is shown to be unlikely to be true, at the time at which it was originally made. Either way, he appears to retract it immediately when faced with evidence that indicates that it is untrue. He then appears to offer to provide the code in question and immediately retract that offer when pressed.

[SNIP]
I am pretty sure that both statements of L. Cimiotti (from 2011-08-14 10:28: "Vas and I discussed whether or not he should give source code to the ICGA.") and Vas (from 2012-01-08 20:55: "In this scenario I would release the source code that I had.") have been misinterpreted as being related to obsolete source code. If you think of recent (R4+) sources being subject of these statements then don't you believe that makes more sense? Please consider that Vas did not refer to the term "obsolete" in any of his replies you quoted above, and did always answer on only a selected part of your questions, so you cannot be sure at all about the unanswered parts. Even though you started your questions referring to versions R1 and R2, it is possible - and in my view very likely - that by quoting the Cimiotti statement you attracted Vas' attention towards recent Rybka versions if that was what he knew the Cimiotti statement was all about.

Sven
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Rybka 1.0 source code

Post by michiguel »

Sven Schüle wrote:
K I Hyams wrote:The exchange below is taken from the Rybka forum and altered to make it CCC friendly. In my opinion, his repeated claim to have lost the source code to Rybka 1 and Rybka 2 is shown to be unlikely to be true, at the time at which it was originally made. Either way, he appears to retract it immediately when faced with evidence that indicates that it is untrue. He then appears to offer to provide the code in question and immediately retract that offer when pressed.

[SNIP]
I am pretty sure that both statements of L. Cimiotti (from 2011-08-14 10:28: "Vas and I discussed whether or not he should give source code to the ICGA.") and Vas (from 2012-01-08 20:55: "In this scenario I would release the source code that I had.") have been misinterpreted as being related to obsolete source code. If you think of recent (R4+) sources being subject of these statements then don't you believe that makes more sense? Please consider that Vas did not refer to the term "obsolete" in any of his replies you quoted above, and did always answer on only a selected part of your questions, so you cannot be sure at all about the unanswered parts. Even though you started your questions referring to versions R1 and R2, it is possible - and in my view very likely - that by quoting the Cimiotti statement you attracted Vas' attention towards recent Rybka versions if that was what he knew the Cimiotti statement was all about.

Sven
Particularly in light of the panel decision, which requires current versions to be demonstrated to be free of guilt:
"ban his programs from future competitions until he can satisfy the ICGA that they are no longer derivatives and that he has satisfied the conditions of any other penalties the ICGA imposes."

Miguel
User avatar
Rebel
Posts: 6991
Joined: Thu Aug 18, 2011 12:04 pm

Re: Rybka 1.0 source code

Post by Rebel »

Gerd Isenberg wrote:
Rebel wrote:
Gerd Isenberg wrote:On the 0.0 issue. There are (only) about 32 >=, <=, >, < zero expressions in the Rybka C code Ed posted. And surely enough, the possible typo appeared exactly in the code where it had "semantical connections" with the floating point comparison inside Fruit.
Good point Gerd. And also only one float compare in whole Rybka 1 I must add. What about the 0x7fffffff sentinel in both Rybka 1.6.1 and Rybka 1.0 time control ?
INT_MAX might be used with similar +oo semantics as 999999. The range of INT_MAX - 257 to INT_MAX looks interesting in sub_40B1C0 (ln 4675) (mate score range?). Scoring move list? Where do you think INT_MAX appears in UCI-code?
http://www.top-5000.nl/Fruit_vs_Fadden.htm

Rick Fadden called it depthlimit.

The bottom line is that Rybka 1.6.1 (April 19, 2004) has UCI and why would anyone copy something he already has?
K I Hyams
Posts: 3584
Joined: Fri Mar 31, 2006 11:21 pm

Re: Rybka 1.0 source code

Post by K I Hyams »

Sven Schüle wrote:it is possible - and in my view very likely - that by quoting the Cimiotti statement you attracted Vas' attention towards recent Rybka versions if that was what he knew the Cimiotti statement was all about.
Sven
Both Cimiotti and Rajlich knew that they were not discussing “recent Rybka versions” and so there is no reason why my reference to the discussion should mislead Rajlich into thinking that I was talking about recent versions.

It is inconceivable that Rajlich did not know that the ICGA investigation focused on the relevant Rybka 1 and Rybka 2 versions. Therefore he knew which versions they wanted to see. In addition, he will also have known that, for obvious reasons, it would have been impossible to refute the allegations by showing Rybka 4 code.

Additional evidence that it was impossible to misinterpret the versions of Rybka to which I referred is listed below. These are the references to pre-Rybka 3 code in the conversation:
1.The fact that Rybka versions released before Rybka 3 are now ancient is one of a number of reasons why it would seem unlikely that they hold much commercially sensitive information in 2012.

2. Even if they do, you could make the source code of the Rybka versions 1 and 2 that played in ICGA tournaments available to a responsible ICGA associated expert who is not one of your competitors and who undertakes to keep your code confidential.

3. Are you still reluctant to release the R1 and/or the R2 code under those controlled conditions and if so, will you please explain why?

4.My problem is that I do not understand why you would be discussing reasons for not releasing obsolete code if it wasn't in your possession anyway. Would you please explain?

5. If I understand you correctly, you are saying that you are willing to show obsolete source code to an honest broker.

In addition, Rajlich's own comments, listed below, prove that he understood what was being discussed from beginning to end of conversation:
“I don't have any Rybka source code from before the spring of 2010” also indicates that he was aware that I was not referring to recent code.

Possibly I will release the source code to Rybka 4 in a few years, when it has no remaining value” also makes a distinction between recent code and the obsolete stuff that my question addressed.