Live data from Hacker News

Code is cheap. Show me the talk

nadh.in

201–210 of 237 posts

Re: Code is cheap. Show me the talk

#201

Earlier quoted context omitted.

That's a fair point, but AI can do much more than just provide you with an answer like a calculator. AI can explain the underlying process of manual computation and help you learn it. You can ask it questions when you're confused, and it will keep explaining no matter how off the topic you go. We don't consider tutoring bad for learning - quite the contrary, we tutor slower students to help them catch up, and advance…

You're assuming the students are reading any of this. They're not, they're just copy/pasting it.

Well, you can lead the horse to water, but you can't make him drink.

If you assume all students are lazy assholes who want to cheat the system, then I doubt there's anything that would help them learn.

Re: Code is cheap. Show me the talk

#202

Earlier quoted context omitted.

I've always said every line is a liability, its our job to limit liabilities. That has largely gone out the window these days.

A better formulation is "every feature is a liability". Taking it to the line of code level is too prescriptive. Occasionally writing more verbose code is preferable if it makes it easier to understand.

> A better formulation is "every feature is a liability". Taking it to the line of code level is too prescriptive.

Amount of code is a huge factor but maybe not the best wording here. It's more a thing of complexity where amount of code is a contributing metric but not the only one. You can very easily have a feature implemented in a too complex way and with too much code (esp. if an LLM generated the code but also with human developers). Also not every feature is equal.

> Occasionally writing more verbose code is preferable if it makes it easier to understand.

Think this is more a classic case of "if the metric becomes a goal it ceases to be a metric" than it being a bad metric per se.

Re: Code is cheap. Show me the talk

#203

I asked Codex to write some unit tests for Redux today. At first glance it looked fine, and I continued on. I then went back to add a test by hand, and after looking more closely at the output there were like 50 wtf worthy things scattered in there. Sure they ran, but it was bad in all sorts of ways. And this was just writing something very basic. This has been my experience almost every time I use AI: superficially…

I've always said every line is a liability, its our job to limit liabilities. That has largely gone out the window these days.

EWD 1036: On the cruelty of really teaching computing science (1988)

“My point today is that, if we wish to count lines of code, we should not regard them as ‘lines produced’ but as ‘lines spent’: the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger.”

Re: Code is cheap. Show me the talk

#204
post #48

I think if your job is to assemble a segment of a car based on a spec using provided tools and pre-trained processes, it makes sense if you worry that giant robot arms might be installed to replace you. But if your job is to assemble a car in order to explore what modifications to make to the design, experiment with a single prototype, and determine how to program those robot arms, you’re probably not thinking about…

A software engineer with an LLM is still infinitely more powerful than a commoner with an LLM. The engineer can debug, guide, change approaches, and give very specific instructions if they know what needs to be done. The commoner can only hammer the prompt repeatedly with "this doesn't work can you fix it". So yes, our jobs are changing rapidly, but this doesn't strike me as being obsolete any time soon.

A "commoner"... Could you possibly be more full of yourself?

Re: Code is cheap. Show me the talk

#205

Earlier quoted context omitted.

That's a fair point, but AI can do much more than just provide you with an answer like a calculator. AI can explain the underlying process of manual computation and help you learn it. You can ask it questions when you're confused, and it will keep explaining no matter how off the topic you go. We don't consider tutoring bad for learning - quite the contrary, we tutor slower students to help them catch up, and advance…

You're assuming the students are reading any of this. They're not, they're just copy/pasting it.

Also so much of the LLMs answer is fluff, when not outright wrong

Re: Code is cheap. Show me the talk

#206
post #48

Earlier quoted context omitted.

A software engineer with an LLM is still infinitely more powerful than a commoner with an LLM. The engineer can debug, guide, change approaches, and give very specific instructions if they know what needs to be done. The commoner can only hammer the prompt repeatedly with "this doesn't work can you fix it". So yes, our jobs are changing rapidly, but this doesn't strike me as being obsolete any time soon.

A "commoner"... Could you possibly be more full of yourself?

That was literally the opposite of my intention. Maybe the choice of word wasn't perfect, but basically, I was trying to highlight that domain expertise is still valuable in the specific scenario of software engineering.

The same could be said about any other job, if you put me against a construction worker and give us both expensive power tools, he will still do a better job than me because I have no experience in that domain.

Re: Code is cheap. Show me the talk

#207

Earlier quoted context omitted.

I actually have used other LLMs to review the code, in the past (not today, but in the past). It's fine, but it doesn't tend to catch things like "this technically works but it's loading a footgun." For example, the redux test I was mentioning in my original post, the tests were reusing a single global store variable. It technically worked, the tests ran, and since these were the first tests I introduced in the code…

how long ago was this past? A review with latest models should absolutely catch the issue you describe, in my experience.

Ah, "It's work on my computer" edition of LLM.

Re: Code is cheap. Show me the talk

#208

I asked Codex to write some unit tests for Redux today. At first glance it looked fine, and I continued on. I then went back to add a test by hand, and after looking more closely at the output there were like 50 wtf worthy things scattered in there. Sure they ran, but it was bad in all sorts of ways. And this was just writing something very basic. This has been my experience almost every time I use AI: superficially…

This is how you do things if you are new to this game. Get two other, different, LLMs to thoroughly review the code. If you don’t have an automated way to do all of this, you will struggle and eventually put yourself out of a job. If you do use this approach, you will get code that is better than what most software devs put out. And that gives you a good base to work with if you need to add polish to it.

> If you do use this approach, you will get code that is better than what most software devs put out. And that gives you a good base to work with if you need to add polish to it.

If you do use this approach, you'll find that it will descend into a recursive madness. Due to the way these models are trained, they are never going to look at the output of two other models and go "Yeah, this is fine as it is; don't change a thing".

Before you know it you're going to have change amplification, where a tiny change by one model triggers other models (or even itself) to make other changes, which triggers further changes, etc ad nauseum.

The easy part is getting the models to spit out working code. The hard part is getting it to stop.

Re: Code is cheap. Show me the talk

#209

Code, talk, who cares. Show me the product. If it works and is useful I will incorporate it into my life. Ultimately no one cares how the sausage is made.

> Ultimately no one cares how the sausage is made. Yeah...now that prompt injection is a fact of life and basically unsolvable - we can't really afford this luxury anymore.

[deleted]

Re: Code is cheap. Show me the talk

#210

I asked Codex to write some unit tests for Redux today. At first glance it looked fine, and I continued on. I then went back to add a test by hand, and after looking more closely at the output there were like 50 wtf worthy things scattered in there. Sure they ran, but it was bad in all sorts of ways. And this was just writing something very basic. This has been my experience almost every time I use AI: superficially…

I've always said every line is a liability, its our job to limit liabilities. That has largely gone out the window these days.

Agreed, every line you ship,whether you wrote it or not, you are responsible. In that regard, while I write a lot of code completely with AI, I still endeavor to keep the lines as minimal as possible. This means you never write both the main code and the tests using AI. Id rather have no tests than AI tests (we have QA team writing that up). This kinda works.
Post reply on HN