14 ms·
How to do hard things
- robertAngst 7y agoDoing hard things 'isn't impossible'. Doing hard things is time consuming and/or expensive. As a side note, I find it interesting how non-engineers describe the reverse engineering process. I thought this was hard to understand.
- felixgallo 7y agodid you just describe the OP as a non-engineer? https://www.drmaciver.com/ https://www.drmaciver.com/
- bdhdhdhdhdhdusb 7y agoInstagram bhsbhebejeo3 nsjsjendjdunsd
- MRD85 7y agoHis 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 single day while also reading books/guides on how to develop as a writer. I'm still writing daily. 3) As I'm becoming mor comfortable writing anything I now need to develop skills on writing specific things. How do I flesh out a character, how do I describe settings, etc. I'm still writing daily. 4) Once I've figured out individual building blocks I'd then teach myself how to construct them together. What elements do stories contain? How do I flow between small sections to weave a larger tale? I'm still writing daily. I'm sure as I become a more knowledgeable and skilled writer I'd identify other areas I need to work on, skills to develop, etc. It all comes down to identify small blocks and build from there.
- bracobama 7y agoFor 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.
- nitrogen 7y agoSounds great! Something I found lacking in school was that nobody could take "I want to do X" and turn it into "You should learn A, B, D, and R", nor the reverse.
- beaconstudios 7y agothen you should work on that website a little every day, while researching how to make it even better :)
- jerf 7y agoI've prototyped this mentally too. If I were going to do it, I think I'd write myself a modification to a Wiki engine that can detect when links only go to simpler things, and highlight those. (You don't want to "ban" links going up to harder things, but you may want to isolate them in a dedicated section or something.) You might be able to bootstrap off of wikipedia content. The thought that provoked this in my own head was the observation that Wikipedia is virtually useless for learning anything mathematical because so many of the links on any given article head "up", rather than "down", and a casual user can't figure out which is which.
- keypusher 7y agoThe 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 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. If you want to learn a musical instrument, there are plenty of good simple excercises to start with, but only an expert can tell you what they are, you can’t easily intuit them from scratch. An experienced programmer will know how to break down a difficult project into small and simpler pieces, that ability is part of what makes them an expert. “Find a good teacher” and “put in the work” seem like rather banal pieces of advice, but it’s a system that has consistently worked throughout the ages. If you are truly breaking new ground then you should already have a framework and significant experience to guide your exploration.
- yay_cloud2 7y agoYour comment reminds me of the exercise where a class was split into two cohorts, one was tasked with producing just one clay pot (I can't remember the thing now), while the other cohort was tasked with making one per day or something similar. Put simply, one group put all of its energy into producing just one, and the other group just turned out pot after pot after pot. At the end, so the story goes, the group that cranked out pots like crazy ended up producing pots of higher quality. In my own life, I can often find out the thing that I'm afraid of learning because I've set it up like that first cohort: making the one perfect thing, instead of putting it out there and iterating on it or making another based on what I learned. Goes with learning languages (I'd do way better if I simply tried speaking every day, but I wait for perfect opportunities).
- gamerDude 7y agoThe pot challenge is one group is they get graded just on number of pots made vs. the other on a single pot they can submit. The group trying to perfect one pot ends up making worse quality pots than the quantity group because the quantity group ends up getting way more practice. That anecdote gives me lots of hope. I hope it's accurate! :)
- hanoz 7y agoIt sounds like great advice, I just wish I had some properly hard things I needed to apply it to, rather than the multitude of what ought to be simple things of which a few unexpectedly and inexplicably turn out to be grossly disproportionately difficult to do for no very good reason.
- jonaf 7y agoI have also experienced this phenomenon. Why do you suppose we come to these surprises, and why do you suppose we experience them? Is it because we are confident? Or because we lack sedulity? Or because our analysis was incomplete? Is the surprise time consuming because we want/expect it to be easy? Or because we are focused on a different problem really. Or because our focus was interrupted.
- chrisweekly 7y agosedulity: diligence, dedication good word!
- jonaf 7y agoThis 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 was seriously lacking even though I didn’t know it! You can be successful without it. But you can be so confident and efficient with it! The algorithm and it’s philosophy are described in none other than Zen and the Art of Motorcyle maintenance. I think there’s also an XKCD of it, Flowchart maybe is the name.
- Bonooru 7y agoThis one? https://www.xkcd.com/844/ https://www.xkcd.com/844/
- jonaf 7y agoThis was the one, a facetious version of Pirsig’s algorithm: https://xkcd.com/627/ https://xkcd.com/627/
- closeparen 7y agoI'm partial to the Feynman Algorithm: 1. Write down the problem. 2. Think real hard. 3. Write down the solution.
- jonaf 7y agoHa, I like this one! Actually these algorithms may approximate one another when generalized. Pirsig explores the philosophy more deeply, though; for example, generating a hypothesis: where does it come from, and is it possible to run out of hypotheses? Pirsig argues no, you practically can’t.
- dingo_bat 7y agoThis works for people with Feynman's intellect, not for the rest of us.
- mrcoder111 7y agoTaking notes for my RL research..
- czr 7y agoThis more or less matches my own system. Some additional notes: * When creating great work as an expert, you will be working down the ladder of abstraction (e.g. for writing–coming up with a concise high-level vision and then progressively expanding it down to the level of characters on a page)–this is the most efficient way to make anything, since you can sanity check your work at higher levels to avoid expensive rewrites at lower levels. However, when learning, you should learn subskills in the exact inverse order (start from the lowest level–how to type keys–then work upwards). Mastering subskills in this order maximizes the feedback signal you get while learning–if you can't write a paragraph coherently, it is very difficult to determine how well you're doing at developing your authorial voice (or whatever). * Time spent practicing a skill only makes you faster / more robust at the method you already know; it doesn't lead you to improve your methods. So spend half your time actually performing the skill, and half the time analyzing your work / comparing to known good examples / planning how to improve (and, really, half of that time should be for improving your tools for analysis and comparison...). If you fail to do this kind of meta-work, 10000 hours of practice or whatever will just get you a fast, robust system for producing garbage. * Assuming you're following an intelligent process for learning the skill (see previous points), the most likely way in which you will fail to learn it is by getting disinterested or discouraged and giving up. It's essential that you try and structure your learning process in a way that yields intermediate feedback and some satisfaction for improvement, and pay attention to both 1) reducing the parts of the process you dislike and 2) figuring out ways to make it enjoyable (including figuring out how successful other people have managed to derive enjoyment from the activity).
- Madmallard 7y agoI think it is a habit to want to tackle difficult things that is learned through discipline likely fostered by parents that disciplined you. This is anecdotal though.
- HNLurker2 7y agoChange title to how to do "complex" and "complicated". Just stop saying that, and I don't like the algorithmic approach to this and the vaque-ness of the word hard
- maroonblazer 7y agoIf you enjoyed this then you'll likely find Claude Shannon's approach useful. https://news.ycombinator.com/item?id=15115891 https://news.ycombinator.com/item?id=15115891
- wes-k 7y agoOne 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.
- de_watcher 7y agoThat's like TDD.
- JustSomeNobody 7y agoOr DSL.
- tirumaraiselvan 7y agoNice. I never explicitly realized this but this is how I always succeeded in doing hard proof-of-concept projects in a complex software product. Single loop when I know the domain fairly well. And double loop in a complete new domain. So, the question is: Are there other methods to approach problem-solving which gives positive success?
- edoo 7y agoI conquered my own process by eventually realizing I could approach it exactly like a computer program. I architect how I am about to work. Now instead of just nebulously working I always know exactly what I'm working on. This frees my mind to focus on the task at hand and if I get sidetracked I can just look at my current goal and process list I setup before I started working, that I thought out rather well, and it gets me right back on track.
- joncrane 7y agoHow often do you get interrupted at work?
- edoo 7y agoIt used to be just awful, at least 2-3 major focus shifts per day which I got used to. Now rarely, as I realized I am at least 2-3x more effective if I work on the same task for at least a few days at a time. I can ramp up to an amazing level of momentum if I am not being randomized.
- galaxyLogic 7y agoI used to make songs, not so much any more. Creating a song is hard you have to come up with both a good melody and good lyrics. What seemed to work great is I tape-recorded myself playing and singing the initial version of the song. Then I played it and sang on top of it, even doing multi-tracking sometimes. I found it was easy to come up with new words and new adjustments to the melody while singing on top of an existing version. Why? Perhaps because I didn't need to spend energy trying to remember both the old version and the new version. The tape-recorder remembered the old version, so I was not afraid of losing it.
- 2sk21 7y agoI have had similar experiences - I find it easier to edit things than to create them in the first place.
- ruhana 7y agoThings 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. <a href="https://onlineitguru.com/tableau-online-training-placement.html"> https://onlineitguru.com/tableau-online-training-placement.h... tableau online training</a> https://onlineitguru.com/dot-net-online-training-placement.html https://onlineitguru.com/dot-net-online-training-placement.h...
- lloeki 7y agoBasically 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.pdf http://www.earlymoderntexts.com/assets/pdfs/descartes1637.pd...
- teekert 7y agoCall 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.
- emily2749 7y agoEven you can't believe there is a hen in world's biggest animals See the video how they looks and what they do https://cutt.ly/1rOU7Q https://cutt.ly/1rOU7Q Very funny dog using toilet Try to control your laugh http://bit.ly/2LVSNSG http://bit.ly/2LVSNSG Cute dog doing exercise like humans http://bit.ly/2Jq3rz1 http://bit.ly/2Jq3rz1 Funny gorilla acting like humans see his video on link below http://bit.ly/2JmTNxr http://bit.ly/2JmTNxr Best way to get rid from dark spots on face just follow this https://zoomtips.blogspot.com/2019/05/Dark-spots.html https://zoomtips.blogspot.com/2019/05/Dark-spots.html Funny panda is playing with friends they are sho cute http://bit.ly/2JvDQF4 http://bit.ly/2JvDQF4
- less_penguiny 7y agoMy biggest realization about doing hard things is that I needed to let go of my intellectual entitlement. Just because something is (or seems) effortless to others, doesn't mean it will be the same for me. Part of this entitlement stemmed from a (now eroded by bitter experience) belief that I'm somehow a faster learner than normal, that _I_ don't have to do the work. For example, about seven years ago I wanted to learn Calc I-III on my own. I went down the usual, lazy, intellectually-entitled route of watching lectures and YouTube videos online without doing a single exercise. A year later, guess what? I couldn't remember jack-shit. Moreover, I couldn't solve problems, which is basically the reason I was learning math anyway. Any bystander could have predicted this outcome, but I was blinded by my own entitlement. Now, after being humbled (here and elsewhere, e.g. in learning to play music by ear), I realize that there's honor, even long-term efficiencies in following every step the great teachers of the past have laid out, in moving slowly albeit with rigor and confidence. I resumed my math study with Geometry 101, the absolute basics, using a book of 5000 (short) exercises. It probably took me three times as long as Calc I-III lectures combined. But I realized something — I found more joy in doing the exercises, in doing things the _right_ way, than I ever had in watching lectures.
- mkl 7y agoWhat was the book of 5000 geometry exercises? I have students who could benefit from such a thing (and I might too!).
- less_penguiny 7y agoGeometry: Seeing, Doing, Understanding by Harold R. Jacobs Preview: https://books.google.de/books/about/Geometry.html?id=u5o6DwAAQBAJ&printsec=frontcover&source=kp_read_button&redir_esc=y#v=onepage&q&f=false https://books.google.de/books/about/Geometry.html?id=u5o6DwA... You can purchase a complete solution manual separately, which is very handy.
- matwood 7y ago> Just because something is (or seems) effortless to others, doesn't mean it will be the same for me. I think it's also important to remember it is rarely effortless to others. You just don't see the effort. I was fortunate enough to hang out with some people in college who were valedictorians at their high schools, and would generally be considered smart. They ended up graduating college with 4.0s. Since I hung out with them all the time, I got to see just how much they worked at it. They took amazing notes, and studied all the time. We didn't have a name for it then, but they essentially did the Pomodoro technique to pull all nighters studying for big exams. Seeing them definitely helped me realize that getting through hard problems is work, and requires time. Thinking time, studying time, and practicing time. Do some things come easier to some people? Sure, but almost everyone has to put in the work at some point. As an aside, not understanding how much work goes into something is common in sports. People see Michael Jordan hit the final shot or Tiger Woods hit an amazing shot out of a bunker, but do not realize they have probably practiced that shot hundreds if not thousands of times.
- joantune 7y agoYes!! I got introduced to the concept of Double loop learning in a management class in College - and was able to apply it successfully after not being able to get the grade I wanted in some courses - then I realized that the issue was with what I was doing - not with how tight or efficient I was at doing it! Couldn't recommend this more
- feviskus 7y agoI am a 4th semester CS student from Germany and still don't grasp recursion, even though I already took the data structures & algorithms courses. If you did have something like a magic moment where it made sense to you, please enlighten me as I would really like to truly gain an intuition (and implement a parallelized msd-radixsort for learning-purposes because I failed to do this assignment yesterday).
- biellls 7y agoJust my two cents, I really grasped it when I read through Structure and Interpretation of Computer Programs and followed the online course from MIT. It's meant to be a first year course but it's done in Scheme (a kind of lisp) and it's very enlightening to see such a different way to program. It forces you to learn recursion since for most of the book it only uses pure functional programming with no mutation, so the only way to do loops is with recursion. Overall I would say it gave me a strong base to understand not just recursion but functional programming which has helped me pick up new languages more easily during my career. Also I used Clojure instead of scheme to do the exercises. It's a wonderful modern lisp that works on JVM and can land you a job. The examples usually work with minor modifications and I would say it's worth it to learn.
- tim333 7y agoI think they easiest way to grasp it is by writing simple examples, eg write a function that prints the last item in a list and returns the rest and then call it recursively to print the whole list. You can do it in about 5 lines in python or js and thinking it through often helps to grok stuff. I just did that myself and on the 5th attempt it worked(!). I had two A-level maths teachers at school. One always started by getting the class to do a simple as possible example like the above before launching into more complicated stuff, the other started off explaining complex stuff. The first approach worked far better, with the second our minds just kind of glazed over. There's something a little counter intuitive about it like your neurones have to wire up on the simple example before getting the more complex. Doing the simple stuff then sleeping on it and doing the complex the next day works better still I think.
- Draiken 7y ago
- pts_ 7y agoThis guy is rambling. The key - just do it.
- alfonsodev 7y agoI changed recently the way I look at problems, instead of thinking I don't know, or I don't understand. I think that is more useful to think that I have a wrong model of reality, that way it helps to a) Acknowledge that I might have already assumptions that need be questioned b) Forces me to re-visit what I think I know c) Realising that accessing the right model is "just" a matter of finding what building blocks are misunderstood or missing in my model. I think the article suggestion fits this philosophy and it is a valid angle to attack a problem, in "model" terms "Find something that is like the hard thing but is easy" for me easy means, that is familiar to you meaning that is a model that you understand, meaning it is a model that you play and gives you the expected results.
- sytelus 7y agoTLDR; The core idea described in article is to identify components that makes things "hard" and then apply each component in isolation to "easy" version and master that easy+one hard thing problem. After you do that for each component, you likely find thing isn't hard anymore. This is "single loop system". The "double loop system" applies to thing that you don't know what the "good" final state looks like. So you basically consider that as problem and apply single loop system to first find out the good final state. Then again apply single loop system to achieve that good final state. This is insightful but claims are rather over-inflated. More formally thinking, if this system works then my first instinct would be to apply on np-hard problems or build machine with human level intelligence. The issue is that hard things are often hard because solution search space is extremely vast and achieving any level of predictability is difficult because there is almost always new information lurking in space you haven't explored yet.
- screwt 7y agoTo be fair, the article does explicitly call out that the system won't work for arbitrarily hard or impossible problems. That's addressed in the opening paragraphs, and again called out in step 4.4 of the single-loop.
- jamisteven 7y agoWrites article on how to do hard things : article is super hard to understand. F M L
- afaq404alam 7y agoFirst principle thinking comes to my mind after reading the whole article.
- bePoliteAlways 7y agoThis is what I have concluded for learning: 1) Figure out a way to have feedback on what you are doing and improve on that. Basically training the neural networks in the brain. Of course the feedback you choose matters like "inner game of tennis" or "drawing from the right side of the brain" talks about using non-judgemental feedback and trusting your capability. 2)Choosing the difficulty of the task to train yourself. If too hard you will give up, if too easy no good or get bored, so always keep it at a point where it is somewhat hard. Also thought people may find this article from andrew ng interesting: https://www.linkedin.com/pulse/20140320175655-176238488-learn-to-speak-or-teach-better-in-30-minutes/ https://www.linkedin.com/pulse/20140320175655-176238488-lear...
- greendestiny_re 7y agoWhen writing, start from the conclusion and work forwards.
- edisonjoao 7y agogreat post.