Live data from Hacker News

How to do hard things

drmaciver.com

41–50 of 123 posts

Re: How to do hard things

#41

The most valuable thing I learned at university was how to tackle difficult problems. Taking advanced math and science courses where I had to really study, and still struggled, and having to write essays so frequently that I could no longer procrastinate or wait for the spark to hit me, was more valuable in the long run than any of the actual knowledge I gained. The advice to break a hard problem down into simpler pi…

> The advice to break a hard problem down into simpler pieces good, but I feel like that is often difficult without proper domain knowledge. In many cases, knowing how to break apart a problem like that is how you become an expert in the first place.

No, you don't always have that choice.

What you do is you break it up, best you can, then try to build each part. If that doesn't work, you break it up differently.

Re: How to do hard things

#42
post #5

His use of loops just seems like an implementation of breaking a problem down into smaller components. If I wanted to learn to learn a difficult skill, such as writing a decent novel, I'd break it down as follows: 1) Research what skills I'll need to develop. At my current stage of learning I don't know what I don't know. 2) Figure out a path to start developing skills. This might be writing a small story every singl…

For a long time I've had this idea about creating a website where this type of idea is expressed. I envision it to be some large hierarchical tree like structure (not unlike the ones you see in games like FInal Fantasy) where you pick a topic you want to learn and it gives you the basics to learn and then once mastered allows you to goes deeper by diverging into specialised categories.

Re: How to do hard things

#43

The most valuable thing I learned at university was how to tackle difficult problems. Taking advanced math and science courses where I had to really study, and still struggled, and having to write essays so frequently that I could no longer procrastinate or wait for the spark to hit me, was more valuable in the long run than any of the actual knowledge I gained. The advice to break a hard problem down into simpler pi…

> In many cases, knowing how to break apart a problem like that is how you become an expert in the first place.

Funny, I had this notion that experts are most of the time better at avoiding deadends. Subtlety and patience. Noobs are impatient and depth first and lose hope.

Re: How to do hard things

#44

The most valuable thing I learned at university was how to tackle difficult problems. Taking advanced math and science courses where I had to really study, and still struggled, and having to write essays so frequently that I could no longer procrastinate or wait for the spark to hit me, was more valuable in the long run than any of the actual knowledge I gained. The advice to break a hard problem down into simpler pi…

That's why they say "one learns to learn at university"

Re: How to do hard things

#45
post #10

This is a very interesting philosophy. A few years ago, a former coworker and good friend of mine introduced me to an algorithm for solving problems. This is a slightly different purpose than doing something hard, but there are some interesting similarities. In my experience as an engineer in software and operations, this algorithm has never come in reach of failing me, and until I was introduced to it, my own system…

I'm partial to the Feynman Algorithm: 1. Write down the problem. 2. Think real hard. 3. Write down the solution.

I concur.

Although personally, I use a somewhat modified version:

1. Find the closest person who knows more about what you are doing than you do. Then, for everything you can say about the problem, do so, out loud. (It is very important that you say it out loud and not just in your head.)

There is a very good chance that you are the person who knows the most about the problem, at least in the way you are presently thinking about it. This implies that you need to speak out loud about the problem, to yourself, and nobody else if necessary. Therefore, in order to make yourself take this step seriously, record your dictated thoughts (even if you never plan to play them back). This is a very important 'hack', because it simultaneously tricks your brain into thinking somebody is listening, causing you to take what you say with utmost seriousness (even though it might start out as non-sense), while at the same time giving you the freedom to say whatever you want (which is almost never the case when somebody is actually listening, since mutual intelligibility is a prerequisite for all conversation).

2a. Draw what you see in your "mind's eye" when inspiration strikes (when with a colleague, at the board; alone, on a blank, unruled sheet of paper). Do this for months, until you become fluent in a private 'diagram language' for describing your thoughts.

Similarly, utilize a private 'jargon language' to name things that don't exist yet.

2b. Start typing it all into org-mode, until...

3. ...you realize what the actual solution is. Then go do that.

N.b.: If you squint, everything I just said is nothing more than a generalization of what professional mathematicians do at the blackboard. I learned to think this way in undergrad in the math program, but it's equally applicable to any field IMO.

