Yes, agree. I mean GPT-4 is an all in all a fantastic tool, but it's especially good for developing. The moment you transform a blurry idea into structured data in any form (and it helps a lot with that: you can chat like two decent citizens and ask it to transform it to json at any given time), you can pretty much generate infinite boilerplate that's consistent through a whole application: interfaces > tables > migrations > models > forms > tests. But it goes way beyond crud, and during that iterative process you can come up with some sophisticated enhancement that you wouldn't have even entertained and all of a sudden it's easy to implement. It's great for longform code & structure generating conversations and it's great for picking up little details that would have taken the most of the afternoon. I'm in awe, really (as is everybody else?).

And yes, it does make mistakes, very rarely, and you can't really upload the whole source code everytime you want to talk with it, but it makes the programming dream real again (if only for a couple years lol): is not like you don't _type_; there's so many things you stop thinking about. And you can say: oh, there's the catch, but the truth is my own buffer is so much freer all the time, I get to tweak files, with excitement, that a couple months ago would have been very tedious to get a grasp of. And about code quality: its Elixir is alright, its Typescript is excellent, but it's absolutely flawless at concatenating unix commands: it has read all the man pages. I've aliased more custom commands these couple weeks than in the whole of last year, and my workflow is getting tighter and tighter each day. There's just so much power into this thing.

I tried using ChatGPT a bit with the GPT4 model and it seems quite promising, but also very slow. When it's writing out the same function again with a change I asked for, it reminds me of the old days when connecting to a BBS with a 300 baud modem.

Am I doing it wrong somehow?

No, that's how it is. My MO is now I type in the question to the chat; go to another tab to google a bit on the background of the problem; by the time ChatGPT is done, I already know enough to have a reasonable idea about whether what it came up with is in the general direction of where I want to go. And if it is, I'm usually confident enough that it gets the details then mostly right.

One meta comment is that I would love for something like a Greasemonkey script that can automatically add some checkboxes or something that will then automatically add stock phrases to ChatGPT questions, like 'show me only the code', as I find that a lot of the intro fluff and the explanation of things are useless to me and just take up time. In general, the UI is pretty bare bones, there's a world to be gained there.

Check out alternatives like ChatWithGPT[0] or just the OpenAI chat playground[1], especially if you've gotten access to the GPT4 API. Populating the system message really makes a difference and you can enforce a lot of style of both code and output. The third party UIs also have a lot more bells and whistles.

[0] https://github.com/cogentapps/chat-with-gpt

[1] https://platform.openai.com/playground?mode=chat