Live data from Hacker News

Ask HN: How do you solve hard problems if you can't make incremental progress?

ravimohan.blogspot.com

41–50 of 50 posts

Re: Ask HN: How do you solve hard problems if you can't make incremental progress?

#41

Explain the problem to someone that doesn't know anything about it. Usually that 'clicks' at some point and I realize what I'd been missing all along. The less the person knows about computers/programming (my usual subject matter) the better it seems to work.

This "rubber duck" strategy is great for debugging too.

One person plays the rubber duck and sits there and says (at most) "uhuh, uhuh" while the programmer with the bug explains the problem. Nine times out of 10, the bugged programmer will do a facepalm and fix the bug immediately while explaining the problem.

You actually don't need a person at all for this, or a rubber duck... just the willingness to explain your bug aloud to yourself when you have one.

Re: Ask HN: How do you solve hard problems if you can't make incremental progress?

#42

Explain the problem to someone that doesn't know anything about it. Usually that 'clicks' at some point and I realize what I'd been missing all along. The less the person knows about computers/programming (my usual subject matter) the better it seems to work.

This "rubber duck" strategy is great for debugging too. One person plays the rubber duck and sits there and says (at most) "uhuh, uhuh" while the programmer with the bug explains the problem. Nine times out of 10, the bugged programmer will do a facepalm and fix the bug immediately while explaining the problem. You actually don't need a person at all for this, or a rubber duck... just the willingness to explain your…

That's a really funny name for it. I don't think I'll alert my favorite 'victims' to it though, it might backfire :)

Re: Ask HN: How do you solve hard problems if you can't make incremental progress?

#43

I'm not sure if I'm unique in this regard, but I seem to have the ability to fully visualize complex systems and problems. The key for me is understanding the problem fully, as I have to pull all of the pieces together. I find it difficult sometimes because other people aren't used to working this way, so they try to feed you bite-sized pieces, where what I really want is the entire problem.

Could you put some lower bound on what you consider 'complex' ?

It seems a bit of an outlandish claim to make without a reference point, what's complex to you may be simple to others and vice versa. So a bit of extra data as to the kind of complex systems and problems you visualize would help.

Re: Ask HN: How do you solve hard problems if you can't make incremental progress?

#45

Earlier quoted context omitted.

This "rubber duck" strategy is great for debugging too. One person plays the rubber duck and sits there and says (at most) "uhuh, uhuh" while the programmer with the bug explains the problem. Nine times out of 10, the bugged programmer will do a facepalm and fix the bug immediately while explaining the problem. You actually don't need a person at all for this, or a rubber duck... just the willingness to explain your…

That's a really funny name for it. I don't think I'll alert my favorite 'victims' to it though, it might backfire :)

Yeah, it amused and educated me when I first read about it. Not my term: http://www.google.com/search?hl=en&q=rubber+duck+program...

Re: Ask HN: How do you solve hard problems if you can't make incremental progress?

#46
post #29

Earlier quoted context omitted.

Even classical music is rather suspect, although I've lost the original article: http://www.overcomingbias.com/2009/02/thoughtful-music.html#...

Classical music is more suspect because it's attention grabbing. Rhythmic music is better.

I've been trying background noise instead of music. At first it can be a little annoying, but it falls into the background is actually quite nice

http://simplynoise.com - I prefer the brown noise, myself.

Re: Ask HN: How do you solve hard problems if you can't make incremental progress?

#47

I'm not sure if I'm unique in this regard, but I seem to have the ability to fully visualize complex systems and problems. The key for me is understanding the problem fully, as I have to pull all of the pieces together. I find it difficult sometimes because other people aren't used to working this way, so they try to feed you bite-sized pieces, where what I really want is the entire problem.

Could you put some lower bound on what you consider 'complex' ? It seems a bit of an outlandish claim to make without a reference point, what's complex to you may be simple to others and vice versa. So a bit of extra data as to the kind of complex systems and problems you visualize would help.

Sorry if it seems outlandish, I'm not really sure how quantify "complex". One personal example though is I designed a national emergency management network (Utilizing XMPP/PubSub, AMQP, Rails, etc) in my head without writing anything down. That may seem special or it may not, I just find it rare, at least in my (diminutive) peer group. I've also designed all of these huge dreamy systems growing up, I have pictures and diagrams I drew in 5th grade :) They sure are funny to look back at!

Re: Ask HN: How do you solve hard problems if you can't make incremental progress?

#48
For hard (math) problems, which is where I find it hardest to make incremental progress, I usually just walk away, make myself some tea, or look for another problem. Anything that stops me from consciously thinking about it allows my subconscious to sort through the information, and eventually, the answer will hopefully float to the top. If that doesn't happen after long enough, when I do go back, I'll at least have gotten out of the circles I had been thinking myself into.

Re: Ask HN: How do you solve hard problems if you can't make incremental progress?

#49
post #17

Earlier quoted context omitted.

Multi-tasking can be OK ... depending on the person. Some people love it, some fall apart. But yeah, "Avoid stress and distractions. Do not multitask. Take breaks to eat (healthy foods), exercise, and sleep. Feel free to discuss the problem with friends and colleagues but minimize emotional investment with other people." I'll add: Make progress, even if it's not progress. I teach english. If my students are stuck, I…

Research has repeatedly shown that virtually no one can multitask effectively ( http://arstechnica.com/old/content/2006/03/6417.ars has a laymen's summary of some for one place). The closest thing to an exception I know of is listening to music. I will listen to music while working on hard problems, but then I tend to choose music I know well and I use it to block out more distracting sounds rather than pay much atte…

Maybe. In GTD, David Allen said that he met quite a few people who can only work effectively when they multitask. Some procrastinators only work well when they are avoiding another task ;) It's not great in general though.

Also, leaving one task lie while you mull over it can be good.

But I think making yourself feel snowed-under is bad, as is needless context-switching.

Re: Ask HN: How do you solve hard problems if you can't make incremental progress?

#50
post #49

Earlier quoted context omitted.

Research has repeatedly shown that virtually no one can multitask effectively ( http://arstechnica.com/old/content/2006/03/6417.ars has a laymen's summary of some for one place). The closest thing to an exception I know of is listening to music. I will listen to music while working on hard problems, but then I tend to choose music I know well and I use it to block out more distracting sounds rather than pay much atte…

Maybe. In GTD, David Allen said that he met quite a few people who can only work effectively when they multitask. Some procrastinators only work well when they are avoiding another task ;) It's not great in general though. Also, leaving one task lie while you mull over it can be good. But I think making yourself feel snowed-under is bad, as is needless context-switching.

Having been a procrastinator, I know the feeling he's talking about. In fact, what I advocated above is basically large-scale procrastination of basic life activity like socializing.

And there's a difference between simply being able to work effectively and being able to solve a single difficult problem. For typical programming challenges that can be broken up into smaller chunks a bit of context-switching may not slow you down that much and you can be sure to give attention to important things like paying your rent and having dinner with your girlfriend.

Also, as a quick comment on your post above-- to the extent that "progress, even if it's not progress" isn't basically rephrasing my recommendations to study tools and similar problems, doing the 'work-on-context-instead' approach can be risky. If you spend too much time avoiding the big problem you may never solve it.

Post reply on HN