Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Discussion / Crafty/Fruit projection
1 2 Previous Next  
- - By Nick (*****) [gb] Date 2013-08-30 10:07

> When you found out about the Crafty code  you made it a capital offence. Now, we can put the cart in front of the horse, and this is where you went wrong.  Trying to draw parallels between the Crafty episode  and fictitious Fruit code copying venture that didn't exist.


This is an important point and it's how they convinced Ken Thompson to join their bandwagon.  We asked Ken to review a draft of the CB article before its publication and this is what he came back with:

From: Ken Thompson. Sent: Dec 16, 2011 05:46

"the most damning thing for
me was the reproduction of
programming errors from
fruit to rybka."


Points to note:

1) There are no programming errors in Fruit that are in Rybka
2) There is a programming error in Crafty that is in the private versions sent to Olivier.

So, you can see how Hyatt tricked Thompson into joining his crusade by conflating the two issues, just as you have spotted.  When we asked Ken to tell us what these programming errors in Fruit were that were also in Rybka he did not reply.  Deafening silence.
Parent - - By bob (Gold) [us] Date 2013-08-30 17:21
1.  false.  There are TWO floating point uses in an engine that doesn't use floats.  Fruit DID use floats.  That's definitely an error.

2.  Fruit and Rybka 1.0 beta incorrectly align the trans/ref table.  Previous versions of Rybka (prior to 1.0 beta) did NOT have this glitch.

I didn't trick "anyone"
Parent - - By user923005 (****) [us] Date 2013-08-30 18:28
"1.  false.  There are TWO floating point uses in an engine that doesn't use floats.  Fruit DID use floats.  That's definitely an error."

