HN.zip

How much of F-Droid is LLM generated?

102 points by _ZeD_ - 131 comments
t1234s [3 hidden]5 mins ago
What stops a bad actor from buying a bunch of these apps on fdroid adding malware to them and then having fdroid handle the distribution for you? I people did something similar with a bunch of plugins in the wordpress plugin archive.
orbital-decay [3 hidden]5 mins ago
> I also noticed a pair of very bizarre apps, both branded with the yellow “Don’t tread on me” flag: DuressKeyboard & UnlicenseLauncher. What’s most curious is that they have been in development for quite some time, yet all the changes are done not with git but through the GitHub web file editor! Someone go find that person and teach them to use git.
fer [3 hidden]5 mins ago
Reminds me of a professor that displayed snippets of Haskell on MS Word in her lectures, formatted by hand. I don't blame her, this was >20 years ago, before Ctrl/Cmd + +/- became commonplace for zoom/font size.
lrvick [3 hidden]5 mins ago
I have been working on a sub 1500 line rust init system for over a week. Hundreds of prompts. All with a local LLM running on my own GPUs because I expect to build with total sovereignty but also zero dependencies, no libc, no alloc, no std, and a test suite that proves the 20 implemented raw syscalls all use the right values by comparing against Linux kernel sources. This would be the only privileged code in my operating system so I must have absolute confidence it is perfect.

It would be too annoying for a human to ever write code to standards this high, and would have taken me months to write by hand, but with the help of AI I was able to get it done and built in a way I can easily review and reason about.

I have a memory safe baremetal tiny linux init now built to my exact requirements.

AI can help experienced engineers write better code in less time.

creesch [3 hidden]5 mins ago
Cool, but I fail to see how it is relevant in the context of the article? You clearly have the knowledge, expertise and discipline to incorporate LLM in a workflow that, taking your word for it, delivers a very good result.

That makes you a) more unique than you realize b) not all that relevant in the context of the article.

a) Because a lot of people tend to lean towards use that absolutely leads to atrophying of skills and knowledge. b) well the article does explain the criteria it used fairly well and your project would not show up there. Well, also because your project isn't an android app.

minitech [3 hidden]5 mins ago
I don’t even disagree that “AI can help experienced engineers write better code in less time”, but “It would be too annoying for a human to ever write code to standards this high” when the standards are “zero dependencies, no libc, no alloc, no std, and [correctness]” and the project is <1500 lines of Rust implementing 20 syscalls is a little much. All software ever written before 2023 was written by humans, remember?
lrvick [3 hidden]5 mins ago
Of course. The humans that could have written this -eventually- certainly exist but they could not have collaborated with me to get me these results on my exact schedule in a week for the few dollars of pay I spent on electricity.

That is the real difference.

couchand [3 hidden]5 mins ago
And they never will, with that attitude.
lrvick [3 hidden]5 mins ago
It would be an irresponsible waste of limited time and budget for a human to write this which is probably why it did not exist before.

I wrote the first version by hand in C, and then rust.

The LLM was able to rewrite it with no dependencies implementing the low level system calls and test suites that would be a nightmare to do by hand.

The best use of human time for something like this is code review.

gblargg [3 hidden]5 mins ago
If your input is LLM-generated code, it's like taking snippets from Stack Overflow. You understand it fully and then make it yours. As long as you're hand-crafting the result, you grasp how it works.
yjftsjthsd-h [3 hidden]5 mins ago
> This would be the only privileged code in my operating system

What does that mean? Are you building a system without a root user or something?

bigstrat2003 [3 hidden]5 mins ago
> I must have absolute confidence it is perfect.

Then you shouldn't be using LLMs, which write worse code than humans do.

Varelion [3 hidden]5 mins ago
The fact this got flagged says all you need to know about the current dev ecosystem.
lrvick [3 hidden]5 mins ago
It got flagged because it is wildly wrong.

LLMs are literally solving math problems humans have struggled with for decades.

It took me a while to get through the cognitive dissonance too, but we are all going to have to do it.

Varelion [3 hidden]5 mins ago
You mean plagiarizing math problems humans have tackled for decades?
malfist [3 hidden]5 mins ago
But they have absolute confidence! They're absolutely right
lrvick [3 hidden]5 mins ago
I can have confidence because I specced the test suite to prove the rust assembly calls matches up with the tables in the linux source code.

If any of that is wrong, then the Linux kernel is wrong the same way.

I am not even close to vibe coding. This is built to my exact spec because I actually understand this area pretty well.

I constructed a Linux distribution on my own before AI and contributed to the kernel by hand going back 20 years ago now.

nicebyte [3 hidden]5 mins ago
> It would be too annoying for a human to ever write code to standards this high,

These are standards of a normal university operating systems course (assuming a university worth its salt anyway). Ridiculous to present it as some kind of feat that was "impossible" or even that rare.

lrvick [3 hidden]5 mins ago
Sure, a very smart and patient human could write this by hand in a long enough time horizon and unlimited budget. I should have said impossible in any realistic amount of time any responsible sponsor or employer would pay for.
nicebyte [3 hidden]5 mins ago
I'm sorry, this is simply not true.

