Ok, I have had another idea.
Did anyone take part in the Google AI challenge?
The way it worked was that you would write your script and upload it to their site. Their servers would then run your script.
The main advantages of this are:
- No one else will be able to see your code until the submission deadline is over (this would not be the case with github)
- There would be running stats of who currently has the fastest program for the current problem
- The upload procedure would be much simpler
This is potentially getting into the realms of over complicating things, but I dont think it would be too much effort to set it up (again, I would be happy to host it on my server).
Lets assume the first problem is written in C. For the purposes of simplicity, I think each program should profile itself. Although this would allow people to potentially cheat by not profiling correctly, it would be very easy to check that the winning solution is profiled correctly.
So... you write your program in C, and its only output should be a) the solution, and b) the time in milliseconds that it took to reach the solution.
You name the program problem1.c, zip it into a folder (2p2username.zip), browser to the server url (2p2euler.example.com) and upload it to the server.
The server unzips, compiles and runs the code, expecting the two outputs. If the code compiles and runs successfully, it is entered into the database.
Browsing to 2p2euler.example.com/problem1 will show a table of the current rankings for that week
2p2user1 - time
2p2user2 - time2
etc..
After the submission deadline, the person at the top of the table wins.
This would require a small amount of setup, but I dont think it would be more than a few hours work.
The big advantage of this method is that you can constantly see what time you need to beat to win that problem.
Thoughts?