Remix.run Logo
comrade1234 17 hours ago

Having an AI is like having a dedicated assistant or junior programmer that sometimes has senior-level insights. I use it to do tedious tasks where I don't care about the code - like today I used it to generate a static web page that let me experiment with the spring-ai chat bot code I was writing - basic. But yesterday it was able to track down the cause of a very obscure bug having to do with a pom.xml loading two versions of the same library - in my experience I've spent a full day on that type of bug and Claud was able to figure it out from the exception in just minutes.

But when I've used AI to generate new code for features I care about and will need to maintain it's never gotten it right. I can do it myself in less code and cleaner. It reminds me of code in the 2000s that you would get from your team in India - lots of unnecessary code copy-pasted from other projects/customers (I remember getting code for an Audi project that had method names related to McDonalds)

I think though that the day is coming where I can trust the code it produces and at that point I'll just by writing specs. It's not there yet though.

zazibar 4 hours ago | parent | next [-]

>I think though that the day is coming where I can trust the code it produces and at that point I'll just by writing specs. It's not there yet though.

Must be nice to still have that choice. At the company I work for they've just announced they're cancelling all subscriptions to JetBrains, Visual Studio, Windsurf, etc. and forcing every engineer to use Claude Code as a cost-saving measure. We've been told we should be writing prompts for Claude instead of working in IDEs now.

DennisP 37 minutes ago | parent | next [-]

Even if you're using Claude, canceling the IDEs might be poor strategy. Steve Yegge points out in his book that the indexing and refactoring tools in IDEs are helpful to AIs as well. He mentions JetBrains in particular as working well with AI. Your company's IDE savings could be offset by higher token costs.

kubb an hour ago | parent | prev | next [-]

Thoughts and prayers.

swader999 2 hours ago | parent | prev | next [-]

I didn't renew Jet Brains this month. Been a loyal customer and would have quit jobs from 2008 onwards without it.

the_real_cher 3 hours ago | parent | prev | next [-]

Thats insane!

GoblinSlayer 3 hours ago | parent | prev [-]

Isn't Visual Studio a one time purchase?

DennisP 22 minutes ago | parent | prev | next [-]

I'm halfway through Steve Yegge's book Vibe Coding. Yegge was quoted in the article:

> “We’re talking 10 to 20 — to even 100 — times as productive as I’ve ever been in my career,” Steve Yegge, a veteran coder who built his own tool for running swarms of coding agents

That tool has been pretty popular. It was a couple hundred thousand lines of code and he wrote it in a couple months. His book is about using AI to write major new projects and get them reliable and production-ready, with clean, readable code.

It's basically a big dose of solid software engineering practices, along with enough practice to get a feel for when the AI is screwing up. He said it takes about a year to get really good at it.

(Yegge, fwiw, was a lead dev at Amazon and Google, and a well-known blogger since the early 2000s.)

thangalin 6 hours ago | parent | prev | next [-]

Syntax highlighting rules, initially vibe-coded 40 languages and formats in about 10 minutes. What surprised me is when it switched the design from a class to the far more elegant single line of code:

    return \file_exists( $file ) ? require $file : [];
* https://repo.autonoma.ca/repo/treetrek/blob/HEAD/render/High...

The rules files:

* https://repo.autonoma.ca/repo/treetrek/tree/HEAD/render/rule...

triyambakam 7 hours ago | parent | prev | next [-]

This is the take when you haven't really tried driving these tools with much practice

nickjj 29 minutes ago | parent [-]

I don't think it's that

Here's an example from Gemini with some Lua code:

    label = key:gsub("on%-", ""):gsub("%-", " "):gsub("(%a)([%w_']*)", function(f, r) 
      return f:upper() .. r:lower() 
    end)

    if label:find("Click") then
      label = label:gsub("(%a+)%s+(%a+)", "%2 %1")
    elseif label:find("Scroll") then
      label = label:gsub("(%a+)%s+(%a+)", "%2 %1")
    end
I don't know Lua too well (which is why I used AI) but I know programming well enough to know this logic is ridiculous.

It was to help convert "on-click-right" into "Right Click".