Did it cause the program to produce a wrong result?  If not, it's not an error.  It's an implicit conversion.
Parent - - By Nick (*****) [gb] Date 2013-08-30 19:32 Edited 2013-08-30 19:47
Ken was very clear in his statement.  It was an error in program A ported to program B.  Fruit's use of floats was not an error, however there was an error in the crafty code that was found in the early private Rybka's (a mistaken repeat of zero-ing a single byte, a programming error in crafty's option.c).  It's clear that Ken was referring to that.
Parent - - By bob (Gold) [us] Date 2013-08-30 20:07
There is code copied in B that is wrong, yet when in Fruit, it was correct.  That "is a bug" and it represents code that WAS copied.

Is this THAT hard to grasp..
Parent - - By Nick (*****) [gb] Date 2013-08-30 20:11
"the most damning thing for
me was the reproduction of
programming errors from
fruit to rybka."

-- Ken Thompson.

Fruit's use of floats was not a programming error that was reproduced in Rybka - and you know it. However, THIS in crafty 19 is a programming error:

  (pawn_hash_table+i)->passed_w=0;
  (pawn_hash_table+i)->passed_w=0;            // repeated zeroing


and was found in the private Rybka's.  Did Ken make a mistake or did you mislead him??
Parent - - By bob (Gold) [us] Date 2013-08-30 21:38
Nobody mislead ANYONE.  ALL of the evidence was there for everyone to look at...
Parent - - By Nick (*****) [gb] Date 2013-08-30 22:53

> ALL of the evidence was there for everyone to look at...


And it seems that the crafty/private-Rybka evidence was confused with the Fruit/Rybka 1.0 beta evidence in this case as there are no programming errors in Fruit that were duplicated in Rybka. Ken's "most damning" evidence is mere fantasy.
Parent - - By bob (Gold) [us] Date 2013-08-30 23:50
I believe ANY computer scientist will call mixing floating point and integer math a "programming error" except for very precisely defined reasons.  Certainly not comparing an integer to a floating point constant, that is ALWAYS a no-no.  Programming errors do NOT have to make a program crash.  Nor even misbehave.  Mixing int and float simply slows things down.  Still an undesirable  effect...
Parent - - By Nick (*****) [gb] Date 2013-08-31 00:19
"the most damning thing for
me was the reproduction of
programming errors from
fruit to rybka."

-- Ken Thompson.

If you believe that Fruit's use of floats is a programming error then I pity your students.
Parent - - By bob (Gold) [us] Date 2013-08-31 00:23
If someone DOESN'T consider that an error, I pity their students, or their employers, or their customers.

Do you know ANYTHING about programming languages?  Do you have any idea how you compare a float and an int?  Hint"..  cmp eax, 0.0 will NOT work.

Look it up.

I teach it in the undergrad asm programming course.  EVERYBODY teaches students to NOT mix modes except when absolutely necessary...
Parent - - By Nick (*****) [gb] Date 2013-08-31 00:32
"the most damning thing for
me was the reproduction of
programming errors from
fruit to rybka."

-- Ken Thompson.

I repeat, there are no programming errors in Fruit that were copied to Rybka.  Ken's most damning evidence does not exist.  I guarantee you any sane computer programmer would not say that Fruit's use of floats, the thing you claim was copied, is a programming error.  If Ken had meant the floats in Fruit he would not have referred to them as a programming error.  He would have said "Fruit uses floats, Rybka uses ints and a float appeared in Rybka", he didn't say that, he said "programming error" IN FRUIT.

Why don't you ask Ken Thompson what he meant?  He didn't reply to us when asked directly about this.  Until then, it's obvious what he meant, he meant the programming error in crafty that was also found in the private Rybka.

If Ken can point out any programming errors in Fruit that are also in any version of Rybka then I'm all ears.
Parent - - By bob (Gold) [us] Date 2013-08-31 05:01
I repeat, using a floating point constant when an integer arithmetic operation is being done is a programming error, except for specific and unusual conditions.  Comparing an integer to a floating point constant is ALWAYS an error.  ALWAYS.  Never any POSSIBLE reason for doing that.

That is an error that was directly caused by COPYING fruit code.  Where fruit DID use floating point variables, and a comparison to a floating point constant was correct.  Or a floating point constant was assigned to a floating point variable was correct.  NOT in Rybka, however.
Parent - - By user923005 (****) [us] Date 2013-08-31 06:23 Edited 2013-08-31 06:25
Re: Comparing an integer to a floating point constant is ALWAYS an error.  ALWAYS.  Never any POSSIBLE reason for doing that.

int ValueIsIntegralAndCanBeStoredInALongLong(float f)
{
if (f == (long long) f) return 1;
return 0;
}

Can you point out the error?

Or how about this one:

// I saw this in program foo() written by Joe Blow, and though it was absolutely precious!
unsigned long long llval = 0.0; // Ha Ha!

Exactly what errors have we introduce in our program?
Will the value llval contain something other than 0?
Parent - By user923005 (****) [us] Date 2013-08-31 06:53
We can, of course improve it, with TWO MORE comparisons between float and integral:

#include <climits>
int ValueIsIntegralAndCanBeStoredInALongLong(float f)
{
if (f > LLONG_MAX) return 0; // Now we won't have to be as careful about our domain.
if (f < LLONG_MIN) return 0; // See above.  Assumption of C++11
if (f == (long long) f) return 1;
return 0;
}
Parent - - By Nick (*****) [gb] Date 2013-08-31 11:43
"the most damning thing for
me was the reproduction of
programming errors from
fruit to rybka."

-- Ken Thompson.

Another name for a programming error is a bug, so we can rewrite what Ken said like this:

"the most damning thing for
me was the reproduction of
bugs from
fruit to rybka."

-- Ken Thompson.

If Fruit had bugs then one should be able to fix them.  What is the fix for the "bug" of Fruit using floats? 

There are no bugs in Fruit that were found in Rybka.  Hint: You yourself found a bug (=programming error) in Fruit and fixed it.  This is the type of thing that Ken mistakenly thought was also found in Rybka.

The fact that you are arguing against the obvious means that you are worried, either that Ken confused the bug in crafty that was found in the private Rybka's or that you misled him.  Either way, this doesn't look good for you or your VIG mission.
Parent - - By bob (Gold) [us] Date 2013-09-01 15:21
:)

