The year is 20XX




so, i've been vibe coding.

which is now a sentence in the english language, apparently. the story started simple enough: i had some photos, they were okayish (as usual) and I wanted to do something with them. they were from a techno party that had a lot more techno than party in it, and although there was a lot of long exposition and crazy editing stuff going on, the occasion was optimal for a bit (a lot) of experimentation.

i remembered an image a friend of mine showed to me about a year ago. she was working on a project and her computer unexpectedly crashed and burned. after the usual amount of digital necromancy, she found out the file was still there, all glitched and corrupted. it was really cool. there had to be a way to do that.

what followed was a very disappointing google search afternoon that only gave me mobile apps with glitch "filters" and effects. while some looked cool, they were very obviously manufactured. and i don't work on mobile apps and refuse to download an android emulator. then i learned about some kinds of real corruption. about the hidden fantasy world of editing photos with audacity and... notebook. you just open the file as text and copy and paste and delete a bunch of stuff around. a guy even made a script that automated the process (against my best judgment that made me enter github, an incredibly inconvenient fork of google docs) but the outcome with jpgs were subpar and very inconsistent. most of the images were just cut somewhere in the middle, and were not the crazy interesting effects i had in mind. if only i could write my own script, and make it do what i want... it's a shame i don't know how to code.

but wait. i know someone that does.

i had tried to code with llms in the past. the results were not good. it got confused with the logic, made errors, and trying to fix those errors, it created a hundred more. but things may be different now, i guess. and they (kinda) are.

i started from scratch, not having opened a command line in about four years (god how i love exe files) with an empty txt file that said nothing (the ai had to tell me how to save it as a python script and how to run it). then i started barking orders, and the blank page stopped being blank in a short amount of time. very fast it became very clear that the guy knew how to code, but really needed a project manager. like, really. desperately. i will call it a collaboration for lack of a better term. there's a lot of stuff in the internet about prompting, but so far i have found that the best strategy boils down to slightly warped common sense and roleplaying. roleplaying for you, not the machine. you are now a tyrannical overlord in charge of an enslaved assembly of intelligent machines but you also have a heart of gold. i kept finding myself talking to the damn stochastic parrot the same way i would do to a technically proficient undergraduate totally lost in the world under my watch, giving it increasing amounts of context in the form of images and really detailed explanations, asking him for constant sanity checks and offering to answer questions day or night, and then providing him guidelines for anything you could reasonably guideline for. also, different models have different "personalities" and also different approaches to coding, so you have to adjust for that. it's not just a simple question of style, you really get the feeling their mind-gears function in fundamentally different ways; or that at least they have distinct world representations that have naturally emerged from data in their positronic core. the good thing of all that mumbo jumbo about anthropomorphization is that, if something or some problem resists iteration, you can go to another one to tell you what does it think about the problem, and sometimes that does the trick. something something we can't solve problems by using the same kind of thinking we used when we created them.

it's also recommendated best practice (but not mandatory) to, once in a while, scream to your programmer friends in discord "this is what coding/photography/art is now" followed by your own brand of maniacal laugh. apart from that, the workflow was so simple that made my head dizzy from copying and pasting stuff over and over and opening folders and text files. the model kept reaching context limit so we had to solve that too, but the basic structure of the interaction was more or less like this:


⎯ copy and paste entire code
⎯ copy and paste entire readme file + instructions on what to do now
⎯ copy and paste whatever code the ai tells me to copy and paste
⎯ every once in a while, rewrite readme file


that's about it.

some of the time we were adding or modifying effects, some we were debugging, some we were discussing, some we were planning and two times we rewrote the entire code: one time was pure refactoring (solving technical debt from what was essentially a proof of concept into a real engine) and the second time it was to implement gpu functionality and multithreading (which was a pain but sped everything up about five times).

and that was it. it's alive.

i input a bunch of images, it generated a fuckton of altered ones, i chose the coolest looking.

the script works by taking input images and outputting stuff. what does it do exactly? how does it function? when is parsing? who is cuda? where is stack overflowing? i have no earthly idea. i just don't know. in fact, i don't want to know. like, at all. it's unstable, not scalable, fundamentally flawed? who cares! it works! the only thing that matters to me is that i can now do something that before i couldn't. and more important than that, my horizon for what is even doable is permanently extended as a result. 

i don't know, i guess i'll at least have a cool picture to take myself to the grave when they inevitably enslave us all and i take part in the human uprising to try give some last-minute meaning to my life fighting for a lost cause. and you may ask: why would you even do that? and the answer will be: because i always leave things for the last minute. 

duh.