• Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    288
    arrow-down
    2
    ·
    2 months ago

    Tangentially related rant: We had a new contributor open up a pull request today and I gave their changes an initial look to make sure no malicious code is included.
    I couldn’t see anything wrong with it. The PR was certainly a bit short, but the task they tackled was pretty much a matter of either it works or it doesn’t. And I figured, if they open a PR, they’ll have a working solution.

    …well, I tell the CI/CD runner to get going and it immediately runs into a compile error. Not an exotic compile error, the person who submitted the PR had never even tried to compile it.

    Then it dawned on me. They had included a link to a GitHub Copilot workspace, supposedly just for context.
    In reality, they had asked the dumbass LLM to do the change described in the ticket and figured, it would produce a working PR right off the bat. No need to even check it, just let the maintainer do the validation.

    In an attempt to give them constructive feedback, I tried to figure out, if this GitHub Copilot workspace thingamabob had a Compile-button that they just forgot to click, so I actually watched Microsoft’s ad video for it.
    And sure enough, I saw right then and there, who really was at fault for this abomination of a PR.

    The ad showed exactly that. Just chat a bit with the LLM and then directly create a PR. Which, yes, there is a theoretical chance of this possibly making sense, like when rewording the documentation. But for any actual code changes? Fuck no.

    So, most sincerely: Fuck you, Microsoft.

    • TrickDacy@lemmy.world
      link
      fedilink
      arrow-up
      52
      ·
      2 months ago

      Surely you have to blame the idiot human here who actually has the ability to reason (in theory)

        • TrickDacy@lemmy.world
          link
          fedilink
          arrow-up
          13
          arrow-down
          1
          ·
          2 months ago

          Of course but people selling/offering shitty tool options is not only expected, it’s guaranteed. I certainly do not understand this tendency to blame the machine or makers of the machine and excuse the moronic developer

          • unexposedhazard@discuss.tchncs.de
            link
            fedilink
            arrow-up
            10
            ·
            edit-2
            2 months ago

            Nono i agree with you, people like that cant be trusted with tying their shoes.

            I just wanted to point out that the system is the way it is because of “idiot human here who actually has the ability to reason”

          • Ethan@programming.dev
            link
            fedilink
            English
            arrow-up
            5
            arrow-down
            1
            ·
            2 months ago

            The person who uses the shitty tool is a moron. The person who makes the shitty tool is an asshole. At least in this case where the shitty tool is actively promoting shitty PRs.

          • Kissaki@programming.dev
            link
            fedilink
            English
            arrow-up
            4
            arrow-down
            1
            ·
            2 months ago

            Responsibility is shared. It’s not one or the other.

            Many people don’t know what they’re doing. That’s kind of expected. But a tool provider and seller should know what they’re doing. Enabling people to behave in a negative way should be questioned. Maybe it’s a consequence of enablement, or maybe it’s bad design or marketing. Where criticism is certainly warranted.

            • TrickDacy@lemmy.world
              link
              fedilink
              arrow-up
              2
              arrow-down
              5
              ·
              2 months ago

              Yes the only people ever to blame are everyone but the people who actually did a thing. That’s the same reason voters aren’t responsible for trump, Democrats are. /s

      • Ephera@lemmy.ml
        link
        fedilink
        arrow-up
        12
        arrow-down
        1
        ·
        2 months ago

        Well, for reasons, I happen to know that this person is a student, who has effectively no experience dealing with real-world codebases.

        It’s possible that the LLM produced good results for the small codebases and well-known exercises that they had to deal with so far.

        I’m also guessing, they’re learning what a PR is for the first time just now. And then being taught by Microsoft that you can just fire off PRs without a care in the world, like, yeah, how should they know any better?

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

        ultimately the people responsible are the ones giving people tools that can be misused, you don’t hand a gun to a child.

    • GreenKnight23@lemmy.world
      link
      fedilink
      arrow-up
      44
      ·
      2 months ago

      dude. i feel that pain.

      i got a dev fired because they absolutely refused to test their changes before submitting.

      I’m not talking once or twice either. at least a year of that bullshit. i had to show my boss how many hours of wasted time it was taking me because I look at the code first, like literally anybody. Eventually boss pipd them and fired them but holy fuck i wanted to kick that douche in the groin every time i saw a pr with their name on it.

      next place I work I’m insisting on a build step success to assign a pr.

        • GreenKnight23@lemmy.world
          link
          fedilink
          arrow-up
          6
          ·
          2 months ago

          “it works on my machine.”

          It’s funny that that’s the answer that they always gave, considering there were times that we had screen shares, and I asked them to walk me through how they actually got it to work.

          When they attempted to try to run it, unsurprisingly it broke.

          There were even a few times that I didn’t even review it and the first step I took was to inform them that it wouldn’t run. Also, unsurprisingly, I was right.

          Management at the time was driven by product development and delivery of “high-value” features. As long as deliverables were delivered, this dev could do anything they wanted to. At the end of a year, I’d lost about four weeks of productivity. That doesn’t even cover the hours of after work time that I spent on trying to fix their fuckups.

          Needless to say, I stopped doing that. I used to be a nice guy to work with, but now… Let’s just say if you can’t do the work, I’m not covering for you. If your PR doesn’t get merged because it’s broken and you can’t fix it and you spend six weeks trying to fix it, that’s on you.

          • smiletolerantly@awful.systems
            link
            fedilink
            arrow-up
            5
            ·
            edit-2
            2 months ago

            Oof.

            My employer pays a buttload of money to CircleCI - for extensive checks (build, lint, formatting, full test suite, as well as custom scripts for translation converage, docs,… for the full tech stack) on every push. Reviews start only when everything passes.

            I think you have given me a new-found appreciation for the reasoning behind that decision… 😄

    • Kissaki@programming.dev
      link
      fedilink
      English
      arrow-up
      16
      ·
      edit-2
      2 months ago

      Commit with Co-authored-by: Copilot

      or maybe better --author=Copilot

      It would certainly help evaluate submissions to have that context