this https://codeberg.org/lrvick/nit/src/branch/main/src/system/r...

is textbook definition of boilerplate. you need to be patient to cross-reference syscall tables but certainly not smart.

Again, students learning about operating systems do similar things as a normal part of their education process.

I'm not saying LLMs wouldn't help with this (in fact, this is the type of thing that becomes pretty much a no-op with them) but the notion that this is "impossible by any realistic standards" is risible, and if you have actually contributed to the kernel like you say, you should know better.

nickphx [3 hidden]5 mins ago
uh huh, sure it can.
lrvick [3 hidden]5 mins ago
https://codeberg.org/lrvick/nit

Still WIP but working.

I do not personally know a single human I could have hired who could write low level nostd nolibc noalloc rust like this, and certainly not in only a week even with hundreds of messages from me giving them detailed direction. That person may exist, but a day of their time likely costs more than the GPUs I racked up in my garage to assist with this.

I know no one wants to believe an LLM plus a human could produce more secure code than an LLM or human working alone, but as engineers we should adapt to whatever gets the best results.

Also every line is manually audited by two experienced software engineers before production.

fwip [3 hidden]5 mins ago
Nearly any C programmer could write this.
lrvick [3 hidden]5 mins ago
In a week for a few dollars of pay with a test suite that comprehensive and on my exact schedule to collaborate with me around the clock? I doubt it, but I would love to meet that person if I am wrong!
pona-a [3 hidden]5 mins ago
70% seems unexpectedly high... Was there maybe some overcounting?

Yubico Authenticator https://github.com/Yubico/yubioath-flutter

I actually don't see any significant signs of AI use. There's Copilot listed in the contributor list, but I'm not seeing commits listed under it. Did they wipe it off Github?

Some seem to stamp Mostly AI based on weaker circumstantial like large init commits. Maybe it's just an artifact of human sloppiness.

Or maybe it was just the artifact of choosing these by last update, since vibe-coded apps genuinely do have an abnormal number of releases, and thus would be much more likely to show up.

Mylloon [3 hidden]5 mins ago
Usually AI is marked as co-author, so you can't find it in the commit list.

I use the contributor graph to find where the AI made the commits [1] and then I search using the date [2], I found 3 commits relative to a11y stuff.

[1] https://github.com/Yubico/yubioath-flutter/graphs/contributo...

[2] https://github.com/Yubico/yubioath-flutter/commits/main/?sin...

psychoslave [3 hidden]5 mins ago
Co-author is so strange. Like, would anyone credit an IDE or even a script generating code as co-author? Even legally, tools don't have the ontological requirement to be credited as author.
bpev [3 hidden]5 mins ago
Pretty sure it's just because if the tool generates the commit, it auto-adds itself as co-author. Like the iPhone emails that say "sent from iPhone"
ClimaxGravely [3 hidden]5 mins ago
Waiting for the day I get an email from someone that says "co-authored by my iphone"
psychoslave [3 hidden]5 mins ago
Yes, but the equivalent of "sent from Invasive·marketing·of·some·MUA™" would be "generated with Ludicrious·Laughable·Mockery™".

That is, the MUAs don’t add "co-authored by myMUA".

gblargg [3 hidden]5 mins ago
Even before AI, I just looked at file size to determine whether an app was worth installing. There used to be tool to search the Google Play Store and sort by size. If it's a basic utility and more than a few MB, it's probably riddled with bloated libraries and ads.
theandrewbailey [3 hidden]5 mins ago
This is about apps on F-Droid, not F-Droid itself.
gib444 [3 hidden]5 mins ago
Yeah maybe title should be "How much on F-Droid is LLM generated?"
edg5000 [3 hidden]5 mins ago
Seems like the wrong question to ask. I've been programming my whole life but basically stopped writing code by hand in 2026. The LLM writes better code than I do, much better.
9cb14c1ec0 [3 hidden]5 mins ago
Same here. I'm still a better software architect that AI, but there is no question that my AI generated and reviewed code has fewer bugs than code I hand write. It takes some humility to acknowledge that your coding prowess is less of a useful skill than it used to be.
cik [3 hidden]5 mins ago
There's an issue where people assumed the syntactic activity of writing code was what mattered. The reality is that this was always a smaller part of the role, as opposed to thinking about observability, serviceability, and test automation. The ability to write software that is properly separated from concerns and when to enact those separations matters.

At the same time, I think we're far too far down the systems path now. We've hit a point where interviewing has become purely systems design "because the AI writes the code".

Not that I'm ever asked, but I inherently believe the act of critical thinking, communication, and expression are the key skills for those who already have the appropriate coding/engineering/cs/etc background. I now only interview for those skills - but through the lens of impossible to solve systems design conversations as opposed to problems. It tells me a lot about how people think.

0x696C6961 [3 hidden]5 mins ago
Writing is thinking
tomrod [3 hidden]5 mins ago
So is architecting, testing, validating, and even occasionally using.

This isn't the first time I've seen this phrase recently, but I'm not sure what the thought is a cliche or what it is intended to convey (don't read my note as negative, I sincerely am unsure what connotation folks are trying to say).

