ChatGPT vs. StackOverflow
Friday, March 10 2023
After substantial procrastination in the remote workplace, I buckled down and worked to answer a question I'd been tasked with: is there a way to interrogate AppStream instances to find out if they are available for immediate use? That sort of question is complicated enough that if one asks it of Google, it will dump you into a dull page of Amazon AWS documentation, where there will most assuredly be no code samples or any definition of terminology. All that has to come from somewhere else, but if you Google for those things, you end up in the same pages of documentation. This makes researching such questions extremely frustrating. First thing this morning, though, I'd anticipated all this and put my question directly to ChatGPT, asking it how one might query the AWS API in C# for information about AppStream instances. It immediately came back with a code example that looked so solid that it contributed to much of the day's procrastination. It was only when went to try it out later this afternoon that I realized ChatGPT's confident answer wasn't perfect.
This was what ChatGPT cheerfully suggested:
I quickly ran into a problem: FleetIds are not displayed on Amazon's web-based AWS console, though ChatGPT insisted they could be found there. This was probably a result of ChatGPT's training information being stale by about a year. So then I turned to StackOverflow, which can be thought of as a slow, sadistic (that is, masochistic for me), human-run alternative to ChatGPT for the solving of software-based problems. But nobody ever answered my question, not even with irritated condescension. Further research ultimately revealed that FleetIds are no longer used to identify Amazon AppStream fleets, and eventually I was able to come up with the code that ideally ChatGPT would've provided during my initial query. That code looks something like this:
You can see the code is similar to that provided by ChatGPT, but it differs in important details. One oddity about the code is that, because it is targeting Dotnet Core (instead of Dotnet "classic"), certain I/O calls have to be done asynchronously. Thus the call to DescribeFleets has to be DescribeFleetsAsync. Normally one uses the await operator when making a call to an asynchronous method, but for DescribeFleetsAsync you cannot use await for some reason. All of these idiosyncrasies are par for the course when I'm doing this sort of research. It's aggravating, but in the end it's satisfying to come back to the team with everything figured out. And for whatever reason, figuring such things out is considered a painful chore and that's why I end up doing it, since I'm the least likely to complain about such assignments.
I took another nice relaxing bath tonight, the second in two days, and I ended my evening with a xanax, since I wanted something recreational but I was avoiding alcohol.
For linking purposes this article's URL is:feedback
previous | next