5 ms·
Coderloop is the coder's gym
Hi everybody,
we're working on a community for developers where coders can practice their skills by solving programming puzzles. Coders can earn "skill points" (programming, knowledge of algorithms, etc) depending on the puzzles they solve and on how good their solution is. We currently support submissions in Java, C/C++, Perl, Python, Ruby, PHP, Fortran, Erlang, C#, Objective-C, LUA, Javascript, Scala, OCaml, Clojure and Common-Lisp.
You can check out the site at http://www.coderloop.com/
If you want to give it a try, I will appreciate any comment/feedback or suggestion you may have.
thanks!
-
Federico Feroldi
- nolite 16y agosupport Haskell
- federicof 16y agowill do! :)
- Jabbles 16y agoVery nice. I'm not sure the ability to sort users by name is useful. People may possibly be shy of showing how many times they've failed. projecteuler.net only displays the number of correct submissions for each user, and I'm personally very glad, as I can then try a variety of techniques without fear of losing "rating". Of course, this may not be the way you wish to go, but I think many people would appreciate the option of hiding the number of failures. In fact, if I may be pessimistic, I predict that if your website becomes popular, you will find people start opening multiple accounts in order to test solutions with one, and keep a perfect score with the other.
- federicof 16y agoThanks for the feedback, I didn't thought about that. :) We were thinking about two things: - public/private profiles - replacing the success/failures count with just a success rate
- twymer 16y agoI still think that's missing the point. Publicly showing what percentage of a users submissions pass/fail is probably not desirable to the user. Keeping it private or using it for problem statistics is pretty cool, though.
- mahmud 16y agohttp://www.coderloop.com/ http://www.coderloop.com/
- mahmud 16y agoI have a feeling I will get addicted to this. Add more problems and you win me over.
- federicof 16y agoGreat thanks! Currently almost all the problems are algorithm based (you can solve them with any language). Since we have the ability to have language/framework specific puzzles we will soon implement more language/framework specific puzzles (i.e. java, ruby, rails, etc) to let you test your knowledge of a specific technology. If you have any suggestion for kind of puzzles you would like to see please let us know :) cheers
- mahmud 16y agoI just solved the first one. This will be fun.
- silentbicycle 16y agoIt's "Lua", not "LUA". (It means "Moon" in Portuguese, same etymology as "Lunar".) Also, it seems a bit odd to be using problems from Project Euler. Looks great otherwise, though. I'll try to suggest more problems once I have time to dig in - how about adding infrastructure so members can submit problems themselves?
- federicof 16y agoThanks, we needed a set of problems to start with and we've used some Euler problems as the basis even thought we slightly changed the problems to be more generic (the input is unknown) so that users are forced to write a generic solution.
- silentbicycle 16y agoCould you add a Prolog, too? GNU Prolog or SWI would be good.
- federicof 16y agoSure, we can add any language that have an open source compiler/interpreter. I've added Prolog to our backlog. Stay tuned!
- nolite 16y agoI like that they integrate the project euler problems.. you can just reuse your solutions.
- federicof 16y agoyes that's the idea, and you can compete with other people to create the most efficient solution. This is new because the purpose of project euler is only to create a correct solution...
- nolite 16y agoHow about a way to sort by puzzle difficulty (%pass out of total tries for example) so we can easily find the hard problems
- nolite 16y agoOh, and a forum so people can discuss solution approaches, programming techniques, ask questions, etc.. that would be great. Doesn't need to be anything groundbreaking, just a normal forum
- federicof 16y agohi, the forums are already available, there's one for each puzzle, at the bottom of each puzzle page (i.e. http://www.coderloop.com/puzzles/helloworld http://www.coderloop.com/puzzles/helloworld ) they're a bit hidden, in the next design phase we will give them better visibility
- federicof 16y agoThe problem with this is that the most difficult puzzles usually have few submissions, so the ratio between pass/tries is not meaningful. We've been thinking about asking the users to rate the difficulty level of the puzzles once they solve it.
- wh-uws 16y agoYou should also drop people on the hello world puzzle as soon as they sign up. It helps to be able to see some examples and know where/what the guidelines are before you get started
- twymer 16y agoSeems cool, I had to manually find my OpenID account link to be able to use it to login though.
- djb_hackernews 16y agoWhy do I need to register? For a website like yours I should be able to try whatever it is before I have to sign up for anything. User registration is a HUGE barrier to adoption that I don't think you can afford (or really need). I like the idea, I wish TopCoder had a UI like this.
- federicof 16y agoWe're working on a way to submit code without the need to register. However the service want to be a community where developers compete against each other and earn points, that's why we ask them to create profile. We try to lower the barrier as much as possible by not asking the users to create a brand new user/pass for coderloop.
- flaurita 16y agoAlready addicted! The online code editor with the possibility of edit a just submitted solution for a fast fixing makes the different! Great job!
- federicof 16y agoGreat! Soon we will integrate everything in one single page so you don't have to leave the editor to get the feedback on your submission.
- twymer 16y agoI was pretty excited to do some of this when I got home from work, but my preferred language (Python) is only supported in an ancient version (2.3.0). I wasn't sure when this version was released so I decided to look it up, 2.3.0 dates back to 2003.
- federicof 16y agoHi, sorry for that! What is the most common version used currently?
- bmelton 16y agoYes, this. I was happily coding and kept failing the (very) simple "Shazoo" challenge because either 2.3 or your interpreter doesn't understand the "if __name__ == '__main__'" logic for Python portability. I'm ashamed to say that it took three tries before I just took that out and submitted a program that, while inferior, passed.
- federicof 16y agoI'm sorry for that, we're going to add support for 2.7 very soon!
- bmelton 16y agoUpon further reflection, it may be that you're loading the code dynamically or something (and not just running it as a command line application) or something that caused the __main__ not to trigger. Once I understood the constraint, I was fine. It's a neat little app, and for somebody who's never had an actual job as a programmer, some of these exercises I feel are things that I should at least know the pattern. I'm digging it.
- gsivil 16y agoyou could ask the users for the shortest correct solution in any available language this will show the relative power of each language and the flexibility of the user to seek for the best tools
- dan_b 16y agohttp://www.coderloop.com/puzzles/ http://www.coderloop.com/puzzles/ When looking at this page it's not immediately obvious that I have to click on the name of the puzzle to go to it.
- federicof 16y agoThanks, we will make the links more obvious :)
- tetha 16y agoMeh, this has the same problem the acm online judge has, and the sphere judge and so on and so on. Which is also why I will stop usign this after a single attempt. The issue is that it is impossible to debug these programs. I just submitted a solution. It failed. I get no input that failed, I get no message why it failed. While I can guess further inputs in this simple case (missles), for more complicated problems, this becomes simply impossible. Especially for more involved puzzles where subtle differences in problem definitions dictate the difference between a perfectly fine and a horribly wrong solution. Sorry, but pretty much every coding kata site failes on this, and you did not manage to get this one (for me) crucial, make-or-break feature working.
- federicof 16y agoHi, I understand your point. The problem with the feedback is that if we tell you for which inputs we're testing your solution, you could develop an optimized version of the solution for those special case, or worse you could precompute the solutions and just write a solution as a long if-then-else sequence. The purpose of the challenge is instead twofold: being able to understand the problem specs and being able two produce a generic solution that must work in an environment that you don't control (because that, at the very end, is what happens to the programs you write... They're going to be executed with inputs that aren't under your control and that you couldn't know in advance).
- tetha 16y agoIn theory, I agree with you. In practice, I have spent an entire week during a universitary course with various problems from such problem site and eventually learned that the problem descriptios were different in a subtle way or certain edge cases were not considered or the test suites were flat out wrong. (This was particularly amusing, because they had added wrong test cases after certain solutions were accepted beforehand. Thus, It was clearly visible that the problem was solveable, because there were programs accepted). Also I don't entirely agree with the argument that my program has to work in an unknown environment with unknown controls. In such a situation, I would at least get a logfile to see what was going wrong. Without that, debugging anything non-trivial is just not worth it without getting paid for it.