The 'motivational' comments were hilarious and refreshing. I strongly disagree with the other advice you've been given here.
Don't 'turn it up to 11' to remove all the subtlety and ram the joke down people's throats. And don't turn it into "Oops, try harder next time!" like every other insipid thing in the world. Please. You made something that made me laugh. As much as I love HN, it's a strange, unrepresentative community and you should be very careful trying to appease the crowd here, which always bristles at anything that breaks character. People here are sometimes too focused on how to churn out templated startups, and not enough on art.
This is incredibly user hostile with lines like "you should probably practice a little before embarrassing yourself again" and "It should not take 4.18s to solve that next time."
Is that part of discouraging procrastination or what? As it stands, I couldn't show my sisters this without them getting upset with me.
I wonder if teaching people analog math would be better. This is more practical if you don't need exact quantities, and more in line with how your brain actually works. Symbolic math isn't "natural" and you learn it not by generalizing but by memorizing a large number of facts and heuristics. But your brain is really good at approximating continuous functions. Imagine how much complex math goes on in your brain when you see a ball in the air, predict where it's going, and coordinate hundreds of muscles to catch it.
I imagine it would work by seeing two bars or boxes and then drawing a third bar/box with the correct area/length and getting rewarded based on how good you do. Another exercise would train you to convert numbers to or from boxes with the same length and at the appropriate scale.
I've always been extremely bad at things like this. Working quickly is one thing I cannot seem to do. Which makes this extremely good practice of course!
Last week I cleaned up a lot my room and went through stuff from primary school. Speedruns, where we had a sheet of sums that we had to solve as quickly as possible, always showed I was within the bottom half of the class (I don't remember the exact number), while mostly other tests' scores were in the top 85% or something. "Slowly but steadily," I guess?
Oddly my typing speed is faster than everyone else I know, including in a class full of coders. I'm not slowest in everything at least.
I'm 30 now, and a little better at it, but I'm still relatively shitty with timed thinking exercises, and being graded in general. Reminds me of university where I did poorly on exams. I'd have graduated with a much better GPA if it weren't for my anxiety over them. The worst classes were the ones with finals worth 50% of the total grade.
I'd waste 2 hours pulling my hair out imagining what it would be like if I failed, instead of working. Looking back I probably should've seen a doctor about my anxiety issues.
Cool little Game !
As a lot of people here, I threw together some JS to try and 'hack' the challenge. As mentioned by OP, this is "staggeringly" easy to do. Yet, I was wondering : How would you go around to preventing such a behavior ?
I would try obfuscating the problem a little bit :
* Display an image instead of a text (using canvas for quick drawing ? You'd have to create the images server side to really be sure)
* If you really want to display text, use a custom made font (Reverse-engineering the characters match would take a little time)
* Changing the elements id (#answer and #question) every question.
since it's client side, it's physically impossible to completely prevent cheating :( using images instead of text and changing element id's and things would certainly make it harder to hack though!
This works as well (using jquery):
var a=0,t;setInterval(function(){t=$("#question").text().replace('x','*').replace('÷','/');t=t.slice(0,t.length-2);if(t!=a)$("#answer").val(eval(t)).keyup();a=t;},0);
A friend of mine told me about this website. He used it to practice for interviews. I took it as a game. It's less about precision and more about "close enough" but quick calculations. After a while, you learn to focus on the most critical part of each question, which depends upon the operator and the number of digits, and dismiss what's irrelevant.
// run in firebug and click & enter input...
$('#answer').click(function(e){
var value = eval($('#question').text().replace('=', '').replace('÷', '/').replace('x', '*').replace(/\s/g, ''));
console.log($('#question').text() + value);
this.value = value;
})
This a great way to improve your touch-typing skills. I'm extremely accurate on letters and the couple of symbols that I tend to use in programming, but straight numbers are the class of character that I type the least. Pretty cool!
[+] [-] callum85|12 years ago|reply
Don't 'turn it up to 11' to remove all the subtlety and ram the joke down people's throats. And don't turn it into "Oops, try harder next time!" like every other insipid thing in the world. Please. You made something that made me laugh. As much as I love HN, it's a strange, unrepresentative community and you should be very careful trying to appease the crowd here, which always bristles at anything that breaks character. People here are sometimes too focused on how to churn out templated startups, and not enough on art.
[+] [-] iandanforth|12 years ago|reply
"If you got below like 30 on your first attempt, you should probably practice a little before embarrassing yourself again."
[+] [-] refrigerator|12 years ago|reply
[+] [-] henryaj|12 years ago|reply
[+] [-] 3pt14159|12 years ago|reply
[+] [-] poopicus|12 years ago|reply
Is that part of discouraging procrastination or what? As it stands, I couldn't show my sisters this without them getting upset with me.
[+] [-] Houshalter|12 years ago|reply
I imagine it would work by seeing two bars or boxes and then drawing a third bar/box with the correct area/length and getting rewarded based on how good you do. Another exercise would train you to convert numbers to or from boxes with the same length and at the appropriate scale.
[+] [-] to3m|12 years ago|reply
[+] [-] refrigerator|12 years ago|reply
[+] [-] lucb1e|12 years ago|reply
Last week I cleaned up a lot my room and went through stuff from primary school. Speedruns, where we had a sheet of sums that we had to solve as quickly as possible, always showed I was within the bottom half of the class (I don't remember the exact number), while mostly other tests' scores were in the top 85% or something. "Slowly but steadily," I guess?
Oddly my typing speed is faster than everyone else I know, including in a class full of coders. I'm not slowest in everything at least.
[+] [-] orbitur|12 years ago|reply
I'd waste 2 hours pulling my hair out imagining what it would be like if I failed, instead of working. Looking back I probably should've seen a doctor about my anxiety issues.
[+] [-] kaahne|12 years ago|reply
I would try obfuscating the problem a little bit :
* Display an image instead of a text (using canvas for quick drawing ? You'd have to create the images server side to really be sure)
* If you really want to display text, use a custom made font (Reverse-engineering the characters match would take a little time)
* Changing the elements id (#answer and #question) every question.
Any ideas ?
[+] [-] refrigerator|12 years ago|reply
[+] [-] webbedhands|12 years ago|reply
[+] [-] refrigerator|12 years ago|reply
[+] [-] beepp|12 years ago|reply
var element = document.getElementById('answer');var y = document.getElementById('question');var dispatchKeyboardEvent = function(target, initKeyboradEvent_args) {var e = document.createEvent("KeyboardEvents");e.initKeyboardEvent.apply(e, Array.prototype.slice.call(arguments, 1));target.dispatchEvent(e);};var dispatchTextEvent = function(target, initTextEvent_args) {var e = document.createEvent("TextEvent");e.initTextEvent.apply(e, Array.prototype.slice.call(arguments, 1));target.dispatchEvent(e);};var dispatchSimpleEvent = function(target, type, canBubble, cancelable) {var e = document.createEvent("Event");e.initEvent.apply(e, Array.prototype.slice.call(arguments, 1));target.dispatchEvent(e);};var send_key = function (key) {var canceled = !dispatchKeyboardEvent(element,'keydown', true, true, null, key, 0, '');dispatchKeyboardEvent(element, 'keypress', true, true, null, key, 0, '');if (!canceled) {if (dispatchTextEvent(element, 'textInput', true, true, null, key, 0)) {element.value += key;dispatchSimpleEvent(element, 'input', false, false);dispatchSimpleEvent(element, 'change', false, false);}}dispatchKeyboardEvent(element, 'keyup', true, true, null, key, 0, '');}; y.addEventListener('DOMNodeInserted', function(e){var z = eval(y.innerHTML.replace(/[=\s]/g,'').replace(/x/ig, '*').replace(/÷/g, '/')).toString(); for(var i in z){send_key(z[i]); element.value+=z[i];}});
[+] [-] wreegab|12 years ago|reply
cs.js:
manifest.json Caveats: Need to answer the first question. Need a time out to prevent exhausting the list of questions (it stops at 119)It's Hacker News after all...
[+] [-] zjonsson|12 years ago|reply
[+] [-] refrigerator|12 years ago|reply
[+] [-] agumonkey|12 years ago|reply
[+] [-] bbx|12 years ago|reply
Try with "Estimation Math", "Random", and "Hard".
A friend of mine told me about this website. He used it to practice for interviews. I took it as a game. It's less about precision and more about "close enough" but quick calculations. After a while, you learn to focus on the most critical part of each question, which depends upon the operator and the number of digits, and dismiss what's irrelevant.
[+] [-] 3825|12 years ago|reply
I really disliked learning the multiplication tables. When faced with 8 * 9, my mind thinks 8 * 8 = 64 and adds 8 to it to get 72. :-/
[+] [-] mrkickling|12 years ago|reply
And if you have 9x9 just think 90-9=81.
9x10 = 100-10 = 90
9x15 = 150-15 = 135 and so on..
[+] [-] mkmk|12 years ago|reply
[+] [-] lukaszg|12 years ago|reply
[+] [-] peter_l_downs|12 years ago|reply
[+] [-] CoryG89|12 years ago|reply
[+] [-] tbirdz|12 years ago|reply
[+] [-] dotneter|12 years ago|reply
[+] [-] kjannis|12 years ago|reply
[+] [-] nwienert|12 years ago|reply
http://pastebin.com/Emitc698
[+] [-] refrigerator|12 years ago|reply
[+] [-] idiot900|12 years ago|reply
[+] [-] fudgekludge|12 years ago|reply
[+] [-] refrigerator|12 years ago|reply
[+] [-] runekaagaard|12 years ago|reply
[+] [-] The_Double|12 years ago|reply
Just mash enter.
[+] [-] refrigerator|12 years ago|reply