Keep trying.

But MOST of us get the idea.  Fruit used floats, and initialized the time stuff (floating variables) using floating constants.  Compared these floating variables to floating constants.

Rybka has the code copied, but the variables were declared as ints instead.  Yet they are STILL initialize or compared using floating constants.  That is a basic programming error. 

Keep trying to use the error in fruit copied to rybka.  I think everyone "gets it" in the case of floating point stuff, at least those who are decent programmers do.

If you'd like to see some copied code without bit board issues, check the hashing stuff.
Parent - - By Nick (*****) [gb] Date 2013-09-01 19:13
"the most damning thing for
me was the reproduction of
programming errors from
fruit to rybka."

-- Ken Thompson.

A programming error is a mistake, something unintentional from the programmer.  Fruit's use of floats was not a mistake.  See if you can find a programming error in Fruit (=a mistake that Fabien made) that is in Rybka.  If you can then Ken's statement makes sense, if you can't then it is nonsense.

> If you'd like to see some copied code without bit board issues, check the hashing stuff.


Not relevant to Ken's comment as that information wasn't in the ICGA reports that Ken read.
Parent - - By bob (Gold) [us] Date 2013-09-02 00:24
Certainly was.  the 0.0 was mentioned multiple times.  It's in Mark's report, for example.

Try again...

BTW, so that you can find it,  Here's a quote from Mark's report:

"some commonality of UCI parsing code, including a spurious “0.0” float- based comparison in the integer-based time management code of Rybka."

Would help if you read first, rather than guessing (wrong).
Parent - By Nick (*****) [gb] Date 2013-09-02 00:26
"the most damning thing for
me was the reproduction of
programming errors from
fruit to rybka."

-- Ken Thompson.

Let me know when you find these mistakes (=programming errors) that Fabien made in Fruit that Ken refers to.  Fabien's use of floats was not a mistake so it's pointless for you to keep harping on about it.  Man up and find a http://en.wikipedia.org/wiki/Programming_error in Fruit that is also in Rybka if you want to make any sense of what Ken wrote.  If you can't (and you can't) then you need to accept that Ken made a mistake and he meant to write crafty and not Fruit, this would make his comment at least reasonable, but even then only if his comment is limited to the private Rybkas that were sent to Olivier. 

Unfortunately Ken confused the crafty and Fruit cases and conflation of these two very different cases is exactly what you promote, so I'm in no doubt that it was you who misled him.
Parent - - By marcelk (***) [id] Date 2013-09-01 15:38
Another name for a programming error is a bug, so we can rewrite what Ken said like this:

No you can't do that. A bug refers to the run time, a programming error refers to the text. One can have errors that are not bugs.
Parent - - By Nick (*****) [gb] Date 2013-09-01 18:58 Edited 2013-09-01 20:24
I know what you mean but you are playing definitions.  You can't have a bug without a programming error.  The programming error may not be a typo, it might be an error in architecture that leads to a timing bug, for example.  In IBM (where I have worked for 27.5 years) we publically do not call software bugs "bugs" we call them "programming errors" - but unofficially we call them "bugs".  It's pretty clear that someone of Ken's stature would not call Fruit's use of floats a "programming error", don't you think?

"the most damning thing for
me was the reproduction of
programming errors from
fruit to rybka."

-- Ken Thompson.

EDIT:  Try entering http://en.wikipedia.org/wiki/Programming_error into a browser and see what comes back.
Parent - - By marcelk (***) [id] Date 2013-09-02 01:09
It's pretty clear that someone of Ken's stature would not call Fruit's use of floats a "programming error", don't you think?

Why not, it is an error to do so, even if it has no consequences. Your way of modifying what somebody wrote is not necessary for your argument and weakens it.
Parent - - By Nick (*****) [gb] Date 2013-09-02 01:21

