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

Transcode to PSP using Handbrake

Source: Handbrake 0.9.9.5530 64-bit edition Target: (Phat) Playstation Portable PSP-1000 , System Software: 6.60 Many internet articles on how to transcode video to PSP using Handbrake have not worked for me. Even the most helpful are incomplete. I hope this post will help fill in the blanks. There is no longer any PSP preset for Handbrake, but from what I can gather, the preset had only limited success as the x264 encoder would change syntax and settings between versions. Other presets that may have worked before, like 'iPod' and 'Apple-Universal' now do not. Here is what worked for me, step by step:

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)

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.