simont: A picture of me in 2016 (Default)
simont ([personal profile] simont) wrote2007-01-17 12:03 pm

Excessive intellectual honesty

If I'm trying to solve a puzzle and I accidentally find out the answer through some sort of cheating means (e.g. somebody spoils it for me), it's quite common for me to continue working on the problem and try to convince myself that I would have got there on my own. So I might, for example, ignore what I now know the answer to be and continue to grind through the step-by-step solution process regardless, to make sure it does come out to the answer it's supposed to.

This all seems reasonable enough given the premise that a major purpose of solving puzzles is to prove to myself that I can, and that doesn't seem to be an unreasonable premise. So far, no surprises.

Yesterday I did surprise myself. I had a small problem at work (some piece of code wasn't working as expected and I couldn't figure out how we hadn't noticed before); after staring fruitlessly at the screen for a while I decided to take a break and go and refill my water glass. In the process of doing that I had a sudden ‘aha!’ insight and instantly knew exactly what the problem was.

That by itself isn't uncommon either; but what was odd was that I then found myself, pretty much instinctively, doing the thing I describe in my first paragraph: trying to convince myself that if I hadn't had that insight, I would still have been able to get to the solution by step-by-step means. It's as if I subconsciously consider sudden flashes of intuition to be cheating in some sense. Which is weird, because flashes of intuition come from my own brain, so it's hardly as if they constitute being given the answer by somebody else!

I suppose it might be that I didn't feel that I'd worked for the answer, and hence didn't feel I deserved credit for finding it. Or perhaps it was that I was worried that next time the insight might not materialise and I'd want to be confident that my step-by-step debugging process was adequate to compensate for its absence (which is admittedly a potentially valid concern).

Or perhaps I'm just slightly weird. Yes, that seems far more likely.

(Anonymous) 2007-01-17 12:13 pm (UTC)(link)
Or maybe you're a mathematician and you've had 'show your working' drilled into you at every level? :)

[identity profile] ex-lark-asc.livejournal.com 2007-01-17 12:15 pm (UTC)(link)
Duh, that was me, sorry.

[identity profile] cartesiandaemon.livejournal.com 2007-01-17 12:36 pm (UTC)(link)
Well, what anonymous said too.

But also, with computers, I get insights into how to fix the problem about twice as often as it actually does, so checking it through to understand why, and check it's really true, actually is worth it.

Also, maybe you pride yourself on your analysis of a problem, because it's a skill you've developed, but "suddenly seeing" feels like luck, even though it's a part of your skill.

[identity profile] kaet.livejournal.com 2007-01-17 03:22 pm (UTC)(link)
This next time it may not happen thing worries me when I see management plans. Often in timing they say "this problem will take three months to solve" but I don't always understand the problem, never mind the solution by then, and I know it will require a good many "aha"s. Usually they're much more accurate than I think they could possibly be.

[identity profile] xanna.livejournal.com 2007-01-17 03:54 pm (UTC)(link)
This might be what someone else said, sort of. Maybe you want to be proud of your algorithm, not because it's harder work (though maybe) but becaue it's yours consciously, whereas insight, though it comes from your brain, does so unconsciously as if by magic?
Bah, I dunno! But I do the same thing...
pm215: (Default)

[personal profile] pm215 2007-01-17 10:56 pm (UTC)(link)
Personally I think that the 'flash of intuition' is the absolute central core of the debugging process. There's a long preliminary stage where you try to give your brain enough raw data to cogitate on, and a shorter end phase where you confirm your insight and actually fix the problem, but the 'aha!' moment is the key to the whole thing and the bit that makes debugging fun...