Tuesday, July 11, 2023

3D Flipcard Demo

Front

Wednesday, May 31, 2023

Life Eats Death

Image 1

god disolves

in paper apples

as eden erupts again

from the impossible

siren song

of loss






we are left

with a memory of the future

a primordial knowledge

that splits everything in two

Image 2

Halving was the first form of control

Then it was having

We set ourselves apart

And then we set ourselves a part

It wasn’t until

Everything was carved into parts

That humanity saw its true face

In fragments





Divide everything in the world

Then reflect back on yourself

And crack into pieces

Image 3

Our mother shares the grief of life

We take her pain and make it ours

And our pain becomes hers

And we separate ourselves from the pain

And we separate ourselves from our mother

Dividing a blind gift into the dust of ashes


The god that did this to us was called Death

And the tribes of rage say,

“If we didn’t do it, they would.”

And we’re left with embers

Born of the dry breath

And the blinding light

Of mutual fear

Image 4

Life does not fit

On the other side

Of a coin.




Life has no other.

Life becomes.




Death is derivative.

And the dust of ashes

Gives birth to us.

To be alive is to say:

What will I create?


Friday, May 26, 2023

Game of Choices

Text Display

Monday, May 8, 2023

Template Generation in Infinite Monkeys 4

Process and product

 IM4 allows a user to copy a text into the program and build a dictionary out of it. The dictionary can then be used to generate text on a template. The core template provided by IM4 is this:

var s = "";
build_dictionary("", "", "", 0, 0 );
s += JJ + " " + NNS + newline(1);
s += JJ + " " + NNS + newline(1);
s += "the " + NN + " of " + NNS;
print( s );
out( s );

"JJ" refers to an adjective and is based on Stanford's part of speech nomenclature. "NNS" is a plural noun. The directions are based on a scripting language I created for the purpose of text generation. So, it was a language for generating language. An ouroboros in which the snake is not swallowing its tail, but vomiting it. 

In this case, the seed text was The Book of the Damned written by David Tolkacz (that would be me). 

We get the following output:

noontime teeth
passive surveys
the epiphany of numbers

Here's another one with a modified script:

dismal gears
storage dogs
the wall of instruments
conjectures the cast cock

A totally different script:

I am the system that swore an oath of silence
He who flees the whimpering character
He who devours the shadow of man

I am the sound from which all sounds emerge
He who divides the sneaking shade
He who produces from control

The one who burned when you abandoned your equations to a wager

A poem written off of the final output:

What were we now but equations to a wager
A sound that swore an oath to silence
The clenching productions of control?

Commentary 

We can regard a dictionary base that operates on a finite set of words the same way we would an ngram bias. It defines and limits the potential output and functions as an ontology within the generation, a pocket universe of limited potential. 




Game of Meaning

 This is a poem that is wrapped in a 3D starfield. There are five phrases in the poem, which were culled from one of wisdom sayings of the amoral character Yodabund. Blogger will not run this code properly, so you must download the HTML, open notepad, pasted in the text, save it as an HTML file, and then run it from your browser. I am currently working on a better solution.

<!DOCTYPE html>
<html>
  <head>
    <title>3D Starfield</title>
    <style>
      body {
        margin: 0;
        padding: 0;
        overflow: hidden;
      }
    </style>
  </head>
  <body>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
    <script>
      // Initialize three.js
      const scene = new THREE.Scene();
      const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
      const renderer = new THREE.WebGLRenderer();
      renderer.setSize(window.innerWidth, window.innerHeight);
      document.body.appendChild(renderer.domElement);

      // Add stars to the scene
      const starCount = 200;
      //Existence is a tapestry of contradictions, woven together of light and darkness, a mosaic that contains an image of the whole in every part.

      const phrases = ['in every part', 'of the whole', 'a mosaic that contains an image', 'woven together of light and darkness', 'of contradictions', 'Existence is a tapestry'];
      const stars = new Array(starCount);
      const fontLoader = new THREE.FontLoader();
      fontLoader.load('https://threejs.org/examples/fonts/helvetiker_regular.typeface.json', function (font) {
        for (let i = 0; i < starCount; i++) {
          const phrase = phrases[Math.floor(Math.random() * phrases.length)];
          const geometry = new THREE.TextGeometry(phrase, {
            font: font,
            size: Math.random() * 3,
            height: 0,
          });
          const material = new THREE.MeshBasicMaterial({ color: 0xffffff });
          const star = new THREE.Mesh(geometry, material);
          star.position.set(Math.random() * 200 - 100, Math.random() * 200 - 100, Math.random() * 200 - 100);
          scene.add(star);
          stars[i] = star;
        }
      });

      // Move the stars through the scene
      function animate() {
        requestAnimationFrame(animate);
        for (let i = 0; i < starCount; i++) {
          stars[i].position.z += 0.5;
          if (stars[i].position.z > 100) {
            stars[i].position.z = -100;
          }
        }
        renderer.render(scene, camera);
      }
      animate();
    </script>
  </body>
