Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Discussion / Asides and commentary on RV's decompilation and reports
1 2 312 13 Previous Next  
- - By turbojuice1122 (Gold) [us] Date 2013-08-20 15:43
I have just become part of the moderation team.  My main aim is to try to clean up the threads to keep them better organized so that people like Richard can more easily post where they need to post without having to sort through lots of other commentary.  I don't plan to interfere much in conversations unless people are really being offensive, and someone is clearly hurt.  (Example: obviously neither Bob nor Alan are hurt by each other's talk.)

Throughout the day today (i.e. later when I have time), I will branch off long topics that don't have Richard's responses from the RV thread into this one.
Parent - - By RFK (Gold) Date 2013-08-13 20:20

> It _IS_ in Fruit. In search_clear() which is called from parse_go(). Fruit uses this variable in search_send_stat() to periodically send info every second. Rybka does not send periodic info, so this assignment is useless - but still there.


So, for the non-programming layman!

Sought of like an evolutionary process where a vestige of a structure -that is a "visible trace, evidence, or sign of something that once existed but exists or appears no more." But in this case is present in an unrelated structure? :confused:
Parent - - By Mark (****) [us] Date 2013-08-13 20:45
I took it to mean that there's Fruit code in Rybka that isn't used by Rybka.
Parent - - By RFK (Gold) Date 2013-08-13 21:00 Edited 2013-08-13 21:10
In other words- Mark! Is this uniquely Fruit (It _IS_ in Fruit. In search_clear() which is called from parse_go(). Fruit uses this variable in search_send_stat() to periodically send info every second.) or, commonly used  programming?

If it is unique to Fruit -it does not bode well. [edit] I should qualify this by asking - is this uniquely programmed code developed by  Fabien Letouzey for Fruit,  and found in no other chess engine?

But if it is common programming code - it doesn't necessarily point to anything other than Rybka at one time may have used the same programming instruction, and why not!
Parent - By Mark (****) [us] Date 2013-08-13 21:27
"Rybka does not send periodic info, so this assignment is useless - but still there."

Looks pretty suspicious...
Parent - By Ray (****) Date 2013-08-13 21:29
It is impossible to know if it is included in any other engines, because most have not been scrutinised in the same way as Rybka. So Richard's efforts will still leave unanswered questions.
Parent - - By bob (Gold) [us] Date 2013-08-13 22:52
That's exactly what it meant.  Ed referred to it as "death code".  Most in the US call that "dead code".  Code that is not reached or not used anywhere.  Good compilers, today, will point out when you assign a variable a value but then do not use it.  Wasn't very common 10+ years ago.
Parent - - By RFK (Gold) Date 2013-08-13 23:16
So what you are saying is that "dead code" no longer serves a function. But cannot be written out as it may cause unintended bugs?
Parent - - By Mark (****) [us] Date 2013-08-14 00:23
No, the dead code can be removed with no impact at all.
Parent - - By RFK (Gold) Date 2013-08-14 01:10
http://en.wikipedia.org/wiki/Dead_code

While the result of a dead computation may never be used, it may raise exceptions or affect some global state, thus removal of such code may change the output of the program and introduce unintended bugs.
Parent - By Mark (****) [us] Date 2013-08-14 10:05
Look at the example provided.  That's not the kind of thing we're talking about here.
Parent - - By RFK (Gold) Date 2013-08-14 02:09

> No, the dead code can be removed with no impact at all.


Dead wrong!
Parent - By oudheusa (*****) [nl] Date 2013-08-14 08:30
See my message below, thanks.
Parent - By Mark (****) [us] Date 2013-08-14 10:11
Are you trying to imply that the dead code was put there on purpose?  You're missing the point.
Parent - - By bob (Gold) [us] Date 2013-08-14 00:44
Mark got it right.  And unfortunately for one that copies, that dead code serves as another sentinel to detecting copied code.  One would not, on their own, write code that does absolutely nothing, yet appears exactly as written in another engine.  Why would you even write code that does nothing.

My dad once pissed my grandmother off big-time with a nice example of "dead code" (his mother-in-law, of course.)

She asked about something he had mentioned at one point in time, namely "baking a turtle."

(this was at thanksgiving dinner with a crowd around the table eating).  He went through this long diatribe on how to prepare the turtle, cleaning it, seasoning, placing it on a board, surrounding with various things like bell peppers and such, and then the cooking instructions.  Which ended with "remove from oven, throw turtle in trash and eat the board..."

We thought it was funny as hell.  Grandmother thought it was "poor taste".  :)

All those "cooking instructions" were "dead code"...
Parent - - By Lukas Cimiotti (Bronze) [de] Date 2013-08-14 09:46

>Why would you even write code that does nothing.


