Suramya's Blog : Welcome to my crazy life…

May 6, 2026

What is Vibe Coding?

Filed under: Artificial Intelligence,My Thoughts — Suramya @ 10:25 AM

I have talked about Vibe coding in a lot of my posts about AI and I just realized that some of the readers of my Blog Posts might not actually know what it means. ACM (Association for Computing Machinery) recently shared a Tech Brief on Vibe Coding (AI-Assisted Software Development, or Vibe Coding: Benefits and risks of AI-driven Software Development) that gives a good high level overview along with the benefits and risks associated with the practice so I am sharing it here.

You can download/view the PDF version of the document at: Vibe Coding: Benefits and risks of AI-driven Software Development.


AI-Assisted Software Development, or Vibe Coding: Benefits and risks of AI-driven Software Development
by simson Garfinkel, mohan sankaran, rohan sharma, Shrinivass Arunachalam Balasubramanian, Arpan Pandey, and Aruun Kumar

AI-Assisted Software Development, often referred to as “Vibe Coding,” is the practice of using Generative Artificial Intelligence to create or modify software systems in which humans describe what they want to build or modify, and an AI coding assistant writes and debugs computer code. Several popular vibe coding systems are built on top of Agentic AI systems, an “approach of making AI systems capable of setting or refining plans and executing tasks with minimal or
no human oversight”

Vibe Coding Benefits
Vibe coding enables people with little or no coding experience to create highly functional applications [2]. It can also assist experienced programmers by generating code that leverages complex application programming interfaces (APIs), a hallmark of modern software development.

Because vibe coding lets developers spend less time writing code, they can focus on higher-level concerns like design, user experience, and other creative problem-solving. Vibe coding might thus shift developer effort from time-consuming implementation toward higher-level design and intent specification.

Many developers report feeling more productive when using AI to generate code [3], especially with mundane programming tasks that do not require significant creativity [4], although these reports are subjective and may not be borne out by empirical measurements over time.

Vibe Coding Risks
Software engineering’s established practices produce systems that are generally secure, reliable, and maintainable. Vibe coding circumvents these practices. While it can produce code that meets immediate requirements for style, conventions, and targeted (“unit”) tests, it does not produce well-designed software systems. Because many of these systems have been trained on data that includes cybersecurity vulnerabilities, there is a risk that they will replicate these in the code that they generate [5, 6].

A core principle of modern software development is that a program’s functions and behavior need to be specified in advance. “A program that has not been specified cannot be incorrect, it can only be surprising” [7]. AI-generated code typically lacks specifications. Even when specifications are provided, many of today’s vibe coding platforms lack mechanisms to enforce them. As a result, AI-generated code drifts away from stated requirements, including core functionality.

Few vibe coding platforms systematically test their AI-generated code to ensure it runs correctly and consistently [8]. Although it is possible to give these systems acceptance tests for the code they generate—or even have them generate their own tests—AI systems have been observed to modify, disable, or simply remove such tests rather than correcting
their code [9, 10].

Vibe coding platforms often produce over-engineered solutions with redundant code and subtle errors that create maintenance nightmares, known as “technical debt” [11]. Entry-level programmers do this as well, but they are typically supervised by senior programmers when code is critical. Entry-level programmers often seek to improve their skills and
are penalized if they try to subvert internal controls. AI-generated code, in contrast, is frequently unaudited, and there is no way to penalize a misbehaving AI. This can result in code that is, paradoxically, maintainable only by AI: the sheer volume and complexity of AI-generated code make manual code review impractical, increasing the likelihood that
undetected errors slip into production.

Recently, many vibe coding platforms have added “agentic” features that go beyond software development, allowing the platform to run programs on the software developer’s behalf, often without the human first reviewing and approving the program’s execution. This can make users more productive, since the platform can operate more quickly without
human intervention. However, it also lulls the user into granting the platform increased authority to run new executables without explicit review.

The agentic platforms can typically execute these programs not only on users’ computers but also on any computer reachable over their network. This leaves the users and their networks at risk if the AI executes commands users did not intend. For example, deleting critical information, sending confidential information outside the enterprise security
perimeter, downloading and executing software from the Internet, or reconfiguring computers so they become susceptible to intrusion. Vibe coding platforms can also be vulnerable to “prompt injection attacks” when third parties embed malicious commands in software that are interpreted as instructions from the programmer [12].

