Skip to main content

Debugging AI-Generated Code

ChatGPT generates code. 😎

It's buggy. 😭

What do you do?

If you're like me, you spend a whole day refining your prompt and testing the resultant code. Over and over. (Still better than spending days learning a new programming language.)

Tweak the language. Give more specific instructions. Describe the data in more detail.

Copy-paste. Run.

More bugs.

F$¢k.


Get desperate. Tell ChatGPT it sux.

👤Me: "Why is it producing more rows than expected?"

💻ChatGPT: "Oh, my bad. Didn't do the join operation properly. Here's a rework."

Hmm. Run it. Different error. But maybe we're onto something.

👤Me: "Why am I getting the error: <error>?"

💻ChatGPT: "Oh, my bad. Didn't properly instantiate and initialise the data structure. Here's a rework."

Hmm. Copy. Paste. Run. 

Mother of God, it works. 🤯

So what did we learn today, kids? 

ChatGPT doesn't just generate code (the easy bit). It also debugs compilation errors (the hard bit) and logic errors (the bash-your-head-on-the-desk bit). 

Programming this way changes from being instruction-focussed ("Do this, then that") to outcome-focussed ("Why are you giving me this, not that").

Is Generative AI going to take jobs? I don't know. It has, however, definitely saved work.

No Stack Overflow searches. No reading language references. No repurposing trivial examples. 

The AI does add another body into the coder-code-computer dance, but it would be a mistake to use it like a search engine with extra features, just as you wouldn't walk a plumber through fixing your tap. It's more like a conversation between customer (me) and coder (AI). Programming is still iterative, trial-and-error, but now driven as much by the AI as by you.

Comments

Popular posts from this blog

Firefox History Statistics - Extracting from Places.sqlite

If you want to take a look at Firefox surfing activity, the about:me add-on is a good start. However, it presents only one view of data and is thus limited in its ability to present more detailed statistics. We will view that data in a different program. So let's first extract it from the browsing history stored in the Places.sqlite file into a CSV file using a Firefox add-on. Step 1 - Locate and copy Places.sqlite to a working location On Windows machines, Places.sqlite is found in a directory similar to: C:\Users\User1\AppData\Roaming\Mozilla\Firefox\Profiles\ .default\places.sqlite Copy the file to another location. The database will be locked while using Firefox, and the SQLite plugin we will use to open it.

Scatterbox - build an Android Tor Socks Proxy Server

Cloak your location and create a firewall bypass device with a smartphone. 🕵Uses the Tor network . Does not require root. 1 - from Google Play, download and install: Orbot Orweb browser Socks Server Ultimate (Optional)

Bloomberg JSON data into Libreoffice Calc

LibreOffice Calc has no inbuilt stock market functions, and a popular plugin which offered those has stopped working along with changes to Yahoo Finance. Luckily, we can get the latest quotes from Bloomberg. [2018-12-15] Bloomberg Finance is, understandably, blocking multiple simultaneous requests. A more flexible solution is using a Python Stock Scraper .