Ok, fine, I won't bother asking him. Just don't whinge later about how Vas never answers you therefore he must be guilty, innit?Zach Wegner wrote:I forgot to respond to this.By no means are you banned, I only asked that Vas answer directly on this forum or his. There's no reason to have a "middle man" to filter these answers through.chrisw wrote:As to Vas responding to your questions. Well you banned me from sending them to him. Am I unbanned now? Gimme question list and I'll fire it off.
An initial questions list has already been provided in the thread "Questions for Vas".
setjmp() - another one
Moderator: Ras
Re: setjmp() - another one
-
- Posts: 373
- Joined: Thu Aug 14, 2008 3:21 am
- Location: Albuquerque, NM
Re: setjmp() - another one
That I can agree with. [except for the unnecessary "whinge"]chrisw wrote:Ok, fine, I won't bother asking him. Just don't whinge later about how Vas never answers you therefore he must be guilty, innit?
-
- Posts: 1922
- Joined: Thu Mar 09, 2006 12:51 am
- Location: Earth
Re: setjmp() - another one
I have seen plenty of _evidence_, but not _proof_. Have you seen _proof_ that nothing wrong has been done?chrisw wrote:Ahem. Excuse me. But Chief Technical Investigator Zach says:
where did anyone say that we are so sure that [we] have a watertight case against Vas
When did I say anything in that post about how strong my case was?
I haven't seen what I would consider proof.
I realize that you are trying to refute Bob's, but what he says matches exactly with what I said (and what he has said in the past), so trying to use my words against us in this case won't work. Keep in mind that he said "Note this is hypothetical, not real, but illustrates the point" before the second quote you give.
-
- Posts: 1922
- Joined: Thu Mar 09, 2006 12:51 am
- Location: Earth
Re: setjmp() - another one
???chrisw wrote:Ok, fine, I won't bother asking him. Just don't whinge later about how Vas never answers you therefore he must be guilty, innit?Zach Wegner wrote:I forgot to respond to this.By no means are you banned, I only asked that Vas answer directly on this forum or his. There's no reason to have a "middle man" to filter these answers through.chrisw wrote:As to Vas responding to your questions. Well you banned me from sending them to him. Am I unbanned now? Gimme question list and I'll fire it off.
An initial questions list has already been provided in the thread "Questions for Vas".
I would actually appreciate it if you forwarded the link to Vas. That was the point of what I said ("by no means are you banned").
Re: setjmp() - another one
well, whenever so far I got told to go get a link somewhere, I apparently came back with the wrong one and got flamed, so, to avoid that, why don't you block copy your text question(s) into this thread and I'll block copy it to Vas by email?Zach Wegner wrote:???chrisw wrote:Ok, fine, I won't bother asking him. Just don't whinge later about how Vas never answers you therefore he must be guilty, innit?Zach Wegner wrote:I forgot to respond to this.By no means are you banned, I only asked that Vas answer directly on this forum or his. There's no reason to have a "middle man" to filter these answers through.chrisw wrote:As to Vas responding to your questions. Well you banned me from sending them to him. Am I unbanned now? Gimme question list and I'll fire it off.
An initial questions list has already been provided in the thread "Questions for Vas".
I would actually appreciate it if you forwarded the link to Vas. That was the point of what I said ("by no means are you banned").
Re: setjmp() - another one
Well, I don't look for proof that something is ok, good, right, proper, I just assume it until proven otherwise. Sorry, but that's the way I am.Zach Wegner wrote:I have seen plenty of _evidence_, but not _proof_. Have you seen _proof_ that nothing wrong has been done?chrisw wrote:Ahem. Excuse me. But Chief Technical Investigator Zach says:
where did anyone say that we are so sure that [we] have a watertight case against Vas
When did I say anything in that post about how strong my case was?
I haven't seen what I would consider proof.
-
- Posts: 1922
- Joined: Thu Mar 09, 2006 12:51 am
- Location: Earth
Re: setjmp() - another one
http://64.68.157.89/forum/viewtopic.php?t=23249&start=0chrisw wrote:well, whenever so far I got told to go get a link somewhere, I apparently came back with the wrong one and got flamed, so, to avoid that, why don't you block copy your text question(s) into this thread and I'll block copy it to Vas by email?
That's all for now. All I ask is that these answers are answered in public, not through email.
And you could also delete that last post in the thread while you're at it.
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: setjmp() - another one
What do the two have to do with each other? One is discussing a tiny point of evidence. The other says we don't have enough evidence yet to draw a solid and accurate conclusion.chrisw wrote:Ahem. Excuse me. But Chief Technical Investigator Zach says:bob wrote:Here's the reasoning in a nutshell:tmokonen wrote:Lance Perkins has stated in this thread that he uses it in Thinker. Some other chess programs that use setjmp include BCE, Witz, Rattate Chess Bologna, RomiChess, Hanzo The Razor, and the funny little concept program Toledo. That's 9 so farbob wrote:I missed #6. Movei was copied from TSCP so it does not count. It appears that Rybka/Strelka were copied from fruit. So that is two legitimate users. Which program did I miss? I did post earlier that gnu does not use setjmp. I also checked arasan, glaurung and a couple of others I have on my box. Nothing. I use fruit 2.1 on my cluster testing, it has it as we have heard and I verified it as well.chrisw wrote:Six users of setjmp() now, another "bad" programmer using "bad" techniques crawled out of the woodwork this afternoon.bob wrote:It is suspicious to those of us that understand software development. Plagiarism involves copying good pieces of code most often, but when it is about copying a bad piece of code, it is just stronger evidence that copying was done.chrisw wrote:And some people don't like their evidence being challengedZach Wegner wrote:You don't think it is rare? What, five total engines, one which has since been removed, out of how many hundreds??chrisw wrote:Entirely agreed its no good solution, but that's not the point. You said it was rare/unique whatever. It isn't. And therefore it's another nail in the probably used the same code coffin. It isn't.
Bob sums it up perfectly: "I never claimed it to be the ultimate proof. I simply said it was another suspicious detail because it is such a lousy way of writing a program."
Some people will always refuse to accept evidence when it is presented.
It's spurious to say 5 out of 500 because no exhaustive search has been done on the 500. It's 5 only for the unscientific reason that two programmers happened to remember some past detail.
As to how many in total? Difficult. Some by random because they were old engines, SMP wasn't a problem and jumping out of the Search is a lazy but effective method, if politically incorrect. Some because they read TSCP. Some not because they read Crafty. What does Gnu do?
To pillory a programmer and his work it is necessary to produce evidence that stands beyond all reasonable doubt. This use of setjmp() is no longer in the beyond all reasonable doubt camp. Sorry about that, but that's the way it can go in adversarial investigation processes like this one.
Each point you bring will be challenged. Some will fall and some will stand, presumably. Do you want it any other way? Just blind acceptance because you're getting frustrated otherwise? If it were you, Zach, you'ld expect a vigorous defence and counter to each and every allegation and piece of evidence. Would you not?
setjmp() is not even a suspicious detail. It's history. Sorry.
Perhaps there are several ways to skin a cat, Bob? Your way isn't necessarily the "unique", "real programmer" and most "interesting" one?
Could it be so?
You mentioned a program you "thought" used it, but I have been counting concrete cases. And so far, there appear to be two legitimate users of setjmp()/longjmp(), fruit and TSCP.
When the total number reaches say 10, out of probably at least 500 chess engines, then that will be 1 in 50 which is still rare, but becoming "less" rare. But we are nowhere near that yet.I would suspect there's other closed source programs that use it, too, but who has the time to disassemble all of them and find out?
I once looked at TSCP, noticed this funny setjmp call, looked it up in my old tattered copy of K&R, and tried it out for myself in my weak little program Tony's Chess. I found it wanting and removed it later. Somehow, I don't feel guilty about it, and I wouldn't refer to myself as a "cut and paster" just because I saw setjmp in use in another program and wanted to try it out for myself.
The use of setjmp might be a small piece in the large "Rybka, is it or isn't it?" puzzle, but in and of itself I cannot see how the use of a standard library function is suspicious.
(1) we have seen several blocks of code that are identical between program A and program B.
(2) we have a large body of other programs as well. C, D, ..., numbering 500 or so.
(3) Someone wants to say that there is a good chance that A and B were written independently yet they have identical blocks of code, that could be pure chance.
(4) I have said that claim is nonsense. There has been lots of research and discussion about software plagiarism over the years. There are semantic analysis tools designed to catch duplicate programs which have had variable names, comments, etc altered to disguise the plagiarism.
(5) now we find a rarely used construct in the original and what is suspected of being a copy. So that argument (3) above becomes far weaker, since (a) it is unlikely that duplicate code would be written; (b) the duplicate code contains a function that is rarely used because of potential side-effects and difficult-to-find bugs. And that strengthens argument (4) since the probability of duplicate code is low and is multiplied by the probability of using a rarely used approach, to even further reduce the probability that the duplication was by accident.
That was the point, and the only point.
Some are trying the old legal cross-examination trick all attorneys use. I have an attorney friend, and I have been called as an expert witness twice in the past 20 years. The cross-examination goes something like this: I will give the defense question, my answer as limited by the attorney, and in parentheses what I would have said could I have said more.
Note this is hypothetical, not real, but illustrates the point:
Someone was robbed at gunpoint and beaten. I saw them open the front door of the victim's house as I walked by, but not knowing a crime was in progress, I kept going.
How does that match up with your ...where did anyone say that we are so sure that [we] have a watertight case against Vas
When did I say anything in that post about how strong my case was?
I haven't seen what I would consider proof.
or even with(1) we have seen several blocks of code that are identical between program A and program B.
(2) we have a large body of other programs as well. C, D, ..., numbering 500 or so.
(3) Someone wants to say that there is a good chance that A and B were written independently yet they have identical blocks of code, that could be pure chance.
Hmmm?Someone was robbed at gunpoint and beaten.
Time to pack up and go home, Bob?
Have you been reading too many of Rolf's posts of late and are beginning to write like him?
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: setjmp() - another one
Then back to my house on fire example. How hot do the flames have to get before you begin to re-think your original conclusion and start looking around to see what really might be happening???chrisw wrote:Well, I don't look for proof that something is ok, good, right, proper, I just assume it until proven otherwise. Sorry, but that's the way I am.Zach Wegner wrote:I have seen plenty of _evidence_, but not _proof_. Have you seen _proof_ that nothing wrong has been done?chrisw wrote:Ahem. Excuse me. But Chief Technical Investigator Zach says:
where did anyone say that we are so sure that [we] have a watertight case against Vas
When did I say anything in that post about how strong my case was?
I haven't seen what I would consider proof.
Personally, I hope that Vas has been completely honest. And that since he said he copied nothing, that somehow that is truthful. I see no real gain for anyone if Rybka is a copy, other than the truth will be known. I don't want to see _any_ copying going on. And if there is no more in the future, I'd consider that a real plus. But I suspect it will not happen, and we will see copy issues now and then. Contrary to what you might believe, I don't have the time, emotional energy, mental energy, or physical energy to spend a lot of time dwelling on what I might say to offend or discredit someone. Some here seem to delight in doing that. I do not. I am just interested in the circumstances that a few have brought up, which more or less directly affect me since I still compete in CC events.
Re: setjmp() - another one
ok, I'll email it in the morningZach Wegner wrote:http://64.68.157.89/forum/viewtopic.php?t=23249&start=0chrisw wrote:well, whenever so far I got told to go get a link somewhere, I apparently came back with the wrong one and got flamed, so, to avoid that, why don't you block copy your text question(s) into this thread and I'll block copy it to Vas by email?
That's all for now. All I ask is that these answers are answered in public, not through email.
And you could also delete that last post in the thread while you're at it.
which post are you asking for deletion? reason? Charter violation or keeping your tech thread on-topic?