If something takes longer than expected to get to an answer, think about how you could have seen the problem to be able to solve it faster to be able to solve it faster in the future[1].
As an extension, optimize everything. If something is slow and you do it often enough, doing it faster is worth it. Relevant XKCD.[2]
Flip a coin if you are struggling to decide between option in a situation where there are relatively low stakes. This exposes to you your gut instinct immediately, which is more than good enough most times, and it is far faster than logically finding an answer.
e.g. the whole strategy of “dynamic programming”, write a recursive solution, then memoize it, then reduce the amount of memory if you don’t use it anymore. This works because you have changed your perspective from what clever thing can I do to how can I solve this with a smaller subproblem.
This also applies to physical actions like walking and opening doors. Most people do these slowly, but since you spend so much time doing them, it is extremely worth it to focus on what you’re doing.
disagree with the everything part of optimize everything. instead we need
a heuristic to determine if something is worth optimizing. i propose a back-of-envelope calculation of how much time you will spend on this in the future; or in practice I go ‘have i done this three times?’
ways of doing things that are optimal in the first place: cache it if it’s free to cache; write down the instructions before implementing.
Did you see the XKCD? The chart there gives a good heuristic because most things you do that are worth optimizing are things you do at some interval.
I don’t understand your second point. My guess at an interpretation is basically look up the optimal solution, but I don’t think that makes sense with caching.
Flip a coin if you are struggling to decide between option in a situation where there are relatively low stakes. This exposes to you your gut instinct immediately, which is more than good enough most times, and it is far faster than logically finding an answer.
Better yet, if you subscribe to many-worlds and you do actually care about trying both options, use a quantum coin. Don’t take one option—take both of them.
If something takes longer than expected to get to an answer, think about how you could have seen the problem to be able to solve it faster to be able to solve it faster in the future[1].
As an extension, optimize everything. If something is slow and you do it often enough, doing it faster is worth it. Relevant XKCD.[2]
Flip a coin if you are struggling to decide between option in a situation where there are relatively low stakes. This exposes to you your gut instinct immediately, which is more than good enough most times, and it is far faster than logically finding an answer.
e.g. the whole strategy of “dynamic programming”, write a recursive solution, then memoize it, then reduce the amount of memory if you don’t use it anymore. This works because you have changed your perspective from what clever thing can I do to how can I solve this with a smaller subproblem.
This also applies to physical actions like walking and opening doors. Most people do these slowly, but since you spend so much time doing them, it is extremely worth it to focus on what you’re doing.
disagree with the everything part of
optimize everything. instead we needa heuristic to determine if something is worth optimizing. i propose a back-of-envelope calculation of how much time you will spend on this in the future; or in practice I go ‘have i done this three times?’
ways of doing things that are optimal in the first place: cache it if it’s free to cache; write down the instructions before implementing.
Did you see the XKCD? The chart there gives a good heuristic because most things you do that are worth optimizing are things you do at some interval.
I don’t understand your second point. My guess at an interpretation is basically look up the optimal solution, but I don’t think that makes sense with caching.
I did see the XKCD and I agree haha, I just thought your phrasing implied ‘optimize everything (indiscriminately)’.
When I say caching I mean retaining intermediate results and tools if the cost to do so is near free.
Better yet, if you subscribe to many-worlds and you do actually care about trying both options, use a quantum coin. Don’t take one option—take both of them.