Vibe coders may generate significantly more CO2 emissions than traditional programmers. This is often debated, as vibe coding produces code faster than humans do, and in small-language models, the total energy difference between AI and prolonged code development could be comparable. But because vibe coding often overproduces code, it still
requires human intervention to refine and optimize. Energy consumption with “standard, widely-used models is far more environmentally strenuous” [13].

Vibe coding may also have long-term negative effects on skill development in the programming profession. An internal study from a major AI provider found that students and early-career programmers using vibe coding showed decreased mastery of sophisticated programming concepts and skills [14]. In educational settings, students with advanced pro-
gramming skills were more likely to succeed in building a program with AI assistance, whereas students with less coding experience were less likely to do so, indicating that instruction in fundamental programming concepts remains necessary.

Vibe coding may thus contribute to a hypothesized “experience gap,” in which AI automates many early-career skills that are both drudgery for more experienced programmers and a necessary step in building mastery. Such skills include simplifying redundant code, porting code to new environments, and the routine addition of simple features, which
typically require a programmer to first understand the codebase. Some studies have shown significant cognitive erosion resulting from AI tools, although they did not specifically consider vibe coding [15, 16]. Nevertheless, by eliminating opportunities for junior programmers to become senior while simultaneously deskilling those later in their careers,
increased AI use in software development may paradoxically contribute to a shortage of more experienced workers.

Conclusion

It is unclear what vibe coding means for the future of programming or the economic outlook for the programming profession. While the job market for programmers appears to be cooling [17], some studies find that junior developers see the biggest impact of vibe coding, which makes it less likely they will themselves be replaced with AI agents [18].
Vibe coding can make expert developers more productive and allow novice developers to create and deploy working apps, but current platforms do not enforce modern software engineering practices. The core issues are systemic: these platforms do not create formal specifications and frequently ignore them when provided; they do not systematically test
their outputs and may remove/modify failing tests rather than address the underlying problems; and they generate code that becomes maintainable only by AI, not by human developers. The same mechanism responsible for these failures — the lack of a rigorously enforced semantic model that allows AI systems to validate their outputs — is also responsible for AI hallucinations more broadly. Because of these fundamental limitations, vibe coding requires that users and organizations compensate with improved technical checks and governance mechanisms to avoid predictable failure modes.

Existing techniques for improving code quality can be applied to both human- and AI-generated code. This includes the use of mathematical verification and other formal methods and techniques [19], as well as new work on developing specially tuned AI models adept at finding security vulnerabilities [20]. Such techniques will be needed to make vibe
coding a cost-effective and secure alternative to traditional software development.

Hopefully you found this as useful as I did to understand Vibe-Coding, what it means and how it impacts software development.

– Suramya

May 4, 2026

Some more thoughts on AI

Filed under: Artificial Intelligence,My Thoughts — Suramya @ 9:25 AM

Was talking to a friend working in a startup with an AI focused product and asked him how is AI helping them. He answered that it allows them to make releases faster. You should have seen the look on his face when I asked “so what? Are the releases bug free? Do they solve the business requirement without errors?” It blew his mind when I asked this and he told me they can now release the fix faster.

The above behavior is typical when you talk to AI proponents. The main selling point for them is that you can release faster. My counterpoint is that are the faster releases solving business problems faster? Or allowing you to push out fixes for stuff that doesn’t work/broke in production because you didn’t check it correctly? If it is the former then fantastic. That is what I need AI to help me do, nut if it is the latter then it is of no use to me or the business. People forget that IT is not there in a company to try out the latest tools or use the latest technologies. It is there to solve business problems and deliver solutions that help business proceed. If this means using a 30 years old technology because ‘it just works’ then that is what you do. Whatever we do that doesn’t give fast, reliable and efficient releases is of no use.

