Team Tord Jealousy

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Dann Corbit
Posts: 12542
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Team Tord Jealousy

Post by Dann Corbit »

Michael Sherwin wrote:
Dann Corbit wrote:
Don wrote:
Dann Corbit wrote:Your code is not publicly available so I do not know if I am interested.
If I were to help you, I would define my own role and do what I pleased.
I have, on occasion, been helpful to other chess programmers.
Dan, do you have your own program? I thought I remembered seeing somewhere you mention it, but I may be remembering something else.
I have a program I call 'bean counter'.
I will probably never release it. I tear it down and build it up and rebuild it. I try all kinds of crazy ideas. I went from C to C++ back to C and back to C++. I use database ideas. I use algorithms that other people do not use (for instance, in move ordering for non-root, I use quickselect to collect the top 4 moves into a partition and sort them, and then do not bother sorting any of the others). I have an actual database for opening book.

Because other people show me their source code very often, I sometimes learn things from their programs. For that reason, I think it would be unfair for me to ever release my program. Knowingly or unknowningly, I might be releasing a private idea and I would never want to do that.

A model that seems to work for chess is to write a reasonably strong program, then let somebody else improve on your code. They will take your code base and produce a stronger program that you could have written by yourself, or they could have written by themselves.

Assuming you don't have highly specialized roles such as book builder or a chess master (who cannot program) it's probably reasonable to let everyone have a crack at the code base, do what they want and then sync up every once in a while by mutual agreement. Or if one of the team guys is a natural (or designated) leader he can make final decisions with constant input and patches from the others.

Linux follows this model to an extent with Linus Torvalds and it seems to work. Of course there are team members with specific pieces of code they are responsible for in this case - but it doesn't always make it into the kernel unless Linux approves.
You have seen many source codes with some of them being private. You have learned many useful private things that could give your engine a big advantage. So, just keep your source private. Put out an engine just for competing on Play Chess. Or write an engine that gives up some strength for a lively sacrificial style with lots of really nice features. Have you seen the code for any commercial engines? Then do not go commercial. As long as someone cannot make the case that you are costing them money because, they showed you their code under special circumstances then their is no moral issue at stake. If your engine is stronger than a private but free engine there is no moral issue. You do not need to be a closet chess programmer. There is a place for you out in the open!
I kind of like it this way.
I have seen many commercial codes.
I have never intended to go commercial.
If I ever do release an ending, for sure it will be open source.
But if I do that, I will run it by all of the programmers who could possibly be affected first. I strongly doubt if I will ever release an engine.

For me, the journey is *far* more interesting than the destination anyway.

I have been involved in many, many open source projects (as a by-product of being an old guy, I guess). Chess is peculiar in that the other projects never had the sort of competition for writing the best tool. I can tell you that the competition aspect I find a little displeasing because at this time, I feel strongly that it is stifling rather than encoraging innovation.

IMO-YMMV
Aaron Becker
Posts: 292
Joined: Tue Jul 07, 2009 4:56 am

Re: Team Tord Jealousy

Post by Aaron Becker »

I might be interested in collaborating, if you're looking for someone to work on parallel search. I've been working on getting my own engine up to a reasonable baseline strength in serial before I dig in to the parallel computing stuff that really interests me. Working with people who want to focus on chess knowledge and testing would be great for me, because so far my approach has been to spend as little attention on them as possible.

You can see my work at http://github.com/AaronBecker/daydreamer. It's not up to LearningLemming's standard yet, but I've only been at it for a few months.
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: Team Tord Jealousy

Post by BubbaTough »

Aaron Becker wrote:I might be interested in collaborating, if you're looking for someone to work on parallel search. I've been working on getting my own engine up to a reasonable baseline strength in serial before I dig in to the parallel computing stuff that really interests me. Working with people who want to focus on chess knowledge and testing would be great for me, because so far my approach has been to spend as little attention on them as possible.

You can see my work at http://github.com/AaronBecker/daydreamer. It's not up to LearningLemming's standard yet, but I've only been at it for a few months.
Hey Aaron, gald to hear of your potential interest! I will contact you via private message.

-Sam