The first bit of code to extract out the words is really convoluted and hard to reason about.

Then look at the code in each condition. It's identical. That's already really bad.

Finally, "Click" and "Scroll" are the only 2 conditions that can ever happen and the AI knew this because I explained this in an earlier prompt. So really all of that code isn't necessary at all. None of it.

What I ended up doing was creating a simple map and looked up the key which had an associated value to it. No conditions or swapping logic needed and way easier to maintain. No AI used, I just looked at the Lua docs on how to create a map in Lua.

This is what the above code translated to:

    local on_event_map = {
      ["on-click"] = "Left Click",
      ["on-click-right"] = "Right Click",
      ["on-click-middle"] = "Middle Click",
      ["on-click-backward"] = "Backward Click",
      ["on-click-forward"] = "Forward Click",
      ["on-scroll-up"] = "Scroll Up",
      ["on-scroll-down"] = "Scroll Down",
    }

    label = on_event_map[key]
IMO the above is a lot clearer on what's happening and super easy to modify if another thing were added later, even if the key's format were different.

Now imagine this. Imagine coding a whole app or a non-trivial script where the first section of code was used. You'd have thousands upon thousands of lines of gross, brittle code that's a nightmare to follow and maintain.

andoando 7 hours ago | parent | prev | next [-]

For any non professional work its there for me.

Wire up authentication system with sso. done Setup websockets, stream audio from mic, transcribe with elvenlabs. done.

Shit that would take me hours takes literally 5 mins.

leptons 7 hours ago | parent [-]

All that stuff would take me about 5 minutes without AI. Those are things with 10,000 examples all over the web. AI is good at distilling the known solutions. But anything even slightly out of the ordinary, it fails miserably. I'd much rather write that code myself instead of spend an hour convincing an AI to do it for me.

andoando 7 hours ago | parent | next [-]

There is absolutely no way. Those tasks take 5 mins to do. Itd be done by the time you read the documentation for elvenlabs

andoando 6 hours ago | parent | prev | next [-]

Im curious though, what do you consider slightly out of the ordinary that it fails to do?

lpnam0201 an hour ago | parent [-]

Haven't tried Claude for this, but I can't think how it could possibly do. I built a game bot using Win32 API to send input and screen capture to OCR and some OpenCV to recognize game elements. Dead simple and actually quite boring and repeatitive after I worked on it for a while. How could Claude agents possibly do this ? I did use Claude to refer docs and API, though.

DennisP 3 minutes ago | parent [-]

That actually sounds like something Claude could do pretty easily.

Yegge's book describes his coauthor's first vibe coding project. It went through screenshots he'd saved of youtube videos, read the time with OCR, looked up transcripts, and generated video snippets with subtitles added. (I think this was before youtube added subtitles itself.) He had it done in 45 minutes.

And using agents to control other applications is pretty common.

coldtea 5 hours ago | parent | prev | next [-]

>All that stuff would take me about 5 minutes without AI.

No, it wouldn't. Merely finding the examples and deps would take over an hour.

conartist6 4 hours ago | parent | next [-]

Back when, we'd just go write a blog post or SO answer so the next person wouldn't suffer as much.

Thank god THOSE days are over and everyone just lets everyone else suffer alone now

iijaachok 3 hours ago | parent | prev [-]

Yes, because search engines are populated with SEO-optimized LLM-filled articles that say nothing of value anymore. The only reason AI-assisted tools are "better" is because Web search is so much worse.

mexicocitinluez 16 minutes ago | parent [-]

It's like everyone forgot that the first result for anything web-related would be W3schools, and the next 5 would be spam message boards that tries to scrape all the other boards and sends you to a porn site when you click on it.

mexicocitinluez 18 minutes ago | parent | prev [-]

> All that stuff would take me about 5 minutes without AI.

There isn't a single person on this planet (detractor or not) that would believe this statement.

If you're argument rests on an insane amount of hyperbole (that immediately comes off as just lying), then maybe it's not a great argument.

> I'd much rather write that code myself instead of spend an hour convincing an AI to do it for me.

You're not suggesting that asking CC to build the UI for a route planner takes me an hour to type, are you?

kansface 7 hours ago | parent | prev [-]

