Window 11 + VS 2022, and for very large files EmEditor. I don't use Linux very often, too cumbersome to my taste.
For NN-Training C++ combined with libTorch (the C++ version of PyTorch).
Hardware is a core I9-10980XE with 64 GB RAM and a RTX-2060S, and an AMD TR-3070X with 128 GB RAM and a RTX-3090.
The engine and most utilities are written in C++.
For testing I use Cutechess CLI or Little Blitzer, usually Little Blitzer gives more reproducible results.
Tell me about your setup
Moderator: Ras
-
- Posts: 1632
- Joined: Thu Jul 16, 2009 10:47 am
- Location: Almere, The Netherlands
-
- Posts: 1524
- Joined: Wed Apr 21, 2010 4:58 am
- Location: Australia
- Full name: Nguyen Hong Pham
Re: Tell me about your setup
I’m a Mac user thus recently my main development tools are for macOS.
For developing chess engines as well as some other projects in C++/Swift (such as OCGDB, OOBS, and BanksiaGUI for iOS) projects I use mainly Xcode, an IDE made by Apple. I am quite happy with that tool (it is also the only choice for working with Swift/iOS). I could use some other IDEs such as Eclipse, and IntelliJ (especially for Java) but not a fan of them. In the past when my home computer was PCs/Windows, I had used mainly Visual Studio, especially version 6.0 for a long period. Recently if I need to test or do some quick tasks on Windows I still use Visual Studio, the community version. In the past I had used some IDEs for Debian (Linux) for a while but not so long. Nowadays if needed I will develop all my C++ projects with Xcode and then use g++/gcc to compile on Ubuntu only.
For developing my chess GUI (Banksia GUI) I have been using Qt Creator since the project started in 2019. IMHO, it is the best tool for developing GUIs in general and chess GUIs in particular because it has good libraries, could create modern GUIs, and support multi OSs. GUIs could be designed visually, using dragging/dropping and embedding with other ones thus developers can reduce complexities (very important since Banksia GUI has been becoming quite a large and complicated project) and create consistent interfaces (e.g., all display chessboards regardless of places, functions should look similar and have same behavior).
In my home iMac, I installed the Parallels Desktop app (a hardware virtualization software) that allows me to install and run Windows 10 and some Linux Ubuntu. All those systems have Qt Creator, thus I can compile, test, and debug Banksia GUI for all supported OSs with my iMac only. Loading, and running Windows 10 are a bit slow, and laggy (sometimes that was a nightmare when it requires updating but I was in hurry
) but Ubuntu is much smaller and quite fast. In rare cases, I borrow computers from my children/wife to compile and test programs too.
For developing chess engines as well as some other projects in C++/Swift (such as OCGDB, OOBS, and BanksiaGUI for iOS) projects I use mainly Xcode, an IDE made by Apple. I am quite happy with that tool (it is also the only choice for working with Swift/iOS). I could use some other IDEs such as Eclipse, and IntelliJ (especially for Java) but not a fan of them. In the past when my home computer was PCs/Windows, I had used mainly Visual Studio, especially version 6.0 for a long period. Recently if I need to test or do some quick tasks on Windows I still use Visual Studio, the community version. In the past I had used some IDEs for Debian (Linux) for a while but not so long. Nowadays if needed I will develop all my C++ projects with Xcode and then use g++/gcc to compile on Ubuntu only.
For developing my chess GUI (Banksia GUI) I have been using Qt Creator since the project started in 2019. IMHO, it is the best tool for developing GUIs in general and chess GUIs in particular because it has good libraries, could create modern GUIs, and support multi OSs. GUIs could be designed visually, using dragging/dropping and embedding with other ones thus developers can reduce complexities (very important since Banksia GUI has been becoming quite a large and complicated project) and create consistent interfaces (e.g., all display chessboards regardless of places, functions should look similar and have same behavior).
In my home iMac, I installed the Parallels Desktop app (a hardware virtualization software) that allows me to install and run Windows 10 and some Linux Ubuntu. All those systems have Qt Creator, thus I can compile, test, and debug Banksia GUI for all supported OSs with my iMac only. Loading, and running Windows 10 are a bit slow, and laggy (sometimes that was a nightmare when it requires updating but I was in hurry

https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
The most features chess GUI, based on opensource Banksia - the chess tournament manager
-
- Posts: 73
- Joined: Fri Jan 13, 2012 12:39 am
- Location: London, England
- Full name: Mark Pearce
Re: Tell me about your setup
Dev hardware: AMD 5950X | NVidia 3080 Ti | 64 GB RAM | 3 x 27" monitors.
Dev tools: Win 11 | Visual Studio 2022 (IDE/debugger) | C# (.NET Core) | .NET CLI | Notepad++ (scratchpad) | Redgate ANTS (perf profiling).
Test hardware: Quad-core | NVidia 2080 Ti | Win 10 | 16 GB RAM | 23" monitor | 2 older laptops.
Test tools: Win 10 | Ubuntu (WSL) | Arena | Nibbler | Some self-written utilities.
Miscellaneous: PowerShell (Win/Linux scripting) | Git (version control).
Nothing unusual about my dev and testing processes. I've been burnt by feature flags, so I now use multiple feature branches that I merge regularly. And I do use a lot of assertions to validate the internal state of my program.
Dev tools: Win 11 | Visual Studio 2022 (IDE/debugger) | C# (.NET Core) | .NET CLI | Notepad++ (scratchpad) | Redgate ANTS (perf profiling).
Test hardware: Quad-core | NVidia 2080 Ti | Win 10 | 16 GB RAM | 23" monitor | 2 older laptops.
Test tools: Win 10 | Ubuntu (WSL) | Arena | Nibbler | Some self-written utilities.
Miscellaneous: PowerShell (Win/Linux scripting) | Git (version control).
Nothing unusual about my dev and testing processes. I've been burnt by feature flags, so I now use multiple feature branches that I merge regularly. And I do use a lot of assertions to validate the internal state of my program.
There are two types of people in the world: Avoid them both.