An interesting category of problems are like Bongard problems in that you have to deduce the rule from examples, but the examples are presented one at a time at random long intervals so you have to work from memory. Most real-world learning is like this. When working from memory, it's normal for your memory to have already parsed the previous situation into features. As some of the later examples in the blog illustra…
You also have to know you want to solve a problem. Once you get to the point where you have any hypothesis whatsoever, no matter how weak, a systematic approach (saving examples as test cases) helps to avoid confirmation bias and makes testing further hypothesis less costly. Another hard one is when there is a simple, probabilistic rule. You usually end up with an over-complicated rule to cover all your data instead…
In computing we try to write deterministic tests that either pass or fail, which means you can run them once after a change and know what the state is. Even if you just suspect flakiness you may have to run the test hundreds of times to be confident that the probability of failure is sufficiently low.