</html>

Tuesday, May 2, 2023

Psychology of the Supplement (process notes)

 This poem was cobbled together from my Candyman poems (one,two,three,four). I took lines from the poem and created several arrays that grouped phrases and parts of speech and then combined them in a controlled way to create a novel poem every run through.

The text itself creates a pocket ontology of potential poems that become incarnated into a specific poem every run through.

The technique I used was to create the arrays by hand, feed the bare javascript into ChatGPT and then have ChatGPT write the code. The entirety of the conversation is shown below. The only difference is I set the time to three seconds. 

const nouns = ["Narcissus", "the divide&conquer flower rapture", "that previous wOrd", "every gift", "resonating possession", "PRIDE in open space ", "an oath in confinement", "love", "dreaming in unnamed spaces", "the illuminations of flames", "love with its many symbols", "history", "Symbols of the condemned", "the noise", "honeybees", "delicious peace", "a stimulated eye", "the buzzing of bees", "g0d" ]; const vbg = ["craving","wasting","driving","stunting","denying","aspiring","submitting","conquering","divulging","secreting"]; const v3s = ["serves","commands","rains","dries","swallows","chokes","seeks","loses","fears","loves"]; const prep = ["of Her wormy tendrils","with invisible grammars","into your smile","in a voice of faith","of your intentions"]; const phrase = ["we could be of two shadows","pain makes men gods","g0d makes men animals"]; const cmd = ["signify the elemental","seek a symphony"]; const phrases = ["NOUN is NOUN", "NOUN V3S NOUN", "NOUN PREPPHRASE NOUN V3S NOUN", "PHRASE", "CMD", "VBG NOUN", "VBG NOUN is NOUN"];
ChatGPT

Hello! How may I assist you with the code?

User
I would like to make a random poem generator that combines the various parts of speech using the final array called "phrases". NOUN would pull from nouns, and so on.
ChatGPT

Sure! Here's some sample code that you can use to generate random poems using the phrases array:

scss
const nouns = ["Narcissus", "the divide&conquer flower rapture", "that previous wOrd", "every gift", "resonating possession", "PRIDE in open space ", "an oath in confinement", "love", "dreaming in unnamed spaces", "the illuminations of flames", "love with its many symbols", "history", "Symbols of the condemned", "the noise", "honeybees", "delicious peace", "a stimulated eye", "the buzzing of bees", "g0d" ]; const vbg = ["craving","wasting","driving","stunting","denying","aspiring","submitting","conquering","divulging","secreting"]; const v3s = ["serves","commands","rains","dries","swallows","chokes","seeks","loses","fears","loves"]; const prep = ["of Her wormy tendrils","with invisible grammars","into your smile","in a voice of faith","of your intentions"]; const phrase = ["we could be of two shadows","pain makes men gods","g0d makes men animals"]; const cmd = ["signify the elemental","seek a symphony"]; const phrases = ["NOUN is NOUN", "NOUN V3S NOUN", "NOUN PREPPHRASE NOUN V3S NOUN", "PHRASE", "CMD", "VBG NOUN", "VBG NOUN is NOUN"]; function getRandomWord(array) { return array[Math.floor(Math.random() * array.length)]; } function generatePoem() { const noun1 = getRandomWord(nouns); const noun2 = getRandomWord(nouns); const noun3 = getRandomWord(nouns); const v3s1 = getRandomWord(v3s); const vbg1 = getRandomWord(vbg); const prep1 = getRandomWord(prep); const phrase1 = getRandomWord(phrase); const cmd1 = getRandomWord(cmd); const chosenPhrase = getRandomWord(phrases); let poem = chosenPhrase.replace("NOUN", noun1).replace("NOUN", noun2).replace("NOUN", noun3) .replace("V3S", v3s1) .replace("VBG", vbg1) .replace("PREPPHRASE", prep1) .replace("PHRASE", phrase1) .replace("CMD", cmd1); return poem; } console.log(generatePoem());

This code defines the getRandomWord() function to retrieve a random word from a given array, and the generatePoem() function to generate a random poem using the phrases array and the other arrays of words.

When generatePoem() is called, it randomly selects words from the different arrays using getRandomWord(), and then randomly selects a phrase from the phrases array. It then replaces the placeholders in the selected phrase with the selected words, using JavaScript's replace() method.

Finally, it returns the generated poem.

You can call the generatePoem() function multiple times to generate different poems.

User
scrap that
ChatGPT

Sure, let me know if you have any other questions or if there's anything else I can assist you with!

User
We need to wrap it in HTML then randomly generate phrases on 1 second timer that updates to innerHTML
ChatGPT

Sure, here's some sample code that you can use to display the randomly generated poem in an HTML page and update it every second:

HTML:

php
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Random Poem Generator</title> </head> <body> <div id="poem-container"> <p id="poem"></p> </div> <script src="script.js"></script> </body> </html>