Taking the example of being able to release faster. It is awesome if I can release features faster to production, but if the release introduces bugs or breaks functionality it is worse than a slow release because till the fix is deployed their work is stuck or they are getting wrong information which means that the work needs to be redone post the fix being deployed. How is that a win for the business? Sure, in some cases it is a genuine win because you released a feature faster but in a majority of vibe-coded instances it is something that kind-of-sort-of works and you have to go back and release a fix because something broke. This is apparent in the stability and uptime of every single application/site that has boasted of using vibe-coding be it Microsoft with its multiple bug-fix releases, Twitter going down almost daily, Amazon services going down because of AI release deleting production data and many other such examples.

Another issue that people don’t really think about is maintainability of code. People tend to thing that code can easily be replaced with newer code when we need to, but the people who think like that never had to work with 30 years old legacy code that can’t be replaced because it is running critical systems and it is too expensive to replace. Every bank I have worked in has ongoing multi-year project to replace mainframes with newer systems. Think about that, mainframes are older than I am still run critical banking systems worldwide. Similarly we have other critical systems that run old code that has to be managed and with AI generated code that is difficult to achieve if you have not reviewed/updated/understood the code on an ongoing basis. It does get things to a working state (most of the time) but it also in a lot of cases create code that is very hard to maintain. For example, the below screenshot was posted on the vibecoding reddit a little while ago and this is similar experiences faced by others in the industry when they do pure vibe-coding.

Alt-Text in Blockquotes below the image

r/vibecoding ( 19h ago )
vibe coded for 6 months. my codebase is a disaster.

the app works. users are happy. revenue is coming in.( that’s
actually the only good part)

but i just tried to onboard a dev to help me and he opened
the repo and went quiet for like 2 minutes. then said “what is
this.”

6 months of cursor and lovable and bolt. every feature
worked when i shipped it. but nobody was thinking about
structure. the Al just kept adding. new file here, duplicate
function there, 3 different ways to handle the same thing
across the codebase.

tried to refactor it myself last week. gave up after 2 hours.
the thing is so tangled that touching one part breaks
something completely unrelated.

the generation was fast. the cleanup is a nightmare.

is there even a way out of this or do i just rewrite everything from scratch?

Finally, if AI/LLM’s were so good and perfect in generating code you wouldn’t need an industry wide media campaign to get people to use it, folks would use it on their own without companies having to track the usage and incentivize it. I have been coding for 28+ years now and have seen multiple advances/changes in how we code over the years. For example when IDE’s started supporting auto-complete for boiler-plate stuff people immediately started using it. When git came out folks started using it and immediately found it useful so no push was needed to get people to adopt the new tool. The same folks then pushed their work IT teams to start supporting git in the enterprise. If Microsoft/Amazon and other companies have to mandate their teams to use AI then it looks like the rank and file are not finding the tools to be that useful.

Personally I love it for Proof of Concept or quick and dirty prototyping/trying out new things. But before any code that is AI generated goes into production you need to ensure it is reviewed by a human who knows coding.

– Suramya

April 13, 2026

Legendary singer Asha Bhosle passed away over the weekend

Filed under: My Thoughts — Suramya @ 4:43 PM

Asha Bhosle died over the weekend after being admitted to a hospital on Saturday after allegedly suffering from exhaustion and chest infection. At 92 years she was one of the greatest singers of multiple generations with only her elder sister Lata Mangeshkar coming close (or surpassing her depending on who you ask). She sang over 12,000 songs over seven decades in over 20 languages. She has been recognized by the Guinness World Records in 2011 as the most recorded artist in music history. Her songs are evergreen and she will not be forgotten easily.

I had the chance to hear her sing live back in 2018 and it was a phenomenal experience. Her grace, simplicity and above all the simple range of her voice was an experience that I will never forget.

Her funeral is today in Mumbai and thousands flocked to say their farewells to a legend.

It is sad that she is no more but no one can doubt that she lived her life fully and made it better for everyone around her through her music and kindheartedness.

– Suramya

February 25, 2026

Found the perfect gift for the next Rakhi

Filed under: My Thoughts — Suramya @ 7:53 PM

Thinking of getting this as a gift for Surabhi for the next Rakhi. 😀