Disclaimer: This technique risks making you hopeless impractical and obsessive until it starts to pay off. And I have to admit, this is not really an algorithm for solving problems, so much as coming up with creative insights about problems. I think that most problems don't need some massive insight so much as dogged persistence and organization (in which case you should completely disregard this post).

Does this strategy apply to programming? Consider the xkcd cartoon[0] that Bonooru posted upthread. One possible realization of what the the "?" step in that cartoon could be: utilize my "conceptual" strategy to shrink the amount of time spent doing actual coding to a minimum. Doing this with abandon is surely dangerous and risks getting stuck in the first, trivial loop, but if you can find a way to iterate on paper...

Mathematics is the part of physics where experiments are cheap. -Vladimir Arnold

...then perhaps, by analogy: the kind of conceptual work I'm promoting here is the part of programming where the "inner loops" (that is, actual coding, like in the xkcd cartoon) are empty. Take this too seriously, though, and you may one day wake up in academia[1]... :-)

[0] https://www.xkcd.com/844/

[1] For example, AFAIK, Edsger Dijkstra prided himself on writing programs only with paper and pencil rather than at a computer.

Re: How to do hard things

#46
post #34

One way I accomplish this in programming is to write down what I wish I had. Like ok if I had a magical function that did xyz or if my data just happened to be in this easy to consume format, etc. works pretty well when stuck on a difficult problem.

That's like TDD.

Re: How to do hard things

#47
post #40

Earlier quoted context omitted.

Looks like I have been pwned; thanks for pointing that out. Guess there was a reason that no good footnote existed in my memory for the origin of the anecdote. Part of what stuck out to me, though, was that the anecdote aligned with my personal experiences of things that were once difficult until I ended up having to do them everyday for one reason or another. But you're right, that's still a far way off from there b…

The specific anecdote may have been fabricated, but the principle is sound. An example is the marshmallow problem[1], where a group is given some materials and is asked to build, under time pressure, the tallest tower they can with a marshmallow on top. Adults generally fare poorly because they don't experiment enough, building a tall tower and placing a marshmallow on the top as time is running out, only to have the…

I don't know if that is really the same principle as the pottery anecdote however, it's not about experimenting but a narrative enforcing the concept 'practice makes perfect', related I suppose but not the same.

And anyway the pottery principle is not really sound either - I can suppose that the group tasked with producing a pot a day produces a better pot at the end than the group that was given a long time, but let us assume pot-makers both extremely skilled - one is tasked with making a pot a day for 30 days, the other making a pot in 30 days - which pot under those conditions will be better? The pottery principle is only interesting in explaining how to build a skill, but does not have anything to say about what to expect from those who have already mastered a skill.

Re: How to do hard things

#48
Things that are outside your comfort zone. Things that go beyond what is expected or required. Things that are too big to accomplish alone. Things that don't earn an immediate profit. Things that challenge the cultural norm.

" rel="nofollow">https://onlineitguru.com/tableau-online-training-placement.h... tableau online training

https://onlineitguru.com/dot-net-online-training-placement.h...

Re: How to do hard things

#49
Basically this is Descartes’s Discourse on the Method

(2) The second ·was· to divide each of the difficulties I examined into as many parts as possible and as might be required in order to resolve them better. (3) The third ·was· to direct my thoughts in an orderly manner, by •starting with the simplest and most easily known objects in order to move up gradually to knowledge of the most complex, and •by stipulating some order even among objects that have no natural order of precedence. (4) And the last ·was· to make all my enumerations so complete, and my reviews so comprehensive, that I could be sure that I hadn’t overlooked anything.

http://www.earlymoderntexts.com/assets/pdfs/descartes1637.pd...

Re: How to do hard things

#50
Call me a hedonist, but I usually start with the most fun stuff that gets me some result soon (usually the part I already am good at). Then ideas come for the rest, the dark days I certainly procrastinate until I feel guilty enough to go on again. Works for me.

It helps a lot if you have an employer that gives you the time. There is no substitute for getting paid 8hrs a day to learn new difficult tasks.

It's actually the reason why some of my self-employed friends got a regular job again.

Post reply on HN