Studying Chess Engines


UCI, (Universal Chess Interface)

  • an open communication protocol for chess engines to play games automatically, that is to communicate with other programs including Graphical User Interfaces. UCI was designed and developed by Rudolf Huber and Stefan Meyer-Kahlen [1] , released in November 2000 [2] . It has, by-in-large, replaced the older Chess Engine Communication Protocol (WinBoard/XBoard).
  • Design Philosophy: The UCI capable GUI is not only View and Controller of a chess MVC, but also keeps the Model with its internal game states. It is also an “arbiter” instance to decide about the outcome of the game, for instance in declaring a game as draw after a threefold repetition has occurred – the UCI GUI may choose and play moves from an opening book and endgame tablebase.
  • Critique:While the UCI design makes it simple for engine programmers to integrate a “stateless” chess engine, it was also disputed by various chess programmers, since it subsumes engine control parameters and delegates possibly game decisive stuff to the GUI.

an advanced free open source chess program under the GNU General Public License written in Java by Peter Österlund. CuckooChess provides an own GUI, and optionally supports the UCI protocol for the use with external GUIs such as Arena. An Android port is available, where its GUI is also base of Peter Österlund’s Stockfish port dubbed DroidFish [1] .

a standalone UCI compliant chess application for Android platforms by Peter Österlund. It incorporates the GUI and opening book code derived from CuckooChess by Peter Österlund, the CuckooChess Java chess engine, and the Stockfish chess engine by Tord Romstad, Marco Costalba and Joona Kiiski. The port of Stockfish didn’t involve changing the Stockfish source code, but finding a compatible STL implementation for Android, and compiling the source code with the correct combination of compiler flags as a library which is accessed using JNI [1] . Further, since version 1.4, DroidChess supports Gaviota Tablebases and includes the probing code by Miguel A. Ballicora [2], and since version 1.55, Syzygy Bases [3].

Peter Österlund further ported Stockfish to the Android platform, called DroidFish, with GUI and opening book code, derived from CuckooChess

Texel: In March 2012, Peter Österlund announced and published his new engine Texel. Texel 1.00 was functionally equivalent to an unreleased version of CuckooChess. The main difference is that Texel is written in C++11 instead of Java [5].

an UCI compatible open source chess engine developed by Tord Romstad, Marco Costalba, Joona Kiiski, and Gary Linscott [1] . Marco forked the project from version 2.1 of Tord’s strong engine Glaurung, first announced by Marco in November 8, 2008 [2], and in early 2009 Joona’s Smaug, a further Glaurung 2.2 derivative, was incorporated [3]. Starting out among the top twenty engines, Stockfish has quickly climbed in strength.

a .Net port of Stockfish in C# by Balint Pfliegel, functionally equivalent with Stockfish

Chess for Android, written by Aart Bik, is a standalone chess application for Android. The application is available for free at the Android Market [1] or as direct download [2] and consists of a chess engine (a Java version derived from the UCI engineBikJump that is written in C++) and a GUI. The application accepts moves through the touchscreen, the trackball, or through the keyboard (e2e4 pushes the king pawn, e1g1 castles king side, etc.). An optional “move coach” highlights valid user moves during input and last played engine move.

Full game navigation buttons enable users to correct mistakes or analyze games. Games import and export as FEN/PGN to and from the clipboard, load and save as file, are set up through a position editor, or import as application/x-chess-pgn MIME type on startup. A draw by stalemate, insufficient material, the fifty move rule, or threefold repetition is recognized. The engine plays at various levels (including random, against itself in auto-play, or free-play, where the game can be used as a “magnetic chessboard”). The user can play either side and, independently, view the board from the perspective of white or black.

The application also supports the Universal Chess Interface (UCI) and Chess Engine Communication Protocol (often simply called WinBoard or XBoard protocol), which allows users to play against more powerful third party engines or even play tournaments between engines. Engine setup features pondering, infinite analysis, hash tables, multiple threads, endgame tablebases (Nalimov , Gaviota, Scorpio, Robbobases), and opening test suites. Chess for Android recognizes all ChessBasecompatible engines that are installed on the same device.


wordpress blog photos store in google photos

Now that my Tech Blog has used up 90% of it’s 3GB space, it’s time to move to some other platform for storing pics for my blog posts.

  • I started with Google Photos.
    • Simply upload photos to Google Photos and create a new album
    • Get shareable link for this new album and paste it in Blog Post
  • Flickr is another alternative
  • imgur is good too

Exploring Mi Products

  • Mi VR
    •  199 CNY. -> 2K INR
    • It’s compatible with Mi 5, Mi 5s, Mi 5s Plus, and Mi Note 2.
  • Xiaomi Mi Note 2
    • The Xiaomi Mi Note 2 will be available in three variants: a 4GB RAM/ 64GB inbuilt storage model priced at CNY 2,799 (roughly Rs. 27,600), a 6GB RAM/ 128GB storage model priced at CNY 3,299 (roughly Rs. 32,600), and the Global Edition (37 Bands support) 6GB RAM/ 128GB storage model priced at CNY 3,499 (roughly Rs. 34,500)
    • Release Date: Jun 15, 2017 (Expected)
    • 5.70-inch
    • 22.56-megapixel
    • Snapdragon 821
    • 3D curved OLED display
    • 8 MP front with auto focus
    • SAP
  • Mi MIX
    • Edgeless on 3 sides for 91.3% screen to body ratio. 6.4″ screen.
    • Cantilever Piezoelectric Ceramic Acoustic Sensor to replace Top Receiver
    • Ultrasound Proximity Sensor
    • 4400 mph battery
    • Rs 35000
  • Xiaomi Mi 5s
    •  5.15-inch full HD IPS display (1920×1080 pixel). The device has an aluminum unibody design with brushed metal finish. It gets 12MP rear camera with f/2.0 aperture and 4MP front facing camera with f/2.0 aperture. Under the hood, Mi 5s is powered by Snapdragon 821 processor and comes in two storage options. The 3GB RAM + 64GB storage variant is priced at 1,999 yuan (Rs 19,9oo approx), while the 4GB RAM+128GB storage model costs 2,299 yuan (Rs 22,900 approx).
  • Xiaomi Mi 5s Plus
    • runs 2.15GHz Snapdragon 821 processor, and comes in two storage options. The 4GB RAM+64GB storage variant of Mi 5s Plus comes at 2,299 yuan  (Rs 22,000 approx), while 6GB RAM+128GB storage is priced at 2,599 yuan (Rs 25,000 approx). The battery in Mi 5s Plus is 3,800 mAh and the smartphone supports QuickCharge 3.0 technology. The ultrasonic fingerprint sensor is there in Mi 5s Plus as well.
    • the device will go on sale in China starting September 29 2016.

Data Visualization of wikipedia

Quiz games online free