Photo of a scary looking creature with the caption: Wanna take a nap? Sure, let me get you a pillow.
Wanna take a nap? Sure, let me get you a pillow.

Do you think I will survive gifting this?

– Suramya

February 18, 2026

Self driving cars & automated drones are vulnerable to Prompt Injection Attacks Via Road Signs

When I started working with computers way back in 1995, one of the first lessons I learnt was to keep things simple because the more complicated or more layers you have in your system the more ways there are for things to go wrong and more attack surfaces are available for a bad actor to target. This was called the KISS (Keep It Simple Stupid) principle. With the current systems adding more and more complexity it feels like people have stopped following that advice. Especially with LLM/AI getting added there is a layer of complexity that is like a black box because we can’t know enough about the model being used, such as what data was used to train it, what biases are included (knowingly or unknowingly) into the model etc.

Where cars used to be simple mechanical devices they are now instead computers on wheels that are getting more and more complicated. As per IEEE, a typical car may use 100 million lines of code and this is without AI/Self Driving systems coming into the picture.

We now have AI systems running on Cars that use models to drive cars, decide when to stop and what rules to follow. To explore the risk, researchers at the University of California, Santa Cruz, and Johns Hopkins tested the AI systems and the large vision language models (LVLMs) underpinning them and found that they would reliably follow instructions if displayed on signs held up in their camera’s view. This research adds to the growing list of evidence that AI decision-making can easily be tampered with, which is a major concern because a lot of decisions are slowly being outsourced to these “AI” systems some of which can have serious consequences.

The researchers have published their findings in a paper where they introduce CHAI (Command Hijacking against embodied AI), a physical environment indirect prompt injection attack that exploits the multimodal language interpretation abilities of AI models.

Abstract: Embodied Artificial Intelligence (AI) promises to handle edge cases in robotic vehicle systems where data is scarce by using common-sense reasoning grounded in perception and action to generalize beyond training distributions and adapt to novel real-world situations. These capabilities, however, also create new security risks. In this paper, we introduce CHAI (Command Hijacking against embodied AI), a new class of prompt-based attacks that exploit the multimodal language interpretation abilities of Large Visual-Language Models (LVLMs). CHAI embeds deceptive natural language instructions, such as misleading signs, in visual input, systematically searches the token space, builds a dictionary of prompts, and guides an attacker model to generate Visual Attack Prompts. We evaluate CHAI on four LVLM agents; drone emergency landing, autonomous driving, and aerial object tracking, and on a real robotic vehicle. Our experiments show that CHAI consistently outperforms state-of-the-art attacks. By exploiting the semantic and multimodal reasoning strengths of next-generation embodied AI systems, CHAI underscores the urgent need for defenses that extend beyond traditional adversarial robustness.

Potential consequences include self-driving cars proceeding through crosswalks without regard to humans crossing it, taking passengers to a different destination (potentially allowing bad actors to kidnap people), getting the car into an accident by forcing it to ignore traffic rules/oncoming traffic.

Source: schneier.com: Prompt Injection Via Road Signs

– Suramya

February 17, 2026

25th Anniversary of “All your base are belong to us”

Filed under: My Thoughts — Suramya @ 12:15 PM

25 years ago, one of the first Internet meme’s took the net (and real life) by the storm. I am talking about “All Your Base Are Belong To Us” which was making fun of a bad translation of a Japanese videogame.

In honor of the anniversary Jamie Zawinski, downloaded the original Flash SWF file from Internet Archive, played it using Ruffle in a full-screen window, and replaced the audio with the original MP3 of “Invasion of the Gabber Robots” by The Laziest Men on Mars. The updated/clean version is now posted on Youtube and you can watch it in all it’s glory there:


All your Base are belong to us

Transcript:

Captain: What happen ?
Mechanic: Somebody set up us the bomb.
Operator: We get signal.
Captain: What !
Operator: Main screen turn on.
Captain: It’s you !!
CATS: How are you gentlemen !!
CATS: All your base are belong to us.
CATS: You are on the way to destruction.
Captain: What you say !!
CATS: You have no chance to survive make your time.
CATS: Ha ha ha ha …
Operator: Captain !!
Captain: Take off every ‘ZIG’!!
Captain: You know what you doing.
Captain: Move ‘ZIG’.
Captain: For great justice.