jeltz [3 hidden]5 mins ago
Not sure what you mean as system design conversations because while in theory those can be good in practice the ones I have been at had been techbro wankery where the interviewer had a particular answer in mind. Like designing your own memcached clone for example is a terrible task for systems design.
cik [3 hidden]5 mins ago
What you're mentioning is 100% what's wrong with the industry. Agreed! To me a systems design conversation is a conversation - not a design goal. The idea is to determine ability and psychology:

1. When you press on someone's design respectfully, do they get defensive. Do they become argumentative.

2. When thoughtfully pointing out a concern, how does the candidate take it?

3. When you suggest a technology that makes no sense to intentionally challenge knowledge, does the candidate recognize why it makes no sense? Are they able to share what the negative of the approach is. If you indicate that you know the question is "senseless" but want their feedback, how do they communicate?

4. When you hard request a change that requires a literal rethink and rewrite do they become argumentative? Do they embrace the change?

5. When discussing testing, how do they think about it? I come down to the nitty gritty and ask about postive vs negative cases, table driven testing, what types of tests matter (for our situation) and why.

6. We discuss timeline tradeoffs, and then have the conversation about the candidate's approach given updates to see how they think.

You'll notice that I am never looking for a solution. I'm seeking communication, description, partnership while having a (relatively) thorough gasp of the subject matter.

Every single time I get a response from a candidate such as "I don't know, I'd have to learn more - or use AI to, or.. what do you think" turns out to be something I LOVE, because it creates a great fabric for the interview.

markb139 [3 hidden]5 mins ago
Programming languages, design languages and architecture are all inventions made to help humans write understandable source. LLMs don’t really need to do any of that. They can store very large trees of understanding and therefore implement any application in raw binary. Why bother with abstractions at all
jeltz [3 hidden]5 mins ago
LLMs for sure need those things. maybe not the same abstractions as humans do but without understabdable code an LLM will just fail to accomplish the task you ask it to do.
flir [3 hidden]5 mins ago
It might be less ambitious and more practical to target bytecode.

But you effectively lose the human review component.

redox99 [3 hidden]5 mins ago
Targeting byte code or asm instead of high level would be silly for everyday tasks. You blow up the number of tokens, reduce your effective context, and there's just more places for it to make a mistake, which most likely won't be caught by a compiler.
_1 [3 hidden]5 mins ago
There's more python and typescript in the training data than bytecode.
flir [3 hidden]5 mins ago
I was thinking about that. I reckon generating massive amounts of synthetic training data for that goal should be possible - you've already got the Python, after all. It's also possible for machine code, but you'd have to target more platforms.

But ultimately, I think human readability outweighs any theoretical advantage you get from removing a step in the compilation process.

walrus01 [3 hidden]5 mins ago
With the "intelligence" of code focused and capable llm in the last six months, the main problem I'm seeing now is where some total amateur who has no previous knowledge of coding tries to one shot a project. People who have previous experience and know how to architect things (and when to stop an LLM from doing something wrong that will cause maintenance and scale and extensibility problems in the future) are doing much better building actually useful things.
ModernMech [3 hidden]5 mins ago
This one shot thing I just don’t understand. The way I’m using it, it takes weeks of constant prompts because it never does exactly what I ask no matter how well I specify. I just don’t see how it’s possible to one shot anything unless you don’t have strong requirements on the output.
orangecat [3 hidden]5 mins ago
I had pretty good success with a language learning app. Initial prompt below, about an hour to get it working very close to how I imagined, then extended to Japanese, French, and audio generation.

======================================

Hi! I'd like to create an app for interactively learning Chinese using AI. My current idea is:

- The AI generates a Chinese sentence at a specified vocabulary level (e.g. HSK2)

- The user translates the sentence into English, and the AI evaluates the response. If the answer is wrong or is partially correct but could be improved, the AI offers a hint. If correct, the AI confirms and explains any particularly important vocabulary or grammar points that the sentence demonstrates.

- The user should be able to click on an individual character once to see the pinyin, and again to see its definition and any helpful techniques to remember it (radicals, similarity to other characters, visual meaning)

- The app should also be able to go the other way, giving the user an English sentence and having them translate to Chinese.

App details:

- UI is a web app

- The AI should be pluggable. We'll start with a local Ollama install running gemma4, but it should be easily possible to add support for Claude/OpenAI/Gemini or other models (may need to provide an API key).

- Not actually sure if we need a backend. It might be useful to keep track of characters or concepts that the user has difficulty with, or to keep track of what sentences the AI has previously generated so it doesn't become repetitive.

- Build everything in a Docker container (or multiple if needed with docker compose)

