04 October 2025

A Critique of My ChatGPT Experience: Three Weeks of Frustrating Coding Attempts

 


Discipline is hard. Using ChatGPT can be harder.

Over three weeks, I used ChatGPT as a partner for technical work. I am not a coder - but I do understand coding protocols and processes. Also (a VERY long time ago - I had previously learned Xenix (another form of Unix like Linux that Raspberry Pi uses).  I wanted to see if this particular Chatbot could help reduce time and be a true assistant. Those readers who follow me on a regular basis know that I do not subscribe to AI = Artificial Intelligence but rather it reads as Assisted Intelligence or perhaps Assistant Information. 

The scenario was this - how to build a robust ADS-B receiving station using a number of different systems that ranged from simple to quite complex. This post will detail things that will make a coder get angry. If you are not a coder you can still skim through this post and see examples.

  • Raspberry Pi setups (Pi2W, Pi3, Pi4, Pi5)
  • ADS-B receiver configs, 
  • Remote networking. 
  • Troubleshooting

I expected acceleration. 

What I found instead was friction — a system that made confident claims, ignored constraints, cut corners when detail was needed, and stubbornly repeated errors even after correction. 

Here are some of the results. (Your results may vary). 

1. Overconfidence Without Verification

I asked ChatGPT to point me to the latest Raspberry Pi Imager.

What it gave me:

sudo apt install rpi-imager

But that command didn’t install the newest version — it pulled an older package from the repository. Even after I explained this and specifically asked for the current official release, ChatGPT continued to reference outdated installs as if nothing had happened.

What I expected: a simple check like:

snap info rpi-imager

…with explicit confirmation of the version. That never came.

2. Context Blindness

        Keyboard contradiction: 

I told ChatGPT, “I have no keyboard connected to my Pi3.”Despite that, it repeatedly said things like:
  • “Just connect a keyboard and go into raspi-config.” Which was impossible in my setup. That’s not adapting to context — that’s ignoring it.

     Device blindness: 

  • I moved between a MacBook Pro, Pi2W, Pi4, and Pi5. ChatGPT didn’t track which device we were working on. At one point, it even suggested: “Plug in the Ethernet cable to test connectivity.” …on a Pi that had no Ethernet port.

3. Moving Ahead Too Fast

Instead of validating basics, ChatGPT skipped ahead. For instance, before verifying Wi-Fi connectivity, it said:

sudo apt update && sudo apt upgrade

…assuming the Pi was already online. When the update failed, I had to backtrack manually. A careful assistant would have said:

ping -c 3 1.1.1.1

“If this fails, stop here — you’re not connected yet.”

But ChatGPT rarely built in those checkpoints.

4. Shortcutting When Verbose Was Required

I asked for a full verbose walkthrough of setting up ADS-B software with readsb. What I got was a condensed “one-liner” like:

sudo apt install readsb

That’s the opposite of what I needed. What I wanted was:

# Add repository
sudo apt-add-repository ppa:xyz

# Update package list
sudo apt update

# Install readsb
sudo apt install readsb

# Check service status
systemctl status readsb

# View logs
journalctl -u readsb -n 50

Plus: what output to expect, and what to do if it didn’t appear. Instead, ChatGPT tried to “simplify,” which wasted literally so many hours. When confronted with a failure - the Chatbot just tries the next possible answer rather than going for full diagnosis. This is like a junior on highschool attempting coding for the first time. 

5. Inability to Course-Correct

When I hit networking errors like:

sudo piaware-config allow-mlat yes
sudo piaware-config allow-mlat-results yes
sudo systemctl restart piaware
warning: /etc/piaware.conf:4: unrecognized option mlat

ChatGPT’s response was to reword the same failing commands:

sudo piaware-config allow-mlat yes

…as if persistence would make it work. What I needed was:

  • A check of the installed version.

  • A pointer to official release notes.

  • An alternative approach if the command was deprecated.

Instead, I got stubborn repetition.

The Net Result: Stubborn Non-Learning

Patterns emerged:

  • Old versions kept resurfacing.

  • Constraints (like “no keyboard”) were ignored.

  • Validation steps were skipped.

  • Verbose detail was stripped down when explicitly requested.

  • Errors led to repeated dead ends, not adaptive solutions.

ChatGPT didn’t behave like a collaborator. It behaved like a stubborn manual that forgets what page you’re on. Believe me when I tell you that I have encountered many actual humans like this. Seems like ChatGPT has already got some pretty bad human characteristics.


How to Ameliorate These Failings

  1. Explicitly Declare Assumptions Up Front – Restate every time (“no keyboard,” “headless only,” “macOS host”). I know repetition can be a bore but do it. Even if you prepare a standard profile (aka a manual) from the design criteria - it will forget. 

  2. Build Instructions Around Assumptions – Force it into a checklist (device, OS, peripherals, constraints). Again pretty juvenile but this will save you many hours.

  3. Insert Verification Steps – Demand: “Run this, expect X. If not, stop.” 

  4. Reject Shortcuts – Verbose detail over simplification. 

  5. Expect Forgetfulness – Don’t assume ChatGPT “learns.” Assume it resets and plan around that. It does suffer from short term memory loss. 

The Real Critique

The gap isn’t just technical — it’s structural. ChatGPT is marketed as a “conversational partner.” In reality, it’s a forgetful manual that assumes too much, adapts too little, and trims exactly when detail matters most. One of its most annoying features... offering you NEW things which are unnecessary and distract from the mission. 

Over three weeks, the result wasn’t acceleration. It was active drag. 

HOWEVER, I did manage to get most of the systems to work. There is a lot to do. I am attempting now to encapsulate this into a replicable manual that I can publish. Stay tuned!

I will say that the exercise re-awakened my long (decades) dormant coding skill (which basically were and are not very good). For a non-coder the loops and fails will be incredibly frustrating and will also lead to non-success. I wonder what the latin is for let the user beware?