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?

    • NoFun4You@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      3
      ·
      40 minutes ago

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

  • Nalivai@lemmy.world
    link
    fedilink
    English
    arrow-up
    21
    arrow-down
    2
    ·
    4 hours 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
      1
      arrow-down
      2
      ·
      40 minutes 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.

  • deathbird@mander.xyz
    link
    fedilink
    English
    arrow-up
    22
    arrow-down
    12
    ·
    8 hours 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.

    • Jhex@lemmy.world
      link
      fedilink
      English
      arrow-up
      12
      arrow-down
      2
      ·
      4 hours ago

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

    • douglasg14b@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      6
      ·
      4 hours 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
        10
        arrow-down
        2
        ·
        4 hours 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
          2
          arrow-down
          1
          ·
          4 hours 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
            2
            arrow-down
            1
            ·
            4 hours 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 :)

  • shirro@aussie.zone
    link
    fedilink
    English
    arrow-up
    17
    arrow-down
    2
    ·
    10 hours ago

    I can see the pragmatic appeal. Maintaining a lot of code for an open source project is thankless. Go is designed for idiots like me so it makes sense that an llm should be able to emit code that mostly works. There are classes of errors that are less likely in Go and the compiler and linting will prevent some foot guns and then it would have been tested.

    Ethically I hate anything to do with the llm industry and all it represents. I hate the environmental impacts. The social impacts. The disregard for intellectual property. The devaluing of human effort. The scam economics. I won’t use anything touched by it on principle and if that means walking away from a dead Internet so be it. There is enough pre-2020s books, audiobooks, movies, music and code to keep me interested for the rest of my life.

  • SanPe_@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    1
    ·
    11 hours ago

    I’m so tired of that.

    I’m using it for scripts notifications + unifiedpush. I don’t know where to start to find the fitting alternative.

    • douglasg14b@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      9
      ·
      4 hours ago

      The maintainer you and said that they tirelessly tested, reviewed and verified changes over the course of 3 weeks to make sure that things were running and operating correctly.

      This is how it should be done. It’s not like they’re vibe coding this.

    • Shayeta@feddit.org
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      9
      ·
      9 hours ago

      If more people were contributing there wouldn’t be a need for AI.

      • SanPe_@lemmy.world
        link
        fedilink
        English
        arrow-up
        13
        arrow-down
        1
        ·
        9 hours ago

        Non-sense comment. The project was fine without AI. And it’s so stupid: how do you expect people to contribute if there’s only AI? How do you expect developers to learn to code if everything is AI?

    • GreenKnight23@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      20 hours ago

      been using EMQX plus an MQTT client on my phone for a few months now, I like it better than gotify since the app was chewing through my battery like a vampire.

      it might be better now since my issues happened three-ish years ago.

      • SayCyberOnceMore@feddit.uk
        link
        fedilink
        English
        arrow-up
        4
        ·
        13 hours ago

        This EMQX?

        Seems it’s no longer FOSS?

        I’ve been using Gotify for a few notifications from Home Assistant and it doesn’t appear to be eating my battery.

        It’s a little more responsive than ntfy - sometimes ntfy doesn’t alert for ages after the trigger (could be phone power saving the wifi…), but then I also get realerts from yesterday… not had that with Gotify.

        • GreenKnight23@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          1
          ·
          12 hours ago

          that’s the one.

          FOSS or not, it still runs just fine on my infra. I prefer it over something like rabbitmq because it has a pretty slick admin webgui.

          I’ll have to give gotify another try.

  • patrick@lemmy.bestiver.se
    link
    fedilink
    English
    arrow-up
    114
    arrow-down
    6
    ·
    1 day 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.

    • fccview@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 hours ago

      Yeah, I mean, with or without AI, I’ve always only had a big pull request for releases, from a stable release branch into the main branch, the release branch would be a merge of various branches or just be worked on directly on various stages.

      One big pull request doesn’t really mean anything.

    • mudkip@lemdro.id
      link
      fedilink
      English
      arrow-up
      21
      arrow-down
      29
      ·
      15 hours ago

      Any AI usage immediately discredits the software for me, because it calls into question all of their past and future work.

    • sloppy_diffuser@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      2
      ·
      21 hours ago

      Something like https://graphite.com/ to create stacked PRs that are reviewable probably would have helped. Can be replicated with local LLMs or remote AI providers with locally configured agentic workflows. Never used graphite personally, but I’ve seen some open source maintainers use it to split up large PRs.

  • Phoenixz@lemmy.ca
    link
    fedilink
    English
    arrow-up
    69
    arrow-down
    8
    ·
    1 day ago

    I’m a developer

    I sometimes sometimes use AI for an answer to a complicated problem because normally I’d open up 20 pages , have to go through them all to find the right answer

    AI gets me the answer right away, though it likely is completely wrong or at least partially wrong. Either way, it gives me a general direction and with that I only have to search through one or two pages to confirm, so the same process is just a little faster.

    I laso have used AI on a couple of occasions to ask it to write code for a complicated problem. Again, you don’t copy the code, god no, it’s always the worst, and it is in 80% of the cases still at least riddled with bugs, or just complete bullshit. However, it might give me an alternative idea or a direction to take to implement or fix this complicated feature problem.

    That’s the extent to which I’ve used AI and for the foreseeable future that won’t change because AI still can’t code. It’s still wildly flailing around and it might produce something that implements a certain functionality, but it’s a guarantee that that functionality will have more bugs and security holes than features

    • s3rvant@lemmy.ml
      link
      fedilink
      English
      arrow-up
      29
      arrow-down
      3
      ·
      1 day ago

      I am also a developer and agree entirely.

      Asking for advice, examples or the occasional boilerplate is at most how I use AI and certainly not integrated directly into my IDE.

    • DonutsRMeh@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      2
      ·
      21 hours ago

      I understand this comment. AI sometimes saves a ton of mental power and time when I’m stuck on an issue. It can give some really good suggestions. Also, AI is a godsend for frontend shit. I don’t care what y’all say, I’m never touching CSS and HTML ever again. lmao.

      • Phoenixz@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 hour ago

        Nah, wouldn’t do that. CSS needs to be well designed to function properly, you need actual developers for that or you’ll screw over your users.

        But yeah, to give quick pointers and ideas to flesh out, it’s reasonably useful

        If that is enough to warrant it’s extreme energy use, the spread of AI slop everywhere, the pollution, the uncontrolled datacenter expansions, the explosion in hardware costs it created, the countless death and suffering it caused through AI psychosis, the AI childporn bots (hello grok, are you still the world’s biggest child porn producer or did Elmo finally reign you in to again be mecha Hitler?), the…

        Long story short, AI will likely end this world in a long list of fucked up ways, I don’t think it’s worth it

        Until then, I’ll use it as a suggestion tool, not much more

  • Erik-Jan@fosstodon.org
    link
    fedilink
    arrow-up
    117
    arrow-down
    2
    ·
    1 day ago

    @ueiqkkwhuwjw just this quote at the start of the release notes

    > 14,997 added lines of code, and 10,202 lines removed, all from one pull request

    This is already a major red flag even without the ai stuff right? Can’t believe anyone would flaunt that like this.

    • dev_null@lemmy.ml
      link
      fedilink
      English
      arrow-up
      9
      ·
      11 hours ago

      The “single pull request” is a merge release from 79 separate commits. It’s the sum of all work, it doesn’t mean all of it was changed in one go.

        • dev_null@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 hours ago

          Why? What difference does it make if he packages these commits in 1 or 10 PRs?

          Keep in mind this is a single maintainer project, there are no PR reviews. He could be just pushing straight to the branch anyway with no PR at all.

  • d15d@feddit.org
    link
    fedilink
    English
    arrow-up
    191
    ·
    1 day ago

    They are not even trusting it themselves. This is from the release notes

    I’ll not instantly switch ntfy.sh over. Instead, I’m kindly asking the community to test the Postgres support and report back to me if things are working

    Fuck that.

      • callmemagnus@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        1
        ·
        edit-2
        7 hours ago

        Consider a donation to help people providing you the open source software you seem to depend upon.

        Usage of a helper tool to perform tasks on code whether it is AI or the IDE internal features can reduce the work load of benevolent developers who has not asked you to use their softwares.

        Maybe the language was not appropriate but get real. With the little revenue generated by the usage of people complaining, the use of AI agentic coding might be the only way to bring features without pushing benevolent devs to burnout.

        Edit: to bring, not to being!

        • Mirror Giraffe@piefed.social
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 hours ago

          You are completely correct, and to be honest I’ve tested commercial product features in prod as well on teams that have the capacity to handle it and make a living on it, unlike this maintainer.

          I’m also experimenting heavily with vibe coding and I think it has many uses for a seasoned programmer while getting a lot of flak.

          Of course there are issues and problems with it, but for me it had been helping out a lot.

      • Railcar8095@lemmy.world
        link
        fedilink
        English
        arrow-up
        41
        arrow-down
        3
        ·
        1 day ago

        Test in production is the best. We spent months warning from data bugs and nobody bat an eye (upstream bug, not our responsibility but we noticed) When it was d launched in prod we just pointed out the bug that nobody fixed was still there and immediately a war room was formed and the bug fixed within an hour.

        It honestly seems more efficient to let shit hit the fan than to fight everybody to do their job.

        • hornedfiend@piefed.social
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          14 hours ago

          Testing in production is the most idiotic last 10 years or so concept, which is mainly driven by incompetence of project managers.

          Imagine if you get sold a car by a company, for 100k, then it starts having major issues and the car company tells you: “we’ll fix it”.

          While that does not necessarily apply to software or services or webapps, the logic still stands. You are selling bugs to people. Bugs that could have been cought, with some risk management and planning.

          Edit: F-ing ios keyboard.

          • Railcar8095@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            12 hours ago

            which is mainly driven by incompetence of project managers.

            I completely agree. I work on an internal solution, which is a part of a very large product. It’s not a live product, only part of a pipeline that runs on a predetermined schedule. Our bit is the only one with actual business/performance KPIs, most of the other teams measure only “user story/CR points”. If the other teams screw up, it will impact our performance unless we prove it’s their fault. And of it’s their fault, they open a US/bug which improves their metrics (one more US closed). Our team has to think ahead and try to do things well in one go, because our bugfixing doesn’t count as work. But our speed is measured against people who benefits from half doing stuff. When we did massive effort, we got complaints we were slow. Now we do less effort and once every blue moon we have to do a hotfix. Most often than not when we have an production issue is due to the other teams that run before us on the pipeline, so we even had to develop checks to our input because they won’t add checks to their outputs. And they won’t because that’s a CR that requires extra funding that’s not approved, but we had to create them for our own sanity.

            Yes, I’m looking to move out haha

            • hornedfiend@piefed.social
              link
              fedilink
              English
              arrow-up
              1
              ·
              2 hours ago

              A project is as good as its weakest point. While people might get butthurt by getting pointed at, a project is a group effort. Segregated teams are always a problem and almost always becomes a vulnerability,

              Given current micro services architectures, we all have to get along with each other,for the greater good and the interest of the customer.

              You sell shit, you get shit back. You sell high quality products with less obvious faults, you profit in the long run.

              But no: “Let’s test in production”…

              • Railcar8095@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                43 minutes ago

                Again, I agree and I’ve fought for that. But this needs to be top to bottom. We have budget slashed, morale in the ground across the board. Those who keep trying for the best fight a losing battle with those who already have up trying.

                If the bosses don’t care about the interest of the “customer”, I don’t either. I’ve already openly spoken to my team saying I’m now ready for things to blow up and get the attention we need from the ones really high up. I’m done working overtime because anther team is already working overtime in something else or because some bullshit political 4D chess were they throw us under the bus for their failings or try to make theirs our work.

                Had an annoying day with this things, sorry for dumping this here haha

        • x00z@lemmy.world
          link
          fedilink
          English
          arrow-up
          37
          ·
          1 day ago

          You’re implying a shitty capitalist company that nobody cares for if it burns down. A tool like this though that is self-hosted by a lot of people (29.1k stars on GH!) and that is internet-facing is very different.

        • Mirror Giraffe@piefed.social
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          1
          ·
          1 day ago

          For sure, the song of the hero who fixed the production bug is oft sang at meetings but the loser who prevented the bug to begin with gets no credit.

  • LiveLM@lemmy.zip
    link
    fedilink
    English
    arrow-up
    42
    arrow-down
    2
    ·
    1 day ago

    Look, if he wanted to introduce AI code, whatever, but doing it all at once in a 14k line change is crazy.

    Surely it would be better to introduce AI by letting it handle misc changes here and there instead of starting with the “biggest release ever done” (his words), no?

  • notabot@piefed.social
    link
    fedilink
    English
    arrow-up
    59
    arrow-down
    7
    ·
    1 day ago

    I’m assuming this is some sort of canary message to indicate that the code base has been compromised, the author can’t talk about it, and everyone should immediately stop using the service. Surely no-one would be unwise enough to commit this otherwise?

    Even ignoring the huge red LLM flag, a 25kLOC delta in a single PR should be cause for instant rejection as there’s no way to fully understand or test it, let alone in 2-3 weeks.

    • ExFed@programming.dev
      link
      fedilink
      English
      arrow-up
      23
      arrow-down
      2
      ·
      1 day ago

      25kLOC delta in a single PR should be cause for instant rejection

      Not to pick at nits, but it would be VERY different if it was 1k lines added and 24k lines removed. There’s something extremely satisfying about removing 10k+ lines of unnecessary code.

      • notabot@piefed.social
        link
        fedilink
        English
        arrow-up
        10
        ·
        1 day ago

        Sure, that would be a little different, but unless you could make a convincing argument, backed up with a solid set of unit tests, at the least, as to why and how you were able to remove that much code whilst only adding a comparatively small amount, I’d still be inclined to reject it and ask for it to be broken down into smaller units.

        Now, that explaination might be something along the lines of it being dead code that is not called from anywhere, or even that it was a patched version of an upstream library, and the patch is now included in that upstream, in which case, fair enough, good work, and thanks very much. As a rewrite or refactor though, it’s too big to sensibly review and needs breaking down into separate features.

        • ExFed@programming.dev
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 day ago

          Absolutely, the author needs to be able to reason about their changes, no matter what. However, the reason why I think the two situations are fundamentally different, though, is that it’s a lot easier to validate the existence of features than it is the non-existence of bugs or malicious behavior. The biggest risk to removing code is breaking preexisting features, whereas the biggest risk to adding code is introducing malicious behavior.

  • hendrik@palaver.p3x.de
    link
    fedilink
    English
    arrow-up
    104
    ·
    1 day ago

    Uh. I’d really prefer if people experimented with new technology a bit more cautiously and not directly jump to “the biggest release […] ever done”.

      • CorrectAlias@piefed.blahaj.zone
        link
        fedilink
        English
        arrow-up
        30
        arrow-down
        3
        ·
        1 day ago

        They just replied:

        What gave you the idea that this was a full rewrite? I moved things around with AI and added postgres support for the queries. Nobody has ever reviewed and tested anything more thoroughly than I did with this branch.

        You are twisting what it actually is. You are assuming something that is not true.

        This makes me think that they didn’t review or test it at all, lmao

        • Fmstrat@lemmy.world
          link
          fedilink
          English
          arrow-up
          15
          ·
          1 day ago

          This is the biggest release I’ve ever done on the server. It’s 14,997 added lines of code, and 10,202 lines removed

      • hendrik@palaver.p3x.de
        link
        fedilink
        English
        arrow-up
        20
        arrow-down
        1
        ·
        1 day ago

        Thanks for the link! As a short aside for the other people here: Try not to spam developers. That usually achieves the opposite and makes them miserable, when we want them to not burn out, and write good software for us. A thumbs-up emoji is the correct reaction for the average person. Or for the pros - a code-review highlighting specific issues within the code.