Tech Talk
Vibe coding By Michael E. Duffy
W hen I was a kid, we had a subscription to The Reader’s Digest, a periodical founded in 1922 and, astoundingly, still exists in 2025 (now called simply Reader’s Digest ). One thing that sticks out in my mind is an article, one of a well-regarded series of 30 on the organs of the human body, titled “I am Joe’s Pancreas.” It probably has a lasting impact because of the strangeness of that particular organ’s name. Early in February—exactly two months ago as I write this—I was diagnosed with pancreatic cancer. Despite the seriousness of
But rather than waiting to create the subfolder until it knew that a message had attachments, it created a subfolder for all 316,861 messages—not a good idea. So, I fixed that, too. Using ChatGPT to write code is helpful, but you must be prepared to deal with imperfect code. Or perhaps not. Enter “vibe coding,” popularized by Andrej Karpathy, and member of the team that founded OpenAI: “There's a new kind of coding I call ‘vibe coding,’ where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet [a Large Language Model like ChatGPT]) are getting too good.
vibe coding
the disease, I have a good prognosis: the tumor is small, hasn’t spread and is operable. So, Northbay biz won’t need to find someone to replace me just yet. If you’re interested in that part of my life, you can follow along at “This is not a drill” ( MichaelEDuffy.wordpress.com ) where I am blogging about my adventure. I do it mostly to process the information I receive, but also to entertain myself (and, hopefully, my readers). You can sign up for an email copy of each new post, delivered direct to your inbox. Enough about me. Last month I wrote about my seduction by The Dark Side: using ChatGPT to help me write a program to manage my Gmail archive in a database. I didn’t quite manage to finish the story. At the end of my last column, I had a program written in Python that didn’t quite do what I needed it to do (save the body of an email message along with all the other information, like the sender and subject line). I needed ChatGPT to fix the error, and to rewrite the code in Typescript, because my Python is a bit rusty. I use Typescript every day in my job at Electronic Arts. So, I asked for that. And ChatGPT took less than a minute to rewrite the program in Typescript. The problem? It didn’t work correctly. ChatGPT correctly identified a Typescript library which understands the MBOX format files that Gmail exports, but it didn’t use it correctly in the code. The library reads through the messages and allows the programmer to specify what happens when a message is read, an error occurs, or all the messages have been read. ChatGPT didn’t correctly configure its code to receive those messages. For example, it attached the code to finish up processing when all messages have been read to a function named “end,” rather than “finish,” as stated in the library documentation. So nothing happened. I needed to change three lines of code to fix the problem. That’s the challenge of programming. Very small errors can render a program completely inoperable. Plus, the generated code had a “rookie programmer” mistake. I had asked ChatGPT to place the attachments on a given message in a subfolder, identified by the message id, under a top-level folder named “attachments.” For example, attachments/message0001/ would contain all the attachments for message0001.
"Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like 'decrease the padding on the sidebar by half' because I'm too lazy to find it. I ‘Accept All’ always, I don't read the diffs anymore [seeing what changes were made]. "When I get error messages, I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. "Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding—I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works.” Kevin Roost, who writes about technology for the NY Times, recently wrote “Not a Coder? With A.I., Just Having an Idea Can Be Enough” ( tinyurl. com/27amgowd ) about his experience in creating “an app that could help me pack a school lunch for my son, based on an uploaded photo of the contents of my fridge.” Obviously, code produced this way is gonna be imperfect, but may be sufficient. But as the LLMs behind coding assistants like Cursor ( cursor.com ) get better, you can imagine a time when professional-quality apps can be developed by non-programmers, at least those who can do a reasonable job of articulating what they want. g
Michael E. Duffy is a 70-year-old senior software engineer for Electronic Arts. He lives in Sonoma County and has been writing about technology and business for NorthBay biz since 2001.
May 2025
NorthBaybiz 43
Made with FlippingBook - professional solution for displaying marketing and sales documents online