> Why not, it is an error to do so, even if it has no consequences


It is not an error to do so.  Fabien's use of floats was his choice and was in no way a mistake. 

> Your way of modifying what somebody wrote is not necessary for your argument and weakens it.


Most people in the software industry think of a programming error as a bug which is why http://en.wikipedia.org/wiki/Programming_error redirects to software bug.  This is why my substituting into what Ken said is entirely correct in an attempt for people to see what Bob is trying to hide.

To back up Ken's Dec 16th 2011 comment, the challenge is for someone to find a programming error that exists in Fruit that was reproduced in any version of Rybka.  Ken's most "damning thing", of which he could not give an example of when challenged.  Hint: because they do not exist.

Until then all Bob is doing is spewing noise in a desperate attempt to cover up the fact that his star witness made a provable mistake and to cover up misleading comments that Bob no doubt made to him to cause his erroneous statement.
Parent - - By marcelk (***) [id] Date 2013-09-02 01:55 Edited 2013-09-02 02:11
See it how you want.

EDIT: ok, I see your point now that, in Fruit, the floating point constant is not a mistake. I agree. My take is that ken was somewhat imprecise in his wording.

EDIT2: the URL of the wikipedia page is different from the title, because it redirects. Redirection doesn't mean equivalence on wikipedia. On the page they are clear that a bug is a programming error with consequences.
Parent - - By Nick (*****) [gb] Date 2013-09-02 02:07
We don't refer to sub-optimal design choices (such as using floats rather than ints in the time management of a chess program) as "programming errors".  If we did then the whole of crafty could be described as a "programming error".

A better attempt at clarifying Ken's statement, which you surely cannot disagree with is:

"the most damning thing for
me was the reproduction of
programming errors from
fruit to rybka."

-- Ken Thompson.

to:

"the most damning thing for
me was the reproduction of
http://en.wikipedia.org/wiki/Programming_error 's from
fruit to rybka."

-- Ken Thompson.
Parent - - By marcelk (***) [id] Date 2013-09-02 02:12
Like I said, you confuse the words in URL for a definition.
Parent - - By Nick (*****) [gb] Date 2013-09-02 02:17

> Like I said, you confuse the words in URL for a definition.


I missed where you mentioned that. 

In any case, we disagree because you believe that Fabien's use of floats in Fruit constitutes a "Programming Error" whereas I (and Wikipedia) believes that it does not.  I would be very surprised if Ken Thompson believed it to be a programming error (as he has a reputation to protect), perhaps he will be kind enough to tell us what he meant by his statement, one day.
Parent - - By marcelk (***) [id] Date 2013-09-02 05:06
Like I said (by using the expression "I agree"), I don't consider the float in Fruit a mistake. In Rybka 1.0 beta, because it is used in a fully integer context, it is a mistake, but not a bug. So technically the "mistake" was not copied, but introduced by copying (if there is copying at all: the > vs. >= thing makes me doubt that) and if ken meant this, then he was imprecise in his expression. If he meant something else, then he likely referred to the Crafty code in the R1.6.1 strain. I also agree that for the ICGA tournament those programs shouldn't be a consideration.

So technically I think we are much on the same page, for the parts that matter at least.

I also think that looking too much in a few words is not very productive. Especially if it is somehow necessary to replace words to make a point, then there is no point.
Parent - - By Nick (*****) [gb] Date 2013-09-02 06:00

> Like I said (by using the expression "I agree"), I don't consider the float in Fruit a mistake. In Rybka 1.0 beta, because it is used in a fully integer context, it is a mistake, but not a bug. So technically the "mistake" was not copied, but introduced by copying (if there is copying at all: the > vs. >= thing makes me doubt that) and if ken meant this, then he was imprecise in his expression. If he meant something else, then he likely referred to the Crafty code in the R1.6.1 strain. I also agree that for the ICGA tournament those programs shouldn't be a consideration.


