Reviews for Chess Programmers and Tournament Directors

Chess Programmer's Links

Chess Engines (C/C++ source code):
Source Code and Tools:
  • Isaac & Small PRNG -- Free 32/64-bit random number generators
  • Mersenne Twister -- Free 32-bit random number generator
  • libRNG -- free, public domain 32/64-bit random number generators
  • San Kit -- Chess library: Import/export PGN files, etc.
  • Splint -- Splint is a tool for statically checking C programs for security vulnerabilities and coding mistakes. Open-source.
  • SFL -- Standard Function Library: Handles ini files, linked lists, red-black trees, memory leak detection, etc. Open-source.
  • Gnu Indent -- Gnu indent for Windows. Use it to modify C code to your favorite indentation style. Open-source.
  • Artistic Style -- Source code indenter, formatter, and beautifier for the C, C++, C# and Java programming languages. Open-source.
Utilities and Tools for Chess:

Programming Resources

Free C/C++ Compilers:
  • Visual C++ Express -- Microsoft's free 32-bit C/C++ compiler with IDE and tools for Windows only.
  • TDM-GCC -- a 32/64-bit Native Portable Build and Development Environment for Windows. Open-source. Contains recent stable builds of GCC and toolset. Free, open-source.
  • Open Watcom -- Open Watcom 32/64-bit C/C++ compiler with IDE + tools for Windows. Free, open-source.
  • MinGW distribution -- 32-bit MinGW compiler and toolset; the compiler version is always cutting edge. Free, open-source.
  • MinGW-w64 -- a 32/64-bit Build and Development Environment for Windows and toolset. No IDE. Free, open-source.
  • MinGW -- 32-bit builds for Windows. No GUI IDE. Free, open-source.
  • Digital Mars -- C/C++ and D 32-bit compilers for Windows. Free. Some free GUI IDEs support the D language.
  • LCC-Win32 -- LCC C compiler with IDE + tools for Windows. Free.
  • CodeSourcery CodeBench Lite -- Windows/Linux package targeting the Android platform (produces ARM binaries). Free.
  • Pelles C -- Windows C compiler targeting Pocket PC platform. Free.
Free Editors and IDEs:
  • Qt Creator -- a fully featured Windows/Linux/Mac GUI IDE front-end for the GCC/MingGW compiler. Free, open-source. It is normally used for Qt development, but it works fine creating commandline programs. My favorite IDE due to its many advanced features.
  • NetBeans -- a fully featured Java-based, cross-platform GUI IDE front-end. Java-based languages are fully supported, but a few other languages are available (C/C++, PHP, and JavaScript). For C/C++ coding on Windows it requires installation of a MinGW compiler plus Msys. This is a mature and capable IDE with integrated debugging, profiling, unit testing, refactoring tools, version control, issue tracking (using Jira or BugZilla), and developer collaboration. Free, open-source. My 2nd favorite C/C++ IDE.
  • Code Lite -- a fully featured Windows/Linux/Mac GUI IDE front-end for any C/C++ compiler. Free, open-source.
  • Orwell Dev-C++ -- a fully featured Windows-only GUI IDE front-end for the MinGW32/64 compiler. Free, open-source. This IDE is a maintained/updated version of Dev-C++.
  • CDT -- a fully featured Windows/Linux/Mac (Java-based) GUI IDE front-end for any C/C++ compiler. It is a plugin for Eclipse. Free, open-source.
  • Code Blocks -- a fully featured Windows/Linux/Mac GUI IDE front-end for any C/C++ compiler. Free, open-source.
  • Geany -- a Windows/Linux/Mac Programmer's editor & lightweight IDE front-end for many (almost 50 of them) programming languages. Syntax coloring, code completion, etc. Code explorer feature for classes, functions, and vars for any supported language. Free, open-source.
  • Notepad++ Editor -- Programmer's editor. Built atop the powerful Scintilla edit component. Very fast loading & searching. Free, open-source. Plugins available. Has every feature imaginable including auto-complete. Syntax highlighting for many languages.
  • Programmer’s Notepad -- programmer's editor supporting many programming languages with a Python-like scripting/macro language. Free, open-source.
  • Notepad2 -- an editor designed to replace Windows Notepad. It supports syntax-highlighting for more than 20 different programming languages. Free, open-source.
Free Web Hosting for Open Source Programmers:
Web Programming References:
Free Open Source SQL databases:
  • PostgeSQL -- Fully-featured SQL database. Lots of documentation, add-ons, and productivity tools are available. Perhaps the best db choice for heavy usage.
  • SQLite -- An almost fully-featured SQL database. It is free for all use (including commercial). It's a simple, small, fast, and reliable database that's great for desktop usage (NOT intended for heavy client/server tasks) with zero-administration necessary. An SQLite database will survive a program crash or even a power failure.
  • MySQL -- A somewhat fully-featured SQL database that is no longer free under all circumstances. MySQL is popular due to its speed. Lots of 3rd party documentation is available. Has the most add-ons and productivity tools of any of the open source SQL databases.
  • MariaDB -- a MySQL binary drop-in replacement retaining all the features that Oracle dropped from MySQL. Open source and free for all purposes (including commercial).
  • HSQLDB -- Fully-featured SQL database written in Java. Lots of documentation, add-ons, and productivity tools are available.
  • FireBird -- Fully-featured SQL database based on InterBase code. Lots of documentation, add-ons, and productivity tools are available. It is free for all use (including commercial), has very good performance, has a small memory footprint, doesn't need to be performance-tuned, and does not require administration. On the other hand, it is difficult to modify existing database apps that use advanced features such as stored procedures and triggers due to the database's design constraints that enforce data consistency.
  • MonetDB -- The most unknown of the mature, open-source, fully-featured databases.
  • ODBC Programmer's Reference -- Complete reference to programming the ODBC API. This is the preferred access method to remain independent of database used. The above-mentioned databases all have ODBC drivers available.