Use AI responsibly
First, some definitions. By AI in this article, I mean Generative AI—tools like ChatGPT, Gemini, Claude, and DeepSeek. Yes, AI is more than that, but let’s confine the term to this subset for now.
As a programmer and writer, I was initially skeptical of tools like ChatGPT. Too imprecise for serious, accuracy-driven work. Too expensive for what often amounts to a glorified web search. And the language? Insufferably bland—an insult to anyone who takes writing seriously, those who pride themselves as wordsmith for it is a craft that gets better with age. Then there’s the hallucination problem: it’s not that AI isn’t creative; it’s too creative. The result? Plausible nonsense that looks correct but is fundamentally wrong—worse than being plainly wrong.
ChatGPT as Word Editor
But today, AI has improved enough that many of these shortcomings can be mitigated—or at least worked around. In fact, I’m writing this draft right inside ChatGPT instead of my old favorite, Google Docs, because:
- It supports Markdown
- It lets me edit in real time
That’s not to say the flaws are gone—they’re still there. But the question has shifted. It’s no longer “Is AI useful?” Of course it is. The better question is: How do programmers and writers make full use of AI—and what pitfalls should they avoid?
Let’s explore that.
What I use AI for as a programmer
Regex
AI excels at regex. I don’t memorize regex syntax, nor do I use it often enough to build muscle memory. But when I need it, AI delivers. I give it sample data and a prompt, and it gives me working expressions—or at least a solid starting point I can iterate on. It doesn’t really matter too much if the algorithm isn’t robust enough, for I can just pile on test cases and ask AI to iterate on it.
Regex is a sweet spot: it’s small, self-contained, doesn’t need broader app context, and has tons of training data online. That’s why AI handles it so well. Not just Regex, anything that fulfills the above criteria can be handled by AI with ease.
Code translation
On some occasions I have to translate the code from one programming language to another, this is yet another area where AI shines. Aided with typed language and unit tests, the translation could be seamless. But I have seen that AI could do more with less. On VB.Net code samples that I wasn’t familiar with, I used AI to translate it to C#.
True enough, the translated code couldn’t compile due to the idiosyncrasies of the VB.Net language, but that didn’t matter because the errors were trivial enough I could fix the error myself. Furthermore, I didn’t need to actually run it; I just needed it translated just so that I could better understand it and construct my own samples.
Quick reference
AI is great for quick syntax lookups. Need to reset a commit in Git that hasn’t been pushed? Sure, I could Google it—but asking ChatGPT is faster and often just as reliable. Plus, changes like these are easy to verify. Either it works or doesn’t, we will know the very moment we run it.
Refactoring
When I hit messy or repetitive code, I don’t waste time hand-refactoring. I drop it into ChatGPT, describe what I want—de-duplication, clearer logic, etc.—and let it propose a fix. I might tweak the result, but it’s usually faster and cleaner than starting from scratch.
I don’t need to fully understand the AI’s output immediately either. If the code is covered by unit tests (you do write tests, right?), I let the tests validate the changes.
Do you understand the code?
As a PR reviewer, I care more about whether the submitter understands the change and has tested it thoroughly. Whether it was written by AI or not is secondary.
That said, I’ll accept a PR even if the author doesn’t fully understand it—as long as the change is isolated and backed by solid unit tests. Regex helpers, utility classes, or static methods that can be treated as black boxes? No problem, as long as they’re testable.
What I use AI for as a writer
How I write
I used to draft in Google Docs. Now, I prefer Markdown—Jetpack’s Gutenberg block, Notepad++, or ChatGPT. Markdown is simpler than HTML and diff-friendly—perfect for version control and iterative editing with AI. It’s the right tool for AI-assisted writing, letting you track changes and interact fluidly through revision cycles.
I’ll just write, and then highlight the key parts where I want ChatGPT to make edits, and ask ChatGPT to do so. After I’m done, I will ask ChatGPT to output the whole piece in pure markdown format so that I can paste it on my WordPress Jetpack’s Gutenberg block editor. If I find that I need to edit something, I will go to the ChatGPT and do the edits from there, and copy the outputs to the WordPress. I find that this way of writing actually suits me even though I have to transfer the drafts between ChatGPT and WordPress.
Brainstorming? No thanks.
I don’t use AI for initial idea generation. If I’m writing, it’s because I already have something to say. If someone needs AI to generate even the seed of an idea, I question the value of their writing.
I’ve seen AI-generated pieces—bland, soulless, pointless—that honestly infuriate me. Either the author knows nothing and still writes to chase SEO, or they inflate a trivial point into an “article” and have to fill it with fillers, bombastic words that add zero values to the content. Either way, the result is slop—content pollution. I’d rather read something short, honest and insightful than a verbose, fluffy monstrosity. Even if the short writing is full of grammatical or spelling or other mechanical errors.
I can smell AI-generated writing from light-years away. Inauthenticity is a greater sin than fabrication—at least fiction entertains.
Research
AI could be good at research– but only initially. When I don’t really have any idea on the topic at all, I’ll ask the AI to explain the key concepts to me. Or if I just want a quick look up on a particular topic, a quick yes or no answer, then I’ll just ask the AI. This is especially helpful when I’m doing a not-so-critical topic.
Otherwise, Google is still my go-to portal. Often when I find that the AI explanation isn’t satisfactory, or when I want to verify what the AI spits out at me, I’ll still default to Google. I would say that AI is complementing rather than replacing my Google use. But it’s understandable that Google is getting nervous because AI is really eating its lunch in terms of my search volume.
Editing
I do ask AI to edit my writing—but only to trim the fat. Cut weasel words, fix grammar, and kill useless filler. Occasionally, provide suggestion to expand a section.
AI can also play an important role in the post-processing of my writings. I like to give credit when it’s due so I would love to link to other blogs or articles whenever appropriate. So I will let AI do it. All the links in this article are put by AI so you can judge how good the quality is.
In fact for company blog posts and documentation, it might even be possible to ask AI to do that with special emphasis on linking to other internal documentations whenever appropriate (inbound links are welcome). This is something that I must explore with my coworkers to see how good it is.
Should AI “optimize” my writing? Generally, no. Optimization often means blandification. It smooths out tone, bleaches personality, and injects Silicon Valley WOKE-speak. That’s not editing—it’s sanitizing.
I want to keep my wit, sarcasm, and cynicism. If it dismisses friends and invites enemies, then so be it. I’m an adult—I don’t need an Orwellian Big Brother telling me how to construct a prose. Especially not one with zero understanding of nuance.
As if to prove my point, when I asked AI to “improve this section by fixing only mechanical errors”, it did an unasked, thankless job of rewriting the whole section and removed words like “cynicism”, “Orwellian” and “Big Brother” replaced with “safer” words (which I had to remove again). The hilarious edit somehow managed to prove my point better than I ever could.
My hope
For programmers, AI should be built directly into IDEs. No more copying code into chat windows—just seamless, real-time help like what Copilot or ReSharper offers in Visual Studio. The AI should do what Copilot or ReSharper is already doing: provide suggestions on how to change to modern syntax, highlight dubious coding practice or even generate code blocks based on cues from comments, and it should/can do it with greater accuracy than now. On the fly. In the Background.
This makes tools like WindSurf promising: they need to grok your codebase in context to offer useful suggestions. That’s the direction we should be heading.
For writers, Google Docs is well-positioned to become a smart writing assistant. It has years of my data—my tone, my structure, my habits. That history could power personalized, stylistic feedback. The AI should know me before making edits.
Markdown-based tools could lead the way here. Imagine a writing platform that supports AI-powered review, PR-style discussion threads, branching, and commit history—all built on Markdown and git-like workflows.
The ChatGPT document editing workflow is off to the right start. I can ask the AI to fix errors, propose suggestions on highlighted section, to generate the diff., and it will do the changes and tell me exactly what has been changed. That’s how a human editor would work too: make pointed suggestions and justify them. AI can play the role as well. But it doesn’t keep versioning, which was why when it botched the edit, I had no way to recover my original words and had to reconstruct them.
That’s the AI future I want: assistive, not authoritarian. Enhancing, not erasing. Context-aware, not generic.