This happens frequently. You write a function, later remove the lines that call the function, forget to remove the function. I myself wrote a script to find dead variables and dead functions in my scripts.
Parent - - By bob (Gold) [us] Date 2013-08-14 15:41
This was not a function.  This was a line of code to initialize something that was not used.  It does happen on occasion.  Apparently Fabien and Vas think identically, I assume?
Parent - - By Banned for Life (Gold) Date 2013-08-14 20:39
Apparently Fabien and Vas think identically, I assume

Not nearly as identically as Fabien and Bob were thinking when they came up with the same bishop PST.
Parent - - By bob (Gold) [us] Date 2013-08-14 20:41
8 lines of code out of 50,000 in Crafty.  Fruit/Rybka have a LITTLE bit more in common.  Your comment STILL sounds stupid.  Always has...
Parent - - By Nick (*****) [gb] Date 2013-08-14 21:01
To be fair to BFL his comment is quite right.  Vas admitted to taking many things from Fruit, which is why there are some similarities between those two programs.  You did not admit to taking the bishop PST from Fruit, in fact you concocted a ridiculous story of how it got there, so in my book that makes Vas *much more* honest than you.  Think about you own actions before you attack others.
Parent - - By bob (Gold) [us] Date 2013-08-14 21:15
I didn't take the PST from Fruit.  I tried the idea of adding a bonus to the long diagonal.  Big deal.

There is MUCH more similar code in Fruit and Rybka.  And we are NOT talking "ideas" here.  But "code".

Feel free to examine the 50K lines of Crafty and find code taken from ANY other chess engine, besides some translated code from Cray Blitz, which I also happened to have written...
Parent - - By Nick (*****) [gb] Date 2013-08-14 21:21

> I didn't take the PST from Fruit.


Bob, you darn well know that's a lie, you know it, I know it and anyone with an understanding of basic probability and randomness knows it.  What probably happened was that you tried all of the non-trivial Fruit PSTs (with necessary offsets) in a cluster test of crafty and forget to remove the bishop one.  This isn't a big deal.  What is a big deal is that you insult the intelligence of others with your concocted story that reveals your dishonesty.

>  And we are NOT talking "ideas" here.  But "code".


Assumption.  That's yet to be seen in the Rybka/Fruit case.
Parent - - By bob (Gold) [us] Date 2013-08-14 23:12
It is seen throughout the ICGA evidence.  Just because YOU haven't looked doesn't mean it doesn't exist.  The "ostrich defense" really does NOT work.
Parent - - By Nick (*****) [gb] Date 2013-08-15 05:51

> It is seen throughout the ICGA evidence.


I've attached some of your "evidence".  If you really think that this code is in Rybka then Richard should be able to find it.

Hint: he won't be able to find it, because it's not there.
Parent - By bob (Gold) [us] Date 2013-08-15 20:15
That has already been explained N times by now.  If that is the best you can offer, give up.
Parent - By Geomusic (*****) Date 2013-08-19 06:06 Edited 2013-08-19 06:43
Bob is right.
And the PSTs can be similar due to the fact that the most efficient weights of the pieces can be tuned using a separate custom binary. Which would explain these numbers if both parties used a similar way to derive them and the dead code could just be various tests he did while researching his past or future ideas...

Regardless of anything, there is no disputing Vas is a genius talent when it comes to programming, but with all the derivatives and cloning and BS alledged copying going on it's no wonder Vas doesn't want to talk to anyone on here or even continue working on Rybka in general.
Why bother it will either be discredited and/or hacked and released.
I hope he doesn't stop working, but I am patient as well.
Parent - By RFK (Gold) Date 2013-08-14 21:28

> I didn't take the PST from Fruit.


No one really believes this Bob. You were experimenting with Fruit.

>"... I tried the idea of adding a bonus to the long diagonal. Big deal."


It wasn't an "idea" it was code.



> There is MUCH more similar code in Fruit and Rybka.


And it isn't about the amount of   "code"  -it is all about the TAKING of someone else's " code" .

That much you have instilled in us all! Repetitively I might add.
Parent - - By Banned for Life (Gold) Date 2013-08-14 21:44
I didn't take the PST from Fruit.  I tried the idea of adding a bonus to the long diagonal.  Big deal.

You've already admitted that Tracey got the idea of the diagonal attractor from Fruit. Then your story goes off the rails by suggesting that after noticing the bishop PST in Fruit, you independently came up with exactly the same table. Years later, you generated code to back up this fish story.

And now you're claiming that Vas must be guilty of copying Fruit because they both have initialized variables that are never used! :lol:

Feel free to examine the 50K lines of Crafty and find code taken from ANY other chess engine, besides some translated code from Cray Blitz, which I also happened to have written...

