How much of F-Droid is LLM generated?

(tintotint.eu)

68 points | by _ZeD_ 2 hours ago

18 comments

  • lrvick 5 minutes 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.

  • edg5000 1 hour 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.
    • ndiddy 5 minutes 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?
    • 9cb14c1ec0 1 hour 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 1 hour 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 44 minutes ago
          Writing is thinking
          • tomrod 28 minutes 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 54 minutes 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 13 minutes 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 54 minutes 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 51 minutes 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 49 minutes ago
          It might be less ambitious and more practical to target bytecode.

          But you effectively lose the human review component.

          • _1 35 minutes ago
            There's more python and typescript in the training data than bytecode.
    • walrus01 27 minutes 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 12 minutes 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.
    • staszewski 1 hour ago
      Skill issue then
      • 0x000xca0xfe 1 hour 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 32 minutes 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 9 minutes 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...

          • tomrod 27 minutes 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 25 minutes 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 16 minutes 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.
        • walrus01 23 minutes 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.
        • erfgh 32 minutes 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 36 minutes 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.
    • ModernMech 32 minutes 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.

    • 47282847 43 minutes 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.

    • dakolli 1 hour ago
      Well, you must have some low fkn standards.
      • xandrius 35 minutes 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.

      • eloisant 1 hour ago
        If you truly think LLM are not useful tools for programming, you haven't tried the right tools.
        • jeltz 1 hour ago
          That is not the same topic. LLMs are useful tools, and that is despite them producing fucking awful code.
          • Gigachad 1 hour ago
            I would have agreed with you 6 months ago but things have changed rapidly.
            • jeltz 1 hour 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.
            • wizzwizz4 1 hour 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 24 minutes 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 19 minutes 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 1 hour 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 38 minutes 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 27 minutes 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 13 minutes 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.

          • api 59 minutes 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.

      • ModernMech 19 minutes 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.
      • LatencyKills 1 hour 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 1 hour 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 1 hour 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 57 minutes 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

              • pessimizer 10 minutes 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.

      • psychoslave 1 hour ago
        What is fkn?
  • samayashar 7 minutes 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.

  • orbital-decay 2 hours 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 1 hour 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.
  • pona-a 1 hour 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.

  • jraph 10 minutes 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.

  • theandrewbailey 2 hours ago
    This is about apps on F-Droid, not F-Droid itself.
    • gib444 2 hours ago
      Yeah maybe title should be "How much on F-Droid is LLM generated?"
  • bradley13 50 minutes 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 33 minutes 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 48 minutes ago
      Think of that the next time you take the train.
  • asimovDev 47 minutes 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?
  • alienbaby 57 minutes 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..)

    • relevant_stats 46 minutes 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 22 minutes 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 15 minutes 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.
    • voidUpdate 50 minutes 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 20 minutes 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.
  • valgaze 1 hour 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 51 minutes 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.

  • metalman 1 hour 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.
  • whiteleopard 47 minutes 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.
    • ivanjermakov 37 minutes ago
      It's not about who wrote the code, rather who made decisions.
      • alienbaby 18 minutes 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.
  • rafapersa 26 minutes ago
    [flagged]
  • hnrprtlpdb 1 hour ago
    [dead]
  • john_quakemac 1 hour ago
    [dead]
  • amelius 2 hours ago
    How much of iOS is vibe coded?
  • skeledrew 1 hour ago
    > Hey Claude, make a load-bearing time machine set to 2016 – a time when I was a happy kid, nothing bad ever happened and all was good in FOSS-land.

    > Make no mistakes

    Don't forget the copium!