Hightail is an automatic tester for programming contests such as CodeForces rounds. It will parse the problem statement, extract sample test cases (inputs and outputs) from it, and verify the correctness of your program against them. It is built to provide maximum automation and to relieve the contestant as much as possible.
A list of Hightail's features: * parsing problem statements * parsing entire contests (autoloading all problems) * scheduling contest parsing ahead of time * ability to comfortably view, edit and add test cases * handling of all verdicts: WA, TLE, RE, even AC * customizable time limits * ability to create in/out files in your working directory * detection of floating point values (comparing 0.1 vs. 0.10 does not give WA) * easy-to-use UI, keyboard shortcuts * resilient: it is multi-threaded so it will not let your program hang it; it will withstand large amounts of output from your program * support for all contest languages (C++, Java, Python, ...) * written in Java and should run on any OS
It supports the following online judges: * CodeForces (incl. Gym) * CodeChef (experimental) * AtCoder (now also live-running contests!) * Jutge.org * Open Kattis
Additionally, the Competitive Companion browser extension can be used to parse problems and contests from the browser. It is available for Chrome and Firefox. It supports many more online judges than the above (Google Code Jam, Facebook Hacker Cup, ...). Just install the browser extension, run Hightail, go to a problem/contest, and click the green plus button in your browser - it should parse and load into Hightail.
We do not plan on supporting the TopCoder Arena: it is a different architecture, and there are a lot of good plugins available for it. Also, if you use Java for contests, we recommend to take a look at Egor Kulikov's CHelper for IntelliJ IDEA.
Short video of using Competitive Companion to parse tasks from the browser.
Hightail also appears in dj3500's screencasts. See this one for an example.
To get a fairly up-to-date version - in the form of a .jar file which is ready to run if you have Java (JRE) installed - visit Downloads. Just save it somewhere on your computer and run it from there. It will create a config file in its directory.
~An alternative way, if you're on Linux and have snap installed, is to run
sudo snap install --edge hightail. Then Hightail should auto-update every day (to the latest code from the master branch).~ (currently this is broken)
You may also compile Hightail from source code using the instructions below (and then you will also be able to work on the code, e.g. to help in development), or by following http://codeforces.com/blog/entry/6941#comment-125761 (which might be a little easier - or not).
Hightail is developed in NetBeans (the UI in particular) and it is highly advisable to use it.
It is better to use branches for different features, and read up on Git in general, but the above should be enough to get you started.
Hightail is a community project, developed by volunteers. We'd love for you to join in the effort.
// tested by Hightail - https://github.com/dj3500/hightail. Also, tell your friends.
There is also a discussion topic on CodeForces (here).
The project was started and is maintained by Jakub Tarnawski (dj3500). A large amount of work was done by contributors, some of whom are listed here and others include Piotr Szcześniak and Robert Rosołek - thank you so much!