Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
Whoa, this is awesome! Love the underhandedness :)
We just deployed a fix for this. Thanks
Thanks for the report. A few questions:
{kata_id}/undefined/attempt
the actual url or did you replace the kata id with{kata_id}
?If you are still able to reproduce this, can you please open up your console and provide us the output of the
App.data
object.Yo, guys xD PASSED ^_^
Oh no! Not you again :) I thought we were done with all of this crazyness! I'm going to have to get my head wrapped around how to prevent this...
I think the idea of having a single set of test cases to be used for all languages is certainly a possibility. The reason why we didn't start off with this approach is because its not nearly as flexible. Basically you would have to treat each solution as its own executable. You could pass in some input parameters and expect a specific set of output values. To a certain extent that had already been done before on the web and we wanted to push the envelope on what types of challenges could be created. The current approach allows very language specific challenges to be created.
With that said I think a good amount of kata could be created that only depend on input and outputs, so that all languages could be targetted at once. Instead of defining static inputs and outputs to be sent to/received by the solution context, the inputs/outputs could be dynamically defined by a script. The script could still use a spec pattern to define the inputs and outputs.
This is certainly something we are going to explore more as we prepare the site for handling additional languages.
Sigh.... Damn your black magic! I guess now I need to go and freeze JSON and make sure it can't be replaced in the global namespace.
I have no idea how that happened. Maybe you really are a wizard.
I would totally hang out in a codewars channel.
Yeah, it's been my mission since I saw this one to work out what is happening in it. My JS-fu is weak, so I'm working through this one and researching each of the parts to get a better idea about what's going on.
BTW I still haven't really gotten my head wrapped around what is going on here.
Oh crap! I didn't see this one. This is brilliant! I closed the hole (I think) on the server side so this no longer validates.
This comment is hidden because it contains spoiler information about the solution
I would even argue that the traversal order should not matter. The test could sort the input before validating.
I've got fixes ready on both accounts. I overwrote Function.prototype.toString to sanitize protected code (lets see if you can find a way around that!). I'm also attempting to sanitize the exception object within the sandbox. Both of these still need to be deployed, waiting for traffic to die down a bit.
I also added a Ruby to the kata. Currently its way too easy to hack it. I'm working on a fix for that as well, but so far all I have come up with is waiting to define Test until after the solution code has executed.
Loading more items...