Live data from Hacker News

How I program with LLMs

crawshaw.io

321–330 of 342 posts

Re: How I program with LLMs

#321
post #52

One interesting bit of context is that the author of this post is a legit world-class software engineer already (though probably too modest to admit it). Former staff engineer at Google and co-founder / CTO of Tailscale. He doesn't need LLMs. That he says LLMs make him more productive at all as a hands-on developer, especially around first drafts on a new idea, means a lot to me personally. His post reminds me of an…

[dead]

Re: How I program with LLMs

#322
post #88

Earlier quoted context omitted.

> That he says LLMs make him more productive at all as a hands-on developer, especially around first drafts on a new idea, means a lot to me personally. There is likely to be a great rift in how very talented people look at sharper tools. I've seen the same division pop up with CNC machines, 3d printers, IDEs and now LLMs. If you are good at doing something, you might find the new tool's output to be sub-par over wha…

> If you are good at doing something, you might find the new tool's output to be sub-par over what you can achieve yourself, but often the lower quality output comes much faster than you can generate. That causes the people who are deliberate & precise about their process to hate the new tool completely Wow, I've been there ! Years ago we dragged a GIS system kicking and screaming from its nascent era of a dozen ultr…

This whole thing makes me think of that short story "The Machine Stops".

As we keep burrowing deeper and deeper into an overly complex system that allows people to get into parts of it without understanding the whole, we are edging closer to a situation where no one is left who can actually reason about the system and it starts to deteriorate beyond repair until it suddenly collapses.

Re: How I program with LLMs

#323
post #236

Earlier quoted context omitted.

I have also many years of programming experience and find myself strongly "accelerated" by LLMs when writing code. But, if you think at it, it makes sense that many seasoned programmers are using LLMs better. LLMs are a helpful tool, but also a hard-to-use tool, and in general it's fair to think that better programmers can do a better use of some assistant (human or otherwise): better understanding its strengths, ide…

Hey! Asking because I know you're a fellow vimmer [0]. Have you integrated LLMs into your editor/shell? Or are you largely copy-pasting context between a browser and vim? This context-switching of it all has been a slight hang-up for me in adopting LLMs. Or are you asking more strategic questions where copy-paste is less relevant? [0] your videos on writing systems software were part of what inspired me to make a com…

You want aider.

Re: How I program with LLMs

#324
post #88
post #52

One interesting bit of context is that the author of this post is a legit world-class software engineer already (though probably too modest to admit it). Former staff engineer at Google and co-founder / CTO of Tailscale. He doesn't need LLMs. That he says LLMs make him more productive at all as a hands-on developer, especially around first drafts on a new idea, means a lot to me personally. His post reminds me of an…

> That he says LLMs make him more productive at all as a hands-on developer, especially around first drafts on a new idea, means a lot to me personally. There is likely to be a great rift in how very talented people look at sharper tools. I've seen the same division pop up with CNC machines, 3d printers, IDEs and now LLMs. If you are good at doing something, you might find the new tool's output to be sub-par over wha…

Not so sure about those examples and pairing with the idea of quick and dirty work.

Re: How I program with LLMs

#325

Earlier quoted context omitted.

I have also many years of programming experience and find myself strongly "accelerated" by LLMs when writing code. But, if you think at it, it makes sense that many seasoned programmers are using LLMs better. LLMs are a helpful tool, but also a hard-to-use tool, and in general it's fair to think that better programmers can do a better use of some assistant (human or otherwise): better understanding its strengths, ide…

> "seasoned programmers are using LLMs better". I do not remember a single instance when code provided to me by an LLM worked at all. Even if I ask something small that cand be done in 4-5 lines of code is always broken. From a fellow "seasoned" programmer to another: how the hell do you write the prompts to get back correct working code?

Step 1: https://claude.ai

Step 2: Write out your description of the thing you want to the best of your ability but phrase it as "I would like X, could you please help me better define X by asking me a series of clarifying questions and probing areas of uncertainty."

Step 3: Once both Claude and you are satisfied that X is defined, say "Please go ahead and implement X."

Step 4a: If feature Y is incorrect, go to Step 2 and repeat the process for Y

Step 4b: If there is a bug, describe what happened and ask Claude to fix it.

That's the basics of it, should work most of the time.

Re: How I program with LLMs

#326

Earlier quoted context omitted.

That's the wrong approach. I use chat for things I don't know how to do all the time. I might not know how to do it, but I sure know how to test that what I'm being told is correct. And as long as it's not, I iterate with the chat bot.

A better way to phrase it might be don't use it for something that you aren't able to verify or validate.

Similar to a developer who copy-pastes sections of code from StackOverflow and puts their faith in it being correct. The bigger issue with LLMs is that it's easier to be tricked into thinking you actually understand the code when your understanding may actually be quite superficial.

Re: How I program with LLMs

#327
post #157

Earlier quoted context omitted.

Have you tried using Ollama? You can download and run an LLM locally on your machine. You can also pick the right model for the right need and it's free.

Yes. If the AI is not integrated with the IDE, it's not as helpful. If there were an IDE plugin that let you use a local model, perhaps that would be an option, but I haven't seen that (Github Copilot allows selecting different models, but I didn't check more carefully whether that also includes a local one, anyone knows?).

> If there were an IDE plugin that let you use a local model

TabbyML

Re: How I program with LLMs

#328
post #206

Earlier quoted context omitted.

What's the realistic attack scenario? Will Sam Altman steal your company's code? Or will next version of GPT learn on your secret sauce algorithms and then your competitors will get them when they generate code for their tasks and your company loses its competitive advantage? I'm actually sure that there are companies for which these scenarios are very real. But I don't think there's a lot of them. Most of the code o…

So why bother securing anything at all if not willing to secure the raisons d'être? Doesn’t that suggest that these companies are trivial entities?

Only if you see source code as the only valuable thing, which it isn't. The knowledge of the team, industry connections, experience etc etc are a big part of what make it so you can effectively use the source code.

We're making an industrial sorting machine. Our management is feared to death to lose the source code. But realistically, who's going to put in the time to fully understand a codebase we can barely grasp ourselves? Then get rid of all custom sensor mappings, paths and other stuff specific for us. And then develop on it further, assuming they even believe we have the "right" way of doing things?

Right, no one. 90% of companies could open source their stuff and, apart from legal nonsense, nothing practical will happen, no one will read the code.

Re: How I program with LLMs

#330

The killer feature about LLMs with programming in my opinion is autocomplete (the simple copilot feature). I can probably be 2-3x more productive as I'm not typing (or thinking much). It does a fairly good job pulling in nearby context to help it. And that's even without a language server. Using it to generate blocks of code in a chat like manner in my opinion just never works well enough in the domains I use it on.…

I had to turn autocomplete off. I value it when I want it, but otherwise it's such a distraction that it both slows me down, and actively irritates me. Perhaps I'm just an old man telling the LLM to get off my lawn, but I find it does bad things to my ability to concentrate on hard things. Having a good sense of when it would be useful, and invoking it on demand seems to be a decent enough middle ground for me. Much…

I absolutely love autocomplete in VSCode but hate it in Visual Studio while using the same LLM. The big difference for me is the function AcceptNextWord which Visual Studio doesn't have. A long autocomplete suggestion is rarely completely correct and becomes an annoying distraction but one or several words at the beginning of the suggestion are often correct. So, I usually accept only one or few words in VSCode with a hotkey, then type a bit more, then accept few words more etc. That works great for me. Also, I developed intuition in which pieces of code an LLM suggestion would be most probably useless, so I just ignore any suggestions there to avoid unnecessary distraction.

My guess is that many devs who don't like LLM autocomplete, are just unlucky to use a suboptimal UI. As an example, I personally don't understand how some people could like autocomplete in Visual Studio. As you said, it's just too distracting and irritating.

BTW, I use Codeium, not Copilot. But I guess they should have the same autocomplete UI which depends more on IDE than LLM.

Post reply on HN