ModernMech [3 hidden]5 mins ago
I can see this being a one-shot thing because the brief is pretty light; beyond broad strokes, you haven't specified much for it to actually do. Any UI that's also a webapp would satisfy this brief, but that's exactly what I mean; e.g. if you want a specific UI, there's a lot more back-and-forth that's involved. It'll one shot a UI, but it's very rarely the UI you want down to all the interactions and placement of buttons.
ndiddy [3 hidden]5 mins ago
For me the usefulness of a survey like this has nothing to with how effective LLMs are themselves. It's more that when someone's able to produce an app in an afternoon, and submitting the app to F-Droid becomes a checkbox, how confident can you be that they'll continue maintaining the app? Sure if it's open source you can have your own LLM maintain it, but at that point what's the value in having it on F-Droid?
staszewski [3 hidden]5 mins ago
Skill issue then
0x000xca0xfe [3 hidden]5 mins ago
I just asked Astra to bring an old Windows XP game to the browser. It objdump'ed the whole thing, built a fitting Win32-like wrapper that exposes required functionality like DirectDraw, DirectSound, SEH etc., then wrote an x86-32/x87 interpreter in WASM, benchmarked how the game runs, lifted the hotspots of the executable to WASM too and now it is playable!

I mean, I'm proud of my low-level skills too but this is some Fabrice Bellard level sorcery. Very, very few humans are able to do this without AI tools.

RHSeeger [3 hidden]5 mins ago
But good code isn't just "does it work", it's also

- is it understandable

- is it maintainable

- how much work is adding new features

- is it written in a way that adding new features means rewriting a lot of it

- is it written in a consistent style

- and lots of other things

I use AI to write a lot of my code, but the only time it's clearly "better" than a competent human is for one-off things.

That being said - AI + human is, without any doubt in my mind, better than either one alone.

0x000xca0xfe [3 hidden]5 mins ago
Absolutely, the Win32-WASM layer it wrote is some of the most evil looking code I have seen in my life. But realistically, why keep it maintainable for humans if you won't find anybody that can work on it without AI anyways?

If we humans are just doing code style checks, file organizing and doc cleanups I feel we have demoted ourselves to code janitors. This is neither fun nor going to last.

Personally I've always strived for minimalism, to find the smallest, fastest, simplest solution possible so I'm pretty jaded now, too...

pona-a [3 hidden]5 mins ago
Code is a human formalism that is only incidentally made executable. The elegance of code represents understanding of the problem to its most minute detail. LLM code being recognizably terrible shows it still doesn't understand what it produces to the full extent, and just as with people, it will inevitably compound to it becoming unable to efficiently work on it. And if the human abdicates that responsibility too, then there is no code, only subtly broken software.
tomrod [3 hidden]5 mins ago
Aye. Some of these targets are far away, others perhaps closer.

Human+AI systems is a good match. Like Human+docs or Human+encyclopedia.

ModernMech [3 hidden]5 mins ago
- is it understandable

Yes you can ask the agent anything about it and interrogate it until you understand.

- is it maintainable

Yes it’s easy to ask the ai to add new features or to refactor it entirely.

- how much work is adding new features

Depends, it could just be one prompt, it’s usually many prompts. If the refactor is large it can take weeks. But before AI something g equivalent would take months.

- is it written in a way that adding new features means rewriting a lot of it

Usually no, but that depends on how well the agent is being directed and what the features are. If you come up with a feature that requires a new architecture, ai makes it doable rather than saying “would be nice but we’d also have to implement this whole new architecture and that’s a lot of work”

- is it written in a consistent style

Styles can be applied mechanically with linters and formatters, so as much as any codebase written by multiple people.

himata4113 [3 hidden]5 mins ago
What people don't understand that programming is very much an art. You iteratively work on it ripping parts out, rewriting and rewriting and rewriting, while also rewriting and then rewriting every time a new feature, bug fix or scaling changes are needed.
RHSeeger [3 hidden]5 mins ago
I've seen AI be wrong about things often enough to know that none of what you said is particularly true. Rather, most of it holds true most of the time. But not enough.

> Styles can be applied mechanically with linters and formatters, so as much as any codebase written by multiple people.

I'm talking more of a higher level than this - more of coding/design patterns that are common for the team.

ModernMech [3 hidden]5 mins ago
> Rather, most of it holds true most of the time. But not enough.

I see it be wrong about things all day every day. And yet, IME it's correct enough for it to be controllable. It doesn't have to hold up all of the time, it just has to respond to corrections when they're issued in a loop so that it converges to a correct solution. And it does, despite the mistakes.

In one of my other posts in this thread I detail some of the the ways it's confounded me, but those issues have caused me to harden validation mechanisms rather than say "this thing makes mistakes so I can't use it to write software".

> I'm talking more of a higher level than this - more of coding/design patterns that are common for the team.

Do you have a concrete example?

