ntfy.sh v2.18.0 was written by AI (github.com)
from ueiqkkwhuwjw@lemmy.world to selfhosted@lemmy.world on 08 Mar 09:45
https://lemmy.world/post/43988094

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?

#selfhosted

threaded - newest

henfredemars@infosec.pub on 08 Mar 09:54 next collapse

Definitely share your initial concern. Without strong review processes to ensure that every line of code follows the intent of the human developer, there’s no way of knowing what exactly is in there and the implications for the human users. And I’m not just talking about bugs.

They say it’s reviewed, but the temptation to blindly trust is there. In this case, developer appears to have taken some care.

The code was written by Cursor and Claude, 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.

Let us hope so. Handle with care to ensure responsibility is not offloaded to a machine instead of a person.

Slotos@feddit.nl on 08 Mar 10:42 next collapse

The size of that changeset means that it’s inherently unreviewable.

The commit history is something I’ve seen only in the PRs that even the most dysfunctional companies would demand a rewrite for.

Also, 2-3 weeks review? PostgreSQL support could be added in that time without the need for a damn „vibe check”. Hell, it would probably take less time than that.

MirrorGiraffe@piefed.social on 08 Mar 10:57 collapse

To be fair they would have needed to spend time testing the manual implementation as well.

The problem I see mainly is that even if this rolls out perfectly, the erratic and changing nature if llms still make it pointless as a proof of concept. Next time Claude might fuck up in a fringe way that’s not covered by unit tests and is missed by manual tests. 

On the other hand I guess I’ve been guilty myself on numerous occasions to implement fringe bugs into production code, but at least I learn from it.

Slotos@feddit.nl on 08 Mar 11:23 collapse

I made my statement as a BDD/TDD practitioner.

The code goal of software engineering is not to deliver said code, but to deliver it in a framework that lets others—and consequently me in a week’s time—to contribute easily. This makes both future improvements and bug fixes easier.

Dumping a ~25000 lines changeset with a git history that’s almost designed to confuse is antithetical to both engineering and open source.

irotsoma@piefed.blahaj.zone on 08 Mar 17:36 collapse

Yeah, it could easily have added a couple of lines of code that sends everything to Northern Korean hackers because it found that in a bunch of repositories or just logging passwords to public logs or other things an experienced developer would never do. “AI” only replicates what it sees most often and as more spam and junk repos are added to its training data because “AI” companies are too concerned with profit to teach it properly, it could do tons of random stuff. It’s like training a developer by giving them random examples from the internet rather than specific ones. Of course they pick up bad habits. Even if it “works” it is almost never efficient or secure.

poVoq@slrpnk.net on 08 Mar 09:56 next collapse

If you use ntfy mainly as a Unified Push distributor on Android, then I highly recommend switching to a XMPP client that can do the same.

ueiqkkwhuwjw@lemmy.world on 08 Mar 10:03 next collapse

I was also using it for notifications but I’ll probably switch to E-Mail for that and find an alternative UP distributor.

hoppolito@mander.xyz on 08 Mar 10:38 collapse

Conversations is working very well on my phone as UP distributor.

phase@lemmy.8th.world on 08 Mar 12:04 collapse

Do you recommend an app?

poVoq@slrpnk.net on 08 Mar 13:32 collapse

The first three on this list can do it: joinjabber.org/docs/apps/android/

Explanation here: joinjabber.org/tutorials/service/unifiedpush/

hendrik@palaver.p3x.de on 08 Mar 10:27 next collapse

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”.

Fmstrat@lemmy.world on 08 Mar 16:32 collapse

Upvote and comment on: github.com/binwiederhier/ntfy/issues/1645

CorrectAlias@piefed.blahaj.zone on 08 Mar 17:11 next collapse

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 on 08 Mar 20:23 collapse

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 on 08 Mar 17:39 collapse

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.

Natanox@discuss.tchncs.de on 08 Mar 10:29 next collapse

Yeah, this is now inherently untrustworthy. Better to switch to an alternative.

exu@feditown.com on 08 Mar 11:33 collapse

Do you know any? I’ve never really looked beyond ntfy.sh until now

Natanox@discuss.tchncs.de on 08 Mar 11:44 next collapse

I only know NextPush (Nextcloud App), but there is also something called Autopush I think?

Sunny@slrpnk.net on 08 Mar 12:07 next collapse

