Elements of the ULTIMATE Chess GUI?

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

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

Re: Elements of the ULTIMATE Chess GUI?

Post by Dann Corbit »

Fulvio wrote: Fri Apr 05, 2019 10:01 pm
Dann Corbit wrote: Fri Apr 05, 2019 9:45 pm If we use MonetDB, then the data will be accessed at (approximately) memory speed.
Do you have some concrete benchmark?
Let's say a 10 million games database: how long it takes to find the games (not just the positions, if I would like to study the ending I need to see the continuation) with for example a king+rook vs king+rook+pawn ending?
MonetDB is a general purpose in-memory transaction based ACID compliant column based SQL store.
https://www.monetdb.org/Home

Independent Benchmark:
https://www.slideshare.net/FENGGEORGEYU ... ncharmarks

Anther interesting choice is omnisci, but it runs on GPU and has some limitations (e.g. GPU memory size).
https://github.com/omnisci

Clickhouse is also interesting:
https://clickhouse.yandex/
But it only runs on Posix platforms, and most of the world is Windoze.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Fulvio
Posts: 395
Joined: Fri Aug 12, 2016 8:43 pm

Re: Elements of the ULTIMATE Chess GUI?

Post by Fulvio »

Dann Corbit wrote: Fri Apr 05, 2019 10:24 pm
Fulvio wrote: Fri Apr 05, 2019 10:01 pm
Dann Corbit wrote: Fri Apr 05, 2019 9:45 pm If we use MonetDB, then the data will be accessed at (approximately) memory speed.
Do you have some concrete benchmark?
Let's say a 10 million games database: how long it takes to find the games (not just the positions, if I would like to study the ending I need to see the continuation) with for example a king+rook vs king+rook+pawn ending?
MonetDB is a general purpose in-memory transaction based ACID compliant column based SQL store.
https://www.monetdb.org/Home
I probably misunderstood the screenshot you posted.
I thought you already had a SQL database, and I am genuinely interested in some chess benchmark.
The point is that traditionally general purpose SQL engines were too slow, for example:
https://triplehappy.wordpress.com/2016/ ... mentation/

However, as you pointed out, computer will keep becoming faster, and if it wasn't for the performance penalty, general purpose databases would be the obvious choice. And there is the amazing Lichess example, which successfully uses a distributed mongoDB database...
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Elements of the ULTIMATE Chess GUI?

Post by Dann Corbit »

I do already have a chess database, but it is not general purpose.
The screen shot of the database that I showed was SQL Server.
But I have data in other database systems, also.

Much of what I am saying in this thread is also about things that I want, not things that I have.

I have not done a conversion to MonetDB yet, though I do not think it would be very difficult, since I wrote a real time data synchronization program that will move data from any ODBC data source to any other ODBC data source. But what I have right now works fine for what I use it for. Eventually, I will probably convert it, but I am not in a rush.

I also cannot share my database conveniently, since it has many terabytes of data.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
sovaz1997
Posts: 261
Joined: Sun Nov 13, 2016 10:37 am

Re: Elements of the ULTIMATE Chess GUI?

Post by sovaz1997 »

Looks like the MonetDB daemon is available only for UNIX. Could there be some problems with the support of this database on Windows?https://www.monetdb.org/Documentation/G ... stallation
Zevra 2 is my chess engine. Binary, source and description here: https://github.com/sovaz1997/Zevra2
Zevra v2.5 is last version of Zevra: https://github.com/sovaz1997/Zevra2/releases
sovaz1997
Posts: 261
Joined: Sun Nov 13, 2016 10:37 am

Re: Elements of the ULTIMATE Chess GUI?

Post by sovaz1997 »

Fulvio wrote: Fri Apr 05, 2019 10:16 pm
sovaz1997 wrote: Fri Apr 05, 2019 10:05 pm For the ending, there are other solutions - the Nalimov tables, the Syzygy tables. I don't think that the database is suitable for this.
Oh... no positional search?
That's a very big limitation for the ULTIMATE Chess GUI...
What do you mean by positional search?
Zevra 2 is my chess engine. Binary, source and description here: https://github.com/sovaz1997/Zevra2
Zevra v2.5 is last version of Zevra: https://github.com/sovaz1997/Zevra2/releases
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Elements of the ULTIMATE Chess GUI?

Post by Dann Corbit »

sovaz1997 wrote: Sat Apr 06, 2019 7:28 am Looks like the MonetDB daemon is available only for UNIX. Could there be some problems with the support of this database on Windows?https://www.monetdb.org/Documentation/G ... stallation
I run it on windows
there are MSI files for all the parts of the system
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Spill_The_Tea
Posts: 24
Joined: Mon Dec 17, 2018 3:33 am
Full name: Jase de Lace

Re: Elements of the ULTIMATE Chess GUI?

Post by Spill_The_Tea »

Added an organized summary with a few other elements of my own.

