My two cents
Posted: Wed Aug 27, 2008 7:21 pm
I was tipped off regarding some CCC hysteria and since I can never
resist a good flamewar, here I am I haven't read too much since the
volume of posts is amazing and most don't contain any substance
on whether or not Rybka violates the GPL.
But first let me say that regardless of its origins Rybka 3 is an
amazing program. Normally we associate a program with certain
weaknesses or strengths - Hiarcs attacks the king, perhaps too much,
while Shredder is strong in the endgame and Zappa gets good parallel
speedups but takes a while to get started. The amazing thing about
Rybka is that they managed to fix most of 2.3.2's weaknesses (poor
time management, king attacks, and tactics) while retaining its
strengths (super deep search and insane nps). A really impressive
piece of software.
Regarding the controversy, I can sympathise with Zach and Christophe,
especially because I have made similar mistakes in the past. Trying
to make a technical argument to an audience that has neither the
expertise to judge for themselves nor the discipline to stick to the
facts just doesn't work. And it is difficult to really criticize
normal people for either of those. I am sure that there are many
areas in which I would be the audience and they would be the expert,
and learning to stick to facts and debate dispassionately is hard. I
think it is a big part of graduate school - you get to say that you
are wrong a lot Accordingly I'm not going to give my personal
opinion on the issue, since after all I'm just another self-proclaimed
expert.
However, I am going to disregard my precepts slightly and try to give
an analogy. Multiple people have claimed that two programmers, given
the same ideas, could produce similar code. Bob has rightly claimed
this is very unlikely. Imagine that writing code is like a chess
game. Each move is equivalent to each statement in the program. What
is the chance of two identical chess games? Even if they are in the
same opening or by the same player or by two players with a similar
style? We can even throw some pseudo mathematics on this. The x86
instruction set is almost perfectly dense (this is a big problem
because almost any random byte string is a legal x86 program). So
there are some 10^100000 x86 programs of 500KB in size. Obviously,
most of them aren't chess programs, many won't run, but still - the
space is HUGE.
Finally, the people who think that Zach is somehow discrediting
himself with this are insane. He may or may not be wrong, but IMHO he
has conducted himself with remarkable composure, especially for
someone only 20 years old. When I was 20 I was busy insulting Charles
Worthington's Xeon and faking Fritz screenshots (actually, that thread
is still pretty funny - http://www.stmintz.com/ccc/index.php?id=292219 - but still a bit immature).
Anyway, back to my cave.
cheers,
anthony
P.S. If anyone is curious what I'm doing nowadays, you can check out
www.diggingfordatastructures.com (actually a side project for some
research published at OSDI). And if anyone says this is a tool for
reverse engineering Rybka, I will personally reach through the
internet and kick them. Chess engines don't use many data structures.
resist a good flamewar, here I am I haven't read too much since the
volume of posts is amazing and most don't contain any substance
on whether or not Rybka violates the GPL.
But first let me say that regardless of its origins Rybka 3 is an
amazing program. Normally we associate a program with certain
weaknesses or strengths - Hiarcs attacks the king, perhaps too much,
while Shredder is strong in the endgame and Zappa gets good parallel
speedups but takes a while to get started. The amazing thing about
Rybka is that they managed to fix most of 2.3.2's weaknesses (poor
time management, king attacks, and tactics) while retaining its
strengths (super deep search and insane nps). A really impressive
piece of software.
Regarding the controversy, I can sympathise with Zach and Christophe,
especially because I have made similar mistakes in the past. Trying
to make a technical argument to an audience that has neither the
expertise to judge for themselves nor the discipline to stick to the
facts just doesn't work. And it is difficult to really criticize
normal people for either of those. I am sure that there are many
areas in which I would be the audience and they would be the expert,
and learning to stick to facts and debate dispassionately is hard. I
think it is a big part of graduate school - you get to say that you
are wrong a lot Accordingly I'm not going to give my personal
opinion on the issue, since after all I'm just another self-proclaimed
expert.
However, I am going to disregard my precepts slightly and try to give
an analogy. Multiple people have claimed that two programmers, given
the same ideas, could produce similar code. Bob has rightly claimed
this is very unlikely. Imagine that writing code is like a chess
game. Each move is equivalent to each statement in the program. What
is the chance of two identical chess games? Even if they are in the
same opening or by the same player or by two players with a similar
style? We can even throw some pseudo mathematics on this. The x86
instruction set is almost perfectly dense (this is a big problem
because almost any random byte string is a legal x86 program). So
there are some 10^100000 x86 programs of 500KB in size. Obviously,
most of them aren't chess programs, many won't run, but still - the
space is HUGE.
Finally, the people who think that Zach is somehow discrediting
himself with this are insane. He may or may not be wrong, but IMHO he
has conducted himself with remarkable composure, especially for
someone only 20 years old. When I was 20 I was busy insulting Charles
Worthington's Xeon and faking Fritz screenshots (actually, that thread
is still pretty funny - http://www.stmintz.com/ccc/index.php?id=292219 - but still a bit immature).
Anyway, back to my cave.
cheers,
anthony
P.S. If anyone is curious what I'm doing nowadays, you can check out
www.diggingfordatastructures.com (actually a side project for some
research published at OSDI). And if anyone says this is a tool for
reverse engineering Rybka, I will personally reach through the
internet and kick them. Chess engines don't use many data structures.