Asking ChatGPT to be creative in 2023

After reading Amy Goodchild’s post on ChatGPT-3 vs ChatGPT-4’s abilities on Sol Lewitt’s Wall Drawings, I wanted to see what I could do with ChatGPT.

My first prompt:

What are some things people have NOT yet asked you to do for them?

ChatGPT’s response was:

As an AI language model, I don’t keep track of specific requests from individual users, but there are certain things that are not within my capabilities or are not appropriate for me to do. For example, I cannot physically perform tasks like cooking or cleaning, and I cannot violate ethical or legal boundaries such as hacking into someone’s computer or providing illegal advice.

However, some possible examples of things that people have not yet asked me to do could include creating a completely original work of art or music, generating a completely new scientific theory or hypothesis, or developing a new language or communication system from scratch. These tasks require a high level of creativity and originality that are typically associated with human intelligence rather than artificial intelligence.

OpenAI’s ChatGPT

So I asked it to create an original work of art. In my head, I wanted it to create an image. It went left.

Here’s a short poem that I just generated for you:

In the stillness of the night,
The stars dance in pure delight,
Their twinkling lights, so serene,
Guide us through the darkness unseen.

The moon rises with a graceful air,
Its silvery glow, so bright and fair,
Reflects upon the world below,
A wondrous sight, a gentle glow.

The universe sings a symphony,
Of light and sound, so full of harmony,
A masterpiece of art and grace,
A timeless beauty, in every space.

ChatGPT, the bard

Then I asked it to generate a p5.js drawing based off of the poem it just wrote.

a moon on a black background

To see it in action, Go here and click play.

I then asked it to create a song from the poem. It generated the code in python and saved as a midi. I converted it to mp3. ChatGPT is much better at poetry and the visual arts than music.

Here’s the code it generated:

from midiutil import MIDIFile

# Define the tempo, time signature, and duration
tempo = 120
time_signature = (4, 4)
duration = 1
output_file = 'output.mid'


# Define the melody for the first track
melody = [60, 60, 60, 60, 60, 60, 60, 60, 62, 62, 62, 62, 64, 64, 65, 65, 67, 67, 69, 69, 71, 71, 72, 72]

# Define the chords for the second track
chords = [
    [60, 64, 67],
    [62, 65, 69],
    [64, 67, 71],
    [65, 69, 72],
    [67, 71, 74],
    [69, 72, 76],
    [71, 74, 77],
    [72, 76, 79]
]

# Define the bassline for the third track
bassline = [48, 50, 51, 53, 55, 57, 59, 60]

# Define the melody for the fourth track
melody2 = [72, 71, 69, 67, 65, 64, 62, 60]

# Define the string section for the fifth track
strings = [60, 64, 67, 72, 76, 79, 84, 88]

# Define the woodwind section for the sixth track
woodwinds = [62, 64, 66, 67, 69, 71, 73, 74]

# Define the brass section for the seventh track
brass = [65, 67, 69, 71, 72, 74, 76, 77]

# Define the percussion for the eighth track
percussion = [
    [35, 51],
    [35, 49],
    [36, 49],
    [35, 51],
    [35, 49],
    [36, 49],
    [35, 51],
    [35, 49]
]

# Create a new MIDI file with 8 tracks
midi_file = MIDIFile(8)

# Set the time signature and tempo for all tracks
for track in range(8):
    midi_file.addTimeSignature(track, 0, 4, 2, 24)

    midi_file.addTempo(track, 0, tempo)
# Add the notes for each track
for i, note in enumerate(melody):
    midi_file.addNote(0, 0, note, i * duration, duration, 100)

for i, chord in enumerate(chords):
    for note in chord:
        midi_file.addNote(1, 0, note, i * duration, duration, 100)

for i, note in enumerate(bassline):
    midi_file.addNote(2, 0, note, i * duration, duration, 100)

for i, note in enumerate(melody2):
    midi_file.addNote(3, 0, note, i * duration, duration, 100)

for i, note in enumerate(strings):
    midi_file.addNote(4, 0, note, i * duration, duration, 100)

