26 ms·
Suppose I Wanted to Kill a Lot of Pilots (2020)
- leoh 5y agoLikely very useful technique for happiness — asking oneself “what are all the ways I can make myself miserable?”
- deleted 5y ago[deleted]
- kloch 5y agoFor successful network design anticipating as many failure modes as possible isn't just a clever mental hack, it's absolutely essential. I suspect this is true for many engineering disciplines. What I hadn't considered is applying this technique to more general (non-technical) life problems/optimizations.
- jrsdav 5y agoPre-mortem exercises (opposite to the typical post-mortem, after something has gone wrong) can be a really fun process of discovery and ideation. Unfortunately though, I have yet to run one that actually helped us avoid the exact risks we discovered!
- ryanianian 5y agoThe goal of the plan is the planning. Pre-mortems train you to think of what could go wrong to build general problem-solving strategies and tooling. The key is to not over-index on any one particular possible outocome or type of scenario. From TFA: > Now you have a list of actions to avoid. Avoiding them begins to move you away from failure and closer to reaching your goal. Alternatively: Now you have a list of bad things and some ideas of what you would do or tooling you would need when bad things happen. In the good case this is "boy scouts being prepared." In the bad case this is "hoarder preppers detached from reality with unnecessary firepower."
- kayodelycaon 5y agoGood advice. Looking at things from the opposite perspective helps a lot. It’s easier to see where things go wrong than where they go right. You can just list wrong thing after wrong thing and a solution appears once you’ve scoped out the things that don’t work.
- ovone 5y agoTotally agree. Charlie Munger studied the big ideas of several disciplines, and then applied it into his daily life. He applied the power of solving problems by inversion, which is an idea commonly used in mathematics, to the situations he encountered in real life. As he says "Invert, always invert".
- jerf 5y agoA lot of "security mindset" comes from this principle as well. In theory, you should have strong barriers everywhere, but we're not to that level of maturity yet. (I still hope to see some successful implementation of "capabilities" like in E or something before my career is over. That's an example of what I'm thinking of as maturity.) In practice you get a long way just by writing some code down, and then thinking How would I break this? Oh, hey, if I put this combination of characters into my decoding routine I'll get up to the SQL command level, oh, if I just assume that a user with no email is an admin and I let users change their email, they can become admin, etc. It isn't theoretically ideal, but it's a lot better than not thinking this way.
- bsaul 5y agoIn my experience, TDD has a bit of a similar effect on your perception on a problem. By first designing the test that would make the code fail, then making sure it fails, then create the code to have the test pass, you kind of change the way you think about the original problem, and it sometimes helps.
- named-user 5y agoUnit tests only catch known failure modes. TDD only catches assumed known failure modes.
- jerf 5y agoThat's not a particularly relevant criticism here. The point is that TDD teaches you to think adversarially about your code all the time. The fact that you are not always successful isn't a very interesting criticism; if you don't think adversarially about your code at all you're even less successful. "Testing can't catch all bugs!" is an objection for another discussion.
- rileymat2 5y agoThat’s not true, tests also cover happy path, so you can catch failures you had no idea about for instance when running them in a different environment, with a different os, with a different compiler.
- lelandfe 5y agoPreviously: https://news.ycombinator.com/item?id=27720912 https://news.ycombinator.com/item?id=27720912
- hprotagonist 5y agoTRIZ practitioners quickly realized that the root cause of some problems cannot easily be identified, which makes a frontal assault on them impossible. This kind of problem is solved with TRIZ’s Anticipatory Failure Determination mental model — rather than solving for success, solve for failure. This is pretty darn close to https://en.wikipedia.org/wiki/Apophatic_theology https://en.wikipedia.org/wiki/Apophatic_theology : I can't tell you what The Good Thing is, but I can tell you many things that it is _not_.
- queuebert 5y agoIsn't this just the scientific method? Disproving a hypothesis is much easier than proving one.
- hprotagonist 5y agoArguably you can only refute hypotheses, if you're of the empiricist mindset about testability, so in a sense that's even _more_ stringent. TRIZ seems to admit of situations where basically, you don't know enough about what your hypothesis ought to be that 'the scientific method' won't get you far enough, so you must proceed by walling off as much of your search space as possible as fast as possible by prioritizing the rejection of negative outcomes rather than identification of positive ones.
- queuebert 5y agoDoesn't this implicitly assume that the negatives are easier to enumerate than the positives? What is the test for this? Gut feeling?
- PeterisP 5y agoIf you are able to find a positive solution, you have solved your problem already. If you're looking for special problem solving techniques, then this implies that for your particular case you are not capable of "enumerating positives" for this problem.
- pgt 5y ago> "He eventually pulled together lists of best practices and key principles of innovation based on this work, which became “the theory of inventive problem solving” alternatively known as TRIZ. > Believing he was on to something, he got a little excited and sent Joseph Stalin a letter in 1948 criticizing the lack of innovation within the Soviet system. This earned him a political prisoner title and a 25-year sentence in the Gulag Archipelago."
- PeterisP 5y agoYep, that's how Stalin's science worked if you dared to think that you know better how the system should be run. For example, the USSR space program leader Korolev lost his teeth from malnutrition in a Gulag camp between his earlier rocketry work and sending Gagarin to space; and arguably the best Russian agronomist/geneticist Vavilov died in prison because he dared to criticize the pseudoscience of Lysenko, who was favored by Stalin at the time.
- gtirloni 5y agoThe same happens in Brazil nowadays. You dare to criticize Bolsonaro and you're excluded. A scientist was going to receive a prize last week for his research showing that chloroquine doesn't help against COVID-19 and once the Bolsominions discovered it, the prize was cancelled (because the president is a proponent of "alternative" treatments and against vaccines -- he recently said they cause AIDS).
- thriftwy 5y agoI think that parent hints that TRIZ inventor has failed to apply the theory to his social actions. Sending letters to Stalin is one of the ways to fail miserably in 1948.
- g_sch 5y agoIt took a second for me to make this connection, but the Charlie Munger in this article is the same Charlie Munger who designed that windowless dorm at UCSB that made the news a few days back. [0] I wonder if he applied the same principles to designing that building. [0] https://www.independent.com/2021/10/28/architect-resigns-in-protest-over-ucsb-mega-dorm/ https://www.independent.com/2021/10/28/architect-resigns-in-...
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- xibalba 5y agoIt's amazingly "on brand" that HN commenters upon the Munger quote at the top of this article. Being a fellow HN'er, I'll follow suit: The most obvious response to Munger's critics is, "Then don't live there." The U.S. is blessed with a huge number of universities, meaning lot's of choice. Particularly for those individuals with the type of accomplishments that would get them into UCSB. (It's not Stanford, but it is very selective)
- CPLX 5y agoAnd the most obvious response to billionaires who think their money buys them the right to run public institutions is "go fuck yourself". The University of California system is owned by, and created for the benefit of, the people of California. Decisions about how it should be run and what the dorms should look like should be made by democratic institutions and accountable to the public through regular elections. Billionaires are blessed with a huge number of leisure time activities and ways to feed their own outsized egos, meaning lots of choice. Particularly for those individuals with the type of money that would allow them to donate entire large buildings. Perhaps he could engage in those activities, and limit his interaction with public institutions to paying his fair share of taxes, and casting the single vote to which he is entitled.
- mjb 5y agoThis is a very powerful way of thinking, and one I use often when thinking about things like career direction and personal life. I think I also learned it from Charlie Mungers book, but I don't recall clearly. However, it does have two downsides as a way of engineering thinking that is worth being aware of: completely enumerating badness is hard, and the solution space might be much sparser than the problem space. Say I'm designing a distributed replication protocol, basically trying to discover Paxos from first principles. So I start with things that don't work, like "fire the packets off at each server and hope they arrive in the order I sent them". So I close that gap. Then find the next problem, and close that, and so on. That finds a lot of problems, but doesn't necessarily find the solution: the space of problems is dense, but the set of solutions is small and tightly clustered in a few "islands". So I can churn through loads of broken protocols without identifying the key insight that leads to a working protocol. In the case of Paxos, that's having acceptors return their previously accepted values and having proposers drive those values instead of their own proposals. It's a brilliant insight, which doesn't seem to lead directly from the set of problems. Then there's the issue with enumerating badness. What are all the ways a server can suffer gray failure? Spend a minute writing them down (bad RAM, bad RAM that still passes ECC, CPU corrupting floating point calculations, etc etc). Ask a colleague to do the same. Compare your answers, and you'll likely find their list of badness is different from yours. This is where you need, again, a simplifying insight (like "look from the outside" or "use a quorum" or whatever). In other words, sometimes it's easier to enumerate goodness than badness. I don't mean to attack a strawman version of this way of thinking. It's a useful tool. But it's one analysis tool, and it's worth being careful of applying it to the exclusion of other ways of analysis that lead more directly to the synthesis of the "correct" answer.
- withinboredom 5y agoLamport also created TLA+, which will happily tell you what and where your algorithm is broken, assuming you model it. So the speed of iteration will be greatly increased.
- soco 5y agoThis brought immediately to mind the Residuality Theory as created by Barry O'Reilly - here a dry but useful introductory piece: https://www.sciencedirect.com/science/article/pii/S1877050921007420 https://www.sciencedirect.com/science/article/pii/S187705092... and another one linking it to software development: https://www.cutter.com/article/residuality-theory-introduction https://www.cutter.com/article/residuality-theory-introducti...
- csours 5y agoSuppose I never want to know what my software is doing...
- mrweasel 5y agoMuch of today was spend closing an account and deleting data about a client who terminated their account with us. Looking over their design documents before deleting makes me think that they had the idea: “Suppose I want a system with a high likelyhood of failure and which is impossible to debug and maintain” and then just decide to implement it for some reason.
- enriquto 5y agoTL;DR: provide fake weather reports so that pilots fly into bad weather
- redis_mlc 5y agoPilots are trained to evaluate weather conditions, so most would figure it out. In fact, forecasts are expected to change. For practise, whenever I see clouds, I explain them to friends.
- robofanatic 5y agogreat article. This seems similar to the idea of eliminating wrong answers to try to guess the right answer if you don't know the right answer from given choices.
- 123pie123 5y agoI've been on a few projects where there has been no obvious way forward. So to find the least worst option, I've started off by desiging a really bad design (along with polished diagrams and RAIDS etc..) This generally invokes good/ heated discussion on how not to do things - which always seems to get poeple talking - as opposed to asking people what they think is the best way forward. People are better at telling you how thngs can't work than saying how to make things work Keep track of all the choices and design decisions and do this iteratively and you have you least worse option. I think I've accidently followed the TRIZ method
- amelius 5y agoSuppose I wanted to crash my computer? See, asking this question doesn't really help in making software more crash-free.
- LanceH 5y agoI would have things like pointer math, programmer responsibility for memory and other resource management. Rust seems to be working exactly along this line of thinking -- at least their obsession with "safety".
- corobo 5y agoGive it a good hard kicking (or I guess more realistically drop your laptop) Solution: replace HDDs with SSDs I think you have to be more specific for it to work faster, there's plenty of ways to crash a computer that doesn't even involve software never mind if you're writing the code too
- thriftwy 5y agoBecause most of precautions are already applied and your computer no longer crashes that often. Things were much, much worse 25 years ago.
- robotresearcher 5y agoI would iterate off the end of a C array. I would have a function call itself recursively a million times deep. I would use a pointer that was set to a random value. I would return the address of an automatic (i.e. stack) variable from a function and use it later. I would allocate resources in a loop and never deallocate them.
- WarOnPrivacy 5y agoI've long carried a suspicion that some relentlessly negative people are expressing their gift for TRIZ and troubleshooting. Because their early years are filled with people who are push back against this ability, their nature tends to devolve into unproductive reactions.
- the_af 5y agoThe problem with being relentlessly negative is that it doesn't work. Not unless the people you're explaining the problem to are receptive to your approach, and they don't think you're just a naysayer. You must explain what you are doing and, if possible, show good results you obtained through this method. To be effective, you don't have to be just right; you have to convince others that you are right as well. To give an extreme example, the Soviet engineer of this story was lucky Stalin died, because he certainly didn't understand the mindset of his interlocutor and wasn't well received.
- WarOnPrivacy 5y ago> The problem with being relentlessly negative is that it doesn't work. This tends to be a problem with most poorly channeled abilities. >Not unless the people you're explaining the problem to are receptive to your approach, and they don't think you're just a naysayer. You must explain what you are doing and, if possible, show good results you obtained through this method. These are skills. They can be tough to develop in a vacuum; it may be impossible when push-back is the only feedback.
- s1mon 5y agoThis reminds me a bit of FMEA (Failure Mode and Effects Analysis) [1] which is used heavily by the medical, automotive, and aerospace industries. Basically you try to think of all the ways that a device or process will fail, what the hazards are from those failures, and how easy it is to detect them. Then based on the risks you've uncovered, you try to mitigate the worst ones (high likelihood, low detectability, worst outcomes - e.g. death). [1] https://en.wikipedia.org/wiki/Failure_mode_and_effects_analysis https://en.wikipedia.org/wiki/Failure_mode_and_effects_analy...
- raymondh 5y agoTangent: Rather than killing pilots, work on preventing them from becoming pilots in the first place. Perhaps join neighborhood efforts to close all the small airports where people learn to fly. Now apply the "reverse thinking" described in the article. To enable the development of more pilots, work on increasing the number of small airfields. Apply this to your own world. What do you need to do to increase the pipeline of talent available to your company? The origin story for the RaspberryPI is a prime example: https://www.zdnet.com/article/we-thought-wed-sell-1000-the-inside-story-of-the-raspberry-pi/ https://www.zdnet.com/article/we-thought-wed-sell-1000-the-i...
- hammock 5y ago> Tangent: Rather than killing pilots, work on preventing them from becoming pilots in the first place. Perhaps join neighborhood efforts to close all the small airports where people learn to fly. Now apply the "reverse thinking" described in the article. To enable the development of more pilots, work on increasing the number of small airfields. Apply this to your own world. What do you need to do to increase the pipeline of talent available to your company? Are you describing covid lockdown efforts and the US economy?
- raymondh 5y agoI mainly aspired to relate the thesis of the article to the origin story for the Raspberry Pi. The only intended political statement was about the importance of small airfields.
- nunez 5y ago> Charlie inverted the problem in a similar way to the TRIZ practitioners — if he wanted to kill pilots, he could get them into icy conditions whereby they couldn’t continue flying, or put them in situations where they would run out of fuel and fall into the ocean. So he drew more applicable maps and better predicted the weather factors that were relevant by keeping in mind the best ways to do the exact opposite of bringing his pilots home. I actually like this train of thought. Though, to be fair, this is the basis for chaos engineering. How can we destroy production? By actually actively destroying production ALL THE TIME! This way, we design our production systems to be as reliable as possible
- snowwrestler 5y agoI’ve seen this used this as a teaching technique in outdoor education to good effect. For example when teaching boat safety, delivering a short class on “how to be great at drowning.” Or when in the backcountry: “How to make sure you get hypothermia today.” Students usually think it’s funny, and it’s often not hard for them to invert the steps to avoid the outcome. For example, if step one of being great at drowning is “get drunk,” then students understand you’re telling them not to drink while boating. It helps students acknowledge the reality that outdoor sports can be dangerous, but without getting too serious, and giving them clear steps to reduce the risk.
- bombastry 5y agoThat's a really good method. I think one of the reasons why this works so well is that it makes the student think about the "why". Most people are more likely to follow rules they understand (so long as they agree with why they exist). Telling someone to not drink on a boat is a prescriptive rule. Telling someone not to drink on a boat because being drunk will make it easier for them to drown is too vague. Including specific reasons might help, but it is easy for the student not to internalize these explanations, especially since they would likely prefer to not think about drowning. Turning this around puts the negative outcome, drowning, in the forefront. This puts the focus on the reason why the rule was created. By thinking about why being drunk will increase their chances of drowning, they will better understand why they should follow the "no drinking" rule. In your case, it sounds like you even have them derive the rule itself. This requires at least some thought about the issue and should make it more likely that they will both remember and follow the rule. I would guess that this technique is most effective when the negative outcome is severe and/or something the student doesn't want to think about (e.g. dying). By focusing on how to cause these negative outcomes, the student is forced to think about things they may otherwise try to avoid. It also seems that this technique is effective when the positive outcome is the negation of the conjunction of the negative outcomes. For example, consider the goal of "staying safe while boating". Being safe is easiest to define as not doing any of the things that increase the chance of danger, or, in other words, "not being unsafe". Being unsafe in general is the conjunction of all the ways of being unsafe specifically ("NOT being drunk while boating" AND "NOT entering the water without a life jacket" AND ...). Being safe requires avoiding unsafe outcomes. By flipping the goal, it becomes more clear that we need to figure out what the unsafe outcomes are. Once these are determined, we can start to come up with ways to avoid them.
- Apocryphon 5y agoBut what for?
- teus 5y agoThis is a dupe of the same article (posted by the same user) on different hosts over the past 4-5 months. https://hn.algolia.com/?q=+%09+%09Suppose+I+Wanted+to+Kill+a+Lot+of+Pilots https://hn.algolia.com/?q=+%09+%09Suppose+I+Wanted+to+Kill+a...
- MisterTea 5y ago> For example, let’s say you are trying to figure out “How can I have a great, fulfilling career?” Instead, ask yourself “How can I have a terrible, worthless career?” and whittle away at the choices that you know will ensure that outcome[...] This sort of sounds like the old joke of asking a sculptor how they carved a horse and the sculptor reply's: "Start with a block of stone and remove everything that doesn't look like a horse."
- deleted 5y ago[deleted]
- yesenadam 5y agoThat joke is pretty much exactly what Michaelangelo said about sculpture. I was reminded of that too. See e.g. https://nilsaparker.medium.com/the-angel-in-the-marble-f7aa43f333dc https://nilsaparker.medium.com/the-angel-in-the-marble-f7aa4...
- rozab 5y agohttps://youtu.be/LO1mTELoj6o https://youtu.be/LO1mTELoj6o 7 Ways to Maximise Misery - CGP Grey
- aronowb14 5y agoGreat article, reminds me of an older hn post about thinking by inversion. https://news.ycombinator.com/item?id=23905221 https://news.ycombinator.com/item?id=23905221
- mitchbob 5y agoPrevious discussion: https://news.ycombinator.com/item?id=27720912 https://news.ycombinator.com/item?id=27720912 (170 comments)