Tradeoffs
Tradeoffs
Tradeoffs
Offtopic: But when I was a kid, I was obsessed with the complex subway rail system in NYC, I keep trying to draw and map it out.
God, seriously. Recently I was iterating with copilot for like 15 minutes before I realized that it's complicated code changes could be reduced to an if
statement.
The key is identifying how to use these tools and when.
Local models like Qwen are a good example of how these can be used, privately, to automate a bunch of repetitive non-determistic tasks. However, they can spot out some crap when used mindlessly.
They are great for skett hing out software ideas though, ie try a 20 prompts for 4 versions, get some ideas and then move over to implementation.
Not to be that guy, but the image with all the traintracks might just be doing it's job perfectly.
Engineers love moving parts, known for their reliability and vigor
Might is the important here
It gives you the right picture when you asked for a single straight track on the prompt. Now you have to spend 10 hours debugging code and fixing hallucinations of functions that don't exist on libraries it doesn't even neet to import.
The one on the right prints “hello world” to the terminal
While being more complex and costly to maintain
Depends on the usecase. It's most likely at a trainyard or trainstation.
If you know what you're doing, AI is actually a massive help. You can make it do all the repetitive shit for you. You can also have it write the code and you either clean it or take the pieces that works for you. It saves soooooo much time and I freaking love it.
I turned on copilot in VSCode for the first time this week. The results so far have been less than stellar. It's batting about .100 in terms of completing code the way I intended. Now, people tell me it needs to learn your ways, so I'm going to give it a chance. But one thing it has done is replaced the normal auto-completion which showed you what sort of arguments a function takes with something that is sometimes dead wrong. Like the code will not even compile with the suggested args.
It also has a knack for making me forget what I was trying to do. It will show me something like the left side picture with a nice rail stretching off into the distance when I had intended it to turn, and then I can't remember whether I wanted to go left or right? I guess it's just something you need to adjust to. Like you need to have a thought fairly firmly in your mind before you begin typing so that you can react to the AI code in a reasonable way? It may occasionally be better than what you have it mind, but you need to keep the original idea in your head for comparison purposes. I'm not good at that yet.
Try Roocode or Cline with the Claude3.7 model. It's pretty slick, way better than Copilot. Turn on Memory Bank for larger projects to reduce the cost of tokens.
I don't mess with any of those in-IDE assistance. I find then very intrusive and they make me less efficient. So many suggestions pop up and I don't like that, and like you said, I get confused. The only time I thought one of them (codium) was somewhat useful is when I asked it to make tests for the file I was on. It did get all the positive tests correct, but all the negative ones wrong. Lol. So, I naturally default to the AI in the browser.
That's the thing, it's a useful assistant for an expert who will be able to verify any answers.
It's a disaster for anyone who's ignorant of the domain.
Tell me about it. I teach a python class. Super basic, super easy. Students are sometimes idiots, but if they follow the steps, most of them should be fine. Sometimes I get one who thinks they can just do everything with chatgpt. They'll be working on their final assignment and they'll ask me what a for loop is for. Than I look at their code and it looks like Sanscrit. They probably haven't written a single line of code in those weeks.
If you're having to do repetitive shit, you might reconsider your approach.
Depending on the situation, repetitive shit might be unavoidable
Usually you can solve the issue by using regex, but regex can be difficult to work with as well
Nah, I'm good the way I do things. I have a good pace that has been working out very well for me :)
I've been trying to use aider for this, it seems really cool but my machine and wallet cannot handle the sheer volume of tokens it consumes.
It's taken me a while to learn how to use it and where it works best but I'm coming around to where it fits.
Just today i was doing a new project, i wrote a couple lines about what i needed and asked for a database schema. It looked about 80% right. Then asked for all the models for the ORM i wanted and it did that. Probably saved an hour of tedious typing.
I'm telling you. It's fantastic for the boring and repetitive garbage. Databases? Oh hell yeah, it does really well on that, too. You have no idea how much I hate working with SQL. The ONLY thing it still struggles with so far is negative tests. For some reason, every single AI I've ever tried did good on positive tests, but just plain bad in the negative ones.
Shhhh! You're not supposed to rock the AI hate boat.
I hate the ethics of it, especially the image models.
But frankly it's here, and lawyers were supposed to have figured out the ethics of it.
I use hosted Deepseek as an FU to OpenAI and GitHub for stealing my code.
Lmao. I don't give a shit. I've been saving a ton of time ever since I started using it. It gobbles up CSS, HTML and JS like hotcakes, and I'm very much ok with that.
I don't understand how build times magically decrease with AI. Or did they mean built?
They mean time to write the code, not compile time. Let's be honest, the AI will write it in Python or Javascript anyway
I think I would more picture planes taking off those railroads when it comes to AI. It tends to hallucinate API calls that don't exist. if you don't go check the docs yourself you will have a hard time debugging what went wrong.
You can instantly get whatever you want, only it’s made from 100% technical debt
That estimate seems a little low to me. It's at least 115%.
even more. The first 100% of the tech debt is just understanding "your own" code.
Im looking forward in the next 2 years when AI apps are in the wild and I get to fix them lol.
As a SR dev, the wheel just keeps turning.
I'm being pretty resistant about AI code Gen. I assume we're not too far away from "Our software product is a handcrafted bespoke solution to your B2B needs that will enable synergies without exposing your entire database to the open web".
It has its uses. For templeting and/or getting a small project off the ground its useful. It can get you 90% of the way there.
But the meme is SOOO correct. AI does not understand what it is doing, even with context. The things JR devs are giving me really make me laugh. I legit asked why they were throwing a very old version of react on the front end of a new project and they stated they "just did what chatgpt told them" and that it "works". Thats just last month or so.
The AI that is out there is all based on old posts and isnt keeping up with new stuff. So you get a lot of the same-ish looking projects that have some very strange/old decisions to get around limitations that no longer exist.
without exposing your entire database to the open web until well after your payment to us has cleared, so it's fine.
Lol.
Our gluten-free code is handcrafted with all-natural intelligence.
And then 12 hours spent debugging and pulling it apart.
And it still doesn't work. Just "mostly works".
A bunch of superfluous code that you find does nothing.
And if you need anything else, you have to use a new prompt which will generate a brand new application, it's fun!
That's not really how agentic ai programming works anymore. Tools like cursor automatically pick files as "context", and you can manually add them or the whole ckdebase as well. That obviously uses way more tokens though.
We're in trouble when it learns to debug.
It depends. AI can help writing good code. Or it can write bad code. It depends on the developer's goals.
LLMs can be great for translating pseudo code into real code or creating boiler plate or automating tedious stuff, but ChatGPT is terrible at actual software engineering.
Honestly I just use it for the boilerplate crap.
Fill in that yaml config, write those lua bindings that are just a sequence of lua_pushinteger(L, 1), write the params of my do string kind of stuff.
Saves me a ton of time to think about the actual structure.
My goal is to write bad code
It depends. AI can help writing good code. Or it can write bad code
I'll give you a hypothetical: a company is to hire someone for coding. They can either hire someone who writes clean code for $20/h, or someone who writes dirty but functioning code using AI for $10/h. What will many companies do?
And of course the ai put rail signals in the middle.
Chain in, rail out. Always
!Factorio/Create mod reference if anyone is interested !<
Give it time, eventually every project looks like the right.
I mean, not quite every project. Some of my projects have been turned off for not being useful enough before they had time to get that bad. Lol.
I suppose you covered that with given time, though.
I gave it a harder software dev task a few weeks ago... Something that is not answered on the internet... It was as clueless as me, but compared to me, it made up shit that could never work.
You can get decent results from AI coding models, though...
...as long as somebody who actually knows how to program is directing it. Like if you tell it what inputs/outputs you want it can write a decent function - even going so far as to comment it along the way. I've gotten O1 to write some basic web apps with Node and HTML/CSS without having to hold its hand much. But we simply don't have the training, resources, or data to get it to work on units larger than that. Ultimately it'd have to learn from large scale projects, and have the context size to be able to hold if not the entire project then significant chunks of it in context and that would require some very beefy hardware.
Generally only for small problems. Like things lower than 300 lines of code. And the problem generally can’t be a novel problem.
But that’s still pretty damn impressive for a machine.
But that’s still pretty damn impressive for a machine.
Yeah. I'm so dang cranky about all the overselling, that how cool I think this stuff is often gets lost.
300 lines of boring code from thin air is genuinely cool, and gives me more time to tear my hair out over deployment problems.
and only if you're doing something that has been previously done and publically released
Well, not exactly. For example, for a game I was working on I asked an LLM for a mathematical formula to align 3D normals. Then I couldn't decipher what it wrote so I just asked it to write the code for me to do it. I can understand it in its code form, and it slid into my game's code just fine.
Yeah, it wasn't seamless, but that's the frustrating hype part of LLMs. They very much won't replace an actual programmer. But for me, working as the sole developer who actually knows how to code but doesn't know how to do much of the math a game requires? It's a godsend. And I guess somewhere deep in some forum somebody's written this exact formula as a code snippet, but I think it actually just converted the formula into code and that's something quite useful.
I mean, I don't think you and I disagree on the limits of LLMs here. Obviously that formula it pulled out was something published before, and of course I had to direct it. But it's these emergent solutions you can draw out of it where I find the most use. But of course, you need to actually know what you're doing both on the code side and when it comes to "talking" to the LLM, which is why it's nowhere near useful enough to empower users to code anything with some level of complexity without a developer there to guide it.
OTOH humans did design the tracks in both images.