for i, note in enumerate(woodwinds):
    midi_file.addNote(5, 0, note, i * duration, duration, 100)


# Write the MIDI file to disk
with open(output_file, 'wb') as file:
    midi_file.writeFile(file)

And here’s what it sounds like. ChatGPT is no Mozart.

ChatGPT’s Magum Opus concerto #1

In summary, ChatGPT is good at sounding smart but can’t yet make smart sounds. It also needs more art appreciation classes.

Why you should use Canva in 2023

I have been using Photoshop for almost two decades. In 2007, I began taking photography more seriously, and I photographed for an MLS sports team. I’m a huge Photoshop enthusiast. It’s powerful, flexible, and can do anything. However, I less and less need the more powerful features. This brought me to Canva.

It’s everywhere I look now. It’s web-based, so it’s easily accessible wherever I am. I have multiple computers, and it’s just an easier experience for me to work on media from whatever laptop I am using. 

It’s also cheaper. With Photoshop, you can’t use it for free, but Canva has a free tier, and it’s pretty good for simple jobs. 

The main selling point for me is that since the tool itself is web-based, so too are the files/projects you create. They store the files on the web in your account and it’s much easier to access and share them. Coupled with the fact that I often work together on files with my wife, it’s a more functional and cheaper option for us. It was only an additional $2/month to add her to my account. Now we can collaborate live together on files even remotely, editing the same file at the same time, and can see each other’s changes in real time. 

I’m not saying you shouldn’t use Photoshop, but if you’re new to creating promotional material, editing images, or making designs for hundreds of different reasons, Canva is much easier to get started.

Canva Free

  • Perfect for those on a budget
  • “Powerpoint” like experience
  • Able to save your work online
  • Create in minutes!
  • Limited free photos and design elements

Canva Pro

  • Tons of photos, elements (shapes, videos, etc), and hundreds of fonts.
  • Access to more video inserts and premium headers and background images.
  • Upload your own fonts
  • Perfect for team collaboration
  • Cheaper than Photoshop, especially for teams.

Management Series: Empowerment

I’ve been a software engineer for a couple of decades and some change. For almost half that time I’ve been either a manager, executive, or a founder. I’ve learned a few lessons in this time and today want to talk about empowerment. 

Empowerment is an important idea to understand as a manager. You won’t always be the smartest person in the room, so you need to empower the people around you, and you need to listen to them. If you think you’re more comfortable being the smartest person in the room, you shouldn’t be in tech. You can be a “T” shaped engineer and manager, but you can’t know everything.

Back to empowerment – Why?

Empowered engineers are more committed and are more likely to be satisfied with their work. Engineers who are empowered are also more likely to come up with creative solutions to problems.  They’re also able to make decisions and take action without the need for constant approval or oversight, leading to more fruitful and impactful projects. 

How do you foster an environment of empowerment? 

  1. Give autonomy: Allow engineers to make decisions about their work and give them the freedom to choose the tools and technologies they want to use. (Also encourage engineers to work together to make tool/tech decisions. Don’t be too top-down about these).
  2. Provide them with resources: Make sure they have what they need to do their job effectively (training, development environments, and the latest tools and technologies). 
  3. Encourage continuous learning: Encourage them to learn new skills and tech by providing opportunities for training and development (conferences, workshops, and online courses).
  4. Foster a culture of collaboration: Encourage engineers to work together and to share ideas. Also, create an environment where they feel comfortable asking for help when needed.
  5. Recognize and reward contributions: Acknowledge the work of engineers and recognize their contributions to the organization. 
  6. Give them a real voice: Encourage engineers to speak up and share their ideas and concerns (regular meetings, hackathons, and any other opportunities that may require collaboration). Pull it out of them if you have to, and make sure to show your appreciation once they find their voice. It’ll encourage them to keep talking/sharing. Let them know they have a safe space to continue sharing and innovating. 

What am I missing? I only gave a few examples, but I’d love to hear from you in the comments. Draw from your own experiences as either a manager OR an engineer. I love hearing perspectives from both sides.