Today was the qualification round of Google Code Jam 2008. This year Google remodelled the contest format, moving from the traditional competition arenas where you code using some of the pre-specified languages (usually C++/Java/Python/VB) directly into a window and the code is compiled and run server-side, to a more open format where you just download an input file and submit the output of your program. I liked this change very much, because it brings two good advantages for the competitors: first, you can use the editors, environment and programming tools that you’re most comfortable with; second, you can use any programming language that you want (as long as its freely available). This is definitely cool because if, for example, some complex math problem appears, one could even open some free math environment like Sage or Scilab to solve some integrals or matrix equations.
Before the contest started, I coded a little JS arena to make it quicker to work with my code, without the need of saving and reloading files all the time. It also supports working with the input/output in a way which is generally expected by such competitions: by reading one line at a time, getting the values as strings or numbers, and printing to the output one line at a time, generally one line for each test case. It is similar to Jesse Ruderman’s JS Env, albeit much simpler, but with the added twist of accessing an input. Another available feature is actually running two different source codes as input altogether, useful if you want to code some helper functions but don’t want them to keep visually distracting you (The helper functions are kept in a hidden textarea that you can toggle).