4 ms·
A lot of these principles are great for investigating complex bugs/incidents. e.g: - Assume nothing - Believe nothing - Challenge and check everything
by ra 5y ago
A lot of these principles are great for investigating complex bugs/incidents. e.g:
- Assume nothing
- Believe nothing
- Challenge and check everything
- use a mindmap
- seek alternative explanations
- recruit a devils advocate
- jacquesm 5y agoThe first three have solved just about every problem that I've ever encountered in software, even in systems that I had absolutely no clue about (which made the first two quite natural ;) ). Debugging and troubleshooting isn't art or magic, it's just being very boringly methodical and building from the ground up. A single assumption and you're off to a dead end, a single thing taken on hearsay and you will repeat what other people already did, failure to challenge and check will no doubt make you miss something that it crucial to solving the problem.
- version_five 5y agoAgreed. At the bottom of any long-to-debug issue I've encountered is some assumption I absolutely knew to be beyond suspicion that turned out to be wrong. (That said, it's easy to say in retrospect. In the moment there is always judgement about what to verify first, and of course its always the last thing you check that turns out to be the problem)
- jacquesm 5y agoThis is the harsh thing about computers: they mercilessly point out your character flaws.
- aspenmayer 5y agoWell it would be silly to keep checking once you’ve already found the problem, surely? /s
- wheelinsupial 5y agoI don’t understand the “/s” sarcasm tags, but there can be cases where you do want to keep checking. Some problems have a single root cause, some have multiple independent root causes, and some issues present when root causes have an interaction type effect.
- anamax 5y agoYou have to both find AND recognize that you've found.
- porknubbins 5y agoTheres a quote I read somewhere (paraphrased) that the scientific method is the slowest method of debugging but it always eventually succeeds. Most bugs are fixable most quickly by intuition, or making a ton of assumptions about where the problem is likely to be. Its usually at my lowest point I decide to resort to “science” and hours later I finally find the problem.
- Pinus 5y agoI have noticed that when a Stack Overflow question says "the problem can't possibly be X, because <something>", that is very often exactly where the problem is (and <something> is a misunderstanding).
- jacquesm 5y agoHehe, the 'stackoverflow blindspot'. Probably you could extend your theory to 'first google result for question 'x''.
- holytoledo 5y agoSo basically be a modern day right winger? Because your first 3 things there get you labeled as such - on HN and elsewhere. The last 3 get you banned. If we are going to play a game of what you’re allowed to assume and what you aren’t allowed to assume, then you aren’t a detective, you’re a pawn for someone else’s bidding and their strategic movements. Ditto for believing and challenging whatever “facts” you are allowed to believe and challenge. If you knew the kind of statistics that Pew collects, and how they can be interpreted, you would believe very little indeed.
- mensetmanusman 5y agoYou do not get banned using a mind map.
- TeeMassive 5y agoI can't believe you introduced partisan politics into a post about how to solve problems. Well I guess not believe in anything is a first step anyway.
- jdthedisciple 5y agoI understand that that is kind of a taboo thing to do. It's like an unwritten rule and it makes sense. But if we just keep that aside for a millisecond, doesn't he have a valid point in a way? Isn't it reputational suicide these days to question the popular narrative in many regards? (And yes, let the downvotes roll in, thereby proving my point :))
- TeeMassive 5y agoEvery society has its reputational killing taboos. That doesn't make a methodology based on doubting everything invalid. I mean, what if incest was a good thing?
- TeeMassive 5y agoAfter 10 years of programming I found that I can more and more relate to (good) detective movies, investigative journalism pieces and reading courts decisions and submissions (I have weird hobbies). I learned that what works best is a systematic approach and what works badly is overlooking certain parts to save time based on intuitive assumptions. I can't count the number of bugs that took me days because I've just jumped to the "heart" of the problem assuming the rest that got me there was fine. Only to have someone else looking at the problem with less knowledge, going through tings that seemed mundane but who finally gave valuable hints even if they were not problematic themselves.