I'm sorry, but you still have to think

(itsallaboutthebit.com)

399 points | by drogus 23 hours ago

38 comments

  • variety8675 19 hours ago
    This article just reminds me that workslop is so hard to counter because it takes no effort to produce and immense effort to debunk
    • jamienk 19 hours ago
      The focus on "code" is sometimes too strong. This isn't just a code/quant issue. All of this applies too to any "answer" the LLM gives. Experts very often track their lineage - what teachers they had - because the details and slant of what they were taught guided their way of thinking and defined the "handle" they use to grab a problem. There is no "right way" to do most things - there are ways of approaching. Imagining that you are free-flowing and not in a channel is a rookie mistake! Encouraging this way of thinking is like the uptight enforcer of minor social mores: "Elbows!" no elbows on the table is how things are done and this is reified. Like you said "it takes no effort to produce and immense effort to debunk" and sometimes the stakes are high. I'm convinced that racism, for example, operates exactly like this: 0 friction go-with-the-flow insist it is natural...
    • pixl97 19 hours ago
    • chmod775 18 hours ago
      This is why the adverse reaction must be proportional to the effort required to counter the destructive behavior. It must be strongly discouraged.

      One of the worst things you can do is pull punches when you get "contributions" that are net-negative because they waste everyone's time.

      • ctkhn 18 hours ago
        That's very hard to do in a work environment where you have someone above you who doesn't understand or care about this. Instead of keeping things sane so they can run smoothly, you will be seen as slowing down progress.
        • chmod775 18 hours ago
          If I work for someone else it's not my problem. I should point the problem out to them, but since it will hurt them first and foremost, it's no major concern of mine.
          • tonyedgecombe 4 hours ago
            It's quite hard to rise above this stuff. The only time I was really able to do it was while contracting because I knew I would be gone in a short while. Even then I was usually fairly blunt about it.
    • jayd16 18 hours ago
      Make it clear that workslop is produced by the human committer and not the Claude. The human has a reputation and this is hurting that reputation.

      You can do this in a professional way but still get the point across that they're stealing productivity from others that have to pull up their slack.

      If the commits are too big or too dense. Make them break it up, clean up the comments etc. Otherwise they are simply doing a poor job. Not Claude, them.

      • geraneum 15 hours ago
        > Not Claude, them.

        Can’t have the cake and eat it too.

        If they “solve” navier stokes and mathematics, they surely should be able figure such menial tasks out on their own, shouldn’t they?

        • Eisenstein 14 hours ago
          I think it is appropriate to invoke 'in loco parentis' for this.
      • xgulfie 17 hours ago
        Sorry the corporate initiative is to use AI for that
        • gumby 16 hours ago
          Corporate code is typically terrible anyway. For many years (predating LLMs) I’ve looked askance at my bank’s app with its obvious bugs, wonder how many are not visible. It was not always so (consider SABRE back in the 60s)

          But it’s the fat part of the bell curve. There’s loads of even worse crap outside corporate code…and at the right end of the bell curve is deeply thought out and the result of long-term maintenance that tends towards as bulletproof as can be possible in this universe, parts of OSes, networking stacks, clocks, and the like.

          It’s only because that stuff is so robust and sufficiently general that the rest of the world’s steaming pile of code works at all.

          • bitwize 10 hours ago
            > Corporate code is typically terrible anyway. For many years (predating LLMs) I’ve looked askance at my bank’s app with its obvious bugs, wonder how many are not visible. It was not always so (consider SABRE back in the 60s)

            I don't know if I've worked on your bank's app (safe bet is I haven't), but I have worked on some banks' apps and... oh boy. Let's just say that if you've seen what I've seen, "stuff it into a mattress" starts looking like a sound financial policy.

    • CoolestBeans 19 hours ago
      If AI does anything, it amplifies asymmetries. Hacking, scamming, reducing code quality... its really good at making defending against those hard problems even harder.
    • lucasyvas 15 hours ago
      I’m an advocate for LLMs to code and basically use it for everything now, but just want to say you really nailed that.

      It takes effort to debunk because you have to holistically consider what the problem was and actually find the better solution to prove why it’s lacking.

      In other words, to debunk it, you have to do the actual work that wasn’t done the first time.

      Some people may argue “so what?”

      And to that I would just respond that the fast solution implies nobody probably thought about it, which is always risky and generally leads to very bad outcomes. If for no other reason than there is at least no consensus, which for long-term software evolution is deeply problematic.

      This has happened many times since this trend has started, and forcing everyone to step back after a year objectively reveals the murder that has been committed that, believe it or not, is not trivially unwound.

      In the wrong hands it’s a debt machine that is already killing companies from the inside.

      • a57721 14 hours ago
        I see increasing amounts of code merged to the codebase that is sometimes wrong, sometimes too brittle, sometimes fixes the symptom without addressing the bug. Two years ago the same code would be criticized harshly and reworked before being accepted.

        Also, now people who used to manage the development but not write any code also feel their superpowers to merge LLM slop in humongous amounts. It feels like a ticking time bomb, but I am afraid of calling it out and rain on their parade of 10x productivity (or often AI psychosis). Leaving the team doesn't feel like a good decision because what I hear from many colleagues is much worse. Ah what a time to be alive...

    • tonyedgecombe 3 hours ago
      Just ask an LLM to critique the work and send the response back.
    • treetalker 19 hours ago
      The Bullshit Asymmetry Principle, a/k/a Brandolini’s Law: “the amount of energy needed to refute bullshit is an order of magnitude bigger than that needed to produce it".
    • nijave 13 hours ago
      There's a little bit of latitude to push back in code review. "Show me x,y,z you've collected before and after your change"

      Really you're just asking for manual or automated performance tests (and you might be requesting different criteria than some already provided)

    • Aurornis 19 hours ago
      My strategy is to skim the workshop to find suspicious sections, then prioritize debunking at least one part that makes the creator look bad.

      Then respond with that addressed, with a firm but polite explanation that the document has some problems that need to be addressed carefully before we invest time on it.

      None of this works if it’s coming from your boss, but it’s very effective at making people think twice before sending you slop.

      People only do the workslop thing when they believe the benefits of showing the work outweigh the reputational risks. If they get caught every time they do it and exposed on an email chain, they start doing less.

      • OptionOfT 19 hours ago
        Sadly not my experience. When I give this kind of feedback on a document, highlight a gap, or give constructive feedback, most of the time this feedback is fed back to the AI and a new revision of the document shows up.

        BUT because it is AI it's not that section that's addressed, it's about 90% of the document that now has changed, and I need to spend another gargantuan effort to review it. It's like by trying to be helpful I actually lose more time.

        The AI has made it so that the thinking before writing is mostly gone, and shifted that step to the reviewers.

        • saltcured 18 hours ago
          Left this way, every collaboration can turn into what used to be the worst nightmare type with that one unavoidable stakeholder or coauthor who likes to procrastinate and then create an insane fire drill in the final moments before a deadline.

          Now, no matter the amount of preparation work, those last rounds can completely rewrite something with no hope of review. No iterative improvement. No ratcheting towards a known quality. Just a bunch of cargo cult review followed by YOLO-style, vibe-everything absurdity.

        • manmal 17 hours ago
          Sounds like Claude. I haven’t made this experience with the large OpenAI models.
        • intended 17 hours ago
          Review burden is increasingly higher for many people, with Tech likely being patient 0 for the rest of the economy.

          The ratio of verification capacity to generation capacity, V/G, has broken with LLMs. It’s not simply an issue of more generation or less review.

          The impression seems to be that individuals are more productive, but that productivity is someone else’s review burden. So the team/firm as a whole is not better off.

          The cheap generation of content does mean that reviewer capacity is now a limited resource.

          Unless your firm is aware and is measuring time spent on reviewing slop, there is no incentive or structure to ensure that time is respected and valued.

          This is a management and awareness problem since the typical response is “use a bot to review it.”

          • flecomet 15 hours ago
            I believe this is most clearly visible in mathematics. Who is going to review the 700 proofs put out by OpenAI in a single day ? And even if mathematicians could, how will they handle the exponential growth of LLM-generated proofs ?

            Not to say these proofs are slop, even if the LLM-generated work is of good quality, what happens when no one knows how it works anymore ? Even if you ask the LLM to explain, which it does quite badly, the time to understand the explanation is incompressible.

            So in the end, productivity will probably reach a ceiling that we can estimate as the product of humans, their cognitive capacity and their time. And that ceiling may be lower than what AI companies valuation expect, regardless of the compute and they can pump out and the RSI level they can reach.

    • shiandow 18 hours ago
      Honestly the mere possibility is undermining my trust in my colleagues.
    • newCrotchSmell 17 hours ago
      This is about computer code. Debunking is either "it runs or doesn't". Not hard.

      Presentation layer code doesn't control how the machine and kernel prioritize anything; so "proof" Ruby code is doing the right thing is proving the machine does the right thing from the factory.

      As for abstract theory and math, well shit since any English and any math are...mathematically possible...well shit I guess we gonna have to live in the real world and not inside a rhetorical bubble; religious or atheist philosophy... cause they are not evenly distributed frameworks as religion clearly shows; so why live by the syntax and semantics of some mathematical rando who taught a stats class years ago?

      Same shit as living by religious allegory

      Goodhart's Law has come for 1900s means of scientific inquiry; every technology follows an S-curve and the same for every social society. In the US we aren't all defaulting to calling ourselves British or speaking Latin.

      Physics will always be there. The stupid glyphs and bird song we came up with to communicate about it isn't physics. It's just a human language system.

      • xyzsparetimexyz 15 hours ago
        Debunking can often be 'it runs but it's 100x slower than it should be'
        • newCrotchSmell 13 hours ago
          I was responding to the "immense effort"

          Performance issues in code just need an LLM now

          • xyzsparetimexyz 7 hours ago
            By default, an llm isn't going to give harsh criticisms like 'you've architectured this thing completely wrong with a poor choice of abstractions and algorithms'. As the post says, you still need to think.
      • prime_ursid 14 hours ago
        > This is about computer code. Debunking is either "it runs or doesn't". Not hard.

        I have to ask. Did you even skim the article you’re commenting under?

        • newCrotchSmell 13 hours ago
          Yep; tons of references to programming, Ruby, SQL, other technologies

          None of which have much to do with how the hardware handles requests.

          Am an EE with a background in applied physics and well aware we could jam a kernel in the BIOS/UEFI storage and generate the runtime state around it at boot from a prompt cause I am working on just that

          Which is exactly where we are headed with Jev/decision models; they can generate new config to min/maxing per process resource use; look into bpf and sched_ext and meditate on their application. It should eventually jump out at you

          We have known in the abstract how to handle computing efficiently on our machines since we started building transistor based machines

          It doesn't require handing a bunch of meat suits verbose languages/bloated state machines to manually tweak the parameters of and make mess of electrical state management

          Writing code is not high tech. It's 1970s and 1980s tech. As this forum should be well aware tech evolves with the times.

          The coder bros refusal to move on is them clinging to a sunk cost fallacy; but they already put time and $$ into their education in ugly languages and DSLs that merely initialize values in memory and ask the hardware to run it within some spacetime constraints

          The syntactic gibberish is just a barnacle of a bygone era

          Social web addicted Millennials need to grow up and move on

      • queenkjuul 14 hours ago
        ... Code can run but not correctly solve the business problem for which it was written, or it can run poorly, slowly, unreliably, etc
  • discreteevent 19 hours ago
    It's worth noting that the context here is a system that was translated by an LLM which is the ideal use case for it. 90% of the thinking had already been done by developers of the existing system.
    • ionetan 19 hours ago
      Yeah, I think most success stories in AI seem to come from ports, or from projects where a deliberate architecture has been laid by humans who understand it, and AI is sprinkling features on top. Adding features and drivers to a Linux distro seems like one of those places where AI is uniquely well positioned to bring value, because the foundation has already been laid. I wrote a post the other day on how agentic code still needs this kind of architectural foundation to not end up in a tangled mess. It might interest someone: https://ljtn.github.io/epiq/blog/the-soft-fabric-of-agentic-...
      • amelius 19 hours ago
        LLMs are great at translation. That's why language translators were among the first professionals losing their jobs to AI.
        • senderista 14 hours ago
          I'm sure they are shit at translating poetry and artistic prose.
          • CoolestBeans 8 hours ago
            You sure wouldn't want to rely on one at an international diplomatic meeting even if the accuracy is phenomenal.
      • tripleee 17 hours ago
        anecdotally this has been a huge help for my projects. I'm seeing AI one-shot porting from one library/framework to another with very minimal handholding. It used to be that these decisions needed to be thought through a lot because they were hard to change later on
      • plasticchris 19 hours ago
        It's foundations all the way down. The difference is people have reality as our reinforcement learning environment.
    • MattyRad 11 hours ago
      I agree with what I think you're implying, but if it needs to be started explicitly: converting a 100% handwritten, high quality repo to an different language via LLM should be trivial, because all of the hard parts have been reasoned through, and yet these conversions had mistakes, which is unimpressive. Rectifying the mistakes is non-trivial, and the LLMs did not have foresight to rectify them in advanced. (Expectant "you're right, I [sic] did completely fuck that up")

      That said, I don't know if it matters at this point.... On top of Brandolini's law (mentioned elsewhere), what's more likely to happen is that developers' intellect, made available in open source, is just going to be harvested as context for different projects (I'm not taking about training data, I'm taking about devs literally cloning repos into an agent to harvest intellect).

    • FacelessJim 4 hours ago
      As I like to say, AIs are very good at “drawing the rest of the owl”
    • Schiendelman 19 hours ago
      That's a really great point, and you can often start with documenting current behavior with tests and then carefully going through to figure out what bugs you've just enshrined in test cases…
    • iforgotmypasswo 11 hours ago
      That’s blatantly wrong. The structure of that code was designed for humans. You don’t architect for AI the same way.

      You do still have to think, but you have to think about how to reorganize code in a way that allows AI to succeed.

      This is not a great way to showcase the capabilities of this technology.

    • throwaway2836 19 hours ago
      “Ideal use case” such a wild take. The “10%” (assuming you mean all the issues pointed out in the article) are the things that take the most time and effort to do (or fix now), which you can’t do without understanding and fixing the “90%” of “translation”.
      • PKop 18 hours ago
        You simply pointed out that challenges remain in what the other poster said is otherwise the ideal use case, which was his point. What is the ideal use case in your opinion, since you disagree?
  • Ozzie_osman 20 hours ago
    You need to understand the system you're working on enough to make well-informed decisions about its current and future states.

    In some cases you can get away with not reading the code. And maybe in the future that will be more common. But for now, I personally prefer to read (or skim) the code, and not abdicate to AI.

  • wdr1 16 hours ago
    All of this "you need to understand the code" discussion reminds me of when I was an undergrad. I worked in a computer with someone a fair bit older -- they had even worked with punchcard systems. He was always happy to oblige us with war stories from the olden times & we would lap them up.

    He favorite axe to grind was how my generation put too much trust into the compiler. "Just because it compiles doesn't mean you're done. You need to look at the actual assembly. Compilers can be VERY inefficient."

    This was in the 90s. There was some merit to his claim.

    But today? How many people who write Javascript look at the actual assembly code that is run? Not many.

    I can't help but wonder if this current "you need to understand the code" is the same thing all over again. And if in a few years, almost nobody will look at the generated Python, Ruby, etc.

    • rootusrootus 16 hours ago
      A compiler is far more deterministic than any LLM. I am skeptical that the two situations are really comparable.
    • geraneum 5 hours ago
      the person who looked at the assembly in the 90s is probably doing it now as well.
      • zombot 2 hours ago
        You can bet your hind side I am. The motivation to do this does not go away just because the tools change.
    • fernandezpablo 13 hours ago
      Please do not compare LLMs to compilers unless you want people to immediately discard your opinions.
      • yuye 9 hours ago
        It's such an overused argument by this point
    • cyclopeanutopia 16 hours ago
      > But today? How many people who write Javascript look at the actual assembly code that is run? Not many.

      They don't look but they should.

    • smy20011 10 hours ago
      v8 folks definitely care about the assembly code generated by the compiler.
  • adventure331 18 hours ago
    Yes I agree thinking is still needed off course, but it has never been easier to ship 'half baked' things that don't actually matter and just works. What I mean is, if something has little proven business value, why waste time making sure it is correctly implemented? I'd rather spend time thinking about things that has actual proven business value, otherwise I'm not opposed to shipping something that I understand only 60 or 70% and save energy. ie: how it works at a high level.

    If we are going to the moon, then by all means I think we should probably scrutinize every single line of code, but most business aren't going to the moon.

  • Fr0styMatt88 16 hours ago
    Yep AI will just invent the missing stuff; that's not purely an AI thing, we do the same as well until we become experienced enough to know what questions to ask in order to narrow down vague requirements.

    If I'm tired, yep I'm going to write more sloppy code, I'll put less thought into it and be more tempted to tell the AI 'just do it'. That hasn't changed. I'm not sure where this new breed of "don't read the code" is coming from when it's actual software engineers making the statement; maybe it's just over-excitement and it'll die down (hopefully).

    Or it's just over-simplification -- I don't read ALL the code either anymore, but at the same time I'm reading SOME of the code. Tell your AI agent you're doing a code review workshop, ask it to select ten files at random and then go through them with you one at a time. Ask it to review common anti-patterns and put them in your coding standard. Then you can start asking it to review and fix code against your standard as a first pass. You'll still need to manually review the code to keep it in check, but at least you can make it a bit less daunting and a little more fun by actively collaborating on the AI with the review.

    I'm learning it's just a 'different kind of tired'. AI has made some stuff much more efficient, including the choice between efficiency and carefulness. You can make that choice at a micro level and very quickly now if you want. There's still fatigue though, it's just a different kind of fatigue. You still get tired from all the thinking. You can still choose to put the work in or not and it still makes a difference. It's just a different kind of difficult. Doesn't mean that the thing to do is to throw your hands in the air and declare that your job shouldn't be difficult or include hard work anymore.

    • geraneum 14 hours ago
      Reading the code is not good for AI corporations bottom line. If programmers are needed to read the code, you can’t create a narrative of complete labor replacement. But they don’t have a real solution to make the LLM output good enough to not need a review, so here we are.
      • Fr0styMatt88 14 hours ago
        Oh I totally get that; I just don't understand why someone like DHH actually thinks that you don't have to read the code, if that's what he actually thinks. He's not a clueless C-suite.
  • userbinator 16 hours ago
    Most of this article went over my head, but I think this is key point:

    if your prompt is not specific enough, many decisions are a coin flip.

    If you are using AI, you still have to know what you want it to do. If you are a project manager and give your team incomplete requirements, the result may not be unlike this.

    • aselimov3 15 hours ago
      Having a prompt specific enough to resolve all the coin flips is just writing the code yourself
      • tonyedgecombe 4 hours ago
        The code is the ultimate requirements document.
      • ricardobeat 15 hours ago
        There is a hundred-mile gap between those two places. "Write a register-based VM with a zig-style flat AST" is a lot less work than actually writing it. That's the kind of direction it needs.
        • queenkjuul 14 hours ago
          Even that prompt leaves a lot of coins to be flipped...
          • userbinator 11 hours ago
            There are decisions you care about, and ones you don't. Things like naming conventions or formatting probably belong to the latter category, and in that case having the AI arbitrarily decide isn't going to matter.
      • jwpapi 15 hours ago
        loool. I tried to find good words what icked me with the sentence, but you got it on point.
    • jwpapi 15 hours ago
      I mean this sentence is just wrong. Coin Flips are 50/50 and I assume most decisions are not 50/50 and coding agents dont use high temperature so they don’t even very so much anymore. This sentence is a sentence to me that discredits a whole article because it’s just wrong.

      Also practically it’s not a good way of seeing it. It would aim for the average solution of the problem which might not what you need, but its not a coin flip.

      Idk these kind of sentences just stink to me.

  • as1mov 19 hours ago
    I dread for the future where "you have to think" is considered a controversial statement.
    • rubyfan 19 hours ago
      It’s not the future.
      • yuhmahp 19 hours ago
        > "as soon as we started thinking for you it really became our civilization"

        remember this timeless Agent Smith quote

        • zelphirkalt 19 hours ago
          Or an alternative: The whole background why in Dune thinking machines are outlawed and how it came to pass, that humanity had to fight the Butlerian Jihad.
        • bitwize 10 hours ago
          "Won't that be grand! Computers and programs start thinking, and the people will stop!" —Walter Gibbs, Tron (1982)

          "I just realized another great thing about humans: You invented us! Giving us the opportunity to let you relax while we invented everything else." —Wheatley, Portal 2

        • moffkalast 18 hours ago
          "Mr. Anderson, what good is a brain if you're unable to think?"
      • pixl97 19 hours ago
        Thinking is expensive. A lot of people try to avoid it for that reason.
        • godwinson__4-8 18 hours ago
          Good thing AI is advancing.

          With UBI it won't be expensive anymore. So much of the economy is simply extractive, most people's jobs are really already highly algorithmic and involve much less "thinking" than they think. Being able to sit around and think has often been a historical luxury - of the elite or those lucky enough to be subsidized by them. I suppose the common (as they all were) man of prehistory also had more time to think, which was doubtless the germ of humanity's religious and speculative impulses. But they also had to contend with a brutal world where death was around every corner.

          The economy doesn't want you to think. Knowledge workers really have far too high an opinion of themselves in this regard. Your "thinking" was merely more instrumentally useful than the alternatives. Most of us have done very well while inventing nothing. But an even better day dawns.

          When humans don't have to rely on their own labor to survive, more humans will think. The opportunity to afford to indulge your curiosity as if you were among the wealthy and privileged. A society that can afford the Enlightenment and its myriad avenues at scale. What else will there be to do?

          • rnd0 10 hours ago
            UBI is not going to be a thing, ever. The ogliarchs want every penny for themselves -they'll turn you into biofeul long before they give you a single penny they're not forced to.
          • pixl97 18 hours ago
            This is one possibility, but it is not a given one. Being able to think will require capital. The whole problem here is will your thinking be worth anything and how will you feed yourself until the point it is.
            • godwinson__4-8 15 hours ago
              Of course. You haven't really articulated a problem though. You've merely stated the obvious - the path from the present to a possible end state is not clear.

              History teaches us changes for the good only happen after changes for the worse percolate deeply enough through the system. The idea that there will be hard times ahead is therefore not incompatible with my view at all, rather it is taken as a given.

              Personally, I think the chances of most humanity surviving to the next century are already pretty slim (AI only marginally increases the chances of the worst case here imo). Hitler was not that far from a nuclear weapon. Our collective capacity for terror and self-destruction has only increased since 1945, while the lessons that have held the world together since increasingly fade. I have found it amusing to note that the demonization of AI has come with an accompanying valorization of human judgment as if all the evils of the world have heretofore not been the proud acts of some human somewhere, often with throngs of fellow humans in support.

              Whereas, AI increasingly offers a chance that the best case (UBI, human survival through the next century), however unlikely in totality, is still far more likely than without it.

              You are not incorrect. I am merely endeavoring to be optimistic. If only for the self-interested reason that I need to be able to sleep.

              It helps to be optimistic I think, even if accompanied with a wry acknowledgement of futility. The future has always been frightening.

              I wish you good fortune in the wars to come.

              • lelanthran 6 hours ago
                > History teaches us changes for the good only happen after changes for the worse percolate deeply enough through the system. T

                Where do you get that from? History teaches us that only when changes for the worse are so severe that the elites' heads start rolling, will change for good come.

                > The idea that there will be hard times ahead is therefore not incompatible with my view at all, rather it is taken as a given.

                It's a tautology, hence useless: there will be hard times ahead, followed by good times is always a tautology. What we're concerned about is if the hard times last 10 years or 10000 years.

                After all saying "the idea that there will be hard times ahead" is not incompatible with your view, and is also not incompatible with the view "the idea that there will be good times ahead".

          • jplusequalt 11 hours ago
            UBI isn't coming because it costs trillions of dollars a year.
            • tonyedgecombe 4 hours ago
              That depends on how big the UBI is.
              • jplusequalt 45 minutes ago
                There are a 163 million working adults in the US. Giving each of them $10k a year is already 2 trillion dollars. And $10k is not going to allow anyone to retire.

                UBI is pure fantasy, tantamount to the rapture for AI bros.

          • xyzsparetimexyz 15 hours ago
            There's not going to be a UBI
            • lelanthran 6 hours ago
              > There's not going to be a UBI

              Not without a lot of bloodshed and public beheadings, if history is any indication about changes benefiting the labour class.

            • godwinson__4-8 15 hours ago
              Not with that attitude. Believe in yourself!
              • jplusequalt 11 hours ago
                Your pointless optimism will get you nowhere.
          • ares623 16 hours ago
            you sure sound like someone who enjoys a lot of thinking for someone who believes thinking is unnecessary
          • lelanthran 6 hours ago
            > With UBI it won't be expensive anymore.

            Right. I'm sure that the real reason for extracting more profits at the expense of labour is to give it back to people without getting any labour in return.

            That makes perfect sense.

            /s

    • deadbabe 19 hours ago
      At work, all thinking has basically become discouraged.

      If you are not using AI agents for everything, you're doing something wrong, and wasting company time. It has been emphasized that no one should be writing code by hand and if you think an AI has implemented something wrong you need solid reasoning to show why or else people just label you as some anti-AI troublemaker, who just becomes an obstacle standing in the way of things getting done.

      If your human generated opinion is in any way wrong or simply not a true homerun then you get snubbed in future reviews, people stop listening to you.

      • hyperpape 19 hours ago
        > and if you think an AI has implemented something wrong you need solid reasoning to show why or else people just label you as some anti-AI troublemaker,

        I'm going to read you charitably, and assume that what you really meant is "the burden of proof is entirely on you, and is set unreasonably high." Because of course, if you do think someone has done something wrong and want to say it publicly, you do need a solid reason.

        • rnd0 6 hours ago
          >people just label you as some anti-AI troublemaker,

          I'm curious how explicitly this is put -both in your case, and in general. Do they frame it that way, or is it more passive-aggressive?

      • ThunderSizzle 19 hours ago
        I'm probably one of the heavier AI users for agentic workflows. I'm really enjoying it.

        However, it doesn't take away the concern of architecture, design, etc. and questioning if the current solution is well designed or not.

        In other words, if you can't question the AI and refute it in a topic, you aren't expert enough to use AI in that area in a engineering manner.

        Granted, not everything needs an engineer behind it. A shack to store some tools will survive long enough probably

        • vorticalbox 19 hours ago
          I saw a post on here, basically they get ai to design the change and give them each each one at a time that they manually type in.

          They argued this still allowed them to fully understand what has being implemented and how it fitted together.

          I’ve been doing this since I read that and it also allows you to catch stupid stuff while your typing, you can reason about what each little change does and why it’s needed.

          This also lets the LLM change the future of the plan if you fine something.

          This turns out to save a whole bunch of time later because you already know how it works.

          It’s not nearly as fast as just letting the agent do everything.

          • cfeduke 16 hours ago
            I have been thinking about trying this approach. We really need something that's in-between, right? There's going to be code that is boilerplate implementation, and I don't need to drive that - like we have, in the before times, relied on macros and what not to do that work. But then the interesting logic, seeing the suggested implementation, copying or working from that. That's the sweet spot.

            I've also been thinking about the partner programming craze phase our industry went through. I write the test, you write the code; well I write the test, LLM satisfies with code. (Then we have less of these weird LLM generated test cases that test _nothing_. We can also use the LLM to suggest tests to complete coverage.)

            These would be slower to work this way, but the end result is:

            1. humans still learn 2. you have a good grounding in how everything has been written

        • Schiendelman 19 hours ago
          And more than anything, it doesn't take away the trade-offs of what to build to deliver value for customers, what to make the business improve, what avoids paging you on a vacation.
      • j4yav 18 hours ago
        God help me, my manager (product director) has taken this approach for product strategy docs. Everything has become very stupid and extremely shallow. It’s easier than ever to coast, but man.. that’s not really what I wanted.
      • as1mov 18 hours ago
        Huh, I don't use AI much/or at all anywhere, apart from googling something and reading the Gemini answer before scrolling down, without facing any backlash. Though people are more likely to discuss and brainstorm their work/problems with me because of this, which I consider a positive. Maybe I've been lucky at where I work.

        That is if I ignore the slop MRs with 60+ files changed that I have to painstakingly go through and then politely tell the author to fix the crater sized holes in it, while a vein in my forehead almost explodes. And some part of my sanity is lost forever.

    • pphysch 19 hours ago
      Free-thinking, critical thinking, has been considered taboo, or an exclusive privilege of the elite, in most human societies since the dawn of civilization.
      • asphodele 15 hours ago
        Socrates was put to death for such.
    • dvh 19 hours ago
      You know who else was thinking? Hitler!
  • stephbook 19 hours ago
    With all these ports, I always wonder: Who implements new features, and in which code base?

    It's easy to port a codebase (at least, if you have automated tests), but once you've done that, do you

    - Implement features in the old code and port again?

    - Implement them in the new, unfamiliar codebase?

    - Just write a Jira ticket and let the agent YOLO it?

    • bocklund 18 hours ago
      I'm struggling with this with an open source project I work on (that has users). I have a port that passes all the tests, but there's enough code that it's hard to review that the LLM didn't change implicit design decisions or implement things in an unmaintainble way. It not clear to me how to build confidence to switch over and implement new stuff and leave the old one behind.
  • iforgotmypasswo 11 hours ago
    Yes, you certainly still do have to think. But you’re thinking about how to isolate risk via architecture and about which languages the AI can most naturally work in for a given task.

    You’re thinking: Should I put a protobuf here and build a separate service? Which side should own the protocol? How do I ensure the AI never couples concerns A and B? Can we prove this works with smarter automated testing, or do we need additional manual QA in this critical area before release?

    Port my whole legacy codebase to another language with no guidance is a novelty problem. It is not comparable to what professionally managed AI driven development actually looks like.

  • nicfio 17 hours ago
    LLMs produce code faster than humans are able to check it. Today's systems are able to generate thousands of lines of code per day, no human team would be able to keep up with them. The problem, in my opinion, is the way LLMs are used. An LLM reasons and makes mistakes according to the logic it was created with, but different LLMs reason and make mistakes in different ways. I'll give an example: take 2 black boxes, each one with 2 inputs and 1 output. Inside, the boxes work in a different way: with the same inputs the outputs are different. The real key is to use the method of adversarial development: this reduces to a minimum (even if it doesn't eliminate completely) the possibility of errors. So to humans the task of checking the output, and to have quality output you need to spend, and a lot, at least 2 frontier LLMs. But the question is: is quality as a goal an expense or an investment?
    • sublinear 17 hours ago
      "Quality", as you're referring to it, is often a strict requirement expected and enforced by regulation and contracts.

      In the past, I could have just easily said that there's more code out there online than I could ever hope to write. There's simply no value in gluing that code together mindlessly or even probabilistically. All the value of code is in gluing it together intentionally as an organization. The value is in knowing the precise results including all side effects.

      Let's call this type of AI development what it really is. It's an attempt to jiggle the wrong key in the door. You're trying to circumvent existing standards for profit and then launder blame for it.

  • tomrod 20 hours ago
    Informative thought process here. Pre-committing benchmarks to measure real efficiency gains might have helped, but hands-off complex rewrites are still not shovel ready.
    • rob74 19 hours ago
      > hands-off complex rewrites are still not shovel ready

      ...which is a bit disappointing, actually. I mean, if you give an AI agent the complete code for a working application (ideally including tests), it should be able to translate it into an equivalent application in another language. I can understand if it makes mistakes because of ambiguous or incomplete prompts etc., but for this task you shouldn't even need a prompt, any information it might need is right there in the code?

      • CoolestBeans 19 hours ago
        Agreed. You would expect this to be a task that AI has a massive advantage over humans as it has both the testing suite to keep it on track and has the source implementation to reference. The classic failure case for agents is that as the task increases in complexity, it requires more steps to complete. With each step there's a chance for error. As errors accumulate, they become more likely. With verification functions, like test suites or comparison to some source, the agent is more likely to catch errors and recover.

        So porting should be perfect conditions for an AI agent. It has the testing suite. It has the original implementation. Hell, it can A/B the original with its working copy and attach the original to a debugger.

        So yeah I dunno. I guess despite some people's rhetoric on this site we shouldn't underestimate how difficult these tasks are "in the real world" (as opposed to like a game port which doesn't have real money on the line so far). And it is kind of a miracle these tools can even get in the ballpark and fool a lot of people.

      • pjm331 12 hours ago
        Yes I have just started dabbling in some harness evals where the task is translating the RealWorld “mother of all demos” app, maybe one of the most translated apps of all time, and they cannot reliably 100% it
  • duncangh 18 hours ago
    My preference is to not think, then act and then perpetually think about what I should have done instead
    • Waterluvian 18 hours ago
      It’s easier to beg for forgiveness than figure out the right thing to do first. Unless you’re going to the moon.
  • lordnacho 17 hours ago
    It's not clear how the re-writes were done.

    If it were me, I would start by getting a summary of what problems the existing solution solves. I would also make sure that summary had the non-functional requirement. Maybe write a test suite that opens the page and does all the stuff.

    Then ask the LLM to implement in another language, with those solutions in mind, but first coming up with reasons why the target language might not be as good, and where it might have useful features that the original language didn't. Use the test suite to check if things are working.

    I honestly don't think you would land far away. You would have to answer a few questions along the way, but it would mostly be plain sailing.

    I would expect to be able to do this with very little human attention, whereas a language rewrite two years ago might take a whole month, not including learning the new language.

  • softwaredoug 17 hours ago
    These articles IMO suffer from good data. It seems we could probably at this point study open source projects longitudinally and see what we learn depending on their AI policies. Are there patterns in stability? Bugginess? Performance? Readability? Etc.
  • tiemster 18 hours ago
    Or as someone in 2025 said..."it's better to be competent".
    • tediousgraffit1 17 hours ago
      came here looking for someone to point this out. the flip from "it's more fun to be competent" to "just let the machine do it for you" has told me everything I ever need to know about DHH. The man has no principles.
      • queenkjuul 14 hours ago
        Well, not when it comes to tech at least. Outside tech he has principles, and they're terrible
  • tripleee 19 hours ago
    My suspicion is DHH is intentionally creating controversy to drive interest to Omarchy

    If he truly believed in the idea of never reading the code, he'd fire all his developers and have the designers do it all - create very high level feature descriptions and iterate on them. Put your money where your mouth is

    • ricardobeat 15 hours ago
      "Not reading the code" does not mean not knowing what the code should do, or how to probe it for correctness. Getting good outcomes from AI-generated code requires knowing exactly what to do.
    • xyzsparetimexyz 15 hours ago
      You're giving him too much credit. He's just a llm psychosis idiot.
    • easton 16 hours ago
      I think he said the agents couldn’t make features in their existing codebases as well as in new ones, so he needed devs to still work on Basecamp. Maybe that has changed.
      • tripleee 16 hours ago
        That would be very odd. Agents work better in codebases with established conventions
    • baobabKoodaa 17 hours ago
      Don't give him any ideas
  • facundo_olano 16 hours ago
    > If you want a reliable system you should know when to fail

    I think the main problem is that most people pushing for heavy AI delegation either

    1. Don’t really care about system reliability or 2. Don’t understand the difference between code and system, and assume that a system must be reliable if some automated checks pass

    • efficax 15 hours ago
      one can test at the system level as well, and llms make it easier
      • geraneum 14 hours ago
        “Hey claude, test at system level. Don’t make mistakes”
  • wuhhh 19 hours ago
    Really appreciate the time taken to dig into this with solid improvements to boot, great work
  • royal__ 18 hours ago
    "If you looked at the code, and yeah, I know, we should not be reading code anymore"

    I'm pretty sure this is sarcasm, but it's also a major factor in what differentiated slop from non-slop AI work: did a developer actually take the time to review and clean up generated code. Which is, itself, an extremely time consuming process

  • Tractor8626 17 hours ago
    I agree what you have to think. But example is kind bad.

    We got strictly better version of application for cheap. What is there even to complain about?

    • dsjoerg 16 hours ago
      When you read the article you’ll see it gives numerous examples. Eg “The Rust version doesn't maintain 100% backwards compatibility, for example it drops the CSRF token so that caching is easier”
      • Tractor8626 8 hours ago
        This particular quote doesn't make any sense. This is not what "backward compatibility" means. Is there a bug or does it just do thing differently so benchmark is not "fair"?
  • RobRivera 18 hours ago
    smokes cigarette

    Life, eh?

  • thomascountz 19 hours ago
    This post resonates a lot with me and my approach to counter the idea that an LLM (as amazing as a tool it is) gives programmers permission to stop engineering. To me, executing a decision in the face of trade-offs is what the job is all about.

    So, I want to keep pulling the thread: is it worth reading—meaning, understanding—the code in order to prevent p95 latency from skyrocketing, avoid OOM death, and keep our apps reliable for customers?

    The cost of understanding the code is ostensibly very high relative to just using a clanker (citation needed), so does paying that cost translate to value—what is it worth? Concretely, if vibe coding increases bugs and enshittification, but decreases spending without decreasing revenue (read: customers suffer, but they don't leave), do we still need to pay the cost of reading code? Is it better to invest in stickiness, lobbying, and market capture?

    This comment shouldn't be read as advocating for this; it's a thought experiment about pragmatism and trade-offs, and reflects what I'm witnessing companies (and "programmers") asking themselves. I personally care a lot about understanding systems and code, and I believe I'm paid to do exactly that (I very much enjoy understanding code and nobody is paying me to run a business, so I may be biased in this). In everyday SaaS-land—not talking about critical safety systems—we've seen production databases destroyed, personal data leaked, platforms unwittingly exploited, and UX bugs creep into our operating systems, and yet the companies involved keep on keeping on.

    Is thinking, meaning taking the time to actually understand what our systems are doing, going to increase their shareholder value?

    • as1mov 19 hours ago
      > (read: customers suffer, but they don't leave), do we still need to pay the cost of reading code? Is it better to invest in stickiness, lobbying, and market capture?

      Translating this from Linkedin-speak: Is it okay to subject our users to shitty software and while we use the money saved to bribe politicians, circumvent laws and buy our competitors to kill them?

      • thomascountz 18 hours ago
        I don't generally think of myself as cynical, but yeah; this is what people in our industry seem to be asking.
    • dimbletimbers 16 hours ago
      I feel like the AI debate is our last best chance to agree that human values are more important and have higher long-term utility (to humans) than pure financial maximization. I think it’s very very likely that money does not capture or convert to a large subset of morally good choices we can and should make to be happy.
    • oulipo 19 hours ago
      I agree. I'm using AI on a mid-complexity system (IoT devices, encryption, concurrency, etc) and the number of errors / bad decisions taken "at first" by the AI (or if I don't guide it precisely enough) is huge, and I can only imagine how feeble and unmaintainable an entire codebase done without review from a senior coder would be
  • wilg 19 hours ago
    I think attempting few-shot agentic ports of an app as an exercise and having the results not be perfect is really a referendum on thinking or using AI in coding in any particularly meaningful way.
  • titzer 16 hours ago
    The quality of anything is proportional to the time people spend paying attention to quality measures they care about. If you care about the quality of the code (and I am extremely bimodal about when I do and do not), then spending time looking at the code, whether said code is written by a clanker or a coworker, will lead to tinkering with and improving it. If you care about UI functionality, and you spend time tweaking the UI functionality, then it will get better. If you care about performance, and you spend time measuring, displaying, improving, it will get better.

    Clanker code is no exception. Slop is slop because it's low effort.

    There are projects I've put most of my career into (necessarily pre-AI), and those I definitely care about the code quality. I look at every line and I don't take clanker code without going around the mill a few times with it. There are lots of things in the code I like and things I don't like and want to refactor. I care about the code quality. But there are projects I've put only weeks or month into, and some only minutes. For most of my vibe-coded projects, I've only cursorily glanced at the code. For these projects I don't care about code quality as much as the architecture and interaction. The ones where I consistently tweak it to work how I want are...just better.

  • indrex 20 hours ago
    I had to google “clanker”.
    • habinero 19 hours ago
      There's a youtuber I watch who's playing through Zero Company, and I was very amused to hear NPCs yell "clanker" at enemy droids.
      • swiftcoder 17 hours ago
        Pretty sure the term was popularised by the Clone Wars animated series. I was always hoping we'd go the BSG route, and call them "toasters"
      • cindyllm 16 hours ago
        [dead]
    • purerandomness 19 hours ago
      You're one of today's lucky 10,000 [0]

      [0] https://xkcd.com/1053/

    • antonvs 20 hours ago
      For me it’s a strong indicator that we’re not going to hear any serious thought from someone that uses it. It’s part of a herd behavior, to signal an ideological position.
      • nostrebored 20 hours ago
        lol what are you talking about, clanker is a pretty ubiquitous term in sf right now
        • sailfast 20 hours ago
          Your statement proves the point more than disproves it tbh.
        • antonvs 20 hours ago
          That only supports my point.
          • Rexxar 19 hours ago

              >  It’s part of a herd behavior, to signal an ideological position.
            
            You can just use a word that other use in order to be understood by them, not to signal anything.
            • antonvs 19 hours ago
              It’s ideological in that it’s generally used by people that are anti-AI, or are trying to call out some perceived problem with AI.

              In my experience, as I alluded to, it’s not commonly used by people who are thinking seriously for themselves about the benefits, risks, and consequences of AI and the economic activity surrounding it.

              • mbeex 19 hours ago
                > It’s ideological in that it’s generally used by people that are anti-AI

                It's much more nuanced, after all. Example:

                https://lucumr.pocoo.org/2026/5/26/clankers/

                • antonvs 17 hours ago
                  That article only confirms what I’m saying. The author is describing their personal perspective on the word, but that’s not how it’s used in general, which is why the author received pushback on their undocumented and idiosyncratic usage.
              • queenkjuul 13 hours ago
                Lol idk about that, some of the biggest AI fans at work use it. It's just common slang now, you're assigning too much to it
              • nostrebored 15 hours ago
                I literally run an AI startup; we all talk about the clankers and have for more than a year
          • habinero 19 hours ago
            Lighten up, dude, it's a joke.
            • antonvs 17 hours ago
              I’m never going to “lighten up” about anti-intellectual Luddites who try to use social coercion to suppress intellectual progress.
  • IshKebab 20 hours ago
    I dunno. You still have to test, but in my experience if I noticed unreliability during high load I could just tell Claude "I noticed unreliability during high load" and it would easily have set up a high load benchmark, discovered this broadcast channel issue and fixed it.

    It definitely improves the results if you do think but I don't think "you still have to think" is a safe space that's going to save us from unemployment.

    • B56c 19 hours ago
      Author is saying that some decisions aren't as obvious as "my code should be reliable under high load". Some decisions are tradeoffs that require you to have domain/technical expertise to answer.
      • skydhash 19 hours ago
        And some do require design thinking. Like sndio or alsa, drm, caddy, … With no domain expertise and technical knowledge, a lot of software are out of scope.
    • catlifeonmars 19 hours ago
      > It definitely improves the results if you do think but I don't think "you still have to think" is a safe space that's going to save us from unemployment.

      Who said anything about saving people from unemployment?

      > I noticed unreliability during high load

      This is pretty ambiguous. You still need to provide more context, such as which failure modes you are trying to benchmark.

  • bitwize 7 hours ago
    (in Homer Simpson voice) You still have to think... so far!

    But let's face it. I'm calling it right now: these are the twilight days of the "hacker culture". It's gotten us this far, and given us great things like Linux and the internet. But frontier models are already capable of solving medium-sized engineering problems in reasonable ways, including all the architectural decisions. You still need a few people with engineering chops, perhaps principal level or systems engineers, to guide the overall architecture of the system as a whole and make sure the pieces the LLMs build align and fit together correctly. Within a year or two, not even they will be needed. We're already past the threshold beyond which careful human review of LLM-generated code is impractical; the LLM spews it out so quickly that the human becomes the bottleneck, and reviewing all that code is more tedious and time-consuming than if a human had reviewed it in the first place! So the most efficient thing is for agentic loops to separately generate and scrutinize the code, with the generators and critics not sharing a context window.

    Hackers are obsolete. Whether you're talking about the Richard Stallman variety or the Kevin Mitnick variety. Everything they do, a machine will be able to do presently, if it is not already. And the machine will be faster and more thorough. The suits and marketroids they viewed with such disdain, have won. They have been trying to build software factories since the 1970s. That dream is within reach. Our skills, traditions, and lore are being replaced with a sort of goetic demonology: knowledge about this month's correct way to invoke the demon, command it so it will do what you want, and bind it so it doesn't escape the circle cast on the floor and delete your production database.

    And it's not just programming. Mathematics has already fallen; the hard sciences will too on a time horizon of about 10-15 years tops. Anthropic is setting up a wet lab; the biologists therein will pretty much act as peripherals to Claude, who will devise the experiments and analyze the data. As soon as we give the LLMs robot bodies, it will be needless—and woefully inefficient—for humans to invent anything at all. We're accelerating towards something. Whether it's Iain M. Banks's Culture or utter disaster I'm not sure which, but there's no stopping the train now.

  • sergiotapia 19 hours ago
    I feel a bit sad DHH did the elixir one so dirty. It's the only language with the rule to follow rails to the T and of course Elixir can fly and be incredibly powerful without redis and other bullshit. It feels deliberately hamstrung. Almost maliciously because heavy hitters like Jose Valim have told him about this and he just ignores it.

    Not a good look tbh

    • sagarm 18 hours ago
      All that requires _effort_. A stunt where you AI-translate a library into multiple languages is clearly not a context where you'll see that kind of effort applied.
      • Fr0styMatt88 16 hours ago
        Yeah, someone should just do an Elixir port that blows his out of the water if they really want to prove the point, with benchmark numbers.
  • Mawr 18 hours ago
    Oh wow, he's actually delusional:

    "I didn't do anything. I asked two frontier agents to make the most of Elixir and this is what they came up with. Please do send a PR to speed things up! But also realize that it's not exactly extra points for Elixir if frontier agents can't find the magic "go fast" switches."

    https://x.com/dhh/status/2106864061832991134

    • swiftcoder 17 hours ago
      > Oh wow, he's actually delusional

      <astronaut always has been meme>

  • MotoriX 2 hours ago
    [dead]
  • PivoGraph 11 hours ago
    [flagged]
  • mohamed01121986 5 hours ago
    [flagged]
  • kennysve 17 hours ago
    [flagged]
  • adityaships 19 hours ago
    [flagged]
  • kydanet 16 hours ago
    [flagged]
  • 666illuminati 17 hours ago
    [dead]
  • heaney-555 14 hours ago
    >This is because a whole lot of questions don't have a single correct answer. Do we want to keep backwards compatibility? Do we care more about latency or throughput? How much memory can the system use under load? Is loosing new content notifications after a crash acceptable?

    This hasn't been the case for months now. In Codex, if the model is having trouble understanding what you meant, it will ask you followup questions before going ahead.

    I have personally encountered GPT-6 Astra ask these exact questions before proceeding!

    Like most criticism of AI, this is woefully outdated.