According to the release:

Adds experimental PostgreSQL support

The code was written by Cursor and Claude

14,997 added lines of code, and 10,202 lines removed

reviewed and heavily tested over 2-3 weeks

This makes me uneasy, especially as ntfy is an internet facing service. I am now looking for alternatives.

Am I overreacting or do you all share the same concern?

  • patrick@lemmy.bestiver.se
    link
    fedilink
    English
    arrow-up
    1
    ·
    13 days ago

    It looks like that tool is more or less built by a single developer (you already trust their judgment anyways!), and even though the code came through in a single PR it was a merge from a branch that had 79 separate commits: https://github.com/binwiederhier/ntfy/pull/1619

    Also glancing through it a bit, huge portions of that are straightforward refactors or even just formatting changes caused by adding a new backend option.

    I’m not going to say it’s fine, but they didn’t just throw Claude at a problem and let it rewrite 25k lines of code unnecessarily.

  • Nalivai@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    12 days ago

    This doesn’t make me uneasy. It makes me resentful, a little angry, and a lot tired. Thanks for bringing it to attention, I will make sure that nothing of that project or from that author will ever cross my ecosystem again.

    • NoFun4You@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      12 days ago

      You’re gonna have a lot of hate in your blood if you go around acting like the most skilled engineers aren’t using AI to write code.

      • mic_check_one_two@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        12 days ago

        There’s a massive difference between “using AI to write code” and refactoring almost 15k lines in a single push.

        The “best” uses of AI in coding are for small blocks. You don’t just tell it “I need a program that does X, Y, and Z” because that will (at best) result in horrible code. Instead, it’s best practice to use it for small blocks of code, where you tell it something more akin to “I need a function that takes {a} as a variable, does {thing}, and outputs {x}.” That way you’re not using it to generate giant swaths of code all at once, you’re just using it to generate individual functions that you can then use as needed.

        But it also means that the “most skilled” (as you put it) programmers are basically putting themselves in a permanent debugging seat instead of working as a developer. And in many cases, debugging code can be just as (or more) difficult than writing the initial code. It’s also why senior devs exist to audit code from junior devs, because it’s assumed that junior devs will inevitably make mistakes that need debugging, or will make code that clashes with code from other junior devs. And it’s the senior dev’s job to ensure that the code is both functional and integrated properly.

        And this “adding 15k lines of code and ripping out 10k lines” push smells a lot like the former “write me a program to do {thing}” usage.

        • NoFun4You@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          arrow-down
          1
          ·
          10 days ago

          But 15k likes of code and heavily reviewed over 2-3 weeks is not just adding code and ripping it out. It’s extremely easy to get 15k lines of code changes in a couple hours with AI. And it’s not gonna be all slop.

      • Nalivai@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        12 days ago

        Most skilled engineers, and even mildly skilled engineers don’t use slopgenerators to write code. Some of them use it sometimes to do some menial tasks, although I’m not convinced it actually saves them time. It sure doesn’t every time we measure it.
        There is however a plague of low skilled people who convinced themselves that they’ve found a shortcut to being an engineer. Those people are producing bad things at a fast pace, and the only reason we’re not in an unsolvable crisis yet is that their slop isn’t hitting prod very often on account of being bad.

        • NoFun4You@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          arrow-down
          1
          ·
          10 days ago

          Lol you can definitely generate a large amount of non slop and if you keep believing that then you’ll never see it as a tool to multiply your skills on.

    • NoFun4You@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      12 days ago

      Like ppl thinking skilled engineers cannot vet AI output. AI is pretty good for programming.

      • mic_check_one_two@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        12 days ago

        And yet there are cases like the Huntarr debacle, where the dev simply thought “and make sure your code complies with best security practices” to their vibe code prompts actually made it secure.

        They added 14k lines of code in a week, and ripped out 10k lines of existing code. That’s not something that a skilled programmer can reasonably vet in that amount of time. This is showing all the signs of AI slop, and none of the signs of debugged or vetted code.

      • thedeadwalking4242@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        12 days ago

        It’s not. That’s the problem. It actually sucks ass. It’s super low quality for anything more complex they s very simple CRUD app or a simple function. I say this as someone who s a heavy LLM user. It’s just bad code. It makes all kinds of simple mistakes. Just because code compiles doesn’t mean it’s good or does what you need it to do

        • NoFun4You@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          arrow-down
          1
          ·
          10 days ago

          I think it largely depends on what you’re building. You’re not gonna get build a company overnight with a few prompts but it’s much more powerful than you’ve described.

          • thedeadwalking4242@lemmy.world
            link
            fedilink
            English
            arrow-up
            0
            ·
            10 days ago

            It’s really not though. If you think it is I really suggest to re-think your perspective on what maintainable shippable code looks like. It’s basically automating copying from stack overflow. There’s so many little considerations that come into development.

            • NoFun4You@lemmy.world
              link
              fedilink
              English
              arrow-up
              0
              arrow-down
              1
              ·
              9 days ago

              Still sounds like something someone would say who has had a bad time and experience with generating code lol. It really isn’t that hard to be an engineer and to get what you want out of code generation.

      • IphtashuFitz@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        12 days ago

        I have a few decades programming experience, as a professional software engineer, an open source developer, and a DevOps engineer. There is no way in hell I would do a code review where 15k lines were added and a similar amount of lines removed without having a long discussion with the person who made those changes. I’d want to ask a lot of detailed questions about the changes, questions that an LLM isn’t likely to answer, and most definitely not questions I’d be inclined to try to type into an LLM to try to get an answer.

        Over the years I’ve dealt with all manner of bugs, from overflows & underflows, to bad assumptions about logic flow, and much much more. The whole purpose of pointed questioning of the author is to be comfortable with decisions made in the code and to minimize the chances of all sorts of potential bugs.

        • NoFun4You@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          arrow-down
          1
          ·
          10 days ago

          I think it largely depends on what you’re building. You’re not gonna get what you’ve got over there over night with a few giant prompts.

      • Ohi@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        12 days ago

        You’re absolutely right, and the vast majority of people on this platform seem to get offended by anything AI related. Software engineers have been reviewing code made by other people since the dawn of the craft. Guess what y’all, AI generated code looks exactly the same, if not better on the first pass at creating a thing.

        Down vote me all you want homies. You’re living in a fantasy if you think all AI is slop. Sure, I can see how it’s ruining some content on the Internet, but for code related tasks, its going to dramatically change the world for the better.

        • NoFun4You@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          arrow-down
          2
          ·
          10 days ago

          Ppl are fucked lol, I’m over here writing a lot of stuff with AI, maybe it’s not always perfect but nothing ever is, and without iteration or dedication to the craft you’re just gonna sit there be all upset and judgy because you’ve never seen it lol

  • deathbird@mander.xyz
    link
    fedilink
    English
    arrow-up
    0
    ·
    12 days ago

    “but reviewed and heavily tested over 2-3 weeks by me. I created comparison documents, went through all queries multiple times and reviewed the logic over and over again. I also did load tests and manual regression tests, which took lots of evenings.”

    This is the way.

    • douglasg14b@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      12 days ago

      Pretty much.

      I’ve started using AI on a project last week and the first thing I do is write tests. Lots of tests.

      With enough guardrails, you could actually get pretty decent quality output out of it and with enough regression tests, you can ensure that nothing’s actually breaking.

      Similarly, reviewing its changes and actually reading the code that’s being generated to ensure correctness is necessary. However, I am finding ways to automate that and reduce the incident rate of problems to even lower than my co-workers.

      • dogs0n@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        12 days ago

        At that point, I think: Why not just write the code yourself?

        Writing the code is more fun that reviewing code, not to mention less error prone.

        • rumba@lemmy.zip
          link
          fedilink
          English
          arrow-up
          0
          ·
          12 days ago

          A many-month-long refactor on code you’ve already written is less than fun. While I don’t love seeing a project I’m using being 80% replaced by Claude code, I’ve had Claude code look at some of my old projects and find underlying issues I was able to verify, and then suggested a more best-practice approach that I wasn’t even aware of. The real question is, was the claude output better than the original code? If it is and it has unit tests and many eyes on it, it’s quite possible that it’s better off now.

          I’ll sit on my current versions for a few months and let everyone else test it out :)

          • dogs0n@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            0
            ·
            12 days ago

            I agree with you, though even when I have just made a change myself, I am looking through the git diff like a crazy person.

            So, still I think refactoring my own code is much more fun than telling AI to do it for me and then proceeding to review and test it for weeks (allegedly, lol).

            You seem to be using it responsibly by asking it how things could be better.

            I’d never copy and paste output from an AI or give it free roam to make a PR, etc myself.

            I’ll probably be sitting out on this update for a while too until I gage the general reactions of people heh :)

    • Jhex@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      12 days ago

      that’s nowhere near enough testing for such a large change… special one written by the slop machine

        • riccardo@lemmy.ml
          link
          fedilink
          English
          arrow-up
          0
          ·
          12 days ago

          At my company we have been using AI very heavily to write code lately, and if that sentence was used to justify a 10k+ diff, whoever wrote it/vetted the change would have their access to the codebase revoked