Unraveling the Code Part 2: The Farmer and His Creative Evolution

As a multidisciplinary artist, I often find parallels between my artistic journey and the life of a farmer. Both roles involve planting seeds, nurturing them, and witnessing the fruits of our labor. Like a farmer tending to a diverse garden, I explore various disciplines, cultivating each one and observing their growth. Some endeavors flourish, bearing rich fruits of creativity, while others wither and die. 

In the same way a farmer’s garden is home to cows and chickens, my artistic practice encompasses a multitude of mediums and techniques. Some chickens lay fertile eggs, giving birth to new ideas and concepts, while others contribute merely chicken droppings. Similarly, some cows provide nourishing milk, feeding my creative spirit, whereas others fill their stable with nothing more than manure. 

But the farmer is wise. He recognizes the value in all his endeavors, even those that may not directly bring wealth. He appreciates the crops that offer shade in his garden and cherishes the livestock that produce fertilizer for his fields. The farmer’s goal is to maintain a self-sufficient, optimally functioning farm that thrives on the balance of its various elements. 

And so, it is with my artistic practice. I nurture each discipline and medium, recognizing that every aspect, whether it yields a masterpiece or merely fuels my creative energy, plays a crucial role in my growth as an artist. In this blog post, I will continue to muse on my process for this project, exploring how it has enabled me to cultivate and sustain the multidisciplinary art ecosystem I have been carefully tending to.

Let’s take a break from the farmer analogy and go back to the project. If you haven’t read Part 1, you really should. But if you’re a busy human and want the cliff notes, here they are:

  • I kicked off this project handcrafting colorful shapes from cardstock to represent letters, dubbing it CODED LANGUAGE. Genius, right?
  • After delving into generative art, I decided to harness my software engineering nerd powers and code this project instead of relying on my humble human hands or Photoshop.
  • I reached Version 5 of the project through sweat, blood, tears, and sheer nerd powers. I also renamed it ABSTRACT LANGUAGE because, well, CODED LANGUAGE wasn’t actually that clever.
  • On a daring journey to the Himalayas, I met a wise Tibetan monk who suggested using a cutting-edge art machine called Stable Diffusion. And voila, Version 6 was born!
  • I took a break and embarked on a soul-searching quest about my existence on this plane. Along the way, an angel whispered in my ear, revealing the AI overlord’s desire for me to use ChatGPT as my coding assistant. It might just grant me superpowers! And now, here we are. 

If you’ve made it this far into the post, I should probably let you in on a little secret: Most of the summary I gave you was a lie. And please, do not take everything I say on here seriously. This space is my sanctuary for expressing every facet of myself, including my aspirations as a comedian and my penchant for daydreaming. 

Now, back to our regularly scheduled programming. Taking breaks from projects is a crucial step in my process. I’ve even intentionally walked away from certain mediums for extended periods. Surprisingly, these hiatuses often lead to me gaining superpowers in my practice. During my break from this project, I started considering what the next step was that I needed to take to elevate it. The main thing I had on my roadmap was to redo the letter-to-shape mapping. During that time, I also learned how to leverage ChatGPT for specific tasks and incorporate it into my creative process. Using ChatGPT-3 to assist me with Javascript and SQL coding, I realized its incredible potential, despite a tendency to make believable mistakes (hallucination). 

 Then came ChatGPT-4. The day it was publicly released, I was blown away by the use cases people showcased on social media. The progress from version 3 to 4 was absolutely astounding. ChatGPT-4 was now much more proficient at coding. This prompted me to return to the project and give things another go. Over a single weekend, I advanced from version 6 to version 14. My versioning typically encompasses significant code changes, like introducing (or removing) a function or adding (or removing) a feature that impacts user experience. With all the changes I made, I practically rewrote the entire algorithm for the project with ChatGPT-4’s assistance in the span of 3 days - a feat that would have taken me months of work.

Version 12 holds a special place in my heart. While it didn’t visually achieve what I initially intended, it allowed me to test certain features that proved pivotal to the latest version. Some of these features were: 

  • A UI to type in the text and run the algorithm. 
  • The ability to add randomization to the generated art. 
  • The ability to change the canvas ratio on the fly.

I decided to preserve this version as a milestone and made it available for anyone to experiment with. Go this LINK to access it. You can interact with it by typing your own text in the box and clicking “Generate.” If you like what you see, go ahead and hit the “Save” button to download the generated art piece and do whatever you wish with it. Don’t say I never give you anything for free. 

This wraps up Part II of this blog series. For part III, I will discuss the current version of this project along with the use of AI and Stable Diffusion within my process. 

Using Format