Gotify is supposedly a good alternative. Looking into it myself now.

timbuck2themoon@sh.itjust.works on 08 Mar 14:39 collapse

Gotify is not UP compatible still AFAIK. That’s why I went to ntfy.

november@piefed.blahaj.zone on 08 Mar 15:11 next collapse

There’s SunUp on F-droid, but I don’t know anything about them.

poVoq@slrpnk.net on 08 Mar 17:23 collapse

That’s from Mozilla, another AI company…

november@piefed.blahaj.zone on 08 Mar 21:20 collapse

Ugh, seriously? Great…

(Edit) I don’t think this is true? They use Mozilla’s push services, but nothing about their Codeberg repo (yes, it’s on Codeberg, not Github) indicates they’re part of Mozilla.

kilgore_trout@feddit.it on 09 Mar 00:09 next collapse

Read the README

november@piefed.blahaj.zone on 09 Mar 06:25 collapse
poVoq@slrpnk.net on 09 Mar 01:14 collapse

The app itself might be fine, but you are either using the Mozilla services or the backend written by Mozilla. Sadly Mozilla has lost all the good will it had and is just another silicon valley AI company these days, and seems to prefer it that way.

november@piefed.blahaj.zone on 09 Mar 06:27 collapse

Sure. All I said was that it doesn’t actually seem to be run by Mozilla, like you implied it was.

kilgore_trout@feddit.it on 09 Mar 00:20 next collapse

If you use ntfy for UnifiedPush: unifiedpush.org/users/distributors/

TrustedTyrant@sopuli.xyz on 09 Mar 09:00 collapse

I recently switched to gotify. Push notifications to iOS aren’t as good but I’m happy with it.

Dojan@pawb.social on 08 Mar 10:37 next collapse

Send push notifications to your phone or desktop using PUT/POST

I’m sorry, how many lines of code for that?

lime@feddit.nu on 08 Mar 10:47 collapse

if you want to send one notification from your desktop to your phone, it’s easy. but from any device to (m)any other, with guaranteed delivery and no doubles? shit gets complicated.

Dojan@pawb.social on 08 Mar 10:58 collapse

So it’s a little more than just sending notifications, then.

lime@feddit.nu on 08 Mar 11:12 collapse

no, it’s literally all in service of sending notifications. but there’s a lot involved. android doesn’t have a way to receive them natively for example, you need to go through google’s services. so ntfy has to emulate the firebase api. then there’s the “exactly once” requirement, which is basically the two generals problem turned up to eleven because every platform syncs differently and you need some way to store messages that are in the process of transmitting. then there’s the matter of punching through NAT, so you need a STUN/TURN setup on the server.

and that’s on top of the fact that every platform requires different build options, manifests, certificates, etc.

d15d@feddit.org on 08 Mar 10:38 next collapse

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.

MirrorGiraffe@piefed.social on 08 Mar 10:58 next collapse

Classic “test in production” strategy, very solid!

Railcar8095@lemmy.world on 08 Mar 11:44 next collapse

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.

x00z@lemmy.world on 08 Mar 11:57 next collapse

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.

Railcar8095@lemmy.world on 08 Mar 12:41 collapse

Then, let’s just call it “massive decentralized surprise testing”

MirrorGiraffe@piefed.social on 08 Mar 11:58 next collapse

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.

hornedfiend@piefed.social on 09 Mar 07:13 collapse

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 on 09 Mar 08:49 collapse

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

callmemagnus@lemmy.world on 09 Mar 06:41 collapse

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 being features without pushing benevolent devs to burnout.

november@piefed.blahaj.zone on 08 Mar 15:12 collapse

Hmm, no, I think I’ll just uninstall.

Decronym@lemmy.decronym.xyz on 08 Mar 10:40 next collapse

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
Git Popular version control system, primarily for code
IP Internet Protocol
MQTT Message Queue Telemetry Transport point-to-point networking
NAT Network Address Translation
XMPP Extensible Messaging and Presence Protocol (‘Jabber’) for open instant messaging

[Thread #146 for this comm, first seen 8th Mar 2026, 10:40] [FAQ] [Full list] [Contact] [Source code]

kevinwells@lemmy.world on 08 Mar 11:25 next collapse

I just set up a ntfy server for Unified Push earlier this week to use with Matrix. Now I have to turn around and immediately replace it…

Starfighter@discuss.tchncs.de on 08 Mar 11:52 next collapse

Same here. Literally just set it up and now this.

I hope the author will roll this back or someone else makes a fork. I don’t want to immediately switch technology to XMPP/Matrix/… and have to do it all over again.

lambalicious@lemmy.sdf.org on 08 Mar 21:53 collapse

You could, in the meantime, simply not upgrade to the version that uses AI.

Since, from what I’m seeing around, people are having issues looking for an alternative.

nfreak@lemmy.ml on 08 Mar 11:36 next collapse

Definitely time to find an alternative. What the actual fuck is this

black_flag@lemmy.dbzer0.com on 08 Mar 11:39 next collapse

NOOOOOOOOO

uzay@infosec.pub on 08 Mar 11:44 next collapse

Oh ffs…

Thanks for the heads-up

x00z@lemmy.world on 08 Mar 11:59 next collapse

I’ll embrace the inevitable fork.

floofloof@lemmy.ca on 08 Mar 12:07 next collapse

Time for a fork?

daychilde@lemmy.world on 08 Mar 16:52 collapse

Time for a knife!^[I kid, I kid] Violence is the answer!

doogstar@lemmy.100010101.xyz on 08 Mar 12:14 next collapse

I’ve been meaning to put something like this in my setup for a while, but definitely not this now! List of alternatives in the Custom Communication section at awesome selfhosted

Buage_@piefed.social on 08 Mar 12:37 next collapse

I have the same concern..

fleem@piefed.zeromedia.vip on 08 Mar 13:14 next collapse

fuck

justme@lemmy.dbzer0.com on 08 Mar 13:15 next collapse

I meant to ask already: what is the actual technical difference between mqtt and ntfy? For me it feels pretty similar technique, just one is used for push service and the other not. So it feels like reinventing the wheel. Maybe somebody here can enlighten me?

k_rol@lemmy.ca on 08 Mar 13:58 collapse

I think the main difference is that services adapt to mqtt while nfty adapts to services to send the msgs. Also, nfty offers push notifications on your Android device.

erikjan@fosstodon.org on 08 Mar 13:27 next collapse

@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 on 09 Mar 10:11 collapse

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.

xelar@lemmy.ml on 08 Mar 13:30 next collapse

Im quite hesistant with idea of AI writing my code. At one point your AI wont help you with fixing certain bug and you will have to go through all of this AI slop. Not to mention you deploy debt code.

melroy@kbin.melroy.org on 08 Mar 13:30 next collapse

Ai can be powerful and destructive at the same time. (note: I didn't use Ai to write this).

Ai coding can help a lot in accelerating software development. In the right hands that is. Meaning the software engineer still reviews the code. Test it. And takes responsibility. In those cases there is nothing wrong with using Ai for software development.

The problem is that some programmers are using AI without even looking at the end results. Just approves everything, commits, push and release. That approach is wrong and especially inexperience engineers might fail into this trap. So in this case the code has most likely a lot of duplicated code, full with bugs and other issues. Some issues you encounter it for the first time, since it wasn't tested etc.

In the latter story, you feel the impact. And the downsides of Ai. And only see the negatives of Ai. You might say it's Ai slop even. Or vibe coded. Which is correct.

Tldr: Ai can be very powerful in the right hands. It still requires a lot of human time and effort to get it correct. And if the engineer is too lazy then you feel the consequences. If you got an experienced software engineer that takes the responsibility of the code. Reviews it thoroughly. Test all corner cases, etc. Then AI can be powerful and helpful.

porcoesphino@mander.xyz on 08 Mar 15:43 next collapse

Was this written with genAI? Even the TLDR is padded fluff of common talking points

NannerBanner@literature.cafe on 08 Mar 16:49 next collapse

I’m halfway with you, and halfway just considering that people think it’s relevant to include a tl;dr in a barely three paragraph comment. The feeling with tl;dr for me is a summary similar to a closing paragraph, and if anyone thinks that one sentence (“Ai coding can help a lot in accelerating software development.”) is somehow worthy of being summarized as if the point was proven (“Ai can be very powerful in the right hands”)… well, it sounds like shit because it is shit. Maybe it’s ai, maybe it’s just a really rushed dude making a throwaway comment in the fediverse, and maybe it’s just a person who is confident enough in their mind that they forget they haven’t made an actually decent argument outside of their past, and concluding as if they brought that past argument forth here is eye-raising.

Considering he’s on his own instance… I’m going to bet the context is somewhere between throwaway comment and invoking past assertions without citing them.

melroy@kbin.melroy.org on 09 Mar 00:46 collapse

You can run my text through Ai checkers if you wish. But it's not Ai generated.

I'm not just on my own instance. I'm the creator of the software: Mbin. Previously known as kbin.

People need tldr today, due to TikTok. 😅

melroy@kbin.melroy.org on 09 Mar 00:44 next collapse

Haha. I'm not a native English speaker. But it's not Ai generated.

I try to keep it common for general people to understand it. If you have follow up questions shoot. I have 25+ years of software engineering experience.

But my point is that developers can use Ai, Ai tools become much better for coding, as long as the developer still understands the code. Since some developers don't even bother looking at the code anymore...

melroy@kbin.melroy.org on 09 Mar 01:25 collapse

Also I can't really answer the question if it's bad or not what happens to ntfy.sh since it really depends on how the maintainer is using Ai here. Whether he did test the code, and read all the generated code.

Ai in itself isn't the problem here.

ExFed@programming.dev on 08 Mar 16:20 collapse

Agreed. I have a sense that, eventually, development communities will figure out etiquette and policies to govern LLM usage. But how do you enforce that kind of policy? Right now, it’s essentially a judgement call by the maintainers. It’s hard to catch sneaky LLM usage.

On the other hand, I think there are objectively good ways to use LLMs for software:

  • High-level design and planning
  • Technical Research (although this tends towards the most popular tech)
  • POCs & rapid prototyping
  • "Textbook" solutions
  • TDD Red/Green development (where the LLM generates failing tests based on the high-level spec, and the programmer writes the implementation)
melroy@kbin.melroy.org on 09 Mar 00:54 collapse

Indeed also read the paper called Programming as Theory building. From 1985. Which is very relevant today again. Since people lose the connection with the code due to Ai.

ExFed@programming.dev on 09 Mar 02:11 collapse

One of my favorite papers! On a similar note, I recently started reading A Philosophy of Software Design by John Ousterhout. Although it’s a lot more recent (2018), I’d argue it’s required reading in light of the LLM hype craze.

rozlav@lemmy.blahaj.zone on 08 Mar 13:31 next collapse

there is this repo that lists some slopware : codeberg.org/small-hack/open-slopware maybe someone can add it

addie@feddit.uk on 08 Mar 16:19 next collapse

Awesome page, thanks. Have bookmarked.

Harfbuzz though? That’s going to take some replacing. Hopefully someone will fork an earlier version. The thing that it does (accurate multi-script font shaping) is difficult to do; requires a lot of rule-of-thumb knowledge that’s unlikely to be possessed by a single person, needs a lot of collaboration.

cecilkorik@piefed.ca on 08 Mar 17:16 next collapse

I think there’s room for a little bit of nuance that page doesn’t do a great job of describing. In my opinion there’s a huge difference between volunteer maintainers using AI PR checks as a screening measure to ease their review burden and focusing their actual reviews on PRs that pass the AI checks, and AI-deranged lone developers flooding the code with “AI features” and slopping out 10kloc PRs for no obvious reason.

Just because a project is using AI code reviews or has an AGENTS.md is not necessarily a red flag. A yellow flag, maybe, but the evidence that the Linux Kernel itself is on that list should serve as an example of why you can’t just kneejerk anti-AI here. If you know anything about Linus Torvalds you know he has zero tolerance for bad code, and the use of AI is not going to change that despite everyone’s fears. If it doesn’t work out, Linus will be the first one to throw it under the bus.

baner@lemmy.zip on 09 Mar 01:55 next collapse

Upvote this guy

witten@lemmy.world on 09 Mar 06:35 collapse

Lol my project has an AGENTS.md and its contents are basically, “Don’t use AI agents on this codebase.”

WhyJiffie@sh.itjust.works on 08 Mar 22:36 next collapse

did not know that the serde developer tolnay is a military apologist. I’m disgusted. serde is a very good tool… I’ll think about what to do about this. such a shame…

Xylight@lemdro.id on 08 Mar 22:55 next collapse

the linux kernel is on that list, bro it’s time to switch!

napkin2020@sh.itjust.works on 09 Mar 00:56 next collapse

Also Chrome, Firefox ans Ladybird!

paequ2@lemmy.today on 09 Mar 06:29 collapse

Time to switch to Plan9!

osanna@lemmy.vg on 09 Mar 10:11 collapse

oh no. not ladybird! You were supposed to save us!

Infinidoge@meow.social on 08 Mar 13:49 next collapse
AI hell, ntfy.sh

Heck. Guess I won't be hosting that then

abucci@buc.ci on 08 Mar 13:54 next collapse
Thanks for the heads up. I was considering trying ntfy for some home projects but now I will not.
communism@lemmy.ml on 08 Mar 14:06 next collapse

That’s concerning. If it was “I generated a function with an LLM and reviewed it myself” I’d be much less concerned, but 14k added lines and 10k removed lines is crazy. We already know that LLMs don’t generate up to scratch code quality…

I won’t use PostgreSQL with ntfy, and keep an eye on it to see if they continue down this path for other parts of ntfy. If so I’ll have to switch to another UP provider.

notabot@piefed.social on 08 Mar 14:26 next collapse

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 on 08 Mar 15:52 collapse

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 on 08 Mar 17:08 collapse

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 on 08 Mar 17:56 collapse

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.

amnesiacsardine@sh.itjust.works on 08 Mar 14:39 next collapse

Well now I certainly am glad I didn’t migrate from Gotify as I’ve been slowly planning.

SexualPolytope@lemmy.sdf.org on 08 Mar 15:38 next collapse

Damn, I guess I’ll stick to the older release for now. Hopefully a viable alternative/fork comes around.

LiveLM@lemmy.zip on 08 Mar 15:43 next collapse

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?

Kushan@lemmy.world on 08 Mar 15:46 next collapse

Fuck, I love ntfy, it’s one of the best self hosted push notification systems I’ve used. It has been flawless so far.

Don’t like this.

lnxtx@sopuli.xyz on 08 Mar 15:54 next collapse

No thumb down reaction emoji 🤔

Fmstrat@lemmy.world on 08 Mar 16:31 next collapse

Uovote and comment on: github.com/binwiederhier/ntfy/issues/1645

Please add this to the post.

Mora@pawb.social on 08 Mar 16:48 next collapse

I switched to Gotify when I ran into an issue where ntfy would delete old api tokens when creating more than 20. Only thing missing in Gotify is UniversalPush, other than that it feels actually more solid than ntfy to me.

moonshadow@slrpnk.net on 08 Mar 16:54 next collapse

Oh goddamn it, I’m using this and don’t have an alternative lined up

sunbeam60@feddit.uk on 08 Mar 17:59 next collapse

What is your concern? If it’s a generic “AI”, then I can assure you tha pretty much every software has AI code in it already. Heck, Linus is accepting PRs where AI has been used.

AI is useful. It produces useful code.

Like creative writing, it won’t produce something novel. But man, 75% of code is just boiler plate. AI can do a lot for boilerplate.

That does not absolve anyone of committing crap code. Put your name to it. Own it. Take the consequence of delivering shit code or great code, no matter how it was written. Don’t let AI be a crutch. But you’d be god damn fool not to use it, where it’s right (boilerplate, test writing, tedious changes etc.)

EncryptKeeper@lemmy.world on 08 Mar 18:15 next collapse

There’s a big difference between “AI was used in some capacity” and “Entirely vibe coded”

sunbeam60@feddit.uk on 08 Mar 18:24 collapse

Of course. And when I hear “vibe coded”, I hear someone starting with “make me a cool app” and going from there, with zero understanding of the technical architecture.

If you have a thorough, deeply thought through technical spec, then AI can write a great amount of tests up against that spec, say, and you’ve got a fantastic base for TDD.

I honestly feel like a lot of the downvotes are people thinking AI means “clueless programmer having an AI do its work for you”. Many highly productive, deeply technical developers use it every day.

EncryptKeeper@lemmy.world on 08 Mar 18:45 collapse

Idk man by the sounds of it, the AI implemented the entire back end change, adding 14k lines of generated code. The dev doesn’t even seem confident with his own testing. Sounds like it’s closer to the vibe-coded end of the scale to me.

I’ve been meaning to give Ntfy a shot but now I likely won’t. If I wanted a vibe coded project I’d just do it myself.

moonshadow@slrpnk.net on 08 Mar 19:41 collapse

Massive changes made by robit in what has been a pretty stable utility for years is (obviously?) my main concern. It’s absolutely a crutch, and seeing a dev lean on it like this gives me the same feeling Coach must’ve got seeing his star player limping into the big game on a real one. If dude wants to check out and let the machine run his project fine, but I’ll be looking for something someone still cares about and works on.

I think you’d be a fool to use it. At this point it’s subsidized by their need for training data/desire to manufacture dependency, but that won’t be the case for long. It’s expensive, detrimental to your skills, and damaging to both our planet and society. It centralizes and gatekeeps access to information, the most powerful resource of all. “Treat it like an inexperienced dev” managers say, while it replaces their opportunities to gain experience. How are they supposed to even tell great code from shit when everything they’re exposed to has been run through the averaging machine?

kilgore_trout@feddit.it on 08 Mar 23:55 collapse

I saved your comment for the added arguments against AI.

kilgore_trout@feddit.it on 09 Mar 00:17 collapse

If using ntfy for UnifiedPush: unifiedpush.org/users/distributors/

phoenixz@lemmy.ca on 08 Mar 17:03 next collapse

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 on 08 Mar 17:46 next collapse

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 on 09 Mar 00:01 collapse

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.

patrick@lemmy.bestiver.se on 08 Mar 17:42 next collapse

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: 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.

prenatal_confusion@feddit.org on 08 Mar 18:34 next collapse

Wow a differentiated opinion on AI use :)

sloppy_diffuser@sh.itjust.works on 09 Mar 00:01 next collapse

Something like 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.

mudkip@lemdro.id on 09 Mar 06:13 collapse

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

blarg_dunsen@sh.itjust.works on 09 Mar 06:27 collapse

Oh boy, do I have bad news about 90% of the internet for you…

mudkip@lemdro.id on 09 Mar 06:36 collapse

Linus sent an email recently to the Kernel Mailing List trashing AI slop and rejecting AI generated patches. The fact that he used it to play around with a script doesn’t invalidate the fact that he distrusts code written by LLMs when it actually matters.

5gruel@lemmy.world on 09 Mar 07:07 collapse

you mean this statement? theregister.com/…/linus_versus_llms_ai_slop_docs/…

If yes, your statement does not really match what Linus said.

[deleted] on 08 Mar 19:42 next collapse
.
not_IO@lemmy.blahaj.zone on 08 Mar 21:29 next collapse

we’re all so fucked

TCB13@lemmy.world on 08 Mar 22:31 next collapse

Well, Telegram does the something for free.

moonshadow@slrpnk.net on 09 Mar 01:07 collapse

Telegram does the thing for your sweet juicy data

newtothis3@lemmy.world on 08 Mar 23:35 next collapse

In reality how big of a risk it currently is? I just started to use it just for fun and personal projects. If previous version didn’t have security vulnerabilties then then there is no rush to update or am i missing something?

Lumisal@lemmy.world on 08 Mar 23:36 next collapse

What’s the difference between ntfy (android app) and ntfy.sh?

osanna@lemmy.vg on 08 Mar 23:50 collapse

Ntfy.sh is the hosted version. Hosted by the author. Ntfy (android, ios) is the app that you use as a client.

Lumisal@lemmy.world on 09 Mar 00:08 collapse

I’ve never used ntfy.sh

I’ve only used Ntfy app for Universal Push that some apps need, and they recommend ntfy. Does this affect the app then? Ah, if so, what alternative can I use for just that purpose?

osanna@lemmy.vg on 09 Mar 00:10 collapse

Gotify is probably the next best thing, at least in terms of self hosted. Though doesn’t have the wide support of ntfy.

osanna@lemmy.vg on 08 Mar 23:48 next collapse

Sigh. Time to switch to gotify

GreenKnight23@lemmy.world on 09 Mar 00:32 collapse

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.

Cyber@feddit.uk on 09 Mar 07:23 collapse

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 on 09 Mar 08:19 collapse

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.

UsernameNotFound404@sh.itjust.works on 09 Mar 00:41 next collapse

Lot of hate for a project maintained by a volunteer and offered for free here. Nobody forces this free stuff on you.

powermaker450@discuss.tchncs.de on 09 Mar 01:37 next collapse

ts getting you pinned to 2.17 in the compose file 🥹🤞🥀

SanPe_@lemmy.world on 09 Mar 09:26 collapse

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.