Most active commenters

    ←back to thread

    303 points FigurativeVoid | 12 comments | | HN request time: 0s | source | bottom
    1. namuol ◴[] No.41842187[source]
    I always come back to this saying:

    “Debugging is the art of figuring out which of your assumptions are wrong.”

    (Attribution unknown)

    replies(2): >>41842329 #>>41843213 #
    2. PaulDavisThe1st ◴[] No.41842329[source]
    As long as "your assumptions" includes "I know what I am doing", then OK.

    But most people tend not to include that in the "your assumptions" list, and frequently it is the source of the bug.

    replies(1): >>41842840 #
    3. recursive ◴[] No.41842840[source]
    What if you never believed that in the first place?
    replies(2): >>41843219 #>>41844394 #
    4. throwawayForMe2 ◴[] No.41843213[source]
    I always thought of what I learned in some philosophy class, that there are only two ways to generate a contradiction.

    One way is to reason from a false premise, or as I would put it, something we think is true is not true.

    The other way is to mix logical levels (“this sentence is false”).

    I don’t think I ever encountered a bug from mixing logical levels, but the false premise was a common culprit.

    replies(2): >>41843424 #>>41845987 #
    5. PaulDavisThe1st ◴[] No.41843219{3}[source]
    Then you're good to ignore that as a possible source of the problem.
    6. motohagiography ◴[] No.41843424[source]
    some possible examples:

    security with cryptography is mostly about logical level problems, where each key or operation forms a layer or box. treating these as discrete states or things is also an abstraction over a seqential folding and mixing process.

    debugging a service over a network has the whole stack as logical layers.

    most product management is solving technical problems at a higher level of abstraction.

    a sequence diagram can be a multi-layered abstraction rotated 90 degrees, etc.

    7. mannykannot ◴[] No.41844394{3}[source]
    Then, to be consistent, you should not trust either your deductions or even your choice of axioms.

    In other words, it looks like a form of solipsism.

    replies(2): >>41845314 #>>41846257 #
    8. orbisvicis ◴[] No.41845314{4}[source]
    You can not know what you are doing and still trust in logic.

    But what world it would be if you could flip a coin on any choice and still survive! If the world didn't follow any self-consistent logic, like a Roger Zelazny novel, that would be fantastic. Not sure that qualifies as solipsism, but still. Would society even be possible? Or even life?

    Here, as long as you follow cultural norms, every choice has pretty good outcomes.

    replies(2): >>41847634 #>>41847940 #
    9. hnick ◴[] No.41845987[source]
    I'm not sure if it qualifies as mixing logical levels but I once tracked down a printer bug where the PDF failed to print.

    The culprit was an embedded TrueType font that had what (I think) was a strange but valid glyph name with a double forward slash instead of the typical single (IIRC whatever generated the PDF just named the glyphs after characters so /a, /b and then naturally // for slash). Either way it worked fine in most viewers and printers.

    The larger scale production printer on the other hand, like many, converted to postscript in the processor as one of its steps. A // is for an immediately evaluated name in postscript so when it came through unchanged, parsing this crashed the printer.

    So we have a font, in a PDF, which got turned into Postscript, by software, on a certain machine which presumably advertised printing PDF but does it by converting to PS behind the scenes.

    A lot of layers there and different people working on their own piece of the puzzle should have been 'encapsulated' from the others but it leaked.

    10. recursive ◴[] No.41846257{4}[source]
    I trust things to varying degrees until I test them. Then I trust them more or less.
    11. mistermann ◴[] No.41847634{5}[source]
    In certain geographic regions of the planet at least.
    12. mannykannot ◴[] No.41847940{5}[source]
    Logic will only tell you what follows from your choice of axioms, not how to choose them, and only if you can trust your ability to apply it correctly. Absent that, your only option appears to be to put your trust in other people - which is, I suppose, what you are saying in your final paragraph.