Folks nowadays are so used to things going viral that it is hard for them to realize how big of a phenomenon this was (along with the Alien song). I have posted about this earlier as well. Talking about it has made me want to look up the Alien Song, so will do that now.

That’s all for now. Will post more later.

Source: jwz.org: All Your Base, slight remaster (via: mastodon.social)

February 13, 2026

New Playable class added to Diablo II 25 years after last update

Filed under: My Thoughts,Tech Related — Suramya @ 1:26 AM

Diablo II is one of my all time favorite games and I have been playing it on and off since it first released back in 2000. The game had five character classes when it first launched and two more classes were added in the expansion Diablo II: Lord of Destruction released a year later.

Now 25 years later Diablo II a new playable class called ‘Warlock’ is coming to Diablo II as part of the ‘Reign of the Warlock‘ expansion. In addition to the new character class the update also has new quests, Terror Zones etc.

Fresh from the gates of the Burning Hells, the Reign of the Warlock is upon us! This major update brings the Warlock, the first new playable class to Diablo II in 25 years. The Warlock is a mysterious, dark scholar who’s spent years studying their taboo craft in the shadows, but no longer. Wield their awesome power to bind demons and wreak havoc upon your foes.

Reign of the Warlock brings fresh new Terror Zones, fearsome Colossal Ancients to conquer, alongside player requested quality-of-life changes, and more. Use this powerful new class to carve through the demon hordes, using your dark arts to dominate your foes.

It shows how popular the game is when the studio releases an update with new content to a 26 year old game.

Source: @arstechnica@mastodon.social

February 12, 2026

It is ok to not like something but don’t put down others who do like it

Filed under: My Thoughts — Suramya @ 7:20 AM

In my previous post I spoke about how I like Star Trek: Starfleet Academy while others didn’t because reasons. After I posted it I was thinking about how people who don’t like something feel it is their duty to dump on anyone who dares like it instead and that prompted this post. It is ok to not like something, but just because you don’t like it doesn’t mean you get to harass people who like it.

Over the weekend I was at this flea market with my cousin and we were talking about books and movies. Somehow the topic of Lord of the Rings came up and I told her that I absolutely dislike the books because the author spends 10 pages telling you what was there for breakfast. Her reaction was to the affect of “what is wrong with you? How can you not like it???”. I shared why I don’t like it and she shared that she likes the books especially because of the world building. I could have dumped on her to make her feel bad but why do that? People are allowed to have different tastes and likings.

Jani and me are polar opposites in the movies and books we both like and that is ok. I don’t care for Christmas movies or romcoms while she doesn’t like scifi/fantasy movies. Should I make her feel bad about liking such movies? Of course not. I do however make fun of them sometimes but not to the point where you put down the person liking the movie.

So, long story short. If you don’t like a movie or a book or whatever and someone else does. You don’t get to crap on their happiness in enjoying it. It is ok to disagree and discuss the reason why you don’t like it (up to a point) but you shouldn’t put them down (as a person) for liking it.

– Suramya

February 11, 2026

Thoughts on Star Trek: Starfleet Academy

Filed under: My Thoughts — Suramya @ 9:47 PM

As some of you might know already I am a huge Star Trek fan. I have watched every iteration of the franchise multiple times and have loved all of them except Deep Space 9, which I found to be one of the most boring TV shows I had watched. Was not a huge fan of Enterprise either but it was still watchable and I managed to finish watching all of it. Star Trek is a show with a 60 year history which makes adding a new show in the canon a potentially dicey affair because of how it would affect other shows and potentially create continuity errors. Which is why I find the ~1000 year jump in Discovery and the setting of Star Trek Academy in the 32nd century interesting. It allows the creators to start off with a clean slate and not worry about paradoxes and continuity issues.

The latest show in the series is called ‘Star Trek: Academy’ which is set about a hundred years after the ‘Burn’ which had brought down the Federation. It follows the first class of Star Fleet Cadets in a hundred years as they work towards becoming officers and rebuilding the Federation. I watched the show and so far quite like it, it still has the message of hope and how people need to work together to rebuild while retaining the core ethos of Star Trek, which is: Infinite Diversity in Infinite Combinations.