Miguel already found Fruit's bishop PST. And it's clear from the rating charts that your engine has been diverging from the top tier engines at a rapid clip.
Parent - - By bob (Gold) [us] Date 2013-08-14 23:11
_I_ didn't claim ANYTHING about the dead code, now did I?  That is something you have dreamed up...

I'm just waiting to see how this plays out myself, while you are busy excuse-making before things are really looked at by Richard.

Typical...
Parent - - By Banned for Life (Gold) Date 2013-08-14 23:26
_I_ didn't claim ANYTHING about the dead code, now did I?  That is something you have dreamed up...

_YOU_ did claim that it showed Fabien and Vas think identically. You probably don't remember because it happened at least an hour ago, but here's the quote to jog your failing memory:

This was a line of code to initialize something that was not used.  It does happen on occasion.  Apparently Fabien and Vas think identically, I assume?

Typical...
Parent - - By bob (Gold) [us] Date 2013-08-15 00:03
look up "sarcasm"
Parent - By Banned for Life (Gold) Date 2013-08-15 00:10
Yes, this was a sarcastic way of claiming the dead code was copied. Typical...
Parent - - By Ray (****) Date 2013-08-14 20:28 Upvotes 1
I don't give a toss about Rybka 1.0 beta, a 7 year old program. It is history. I'd be far more interested if Rybka 4.1 was analysed.
Parent - - By Kappatoo (*****) [de] Date 2013-08-14 20:36

> It is history.


So is the ICGA verdict.
Parent - By Ray (****) Date 2013-08-14 20:41
I have a different word for that.
Parent - - By Rebel (****) Date 2013-08-14 07:57
Wasn't very common 10+ years ago.

Odd, my first C-compiler (Zortech) in 1991 as part of the compiler optimization had this (configurable) option already.
Parent - - By Ugh (*****) [fr] Date 2013-08-14 08:32
We (Oxford Softworks) used the microsoft development system beta from 1996 or 1997 on, as were most serious games developers because microsoft were giving it to us all for free for testing. The beta version became the release. The compiler gave error messages for non-initialised variables and many other things too. That would be 15 years or so ago.

Bob, you must stop with this narcissistic centrism where everything revolves round you, you have the only tools, and you know everything. Because you don't. And it leads to repetitive blanket statements about global matters which are just plain wrong.
Parent - - By bob (Gold) [us] Date 2013-08-14 15:53
We are not talking about uninitialized variables.  GCC did that for as long as I can remember, if you turned on any level of optimization that required it to build a dependency graph.

We are talking about an assignment like this:

int x;

...

x=100;

And there is NO further use of the variable x.  An "unused assignment" as opposed to an unitialized variable.  For example:

In function attack() I added the following two lines of code;

1.  uint64_t unused;

2.  A little further down,  unused = attacks & 1;

Never used "unused" again.  Here's what I get when I compile it with gcc 4.7.2:

attacks.c: In function 'AttacksTo':
attacks.c:18:12: warning: variable 'unused' set but not used [-Wunused-but-set-variable]

Intel's C compiler, version 11.0, doesn't say a thing about it.

Chris, you must stop with the nonsensical statements that are absolutely and provably false, not to mention not even on the right subject.  Please show me the compilers that picked this "unused code" up 10 years ago.  Intel's 11.0 version was far more recent than that.  Then come back to the discussion armed with relevant facts...

Now, is my statement about detecting unused assignments wrong?  Be waiting to hear back...

This also applies to Ed.  Get on the right page...

BTW, I ALWAYS compile with -Wall.  You might try it sometime...
Parent - By Ugh (*****) [fr] Date 2013-08-14 16:03
yup, you are right in this case, I shall remember not to post the morning after I had general anaesthetic the day before ;-)
Parent - - By bob (Gold) [us] Date 2013-08-14 16:37
Actually it doesn't.  I have Zortech.  Have not tried to run it, but it would detect uninitialized variables, it would not detect unused assignments (dead code).  When I get to the office I can give you a citation to the manual page that covers this.  About the only thing that even came close was the old unix C syntax checker that would catch variables that had been declared but not used, or variables that were used before they were initialized.  Even it did not catch this unused assignment case.

intel's C compiler, version 11.0, which is FAR more recent than 10 years ago still does not catch this error.  Only compiler I have tested that does is the gcc 4.7.2 version that is on my macbook and most of our departmental linux boxes...
Parent - - By Geomusic (*****) Date 2013-08-19 06:47
this doesn't = culpability
Parent - - By bob (Gold) [us] Date 2013-08-19 17:54
It is a "marker" that is recognizable.
Parent - By Banned for Life (Gold) Date 2013-08-19 18:01
So many markers, so little code...
Parent - - By RFK (Gold) Date 2013-08-19 18:50
Bob, you came here -not with the intent to get at the truth.