walrus01 [3 hidden]5 mins ago
As a bit of an observation on that specific project... By hand as a human you could spend six months of the equivalent of a full time job doing that. Even if you had extensive knowledge in all of its discrete pieces. One of the things coding focused LLM are great at is doing things that have no reasonable prospect of economic necessity to do (no for profit company is going to pay you a FTE salary for six months to do that task, because there's no possible revenue in it). But the LLM can be pointed at it and get it done in a day or two with some periodic architecture and decision making by the human, for probably under $50.
0x000xca0xfe [3 hidden]5 mins ago
It took two days and 50% of my Codex Plus week limit, so around 3$. Finally I can play the game on multiplayer again next evening!
tuesdaynight [3 hidden]5 mins ago
What is the game?
0x000xca0xfe [3 hidden]5 mins ago
https://www.gog.com/en/game/the_settlers_4_gold_edition

It did not work properly on Wine nor Windows 10, that was the entire reason for trying it out.

erfgh [3 hidden]5 mins ago
If there are very few humans that can do this is because the market for such a task is very small and thus there is little incentive to learn how to do it or produce tools that can do it.
xandrius [3 hidden]5 mins ago
Only people disliking AI for coding are the gatekeepers who think they are magicians and the plebs shouldn't be able to code like them, unless they become gud.
beej71 [3 hidden]5 mins ago
This is a false generalization. Lots of AI dislikers do so for a wide variety of reasons. I dislike it and don't care how other people use it.
47282847 [3 hidden]5 mins ago
"There are naïve questions, tedious questions, ill-phrased questions, questions put after inadequate self-criticism. But every question is a cry to understand the world. There is no such thing as a dumb question". (Carl Sagan)

Just because you don’t seem to be interested in the answer - then don’t read it? - doesn’t make the question wrong.

ModernMech [3 hidden]5 mins ago
The AI machine can write better code. It can also write an interpreter which implements function calls by instantiating a new interpreter + entire standard library per function call. Or it will build a 300kloc cathedral of scaffolding and maintain that forever, never writing actual code. Or it will create a CI system that takes 2 hours to run and constantly fails, and the agent loops there all day, fixing a small bug and waiting 2 hours. (All things I’ve experienced latest frontier models do)

Agentic engineering faces all kinds of new problems that couldn’t exist before, and need experienced engineers to solve them.

dakolli [3 hidden]5 mins ago
Well, you must have some low fkn standards.
eloisant [3 hidden]5 mins ago
If you truly think LLM are not useful tools for programming, you haven't tried the right tools.
jeltz [3 hidden]5 mins ago
That is not the same topic. LLMs are useful tools, and that is despite them producing fucking awful code.
Gigachad [3 hidden]5 mins ago
I would have agreed with you 6 months ago but things have changed rapidly.
jeltz [3 hidden]5 mins ago
Not sure what I can say but the LLMs simply do not write good code without tons of handholding. As a C developer most LLMed patches I have seen the last couple of months have been awful and the few good ones I know from the author themselves that they did a ton of iteration and/or manual cleanup. Maybe they are less bad at writing other languages.
Gigachad [3 hidden]5 mins ago
At least what I have seen in Ruby and Typescript, they are excellent at doing what you asked for. But if what you asked for is stupid they will happily make it happen.

They don’t make normal mistakes like typos and they aren’t lazy so things like tests and checking error cases is usually done.

wizzwizz4 [3 hidden]5 mins ago
People say this every 6 months. I've stopped even paying attention to it, because (A) the code quality remains below the floor, and (B) the people saying it continue to ignore all the other issues with LLM code generation.
Zambyte [3 hidden]5 mins ago
Up until the last couple of months, I have treated LLMs as a supercharged stackoverflow. I would ask it questions on how to do something in a general sense, and then adapt the answer to my use case.

Now, my entire programming flow does not even include an editor. The tools I use are: pi.dev to write and implement openspec specifications, herdr to manage many pi instances, and ollama to run qwen 3.8 27b on my single 7900 XTX.

Writing good specifications is the key detail here. I will often iterate on a spec for hours until I am happy with it all of the details. Once I am happy with the spec, I can be quite confident that when I tell pi to apply the spec, the changes that I want will be done, and done how I want them, when I come back to check when it reports itself as done.

The landscale is fundamentally different from what it was. Feel free to ignore it, but you can absolutely generate high quality code if you know what you're doing.

kuboble [3 hidden]5 mins ago
N=1 and might be a raw skill issue on my end.

But I all but stopped writing code 13 months ago. At the beginning the code was often bad.

In the last 6 months alone I had received more praise from my customers for excellent work than ever before.

roblabla [3 hidden]5 mins ago
I tried a lot of tools. Claude code, deepseek with kilocode and OMP, codex... I still use claude quite a bit. But frankly, all of them produce some absolutely godawful code. Review load went way up with AI, and it's not just the volume that caused it, but also the quality. It's extremely verbose, hard to read, often repeats code instead of factoring it into reusable components. And yes, sometimes it's also buggy. Except now, you have to debug a problem that's in code you didn't write yourself, and is awful to read.

LLM is incredibly valuable for debugging complex problems, codebase exploration, and planning large changes. But the writing code part itself, I find, LLMs are just not very good at it yet.

user43928 [3 hidden]5 mins ago
I don't have to debug anything.

Vaguely telling the agent what the issue is and what behavior I expect solves the issue with a fraction of the effort.

Some claim that the tech debt only keeps increasing and that the result will be unmaintainable. This is not my experience, and I don't think it is theirs either. These claims are often entirely speculative.

RHSeeger [3 hidden]5 mins ago
I, and I think most experienced developers, can recognize the type of code that incurs a maintenance cost down the line; that will make adding new code take longer. And AI writes such code "relatively" frequently. I love having the AI to write code, but I find it extremely important to review it - to make sure that it's correct, understandable, and not going to be a problem later.
user43928 [3 hidden]5 mins ago
I find it unnecessary for most non-critical code, such as client applications.

I doubt that any supposed future extra effort for the AI to add new code is remotely comparable to the upfront effort of you reviewing the code manually.

I know that this is the case today for native mobile apps, and I speak from hundreds of hours of experience over the last four months on such a project where I stopped reviewing the code.

We are already here today, and this balance is only going to further shift to the point where it is obvious that the hands-on approach is no longer competitive.

RHSeeger [3 hidden]5 mins ago
Everything about what you're said strikes me as sounding like "I don't bother wearing a seatbelt, because my experience is that I don't get in accidents" .. and also "I don't write automated tests, because I already hand tested my code and it works".

And neither one of those statements is very convincing to me.

user43928 [3 hidden]5 mins ago
And what you said strikes me as speculation not based on actual experience in using AI in this way, with a healthy dose of condescension added.

Anyway, I think we shared our viewpoints, and neither of us is going to change their mind until either my project fails spectacularly, or you change your approach in the future to use AI more autonomously.

roblabla [3 hidden]5 mins ago
I've had bugs the agents can't fix or figure out. Sometimes those involve third-party, proprietary, broken code (read: Windows APIs). Sometimes they just involve complex deployment situation on the client code (I work on desktop apps) where the agent can't figure out what's wrong/makes wrong assumptions/goes nowhere. Sometimes the agent is just very dumb and tunnels vision on the wrong fix.

FWIW, I've also had bugs the agent fixed that I probably never would've figured out without LLMs - LLMs are definitely useful! But I need to keep understanding how the code works so I can take over the reigns when the LLM fails.

api [3 hidden]5 mins ago
I’ve had some luck prompting them to be concise, both in writing and in code, and with code doing an approach where they get it working, write tons of tests, and then refactor for conciseness and readability. All the tests prevent regressions doing this.

Without such prompting and a conciseness and clarity pass you get a slop grenade.

They overall work better with tests, and Rust is a great language for them. Overall they do better with lots of walls and alarms that go off if they mess up. I don’t need nearly as much of this, can mentally simulate it, which is a good “are we superintelligence yet” reality check. Still not even as good as my wet meat brain. But impressive given what was possible even two years ago!

The result is still not as clean as a good programmer but it’s better than the slop grenade you get first pass.

xandrius [3 hidden]5 mins ago
I'm pretty sure you used chat gpt when it came out and literally stopped looking then.

GPT 5.6 sol and Astra can now one shot incredible stuff.

LatencyKills [3 hidden]5 mins ago
I spent 22 years as an engineer split between MS and Apple. SOTA LLMs can write code just as good as most human engineers. I expect to see the "LLMs are just next token predictors!" crap on Reddit... not HN.
jeltz [3 hidden]5 mins ago
LLMs produce pretty crappy code but they are very useful tools for protyping, code search and finding bugs. Maybe LLMs in the future will be able to write good code but they are very far from that right now.
basilikum [3 hidden]5 mins ago
Perhaps it would be useful if both of you could provide examples of supposedly good and bad code – the latter being the result of a genuine effort to produce good code with state of the art models. Just asserting that LLM code is good or bad ends in a yes - no - yes - no back and forth circle immediately.
LatencyKills [3 hidden]5 mins ago
I just used an LLM (along with my decades of operating system development experience) to create a macOS tool [0] that lets me see through windows, instead of having to continually command+tab between windows.

The solution required reverse engineering and internals knowledge that most human engineers don't even have.

The question is no longer "Can an LLM write code?". It can. The problem is that certain humans refuse to put in the effort required to properly utilize these tools.

[0] https://imgur.com/a/2CUEjmA

basilikum [3 hidden]5 mins ago
We can't judge code quality without having the code.
pessimizer [3 hidden]5 mins ago
LLMs have been good at knowing what's in the manual from v1.0. Super good at that. Pretty good translators. Pretty good at doing things that have been done a million times before, like your CRUD app. Super mediocre at everything else.

LLMs as things that know what's in the manual are AAA+. Extremely helpful. Very good at making a rough draft of something filled with a lot of stupid mistakes and no new abstractions. That's what your transparent window thing is. Something that you could never ship, is probably too big and doing senseless things for no intelligible reason, and definitely has bizarre bugs.

LatencyKills [3 hidden]5 mins ago
What in the world are you talking about? I was literally an senior engineer on the Windows Kernel team, the Visual Studio team, and the Xcode team at Apple.

This application, named Seymore, is being evaluated for purchase by several tech companies. (It helps having good industry contacts)

There was a ton of interesting engineering required to make this work at 60 fps+ without resorting to hacks or using private APIs. Most macOS engineers wouldn't even know where to start.

I've shipped code that is used by billions of people and all you just did was spew a bunch of bullshit. As someone who has built their own LLM from scratch, I have an extremely good idea of what they can and can't do.

If you don't know how to use these tools, you'll end up with crap. If you DO know how to use them, they are incredibly useful.

tuesdaynight [3 hidden]5 mins ago
I don't agree with using your credentials to show your code quality, but I don't doubt you have better standards than most developers. That said, stop trying to change their minds. Antirez was a good at programming until he started coding using AI only. The same will be said about Carmack and Linus.

What they are saying is increasingly difficult to defend, but they will do it anyways. I see the same arguments at my job, and I just gave up arguing against

ModernMech [3 hidden]5 mins ago
This kind of shaming is getting tired. At the end of the day, the people claiming their code quality is better without ai, while everyone else has low standards, aren’t providing any evidence of their supposed superiority.
rossy [3 hidden]5 mins ago
I think the burden of proof is on the new technology. It's been almost a year since the supposed death of manual coding, depending on how you count, but I haven't seen the efficiency benefits of AI trickle down to the programs I'm an end-user of. I _have_ seen the bugs, however (rsync 3.4.3 for example.)
ModernMech [3 hidden]5 mins ago
Depends what you mean by end-user. Power users of AI aren't using these things to build applications for users, they're using them to do all the things they couldn't do as mere mortal programmers. Like the other poster detailing how they got a game running in web assembly. That's not for end-users, and even if it was they wouldn't be able to look at that and say "Wow, this is an example of AI benefitting me as an end-user" they'd just say "Wow cool, a game".
psychoslave [3 hidden]5 mins ago
What is fkn?
LatencyKills [3 hidden]5 mins ago
It's short for "fucking".
psychoslave [3 hidden]5 mins ago
That’s fn lazy.
samayashar [3 hidden]5 mins ago
Every codebase that is being actively worked on (closed/open source) will contain code that's AI generated. With the rising abilities of agents, expectations are sky rocketing in terms of productivity.

If you're as productive as an engineer in 2016, you're not at the level that's expected. A 7 day workflow back then should take you maybe a day or less to work on today.

Dwedit [3 hidden]5 mins ago
Many of the projects here predate 2022, so they wouldn't be "ai-generated" in that sense.
jraph [3 hidden]5 mins ago
I'm somewhat surprised about PipePipe. I had a look on the commits of the various components and nothing looks out of place to me. Commits look rather reasonable, comments look useful and don't show obvious LLMisms.

What are the AI smells there?

It would be nice to expand a bit on the reasoning behind the verdicts.

valgaze [3 hidden]5 mins ago
FDroid can be very strange…

””” F-Droid is not hosted in just any data center where commodity hardware is managed by some unknown staff. We worked out a special arrangement so that this server is physically held by a long time contributor with a proven track record of securely hosting services. We can control it remotely, we know exactly where it is, and we know who has access. ”””

47282847 [3 hidden]5 mins ago
What do you find strange about trying to protect against tampering and theft?

I find it strange how little people seem to care these days and just widely share their users and company data across clouds. Plenty of supply chain attacks to learn from.

bradley13 [3 hidden]5 mins ago
It's an emotional problem. I love writing code to solve intricate problems. But knowing that a faster, and maybe better LLM solution is just a prompt away? Somehow that takes the joy out of it. Why spend hours, when you can get an equivalent result in minutes?

I will be curious to see how I feel about AdventOfCode this year...

xandrius [3 hidden]5 mins ago
Is the goal solving a problem or spending time over it?

Because then why do you ride a vehicle when you could walk?

Why do you use fire when a well-positioned mirror with sun could do?

Why a piezo ignition or lighter when a stick and lots of friction would do as well?

cicko [3 hidden]5 mins ago
Think of that the next time you take the train.
alienbaby [3 hidden]5 mins ago
If they work, does it matter?

Separate from building your own code, ,of course you may have your own standards to apply.

But for apps, well, I never had a chance to see how good or bad the code was before AI was about, so why should I care now, so long as what I paid for does what it says it does (and nothing nefarious..)

voidUpdate [3 hidden]5 mins ago
Some programmers have ethical concerns around the use of LLMs. It's like saying "my clothes still work, why should it matter if child labour made them?"
alienbaby [3 hidden]5 mins ago
I don't know wnything of the ethics of any real meatbag developers that are working on the code or app I install on my phone either. I fail to see how, for pre-packaged code specifically, it being AI or not is a problem; ~ rather, surely all the concerns we have about AI code (hopefully properly developer reviewed.. - which I suspect is where the real problem lies) apply to developer written code also, when it comes to pre-packaged apps.
harvey9 [3 hidden]5 mins ago
This seems tenuous. The LLM is not being exploited.
relevant_stats [3 hidden]5 mins ago
> If they work, does it matter?

The blog post provides something akin to answer to this question:

You see, the main allure of LLMs is that they allow the developer to be more lazy. That’s kind of the whole point! You just prompt, sit back and relax. So it should not surprise you to hear that this attitude is then reflected in everything the vibe-coder touches

As I understand it, one of concerns is that with the lowered barriers there comes a flood of low quality software, vibe coded by very lazy and not very talented people.

This might be actually more of a human problem, but it's a problem nevertheless.

alienbaby [3 hidden]5 mins ago
I had no visibility of developer attentiveness or lack thereof, not skill or code quality before AI was around, for any apps I downloaded to my phone.

I fail to see why worrying about AI code quality is any different to worrying about developer code quality when it comes to pre packaged apps.

With code I am writing, some AI generated, my work load has not really decreased, nor have I gotten lazy. My work has changed to a degree, and now involves reviewing and guiding and double checking AI code where I did not have to before, but I am certainly still working just as hard, and accomplishing more with AI's help in spite of the change in workload it brings.

delivering bad AI code because you got lazy is not the AI fault, it's the developers fault.

drcxd [3 hidden]5 mins ago
You can't call people lazy because they use LLMs, just like you can't call people lazy because they travel by train/plane/cars instead of their own feet.
relevant_stats [3 hidden]5 mins ago
> You can't call people lazy because they use LLMs

I haven't done that at all.

bigstrat2003 [3 hidden]5 mins ago
> If they work, does it matter?

If you're using an LLM to write your code, odds are very high it does not work.

asimovDev [3 hidden]5 mins ago
The don’t tread on me person is fascinating. I wonder if they wrote the software from their phone using github codespaces in browser?
r0ze-at-hn [3 hidden]5 mins ago
This reminds me of another time... Let's travel back to 1980 and interview a local grey beard:

Everything these days is shell scripts! They are even selling them like they have the same value as a C program! csh will never be real C. The kids have no idea what a stack is or how to optimize system calls. The performance is awful and they barely work! The way scripts spawn processes can bring a multi-user terminal system to its knees!

I mean, sure, I write some scripts now and then, but the real logic always goes in C. And just the other day my boss gave me a shell script he coded over the weekend and said putting it in production should be easy!

Over the weekend I was checking out BSD and I couldn't believe the number of scripts I found. I fear for the future of my career and computer science in general. Our field might die out before it can even get off the ground.

tonymet [3 hidden]5 mins ago
how did critics become suddenly concerned with virtue and beauty with AI? Wouldn't it be better to judge these apps on their utility?

The authors are sharing their creativity, and spending time & money to publish apps with a free license.

I have disdain for how entitled open source consumers are. Before AI, demanding free accounts, support , resources, traffic, cpu -- after AI demanding bespoke hand-written code be given out for free.

metalman [3 hidden]5 mins ago
Who/whatever does the layout and organisation of app categories is a blithering idiot and finding apps is best done with an external search as the internal one hides apps even when searched for directly by name. And the fdroid app is relentless systems deperformance burden that often just failed, and updating manualy is simpler as a chore done after any android update. Love a lot of the apps, and the concept of fdroid, but the fdroid UI is not good at all.
shevy-java [3 hidden]5 mins ago
> Text just doesn’t carry enough meta information for any kind of assessments to be even close to accurate.

Well, that is true, but I have seen how one japanese developer, who has had low english language skills, suddenly writes epic text. So it is clear that he is using AI when interacting with other people. This is a problem because a lot of it is just AI slop fake interacting. I don't want to interact through any AI filter; it means the other human being is not interested in communicating with me, so why would I want to communicate with an AI slop controlled human? It makes no sense.

As for software: IMO documentation is very important. Many projects lack good documentation. This is valid for both AI slop created projects and real humans created projects. There are too many software developers who hate writing documentation. I don't want to use such software anymore.

Unfortunately AI slop documentation often sucks too. They just spam you down with words that mean nothing. And are very verbose. This is also totally useless.

It seems as if software designers indeed fail hard in the last years. Quality standards used to be higher in, say, 2005 to 2010, compared to now and the last five years.

> Their mere existence makes educating yourself and going on fun side projects much less rewarding.

It's not just AI though. Look at Google search. Use it. It is totally useless now. Google crippled it deliberately some years ago. Now you'd think alternatives are better, but they also suck. DuckDuckGo? Qwant? They, oddly enough, manage to be even worse crap than Google search, which is amazing. Crapification has become the default now.

whiteleopard [3 hidden]5 mins ago
Please stop labelling a project as slop just because it has been developed using AI. Coding agent are now replacing the IDE and code is now mostly written by the agents.
gpvos [3 hidden]5 mins ago
Please stop telling people what to do. Also, the discussion of the merits of LLM code writing is far from over. Author of TFA actually provided an interesting data point, you are just rehashing an often heard opinion.
ivanjermakov [3 hidden]5 mins ago
It's not about who wrote the code, rather who made decisions.
alienbaby [3 hidden]5 mins ago
So we are calling the developers as sloppy now just because they use AI? It is entirely possible to use AI and still produce good code - the effort required changes, but so long as it is done by a diligent developer capable of asessing and correcting AI code, it should be fine.
ivanjermakov [3 hidden]5 mins ago
That's my point, diligent use of AI is indistinguishable. And because of bad rep we will see any bad code called out "AI slop".
bigstrat2003 [3 hidden]5 mins ago
> Coding agent are now replacing the IDE and code is now mostly written by the agents.

If you're doing that, you are producing slop. So it should be called out as slop.

amelius [3 hidden]5 mins ago
How much of iOS is vibe coded?