Rybka 1.0 source code

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

Moderators: hgm, Rebel, chrisw

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 »

Rebel wrote: Since publishing disassembled work of others is forbidden by EU law I asked Vas for permission to publish the Rybka 1.0 sources and he did not hesitate for one moment.
This is maybe a silly question, but still... wouldn't it be easier, and much more useful, that Vas release the true Rybka 1.0 source code?
__________________________
José Carlos Martínez Galán
User avatar
Rebel
Posts: 6991
Joined: Thu Aug 18, 2011 12:04 pm

Re: Rybka 1.0 source code

Post by Rebel »

Yes.

He says he does not have it any longer hence the surrogate.
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 »

José Carlos wrote:
bob wrote: I have been unable to find a single person that types inverted comparisons.
Just for the record, I do type those inverted comparisons in some cases. It makes life easier.
Yes, left constant comparison is very common in the company I work for. Specially SQL programmers use it if writing C or C++ (MSVC) code.

With overloaded C++ operators for instance in comparing strings, one has to make sure the correct type conversion takes place rather than to compare pointers.

Code: Select all

if ("abc" == aQStringVariable )
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.
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 »

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...
__________________________
José Carlos Martínez Galán
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 »

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).
"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
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Rybka 1.0 source code

Post by Don »

José Carlos wrote:
bob wrote: I have been unable to find a single person that types inverted comparisons.
Just for the record, I do type those inverted comparisons in some cases. It makes life easier.
The point of doing this is defensive programming. If you do this by accident:

if ( x = 7 ) { do something ... }

then you have assigned the value of 7 to x

but if you do:

if ( 7 = x ) { do something ... }

you will get a compiler error.
User avatar
OliverUwira
Posts: 170
Joined: Mon Sep 13, 2010 9:57 am
Location: Frankfurt am Main

Re: Rybka 1.0 source code

Post by OliverUwira »

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

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).
I see.
Well, I have no problem accepting the loss of sources (I myself did lose the source code of Averno when my exwife decided that my computers where part of the house I had paid but she would use, and a very nice and fair judge sent me to[...]), but there must be something. For example, the current source files might have some comments on what has been changed and when, or something like that...
__________________________
José Carlos Martínez Galán
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Rybka 1.0 source code

Post by sje »

Don wrote:The point of doing this is defensive programming. If you do this by accident:

if ( x = 7 ) { do something ... }

then you have assigned the value of 7 to x

but if you do:

if ( 7 = x ) { do something ... }

you will get a compiler error.
A good C/C++ compiler will issue a warning note for case #1 above.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Rybka 1.0 source code

Post by Don »

sje wrote:
Don wrote:The point of doing this is defensive programming. If you do this by accident:

if ( x = 7 ) { do something ... }

then you have assigned the value of 7 to x

but if you do:

if ( 7 = x ) { do something ... }

you will get a compiler error.
A good C/C++ compiler will issue a warning note for case #1 above.
That's right - and that's why there is no need to obsess over it.

I like seeing stuff like that in code, it's an indication of unconventional thinking. On the other hand it's probably not so good in environments where source code is worked on as a team.

If you want to see really good examples of unconventional thinking and coding look at code written by Ken Thompson.