It's pretty important.  The change in the comparison means that Vas touched the line, this fact was hidden in the reports.  Changing Fadden's original mistake of > to >= was introduced by someone (Watkins?) in the ICGA documents without drawing anyones attention to it.  To me it's quite likely that Ken had no objection to Rybka/Fruit at all. 

> Especially if it is somehow necessary to replace words to make a point, then there is no point.


The clue there is "don't change the meaning" if you replace words - but it is useful to expand upon them.
eg.

"This coat is blue"  change to "This coat is red" is wrong because it changes the meaning of the original statement.

but:

"This coat is blue" change to "This coat is blue, it reflects light in the 475nm range", is correct and possibly more helpful to the reader, especially if the goal of the reader is to find out the wavelength of blue light.

Not everyone reading this forum understands what a "programming error" is, reading http://en.wikipedia.org/wiki/Programming_error is a good start.
Parent - - By marcelk (***) [id] Date 2013-09-02 06:39 Edited 2013-09-02 08:53
Not everyone reading this forum understands what a "programming error" is, reading http://en.wikipedia.org/wiki/Programming_error is a good start.

Maybe your page looks different from mine. I get a page served which describes "Software bug", with as title:

"Software bug [...] (Redirected from Programming error)" The wikipedia redirection is for user convenience, not to claim equivalence of the two terms.

Then it starts to define a bug as a subset of errors, namely those errors that also cause runtime problems:

"A software bug is an error, flaw, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways." (Emphasis mine).

A common software engineering practice for reducing the number of bugs is to reduce the number of faults (eg. as indicted by compiler warnings, lint warnings, or more thorough analysers such as QA-C), even though many mistakes are of no influence on the runtime result.

The 0.0 thing is not a bug in either Fruit or Rybka, but it is a programming error in the latter.
Parent - - By Nick (*****) [gb] Date 2013-09-02 09:00

> "Software bug (Redirected from Programming error)." The wikipedia redirection is for user convenience, not to claim equivalence of the two terms.


Yes I see what you mean now, you made an edit to a previous post.  In the real world the terms "programming error" and "bug" are used interchangeably on a daily basis so Wikipedia are quite justified in their redirection.

> The 0.0 thing not a bug in either Fruit or Rybka, but it is a programming error in the latter.


Yes, although some would call it a bug in Rybka (not Wikipedia though, I get what you are saying).  It's also not a programming error in Fruit, which I think from your edit above you now agree with me on.  However, there is a programming error in crafty that is in the private Rybka's so it's pretty obvious what Ken was talking about.  As I have mentioned before, the best way to prove copying is to find such a thing.  As an aside, I used to make chess engine books, each of my books has a special position in it that no-one could ever find as it can't be reached through normal game play, but if the book was ever imported into another I could tell.  If that happened I would smile and be happy of course, rather than go on a rampage.

PS. By the way it could have been 0. (or even .0) rather than 0.0 in Rybka.   We see incorrectly terminated ints with a dot at the end in development on a regular basis.
Parent - - By marcelk (***) [id] Date 2013-09-02 09:08
Ok then we agree. I won't argue that terms won't be exchanged in colloquial use.

PS. By the way it could have been 0. (or even .0) rather than 0.0 in Rybka.   We see incorrectly terminated ints with a dot at the end in development on a regular basis.

Yes that is possible, but I haven't seen such examples in real code myself (I have looked for it), let alone on a regular basis. It would be interesting if you can point to some examples on, for example, github, the linux kernel, or whatever, where that has happened.
Parent - - By Nick (*****) [gb] Date 2013-09-02 10:14

> It would be interesting if you can point to some examples on, for example, github, the linux kernel, or whatever, where that has happened.


No I have no public examples unfortunately.  There may be some there but it's a big job to download every source file in github check.  Also, they may have compiled with strict warnings and picked up the errors before putting their source code in a public place, which would reduce the public incidence below the error rate of it occurring.