I've generated 250KLoC this week, absolutely no changes in deps or any other shenanigans. I'm not even really trying to optimize my output. I work on plans/proposals with 2 or 3 agents simultaneously in Cursor while one does work, sometimes parallelized. I can't do that in less code and cleaner. I can't do it at all. Don't wait too long.

6 hours ago | parent | next [-]
[deleted]
zahlman an hour ago | parent | prev | next [-]

> I can't do that in less code and cleaner. I can't do it at all.

Can't do what, precisely?

habinero 6 hours ago | parent | prev | next [-]

> I've generated 250KLoC this week

It's horrifying, all right, but not in the way you think lol. If you don't understand why this isn't a brag, then my job is very safe.

coldtea 5 hours ago | parent | next [-]

If managers can't understand why this isn't a brag, then your job is hardly safe.

ajb 4 hours ago | parent | next [-]

Agents are new, but dumb coding practices are not. Despite what it may seem, the knowledge of how to manage development has increased. One practice I haven't seen for a while is managing by limiting the number of lines changed. (This was a dumb idea because rewriting a function or module is sometimes the only way to keep it comprehensible - I'm not talking about wholesale rewriting, I'm talking about code becoming encrusted with conditions because the devs are worried that changing the structure would change too many lines)

motbus3 4 hours ago | parent | prev [-]

Managers jobs are more at risk than senior engineers.

My company, and few others I know reduced the number of managers by 90% or more.

kakacik 3 hours ago | parent [-]

This. We moved to 'agile' roughly at same time llms started coming. You know who is mostly missing from the wider IT teams landscape now? Most of PMs and BAs, on purpose. Who is keeping their work - devs or more like devops, surprisingly testers (since our stuff seems ridiculously complex to test well for many use cases and we can't just break our bank by destroying production by fast half-assed deliveries).

And then admins/unix/network/windows/support team, nobody replacing those anytime soon. Those few PMs left are there only for big efforts requiring organizing many teams, and we rarely do those now.

I don't like it, chasing people, babysitting processes and so on, but certainly just more work for me.

sevenzero 3 hours ago | parent | prev [-]

Less is more, its not a hard thing to understand. These companies are accumulating record level tech debt.

mexicocitinluez 13 minutes ago | parent [-]

I use these tools a lot, and one thing that has stood out to me is that they LOVE to write code. A lot of it. And they're not super great at extracting the reusable parts. They also love to over-engineer things.

I've taken great pains to get by with as little code as possible, because the more code you have, the harder it is to change (obviously). And while there are absolutely instances in which I'm not super invested in a piece of code's ability to be changed, there are definitely instances in which I am.

slopinthebag 6 hours ago | parent | prev | next [-]

LOL that's it? I generated over 5 million lines of code this week. You need to step it up or you're gonna be left behind.

zahlman an hour ago | parent | next [-]

You mean, you don't have

  yes \; >> main.c
running in the background 24/7?
kubb 43 minutes ago | parent | prev | next [-]

I left an agent generating code over the weekend, so that I can get to 15 million.

What code? Code!

huflungdung 6 hours ago | parent | prev [-]

[dead]

MadxX79 6 hours ago | parent | prev [-]

Your developers were so preoccupied with whether or not they could, they didn't stop to think if they should (add 250kloc)

bot403 5 hours ago | parent [-]

I've worked with a type of (anti?) developer in my career that seems to only be able to add code. Never change or take it away. It's bizarre. There's some calculation bug, then a few lines down some code which corrects it instead of just fixing the original lines.

It's bizzare, and as horrible as you might imagine.

And it's been more than one or two people I've seen do this.

MadxX79 5 hours ago | parent | next [-]

Now they have agents.

People need to understand that code is a liability. LLMs hasn't changed that at all. You LLM will get every bit as confused when you have a bug somewhere in the backend and you then work around it with another line of code in the front end. line of code

GoblinSlayer 3 hours ago | parent [-]

They can always generate a new backend prototype from scratch.

pram 3 hours ago | parent | prev [-]

This sounds like some kind of learned risk aversion, like they don’t want to assume the responsibility of altering whats already there.