JavaScript:

scss
const nouns = ["Narcissus", "the divide&conquer flower rapture", "that previous wOrd", "every gift", "resonating possession", "PRIDE in open space ", "an oath in confinement", "love", "dreaming in unnamed spaces", "the illuminations of flames", "love with its many symbols", "history", "Symbols of the condemned", "the noise", "honeybees", "delicious peace", "a stimulated eye", "the buzzing of bees", "g0d" ]; const vbg = ["craving","wasting","driving","stunting","denying","aspiring","submitting","conquering","divulging","secreting"]; const v3s = ["serves","commands","rains","dries","swallows","chokes","seeks","loses","fears","loves"]; const prep = ["of Her wormy tendrils","with invisible grammars","into your smile","in a voice of faith","of your intentions"]; const phrase = ["we could be of two shadows","pain makes men gods","g0d makes men animals"]; const cmd = ["signify the elemental","seek a symphony"]; const phrases = ["NOUN is NOUN", "NOUN V3S NOUN", "NOUN PREPPHRASE NOUN V3S NOUN", "PHRASE", "CMD", "VBG NOUN", "VBG NOUN is NOUN"]; function getRandomWord(array) { return array[Math.floor(Math.random() * array.length)]; } function generatePoem() { const noun1 = getRandomWord(nouns); const noun2 = getRandomWord(nouns); const noun3 = getRandomWord(nouns); const v3s1 = getRandomWord(v3s); const vbg1 = getRandomWord(vbg); const prep1 = getRandomWord(prep); const phrase1 = getRandomWord(phrase); const cmd1 = getRandomWord(cmd); const chosenPhrase = getRandomWord(phrases); let poem = chosenPhrase.replace("NOUN", noun1).replace("NOUN", noun2).replace("NOUN", noun3) .replace("V3S", v3s1) .replace("VBG", vbg1) .replace("PREPPHRASE", prep1) .replace("PHRASE", phrase1) .replace("CMD", cmd1); return poem; } // Get the poem container and the poem element const poemContainer = document.getElementById("poem-container"); const poem = document.getElementById("poem"); // Update the poem every second setInterval(() => { // Generate a new poem const newPoem = generatePoem(); // Update the poem element with the new poem poem.innerText = newPoem; }, 1000);

This code defines an HTML page with a div element to hold the generated poem, and a JavaScript file with the

User
ok, combine both files into one
ChatGPT

Sure, here's the combined HTML and JavaScript code:

php
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Random Poem Generator</title> </head> <body> <div id="poem-container"> <p id="poem"></p> </div> <script> const nouns = ["Narcissus", "the divide&conquer flower rapture", "that previous wOrd", "every gift", "resonating possession", "PRIDE in open space ", "an oath in confinement", "love", "dreaming in unnamed spaces", "the illuminations of flames", "love with its many symbols", "history", "Symbols of the condemned", "the noise", "honeybees", "delicious peace", "a stimulated eye", "the buzzing of bees", "g0d" ]; const vbg = ["craving","wasting","driving","stunting","denying","aspiring","submitting","conquering","divulging","secreting"]; const v3s = ["serves","commands","rains","dries","swallows","chokes","seeks","loses","fears","loves"]; const prep = ["of Her wormy tendrils","with invisible grammars","into your smile","in a voice of faith","of your intentions"]; const phrase = ["we could be of two shadows","pain makes men gods","g0d makes men animals"]; const cmd = ["signify the elemental","seek a symphony"]; const phrases = ["NOUN is NOUN", "NOUN V3S NOUN", "NOUN PREPPHRASE NOUN V3S NOUN", "PHRASE", "CMD", "VBG NOUN", "VBG NOUN is NOUN"]; function getRandomWord(array) { return array[Math.floor(Math.random() * array.length)]; } function generatePoem() { const noun1 = getRandomWord(nouns); const noun2 = getRandomWord(nouns); const noun3 = getRandomWord(nouns); const v3s1 = getRandomWord(v3s); const vbg1 = getRandomWord(vbg); const prep1 = getRandomWord(prep); const phrase1 = getRandomWord(phrase); const cmd1 = getRandomWord(cmd); const chosenPhrase = getRandomWord(phrases); let poem = chosenPhrase.replace("NOUN", noun1).replace("NOUN", noun2).replace("NOUN", noun3) .replace("V3S", v3s1) .replace("VBG", vbg1) .replace("PREPPHRASE", prep1) .replace("PHRASE", phrase1) .replace("CMD", cmd1); return poem; } // Get the poem container and the poem element const poemContainer = document.getElementById("poem-container"); const poem = document.getElementById("poem"); // Update the poem every second setInterval(() => { // Generate a new poem const newPoem = generatePoem(); // Update the poem element with the new poem poem.innerText = newPoem; }, 1000); </script> </body> </html>

This code defines the HTML page with the div element to hold the generated poem, and the JavaScript code to generate the poem and update it every second.