>  let alone on a regular basis


You'll see more of these errors if your company produces billions of lines of code a year.  The 0. rather than 0.0 was first flagged to us by Matthias W. of Chessbase who had seen it at Chessbase.  It would help if any others who have seen this in their organization would come forwards and say so.
Parent - - By RFK (Gold) Date 2013-09-02 15:32
Sorry, I see that you both agree that -bug and error are used interchangeable. Thank God!
Parent - - By Nick (*****) [gb] Date 2013-09-02 15:39
Pretty much :twisted:

People in software use the term "programming error" when they want to say "bug" in a posh way.  Ken certainly meant "a mistake in Fruit that was copied to Rybka".  The important part is that it must be a mistake in Fruit to be a programming error in Fruit.  There are no programming errors in Fruit that are in Rybka.  However there are two programming errors in crafty (1. dead tablebase code, 2. repeat assignment of the same variable to zero) that were also copied to the early private Rybkas.  This is how the ICGA people knew that there was copied code from crafty in those early Rybkas. 

In summary:

1) Ken said the most damning thing for him were errors in Fruit that were reproduced in Rybka.  Note the use of the plural "errors". 
2) He clearly was referring to the two errors found in crafty that were found in the early private Rybkas
3) He wrote Fruit instead of crafty - which is a mistake by him and shows he thought that the crafty evidence was the Fruit "evidence" (what this thread is about)
4) When challenged on it he went silent ("Oops, I meant crafty but I can't say that now!" ?)
5) Hyatt is claiming Fruits use of floats rather than ints is a programming error in Fruit.  Trouble is - it's not!  It's a valid design decision that was made by Fabien.  In any case, in 2011 it would have been one error (only one 0.0/0. was found in Rybka at that time) and would not be the plural "errors" than Ken was talking about that were copied from crafty to the early private Rybkas.
Parent - By RFK (Gold) Date 2013-09-02 16:09 Edited 2013-09-02 16:12
Personally, I don't think it as an "Oops!"error.

Dr. Hyatt just didn't have the courage and lacked the integrity to own his mistake. [edit] That is giving him the benefit of the doubt- that it was a mistake and not an intentionally planned error.

He came on to this forum with the express purpose of  using  every tool he learned in the course of his  42  year career in computer science to keep his mistakes hidden. The deceitfulness of his actions can only be regarded as Machiavellian and  nothing short of criminal.
Parent - - By John (**) [nl] Date 2013-08-31 08:36
Can you explain to me this programming error in Crafty and the fact that no Fruit errors can be found in Rybka versions that played in ICGA tournaments?
Parent - - By Nick (*****) [gb] Date 2013-08-31 11:48
No version of Rybka (including the private ones) contain any programming errors from Fruit.  Ken Thompson got it wrong, probably misled by Hyatt.
Parent - By John (**) [nl] Date 2013-08-31 13:00
Thanks for the clarification. The ICGA case against mr Rajlich, however, should be limited to Rybka versions playing in their tournaments. So I asked mr Hyatt about programming errors in these versions. As I have asked him about Rybka versions playing in ICGA tournaments on more than one occasion, without receiving an answer, I doubt it if I get one now.
Parent - - By Ray (****) Date 2013-08-31 20:35

> No version of Rybka (including the private ones) contain any programming errors from Fruit.  Ken Thompson got it wrong, probably misled by Hyatt.


Yes, I think he probably took what Bob gave him and told him as gospel.
Parent - - By user923005 (****) [us] Date 2013-08-31 20:50
Ken Thompson is a really smart guy.  If he was not satisfied with the clarity of information, he could have done more search himself.  We are all responsible for our own decisions.
I don't think that assigning blame should be the goal.  Let's focus instead on truth and correctness.

Of course, it can be interesting to try to pin down who exactly is at fault for things.  But, since we were not involved in the research, it is very hard to tell what actually went on, long after the fact.