Code: Select all


- CROSS PLATFORM COMPATIBLE
- OPEN SOURCE
- LIGHTWEIGHT (on hardware resources)
- ATTRACTIVE INTERFACE
	Board Usage
		- Allow dragging of pieces and point and click
		- Highlight previous move
		- Show all possible moves of clicked piece (toggle on/off)
		- Arrows (and variation)

- CUSTOMIZEABLE
	SUPPORT PLUGINS (Ability to include additional custom scripts e.g. python scripts)
	Ability to Turn Off Default Features and save Custom Display Settings
	
- CHESS ENGINES
	- Winboard and UCI compatibility
	- Clearly display UCI options for engines with a LOT of options
	- WINE Compatible (i.e. can use windows chess engine binaries through wine) 

- ENGINE MATCHES : 
	MATCH TYPES : Round Robin, Gauntlet,  Swiss, Knockout Tournaments
	ADJUDICATION: Syzygy Dependent, and/or User Defined Resign/Draw options
	OPENING BOOK SUPPORT
	TIME CONTROLS :
		- Allow Time Odds
		- Allow Control of HH:MM:SS:ms , Increment , and movestogo
		- Allow Pausing (Immediately, or after running games finish) of Tournament
	VISUALS:
		- "Beautiful Crosstables"
		- Display Engine logos
		- Display Updated Rating List (i.e. using BayesELO or Ordo)
			BayesElo : https://www.remi-coulom.fr/Bayesian-Elo/
			Ordo : https://github.com/michiguel/Ordo
		- Display Chart of Evaluation score of Competing Engines
		- Highlight first Point in PV where computers disagree (using color)
		- Ability to view multiple Boards / evals of concurrent Engine matches (perhaps in tabs)

- SUPPORT OPENING BOOKS : 
	BOOK FORMATS : polyglot (.bin), Chessbase (.ctg)
	FEATURES : Convert Between Book Types (including to/from pgn or epd database)
	- Integrate Polyglot (esp. for Book Creation features)

- GAME DATABASE FEATURES :
	- Search by Position, Result, Names,
	- Integrate Pgn-Extract
	- EPD Database management features would also be helpful
	
	
- READ/WRITE (FILE TYPES) :
	-PGN
	-EPD
	-BIN
	-CTG (https://github.com/sshivaji/ctgreader)
	-SI4 (scid database files)
	

- CHESS BOARD & PIECES (allow easy import of additional)
	PIECES : USE SVG FILES
	BOARDS : Use entire chess board images, not individual dark/light square tiles
		Rationale : Better Looking Boards do not use identical dark or light squares (e.g. wood boards)

- TRAINING MODULES
	- OPENING STUDY / THEORY (Variation Trees)
	- GUESS THE MOVE (e.g. https://sites.google.com/site/fredm/ )
	- ENDGAMES (i.e. Practice specific endgames with slightly different positions)

- ADDITIONAL FEATURES
	- Ability to run TLCV broadcasts ( https://github.com/kmar/livius )
	- Chess960 Support ( esp. castling, random position generation )
	- DGT Board Support ( https://github.com/niklasf/python-asyncdgt )
	
- THINGS THAT ARE ANNOYING TO AVOID
	- don't lag and don't cause losses on time, like Arena does
	- don't force user to work on text files, hand-type engine paths etc. like Winboard does
	- exit gracefully, killing the engine processes (problems with Arena again)
	
sovaz1997
Posts: 261
Joined: Sun Nov 13, 2016 10:37 am

Re: Elements of the ULTIMATE Chess GUI?

Post by sovaz1997 »

Thanks for the organized list!

By the way, a new GUI for tournaments will be available soon. I do not know the author. Also, I do not know what the distribution policy will be. It would be interesting to see him here, to find out more about GUI. It looks very interesting.

Image
Zevra 2 is my chess engine. Binary, source and description here: https://github.com/sovaz1997/Zevra2
Zevra v2.5 is last version of Zevra: https://github.com/sovaz1997/Zevra2/releases
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Elements of the ULTIMATE Chess GUI?

Post by hgm »

Spill_The_Tea wrote: Thu Apr 25, 2019 9:50 pm

Code: Select all

- THINGS THAT ARE ANNOYING TO AVOID
	- don't lag and don't cause losses on time, like Arena does
	- don't force user to work on text files, hand-type engine paths etc. like Winboard does
	- exit gracefully, killing the engine processes (problems with Arena again)
	
This is pure and malicious libel. WinBoard doesn't force the user to work on text files or type engine paths at all. GUIs like Shredder and Fritz do that.
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Elements of the ULTIMATE Chess GUI?

Post by Dann Corbit »

So winboard.INI has been done away with? Providing the same information on the command line does not count. Don't get me wrong. I think winboard is fabulous and I use it a lot. And configurations are broadly improved. But his complaint makes sense to me unless I have missed new developments (not unlikely).
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.