1. Skip to content

Grab our RSS feed

Scarky.com

This post was written for advanced and curious users and it is not necessary to read it to solve a challenge. But if you are going to create your own programming challenge, reading this post is a good idea.

Scarky works similarly to an online judge system – but unlike all online judges, Scarky gives you the possibility to move the challenge onto your site and share it with anyone you want.

And what is an online judge? – quote from wikipedia below:

An online judge is an online system to test programs in programming contests. (…)

The system can compile and execute your code, and test your code with pre-constructed data. Submitted code may be run with restrictions, including time limit, memory limit, security restriction and so on. The output of the code will be captured by the system, and compared with the standard output. The system will then return the result.

Usually all you see on online judge is set of problems which you have the possibility to solve – this is great if you want to test or improve your programming skills. But on Scarky you can do more: you can create your own challenges, as many as you wish. On Scarky you are the challenge inventor!

Scarky for curious: challenge life cycle and technical facts

  • The life cycle of a challenge begins when user visits the challenge builder
  • User enters name of the challenge, its description, uploads a judge (source code of a program that decides whether solution is correct) or chooses a default one, enters test data (text or binary) and gives link to the author’s site where the challenge will be placed. When creating a challenge in programming category, also supported programming languages must be chosen (i.e. in which programming languages users are allowed to submit solutions).
  • User clicks the Submit button and gets a link and html code in return.
  • When the start time of the challenge comes, link to the challenge appears in statistics (but if the author checks the “hidden” option during building process, the challenge will never turn up in statistics – useful for testing purposes).
  • Remembering (or simply writing down somewhere) the link returned by Scarky builder is essential if the author wishes to edit or delete the challenge in the future.
  • User pastes the generated html code into his website. From now on, every visitor has possibility to submit the solution to the challenge on the author’s site.
  • First daredevil submits the solution. The data (source code of a program, answer to a riddle, filled crossword, etc.) is sent to the Scarky server which runs the judge.
  • Judge knows all about the challenge and the solution; it has access to:
    • benchmark input data
    • benchmark output data
    • source code of the submitted solution (if the solution is a source code of a program) and its output
    • submitted answer (a single word for a riddle or more complex data for a crossword)
  • Basing on the data listed above, judge can decide whether solution is correct or not. The decision may be taken on the basis of:
    • similarity of the benchmark output and output produced by submitted program (programming category),
    • similarity of the benchmark output and submitted answer (for example riddles category),
    • properties of the source code (for example its length or even number of semicolons)
    • or any rules you can think of
  • Judge makes the decision which is displayed on the author’s site.

To find out more about writing your own judges, read this post.

Comments are closed