5 ms·
Noticed that there was a lot of "Potentially bad code" answers. I read you are avoiding scripts with "cookie" or written after the comic was written, but are th
by gjulianm 14y ago
Noticed that there was a lot of "Potentially bad code" answers. I read you are avoiding scripts with "cookie" or written after the comic was written, but are there other restrictions? For example, this was banned: http://stackoverflow.com/questions/14800987/javascript-sorting-by-algorithm-jquery-maybe#14803334 http://stackoverflow.com/questions/14800987/javascript-sorti...
Just curious about it.
- ajanuary 14y agoI'm guessing there are attempts to blacklist DOM manipulation.
- gkoberger 14y agoI attempt to block anything that does DOM manipulation, uses Backbone or underscore, uses "Date()" (since it's probably a benchmark and those are slow), and a few others.
- asveikau 14y agoCan you also write code to detect whether a program will run forever for a given input? ducks
- gkoberger 14y agoI looked for a way, but turns out it's not possible with JS. Browsers will stop infinite loops after a few seconds, though. EDIT: Ah, I missed the joke.. what I meant was that I looked for a way to stop the JS if it ran for more then a second.
- rm999 14y agoI believe this is the joke: http://en.wikipedia.org/wiki/Halting_problem http://en.wikipedia.org/wiki/Halting_problem >In computability theory, the halting problem ... is equivalent to the problem of deciding, given a program and an input, whether the program will eventually halt when run with that input, or will run forever. Alan Turing proved in 1936 that a general algorithm to solve the halting problem for all possible program-input pairs cannot exist.
- fwenzel 14y agoSure. gkoberger transformed that statement into "can you detect if it has been running for an unreasonable amount of time". Not possible in advance, but certainly detectable in hindsight. Just, perhaps, not in JS.
- asveikau 14y ago> turns out it's not possible with JS. No kidding... :-) rm999 is correct; it was a joke about the halting problem. (The best kind of joke, obviously.) The broader point I was trying to make with the joke, though, is it's very hard to write code that will predict what another piece of code will do.
- rozap 14y agoPray, gkoberger, if you put into the machine wrong figures, will the right answers come out?
- nixhope 14y agoif (eval(code_sample)) {return true;} else { return false;} // Running time: O(1), for values of 1 approaching infinity
- abecedarius 14y agoIsn't Caja supposed to deal with this family of issues? Could you just use that? (Well, last I looked it needed a program on the server to preprocess the foreign JS code.)