Vibes and Whackamolity

·

,

“No, you can’t have it. I know I said Monday, but I want Baldrick to read
it, which, unfortunately will mean teaching him to read, which will take
about ten years — but time well spent, I think, because it’s such a very
good dictionary.”
– Sir Edmund Blackadder

This whole thing with the VOP has been a project that started with me toying with the thought of using a Raspberry Pi Camera for an animation stand. It quickly grew as I realized it’s very possible to use that hardware, point it at a screen, and feed a 3D plane into it, textured with the artwork I want and render that into a 2D space that I can send to an HDMI monitor and capture with the camera during a long exposure.

It has worked. Somewhat.

You see. Dear reader. That I haven’t done any real coding for… uhhh… 20 years. And when I did do coding back then. It was high school level introductory Pascal. And I tried to learn a bit of DirectX coding. But that was it even then. So when I looked at the project I was envisioning, I thought. Maybe there’s a way to jump start things?

So I turned to Google Gemini. Why Gemini, why not Claude, why not GitHub CoPilot, why not ChatGPT? No good reason really. It’s just that I have a couple of subscriptions going with google products and I simply could get enough of the prompts that I needed processed with the better models in Gemini because of that. So I started to feed it prompts. I put the code it spat out into python scripts. And very fast, I got to a point where things started to shape up to be a very capable project.

Then… Then I realized very harshly, that I was digging myself a hole… with no ladder to get back out. Because. I had started the coding by literally typing the code from gemini out letter by letter. Just to be able to see what it changed for each version. But. I quickly realized that the way Gemini codes, is like how it is speaking. It’s making it up as it goes along. The result may be code that runs flawlessly. But there’s no real consistency between versions of the code. If I ask Gemini to try again to fix problem A. It may do something to that effect. But in doing so, it also feels obligated to rewrite everything else in the script as well. So I quickly lost descriptive comments. I had to rewrite the whole scripts for each iteration. Meaning it took hours to test, reprompt, then test again.

But I stuck with it. I deluded myself into solutions for this by trying to force it to only touch smaller bits of code by compartmentalizing it into smaller scripts. And it was working. For a while. Until it started to forget what was where, and I wasted days re-discovering wheels as Gemini refused to look at old working code.

What I realized is that this is probably why no real coder takes “vibe-coding” seriously.

What I realized is that I need to drastically rethink how to proceed.

I need to take charge of the coding myself. Which “unfortunately” means I also will have to really learn how to code… in Python… and javascript… and… openGL. and… html and css… ok those last two, I am not in that bad of a shape in. I have been keeping this here webpage running since the millenium started so I have some knowledge there.

But. I can’t say I am entirely ungrateful to the progress I made with vibe-coding. During this I have learned how to use Git. I have gotten a cursory glance at how Python works. And I have gotten to a point in the project where I have seen things work. So I know it can be done properly. By a proper coder not suffering from severe dementia. I just have to become one.

I have also, with the Git experience, put all of the progress so far in the repo at:

https://codeberg.org/jmalmsten-com/VOP

And if you want the prototype with the multidimensional smear system. You can go to the develop branch:

https://codeberg.org/jmalmsten-com/VOP/src/branch/develop

I will probably change the naming of the branches because I want to make a note of the de-vibing of the VOP project. But at least. As of this writing. For a day or so, maybe. Those links should work and point to what it says.

But one thing that this also means is that the project/repo is public. It is freely available. And I am very much open to outside help. As long as it stays within what I want the VOP to be. And as long as it is Open Source. I would love to work on this with actual humans.

Get in touch in some way. If you know how to do this kind of code. I want to know about it.

Because, If you look at the repo as it will be seen. You will see a repo with rapid development and progress, then, now, a huge drop in updates and commits. Because I will have to teach myself the coding to get things further.

But. It could also mean that I have to document things more actively in places like the repo and this blog.

Oh very well.

It might turn out to be a good decision after all to cut out the vibes codings.

 

Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)