• e0qdk@kbin.social
    link
    fedilink
    arrow-up
    76
    ·
    9 months ago

    Rule 9 from Agans’s Debugging: If you didn’t fix it, it ain’t fixed

    Intermittent problems are the worst…

    • marcos@lemmy.world
      link
      fedilink
      arrow-up
      18
      ·
      9 months ago

      The problem is, how do you fix it if you can’t make it break?

      The worst thing is when somebody comes to you saying “yeah, I had this problem yesterday, but it’s working now”.

      • Neshura@bookwormstory.social
        link
        fedilink
        English
        arrow-up
        16
        ·
        9 months ago

        this is a case for excessive logging man

        likely won’t help you actually fix the issue because miraculously you didn’t log the three variables you actually need but it’ll make you feel better in the meantime

        • kameecoding@lemmy.world
          link
          fedilink
          arrow-up
          7
          ·
          edit-2
          9 months ago

          and gives you some headroom in improving performance since it’s being choked by the excessive logging

  • DraughtGlobe@feddit.nl
    link
    fedilink
    arrow-up
    30
    ·
    9 months ago

    ngl my programming career helped me stay grounded in reality. Every impossible issue turned out to always have a cause, a reason to be there. Could have taken weeks to track down the issue, but there was always a cause.

    But still… every 3 or so years… something actually impossible pops-up. Impossible to fix, impossible to reproduce, and suddenly gone from existence, as if it was never there.

  • saltnotsugar@lemm.ee
    link
    fedilink
    English
    arrow-up
    21
    ·
    9 months ago

    The longer I’m in IT, the more I realize that the adeptus mechanicus might be on to something with beseeching the machine spirit.

    • peopleproblems@lemmy.world
      link
      fedilink
      arrow-up
      20
      ·
      9 months ago

      A lot of people think I’m joking when I say I’m a good at what I do because I’m a witch doctor with computers. Software Engineering requires experience with the occult, at a minimum.

      • saltnotsugar@lemm.ee
        link
        fedilink
        English
        arrow-up
        15
        ·
        9 months ago

        “In my professional opinion, this network is haunted.”
        …haunted?
        (Points to various certifications) “HAUNTED.”

          • The Gay Tramp@lemmy.ca
            link
            fedilink
            English
            arrow-up
            5
            ·
            9 months ago

            The demons are attracted to doorways, passages between spaces, worlds, and realms. And printers are the ultimate doorway: a portal through which ideas and concepts can leave the software realm and enter the physical

      • Floey@lemm.ee
        link
        fedilink
        arrow-up
        3
        ·
        9 months ago

        In effect, we conjure the spirits of the computer with our spells.

        • The Gay Tramp@lemmy.ca
          link
          fedilink
          English
          arrow-up
          3
          ·
          9 months ago

          I actually had a concept for a fantasy world, where magicians craft spells much the same way software devs do. So you make your spell and publish it to the ether, and then anyone can invoke it using the magic word (package name), assuming the have the right dependencies available (eye of newt or whatever). But spells might have bugs. So if you used eye of red newt while the spell smith built it with the expectation you had eye of blue newt you might get unintended consequences

          • Swedneck@discuss.tchncs.de
            link
            fedilink
            arrow-up
            1
            ·
            9 months ago

            i mean it’s pretty common for runes to just be conceptual programming languages and if you do something wrong then instead of having a lighter you get a bomb

  • takeda@lemmy.world
    link
    fedilink
    arrow-up
    16
    ·
    9 months ago

    Still better than my Go experience 2 years ago.

    • fails when deployed, after adding debug statements looks like in one structure there’s 2 instead of 1, and looking at the code that should be impossible. Issue happens every single time.
    • the same exact unmodified container when downloaded and run locally works correctly every time.
  • Tabugti@feddit.de
    link
    fedilink
    arrow-up
    12
    ·
    9 months ago

    In university, we had to complete weekly tasks. A few times, the validation script provided by my professor returned an error, meaning that my solution had a mistake. When I tried rerunning the script the following day, my answer was accepted. At the end of the last lecture, my professor came to me and told me that I was usually the first one to hand in a solution and that he sometimes used my answers to validate his results.

  • LazaroFilm@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    ·
    9 months ago

    I had that happen with embedded programming when you forget to flush the eeprom after changing your saved values.

    • Neshura@bookwormstory.social
      link
      fedilink
      English
      arrow-up
      5
      ·
      9 months ago

      hmm embedded. Beautifuly memories from uni. One lab my team forgot to remove a register whose supposed purpose was only enabling a communications bus (documentation didn’t mention it doing anything else). Turns out that same register disables the dac which we needed for the new excersise. You learn to love the hardware datasheets real quick.

      • LazaroFilm@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        9 months ago

        And when the data sheet is wrong that gets fun. You start parsing I2S for each bit and record the result until you see a pattern. Or when your program crashes the USB and you can’t reupload without hitting boot or reset but they are inside the box.

        • Tolookah@discuss.tchncs.de
          link
          fedilink
          arrow-up
          3
          ·
          9 months ago

          MY PEOPLE!!! My code recently decided to not erase the flash when writing new firmware, bricking the device. Good times. (Old code || new code does not make for a working system)

      • LazaroFilm@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        On small computers like Arduino there is a very small memory called eeprom that stays when powered off. It saves ultra low level data (at the bit and byte level) if you don’t “format” after changing what is being saved where it then tries to read gibberish and things go bonk.

  • katy ✨@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    11
    ·
    9 months ago

    just make sure you absolutely don’t comment or document it then commit it to git with a cryptic commit message and even more cryptic author name and then hand it off to your coworkers

    • koko@ani.social
      link
      fedilink
      arrow-up
      3
      ·
      9 months ago

      AAA why do people do that, like wtf you spent so much time fixing this, ATLEAST MAKE IT CLEAR WHAT YOU DID

      • katy ✨@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        3
        ·
        9 months ago

        searching google and finding a ten year old stackoverflow post with your exact problem but the answer is just “nevermind i figured it out”

  • Mossy Feathers (They/Them)@pawb.social
    link
    fedilink
    arrow-up
    11
    ·
    9 months ago

    I had a bug in unity once where my project just stopped working. I hadn’t changed anything, but I could no longer compile it or run the game in editor. I looked up the issue and apparently unity has/had a long-standing bug where the engine would rarely just quit being able to compile your scripts. The only solution was to make a new project and reimport all your assets, scripts, scenes, etc. Dunno if they ever figured out what was causing it or if it just kinda resolved itself and stopped showing up at some point. I don’t really use unity much anymore.

  • Lanthanae@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    8
    ·
    9 months ago

    As a full stack cloud dev usually for me it ends up being some lag between when Azure claims a thing was updated and when it actually was.

    (shout out to azure B2C custom policies for taking like 10 minutes to actually reflect changes despite giving me a lil green checkmark)

  • Oodelallic@lemmy.ca
    link
    fedilink
    arrow-up
    8
    ·
    9 months ago

    lucky, you have code gnomes. leave out an offering of mountain dew and pizza rolls to appease the spirits.

  • ansorca@sh.itjust.works
    link
    fedilink
    arrow-up
    7
    ·
    9 months ago

    Reminds me of the time I couldn’t get my code to compile due to invisible unicode characters in the code I copy-pasted from the web.

    • nexas_XIII@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      9 months ago

      Kinda related, I always copy paste into a “simple” text editor before I copy paste into something else. Slack is so bad about having hidden characters I don’t even want to think what other sites/programs do.

        • nexas_XIII@lemm.ee
          link
          fedilink
          arrow-up
          2
          ·
          9 months ago

          That’s a great question. I would assume so since the whole point would be to strip out odd encodings. I don’t have to do it often enough saved in going to assume that option will depend on the program/OS and if it supports it.