You came here with a malicious intent to rub salt into an already festering wound.

You played the  martyr routine with punctuality and precision.

You took on an adversarial role from the moment you came on to this forum.

Making unsubstantiated claims of code copying when you knew "you knew"  there wasn't any.

Yet you insisted it could be seen by just by looking at the report.

Side by side code copying.

You flagrantly obfuscated the truth.

You intentionally,  polarized,  anyone who refused to see it your way;  enabling  you to continue spouting unsupported bombastic statements that Rajlich is a code copying  cheat.

You always knew that the evidence would never clearly show code copying.

But you didn't want that to get in the way of destroying  Rajlich for what YOU   believe he did-  come hell or high water.

As for the name calling - it fed right into your game.

Had you acted cooperatively from the beginning in a professional manner by aiding in the process of finding the truth-  putting aside all previously held beliefs- engaging others in working out of a common purpose by enlisting people like Richard right from the get go-this entire affair might have been at least  amicable and productive- and some kind of resolution might have been found in how the out come would be regarded.

But your fears dictated otherwise.

Your  hatred for  Rajlich is so much to the extreme that the thought of a different resolution coming into play maddens you. Please, don't even think of denying this- it would just fly in the face of reality.
Parent - - By bob (Gold) [us] Date 2013-08-19 19:02
I came here because I was asked to come.  Asked to discuss the ICGA report.

I did NOT "take an adversarial role".  If you go back, I was clearly MET with an adversarial approach.  But I hardly started it.

I've not made any unsubstantiated claims whatsoever.  I have claimed exactly what the evidence shows, no more, no less.

I had, and still have, NO "hatred" whatsoever.  I dislike his actions.  But I do not know him at all.  Hard to "hate a stranger".  At least for me.  I can certainly disprove of his actions based on evidence...

This was NEVER going to be amicable.  The opinion here was always "no way" from day one.  No "wait and see" or anything.  Just absolute denial.  Nothing particularly wrong with that, as you can find fans of most any specific action.  This place attracts Rybka fans.  Fine.  But that doesn't change the evidence..
Parent - - By RFK (Gold) Date 2013-08-19 19:17
You knew when you wrote up that ICGA investigative summary that there was no clear cut evidence of code copying. YOU KNEW IT!  YOU HAVE 40 YEARS IN COMPUTER SCIENCE.

When you came here you took on an adversarial approach when YOU LIED about code copying!

When you got caught it became  adversarial!

> But I do not know him at all. Hard to "hate a stranger"


But it isn't hard when you project all that you hate on to that stranger-  making  it real easy to hate the man for embodying all that you hate. Who do you think you are kidding?  At times you analogized him with thieves,  rapists and murderers.

> This was NEVER going to be amicable.


That's right because you didn't want it to be.
Parent - - By bob (Gold) [us] Date 2013-08-19 19:49
(a) I haven't been "caught" at anything because I haven't "done" anything.  I didn't copy the code of others, MULTIPLE TIMES, and call it "100% my original code".

(b) what "hate"?  Again, I detest his actions.  I don't even know HIM.

And finally, no, the folks here never wanted an amicable, because the only thing that would be acceptable HERE was a complete retraction of the evidence and punishment.  Facts don't count for anything here.  Just personal opinion.  That's always going to be adversarial unless "you get your way".
Parent - - By RFK (Gold) Date 2013-08-19 20:21

> (a) I haven't been "caught" at anything because I haven't "done" anything. I didn't copy the code of others, MULTIPLE TIMES, and call it "100% my original code".


You have trouble putting a name on this person

.> (b) what "hate"? Again, I detest his actions; I don't even know HIM.

This person who you are even unwilling to name! According to you, has taken your property, ( your earlier  analogy of him as  rapist)  calls it his own ,  multiple times (in caps) -  but,  you now say you only "detest" him.

You pick your words carefully.

Detest- not endure, can't stand, can't bear, loathe, abominate, abhor, hate

The Original Roget's Thesaurus of English Words and Phrases (Americanized Version) is licensed from Longman Group UK Limited. Copyright © 1994 by Longman Group UK Limited. All rights reserved.
Parent - - By bob (Gold) [us] Date 2013-08-19 21:02
None of the words apply IMHO.  I detest his ACTIONS.  Not his "person".  Big difference.
Parent - By RFK (Gold) Date 2013-08-19 21:24
Your actions conflict with your sentiments.
Up Topic Rybka Support & Discussion / Rybka Discussion / Asides and commentary on RV's decompilation and reports
1 2 312 13 Previous Next  

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill