Hacker Newsnew | past | comments | ask | show | jobs | submit | yeodev's commentslogin

I feel you. Everytime I need to read a long text I just assume it's AI nowadays and I hate it because most of the time I'm right.

I hate how AI writes. How much numb filler bullshit is in content I need to go through for my job.


I wouldn't call it cringe but I don't think it adds a lot of value, distracts me even more & even pulls unnecessary resources I'd guess?

but if people need some tamagochis to look at while their AI is working, maybe it makes sense


I think OP is missing the point of TUIs: They kinda work everywhere. While I need to fuck around with a operation systems native UI libraries like WinUI, SwiftUI, GTK, etc. I can just build an app in the terminal and be fine with it running on almost all platforms.

I'd take TUI apps over electron apps everytime as long as the UX is good.


No. TUIs do not work everywhere. They can break because of terminfo which I really don't want to deal with. I hate wasting time on such configuration issues.


Possible, but rare in practice.

Nowadays, you are more likely going to struggle with plugging your laptop into a 320Volt outlet than have a terminfo problem.


Makes sense for OpenAI but for ChatGPT it sucks. Now - when ChatGPT thinks it can serve you an ad it will not answer you with the genuine correct option but with the one that is paid.


Same, you can think of China whatever you want but they're really good at giving big tech a reality check when it comes to AI. We now got a pretty wide range of open-weight models (from DeepSeek and MiMo over to Kimi K3, Qwen 3.8 & GLM-5.2) and I think it's most important that there's a variance not only between quality / intelligence and also cost.

I mean even the cheapest option for Luna is still more expensive than anything DS or MiMo is offering right now and I think a new Ministral model would also hit hard there because we also need some variance in model sources, we can't rely only on the US and China.


"China" isn't giving anything. These are Chinese companies leveraging their best competitive strategy at the moment: competing on price.


Those Chinese companies are being funded by a substantial amount of government financing, I think at least 20% has come directly from state owned investment firms or government entities and probably more now. You obviously lose precision when you’re talking in sweeping terms like “China” but I don’t think it’s entirely unreasonable in this case. The Chinese government is playing a much more direct role in AI investment and research than other nations.


Nonetheless, the government isn't giving it away either. If China had a monopoly on the technology, or simply winning in quality, open weight models would never have seen the light of the day.

I just want to dispell the silly notion of altruism from China in this conversation.


Bad chyna


The Chinese government is explicitly calling for open weight AI models, which influence its companies.

https://news.ycombinator.com/item?id=48970449


As a "new" maintainer myself - how do you decide when to ban someone? I sometimes feel overwhelmed and I can feel a big uptick in huge PRs with huge LLM written descriptions but often I also don't want to be an asshole to my community & reject all their changes.


> As a "new" maintainer myself - how do you decide when to ban someone?

When I want to. I like to describe it using the amusing language from a generic cardholder agreement.

At any time, at my sole discretion, I may ban you from any of my projects; for any reason, or for no reason at all.

My projects exist because I enjoy working on them. My continued enjoyment is the most important aspect to the health and survival of any project. You don't owe anyone anything, you're allowed to donate your work to others, and also enjoy the privilege of setting whatever arbitrary rules you want to make sure you enjoy your time.

Imagine you're running a free ice cream shop. Some random asshole walks in and starts verbally abusing your best employee who has done nothing but try to help. At what point do you kick them out because your employee is more important and worth more.

You should stick up for yourself, I would.

You can't be an asshole to an LLM. They can feel offended.


You don't even have to merge stuff from a human. I've been contributing a bluetooth driver to a certain embedded project which I use. I put a lot of work into it. The fellas have not merged it yet -- they have limited attention and for whatever reason their priorities and mine are not aligned at this moment.

Would I like it to be merged? Sure would, it would stroke my ego, and I would not have to deal with any merge conflicts with whatever else they're cooking up. Does that mean they must merge it? Sure doesn't. They didn't make me any promises. For the time being, I can just use my fork.


> Imagine you're running a free ice cream shop

Many open-source projects aren't passion projects run for pleasure. Think of it more like ice cream shops sharing recipes, or sharing in the work of running the factory. They just can't kick people out willy-nilly.


I would say most open-source projects are passion projects run for pleasure.


> They just can't kick people out willy-nilly.

why not?

If I'm forced to choose between enforcing rules against a random ass on the internet, or watching them annoy an actual contributor... no contest they're gone.


My solution is to look at PRs and other requests whenever I actually have time and feel like it, prioritizing contributions from people I trust and those that have put in the effort in making my job easier. That might mean things don't get merged for a long time and some people might get upset but that's not my problem.


If you draw a firm boundary with that contributor, and they continue to push, ban them.

"This doesn't meet the standards of our project for reason xyz. Please refrain from submitting further PRs that do not adhere to our contribution guidelines outlined in CONTRIBUTING.md."

If they continue, ban them.


> but often I also don't want to be an asshole to my community & reject all their changes.

I know its difficult, and i have no easy answers. I'm bad at it too. But sometimes saying no is the most valuable thing you can do as a maintainer.

That said, i think banning is about behaviour not the quality of the patch. Everyone writes a bad patch now and then, that is not a real issue. If there is an issue with a patch, and the contributor pushes back so hard you feel like changing your mind (not from logic but because you feel beaten down) - that is unacceptable behaviour and should not be tolerated from a contributor, even if they are otherwise a valuable contributor.


I'm not a maintainer but as the quote goes: "I would have written a shorter letter, but did not have the time." I'd suggest you keep a sense of how much effort they've put into packaging their PR to be the minimum change required to achieve its goal vs effort required by you to read it. Reject low-effort or overly verbose work.

IMHO OSS doesn't work if every 1 hr of contributor time spent on a change requires 1 hr of maintainer time to review. Contributor time spent on polishing, tidying and breaking down work is essential, and so maintainer time is a fraction of total time spent on a change.


I think everyone / every project needs to adopt a strategy consistent with their values.

Unfortunately, I see the choice space here as having "developer effort" anti-correlated with "negative repercussions".

On one end of the distribution, a "hair trigger ban" strategy is low-effort for the developer but will have some fraction of false positives and some fraction of those impacted will complain to "the socials" and some fraction of those complaints will gain traction and, as we have seen, can unfairly taint the project or worse. Responding and managing the false positives also requires developer effort, unless the developers can sustain a "fsck the haters" attitude.

On the other end of the distribution, the developer can spends substantial effort to engage each submitter to ascertain and correct bad behavior, educate them on how they should engage other humans as a fellow human in this LLM era.

There is developer effort needed of different types along this distribution.

A divide-and-conquer strategy might go something like this:

- Rank each submission in some low dimension space (llm<-->human, malicious<-->helpful)

- When enough samples are collected, perform clustering in this space to determine stereotypes, name these clusters, and develop mitigating strategies and implementations as needed.

Mitigations from easy/extreme to hard/accommodating could include:

- Hair trigger ban button.

- Copy-paste a link to an explanation in a comment before closing and/or banning.

- Customized explanation in comment before closing and/or banning.

- Link or customized explanation of what must be done to move the sample to a more favorable category and close/ban if resistance or silence is returned.

- Ongoing engagement in the face of resistance or silence.

This "meta development" program to provide such a system/facility could of course be highly automated with LLMs, fighting fire with fire.

(Despite the length of this reply, it was written entirely by a random human on the internet and not an LLM).


I think we can learn about the extent to which this is an adversarial relationship from fighting email spam. By that, I mean the attackers adapt to exploit loopholes in the system, and different attackers have different profiles (eg obviously fake looking for fools vs spear phishing).

Which is to say, your system sounds good but I expect much more complicated defenses are needed.


Yes, the spam arms race is a really good analogy. In that light, my thoughts are aligned with heuristics that might be applied with procmail or in the original, pre-learning, spamassassin.

A fight-fire-with-fire is to insert an LLM to judge and/or respond to new pull requests and issues. This brings its own risk as it lets anyone who can make a PR/issue inject a prompt. It would also put one more wedge between the real human contributors and the real human developers.

A "humanity score" could also be an ingredient. GitHub or 3rd parties, could maintain a score of how human an account is. The "humanity" of all text produced by an account could be judged by LLM and/or humans. This could be centralized or based on a web-of-trust. Actually, I'd also like to have such a thing for reading HN and reddit comments.

But still, any system we can dream up can be attacked and we are back to an arms race.


When you feel they are toxic or harassing you and you don't want to deal with them anymore. If you're overwhelmed, say that you're busy and will attend to issues and PRs when you have the time. If you want to be accommodating, have good build instructions or action workflows so that people can easily fork and build it themselves.

If you ask me, LLM-generated things should just be banned outright, but I suppose other people's definitions of "community" include them.


> If you ask me, LLM-generated things should just be banned outright,

Why? In the end it's a patch's quality that counts. Regardless who or what contributed it.

Bad patch from trusted contributor is still a bad patch.

Perhaps this is more a management problem. How to best use developer's time, where to use AI (vs blindly deploy AI to generate patches & swamp developers with that).

Or do some rate-limiting? "Sorry, we accept no more than 10KB worth of patches per week on this project! Try again next week after we've reviewed this week's batch".


> Why? In the end it's a patch's quality that counts.

LLM patches tend to be significantly harder to review. Mostly because LLMs let people who don't know what they are doing get much further.

It might be an unfair heurestic as there are plenty of competent people who use it to good effect, but the vast majority of negative value patches use LLMs and it can be a bit exhausting. Lowering the technical barriers of entry just means more pressure on the human ones.


> Why? In the end it's a patch's quality that counts. Regardless who or what contributed it.

You just said: The things that I think and care about matter more than the things that you care about.

is that what you meant?

Being honest, if we're talking about the health of any given project, the patch quality doesn't matter that much. Not when you measure it against the importance of consistency and continuity of a regular contributor. A thousand perfect LLM patches are less valuable than an experienced maintainer.

If your LLM is annoying them, and they quit. The perfect LLM patch just destroyed the repo.

People wasting others time is a social problem, not a technical one. Rate limits can't prevent somebody feeling disrespected.


It's a bad signal. Someone who is lazy and using an LLM was probably too lazy to do another number of things you want a contributor to do.


I'm an open source dev who doesn't take PRs, I just build a body of work that's hopefully consistent and leans a useful direction. Are you sure being a maintainer means coordinating a community? If your only role is facilitating the community then you ATA to reject their changes, but if you embody a direction you're trying to maintain the project to represent, then you have a free hand to accept or reject based on whether the goals are being served. In some ways as a maintainer it's your job to have these goals and to communicate them.

I'm reminded of Zig, where a stated goal is to encourage human programmers to get involved so they learn more about coding… as compared with 'get involved to make Zig itself more fully developed at its more abstract goals'. If a primary purpose is to get human minds coding, that rules out the whole class of 'encourage human minds to prompt machines to do the coding instead'. Zig is not trying to teach people to be managers, and that's both legitimate and charming :)


One popular solution lately has been instead of banning too much, because of the danger of false positives, to use vouch [0]. Trusted people get vouched and you prioritize their actions. Unknown people (or agents) need to gain trust to be vouched and bad actors can still be banned.

[0]: https://github.com/mitchellh/vouch


Think of it as in other relationships, it’s important to set clear boundaries even if that creates some frustration. It’s a healthier dynamic long term than feeling you have to accept some changes you don’t want to avoid rocking the boat. As a maintainer you’re not at the service of the crowd, if that makes sense, it has to be a collaborative effort, where you have the last say

(Simpler to say than practice fwiw)


Remove the human element. Yes, someone spent time fixing a bug. If the fix doesn't look like it makes sense on its own, do not merge it. If the author tries to convince you that it's a good fix, it's an immediate no.

A good fix (which is the only acceptable fix in open-source software), is one that speaks for itself.


> A good fix (which is the only acceptable fix in open-source software), is one that speaks for itself.

I disagree. Often if I'm making a PR to an open-source project I'm doing so because I have a use-case that the original author hadn't considered. So the first step in getting the PR merged is explaining my point of view and convincing the maintainer that my use-case is valid. Only when this is done can the "goodness" of the patch be evaluated.


It's usually better to create an issue where you explain this, then the PR is just the change. But this is up to each maintainer to decide, I guess.


Well, I dunno. Sometimes the fix speaks for itself but the other party is as dumb as a box of rocks and doesn’t understand. It can be hard to tell the difference.


> I also don't want to be an asshole to my community & reject all their changes.

Do they pay you to triage their noise?

Remember that you owe no one anything at all. Neither legally nor morally. Your chosen license likely even states the former in plain english.

___

Personally, I've adopted the "you annoy me, you're out" stance and have been quite happy with it. You do need a tough shell to do that though as you will be facing all the social exploits people can throw at you.

It also leaves "growth potential" on the table, the same way that limiting your exposure to ionizing radiation does.

That all said, it depends on what your goals are + where in the lifecycle of your project you are. So don't take this as "this is the way" but "this can be one way".

Either way, you're not an asshole for not reading slop. Don't let anyone gaslight you into that.


When you say "no", the worst thing that can happen is you lose contributions.

When you say "yes", the worst thing that can happen is you destroy your project and the trust of every user.

If you're not sure, say no.


Ever since I found Opencode Go AI coding is fun. I always hate the feeling of working inside a fenced constraint where if I just go hard enough I suddenly hit a wall and have to pay up a LOT more.

It's crazy how much you get out from Deepseek V4 Flash alone.


I wonder how much this will impact locally used models for coding. I can imagine using diffusion models that are x-times faster than Qwen or Gemma 4 - where I have to do more "pre-ai" work which is a good thing and can have a very fast, very cheap model to work with locally. I assume since it doesn't do heavy computing for a long time that it's cheaper to run on local hardware as well?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: