I actually used ChatGPT to solve a coding problem today

The following originally appeared as a post on my YouTube channel.

Trigger warning: not entirely negative stuff about A.I.

I have the script written for the first half of my “5-String Bass Showdown” video (the second half will be unscripted), but I may not get around to making that video this weekend, because one half of my “day job” (indie WordPress plugin developer) is bleeding over into my video time.

I spent about 10 hours sitting in front of my computer today. The first half of that was beating my head against the wall over an extremely obscure problem I was having with Block Editor development. (I am an old school PHP developer and I have never bothered to learn React, so I keep the dev side of the Block Editor at arm’s length.)

Anyway… after literally 5 hours of almost no progress, beyond homing in on exactly where, but not what, the problem was, and getting nowhere reading 6-year-old GitHub discussion threads and even older StackOverflow threads, I finally resorted to…

Asking ChatGPT. (With DuckDuckGo’s Duck.ai as an intermediary, of course.)

Luckily I had gotten to the point where I could succinctly state in one sentence exactly where I was stuck, and provide ChatGPT with the relevant JavaScript function from my code.

In less than 5 seconds, it returned a cogent explanation of why my code was having an issue, along with a minimally rewritten version of my function that solved the problem.

It even mimicked my somewhat idiosyncratic coding style.

As Dr. Gnome would say, “Uff da.”

After finally taking a break around 3 PM to eat lunch and ponder my existential crisis, I decided to throw a few of my other “back burner” issues at it. The first one, which I thought would be the simplest, ended up being unresolvable. Two others were simple code refactoring (JavaScript is not my strongest suit), and it knocked those out of the park.

So… I’ve come to realize, A.I. like ChatGPT does have a role in my work. It can be a good partner to troubleshoot and optimize the code I write in languages I don’t know like the back of my hand.

But to that end, I think of it in a very similar way to how I’m using the stem splitter in Logic. It’s a tool to streamline the things I already do, and fill in the gaps. But ultimately I still have to be the one doing the thinking.