Cool idea. The Ruby code takes a long time to evaluate - even though I passed the first two challenges without any issues, this would frustrate me if I were a beginner. Why not use a Ruby REPL? Looks like you're evaluating the code server side.
Thanks and good catch. We do execute the code submissions on our own servers, partially so that we can prevent cheating and make sure all solutions are legit (the solutions list users see after finishing each challenge provides some of the site's greatest value)... though second is because we plan to eventually support full environments (challenges that utilize libraries, frameworks, etc.).
The speed issue is optimization on our part, we boosted the servers so it should be a lot quicker now
You could make a first evaluation on the client so that the user gets quick feedback whether his solution is right. To validate that the user didn't cheat, you can make a second evaluation (server sided). The user shouldn't be forced to wait for the server sided evaluation. Instead he should be able to solve the next task immediately.
But nevertheless: Great idea with a lot of potential! Maybe you can give more detailed compile errors, if the user wrote incorrect code.
If you do implement this, you can also avoid validating every submission server-side. It should be enough to check a random sample. If you suspect someone, you can start checking them more aggressively.
If you want to get serious, there's actually a lot of research into cheating prevention :)
Same deal with JavaScript - there is a significant lag between when I hit submit and see if the submission was correct. It seems like it would be trivial to get JS to run in the browser, but maybe I'm overlooking some caveat to eval that the creators foresaw.