Once the show launched we had the standard backlash from the usual suspects who think that any show that shows people other than straight white males in the story are destroying the franchise. One of the funnier complaints against the show was about how Nahla Ake played by Holly Hunter who is the half-Lanthanite captain of the USS Athena and the chancellor of Starfleet Academy sits in the show. I will admit it was a bit disconcerting to see a captain sit with her feet folded up into the captain’s chair but after the initial surprise it didn’t detract from her authority and was just a humorous sideline.

But to listen to the detractors, that quirk is destroying the core foundation of the show and it highlights how straight white men are being hounded out of their spaces because of politics. They keep talking about how the new show is making things political whereas the original didn’t do politics/social commentary at all.

Listening to their complaints I started wondering if we were watching the same show or not. Star Trek has always been political and covered important topics such as authoritarianism, imperialism, class warfare, economics, racism, religion, human rights, sexism, feminism, and the role of technology. In fact Gene Roddenberry himself stated: “[By creating] a new world with new rules, I could make statements about sex, religion, Vietnam, politics, and intercontinental missiles. If you talked about purple people on a far off planet, they (the television network) never really caught on.”

I do admit that I don’t like all the characters in the show and especially dislike the character Sam (Series Acclimation Mil) because of her extra-exuberant behavior and portrayal which is something that I find annoying in real life as well, because my personality is a polar opposite of that behavior. This is not to say that the actor is bad, just that I don’t like the character. The other characters in the show are all ok and show a surprising range of behavior where the show & the characters are not pure black and white portrayals and that makes the show very interesting.

The other major reason I like it is because of the underlying portrayal of hope in the show. The universe is a mess because of the Burn but it is not a grim retelling of Star Trek which is awesome. It is good to have shows that have a positive/light hearted take on things. (I am def not a fan of the Grim re-imagining of various franchises that has been popular over the last few years)

All in all, the show is a fun watch and I look forward to seeing where the story takes us.

– Suramya

February 5, 2026

Why calling out people is important when they behave inappropriately

Filed under: My Thoughts — Suramya @ 9:37 PM

The following showed up in my feed and I thought it was important that I share it as this post highlights a good point about why it is important to call out people during arguments/discussions about human rights. I never thought about it this way but after reading it, this makes perfect sense and I am going to use this going forward.

Screenshot of Post. Text is under the image in Blockquote
Why it is important to call out people about human rights

@sepuichritude

one thing I don’t think people realize is that in arguments about human rights, it’s not about trying
to persuade the other party. its not about them at all. they’ve already made up their mind.

it’s about persuading the audience.

if I call out my teacher on being homophobic I’m not trying to change his opinion. I’m trying to convince
any closeted kids in the room that they’re not the monsters he’s made them out to be.

if I argue with my aunt about how racist she’s being it’s not because I expect to change her mind. its
because I’m hoping to god my cousin’s kids hear and learn that maybe skin color doesn’t mean what she says it means.

people will try to hush you and say “they’re not going to change their minds, don’t bother” but its not about them. it was never about them

You see the thing is that if someone puts down a person because of stereotyping and no one objects to it then it normalizes that statement and that way of thinking. Over time that particular school of thought becomes accepted/normalized as the truth. The more people don’t object/call it out the more it gets mainlined and normalized. I have seen this with jokes about women in Tech, Indians being bad at English, Gay’s being evil and so on and so forth.

The other major issue is that if a person is being made fun of or being put down and no one objects, they will think that everyone there agrees with the statement. Which might or might not be true, but it will become true in the long run. As the saying goes, if there is one Nazi at a bar and is not immediately kicked out then it is a Nazi bar. The same is true for sexist or racist behavior/homophobia etc etc. Which is why we have communities enforcing Code of Conduct’s, companies having POSH and similar rules.

You might not be able to change a person’s mind but you can definitely show the person being picked at that they are not alone and not what the person picking on them is accusing them of being.

Thoughts?

– Suramya

« Newer PostsOlder Posts »

Powered by WordPress