When you cast a guilty vote, it is your fault.  May I add that I have deep respect for each and every person involved with the ICGA committee.  All of them were responsible for their choices.
Now, if some feel a wrong has been committed (as some, indeed, do) then steps can be taken to right the wrong.  That is the only responsible thing to do.

If I were on the committee, I might have voted Vas guilty.  I wasn't there, I didn't hear the arguments.  The same things happen in actual legal proceedings. New things come to light and the defendant is liberated on the spot or perhaps has a retrial.

Let's just admit it...  We all make mistakes.
I think that everyone involved in the decision and in these discussions has probably made mistakes, including me.
Parent - By Ray (****) Date 2013-08-31 20:58

> Let's just admit it...  We all make mistakes


Not if your name is Bob. He is always right and never mistaken.
Parent - By Ugh (*****) [fr] Date 2013-08-31 21:00
Where was his denouncement of the process?
Parent - By bob (Gold) [us] Date 2013-08-30 21:42
It is a basic programming no-no taught in the FIRST programming language.  Nobody in their right mind would write an integer program but use floating point constants in two different places, unless they wanted to do a fractional operation such as X * 2.5...  THAT did not happen in Rybka, of course...  it was just an integer variable assigned a floating point constant, or an integer variable compared to a floating point constant.  Those made absolutely no sense at all.  Feel free to justify them with all of your programming experience.  If you do, I'll certainly be ready to call all of that "experience" into question, because it is something that is simply not done...
Parent - By Quapsel (****) [de] Date 2013-08-31 06:45 Edited 2013-08-31 07:19

> Did it cause the program to produce a wrong result?  If not, it's not an error.  It's an implicit conversion.


That is an astonishing naive viewpoint!!
Or a joke?

Quap
Parent - By Nick (*****) [gb] Date 2013-08-30 19:21 Edited 2013-08-30 19:30
1. That's not a bug.  If it were then Ken would have come back to us with that, as it was he came back with nothing.  It wasn't a bug in Fruit that was transferred to Rybka.

2. This isn't a bug and it was also only discovered very recently by Richard so wouldn't have been in your ICGA "evidence" that Ken read. 

You'll have to try harder.

Maybe this is what you are scared about?  The fact that it will be exposed that you misled Ken Thompson into thinking that the crafty/early-private-Rybka evidence was the Fruit/Rybka 1.0 beta evidence?
Parent - - By Banned for Life (Gold) Date 2013-09-05 00:37
1.  false.  There are TWO floating point uses in an engine that doesn't use floats.  Fruit DID use floats.  That's definitely an error.

Excellent! We can use your post to illustrate logical fallacies:lol:!

Socrates was a man.
Socrates was immortal.
All men are immortal.
All men are Socrates.

2.  Fruit and Rybka 1.0 beta incorrectly align the trans/ref table.  Previous versions of Rybka (prior to 1.0 beta) did NOT have this glitch.

The undistributed versions of Rybka that were used to test MTD(f) were certainly not cache aligned. You are full of shit.
Parent - By user923005 (****) [us] Date 2013-09-05 00:41
Re:
Socrates was a man.
Socrates was immortal.
All men are immortal.
All men are Socrates.


I prefer:
All men are mortal
All women are mortal
Therefore, all men are women.
Parent - - By bob (Gold) [us] Date 2013-09-05 01:12
Rybka 1.4 - 1.6.1 DID cache align.  The next versions seen did NOT cache align.  Wonder why?  Aha.  The "better" 2-bound table?  Alignment would STILL be a good thing.  I am not full of anything other than certainty about that code's contents.  You NEVER saw any mtd(f) versions, yet you can make statements of fact?  :)

Psychic?

I don't need to be a psychic.  I can read and compare code.

By the way, you should take a course in logic.  You need some.  Your Socrates argument is pure nonsense...  as most of your stuff is...
Up Topic Rybka Support & Discussion / Rybka Discussion / Crafty/Fruit projection
1 2 Previous Next  

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill