So I just updated the I... Am... Soooo... Bored... widget yet again. That wasn't the plan. I was done. It was finished. Until... I blogged about it. One of the endearing quirks about the widget is the random phrase about "maybe your boredom vanish like something on a something day".
That little "feature" was a result of AI. I was chatting with the Bing chatbot, asking for suggestions for things to do if I'm bored. I was looking for ideas to add to the widget, and it fired off a host of suggestions from "looking for an invisible cow" to "going for a walk." After the list of suggestions, though, it signed off with: "May your boredom vanish like a ninja in a misty forest!" or something like that, which I thought was wonderful and hilarious. So I grabbed that and added it to the end of the widget as a "sign off." I also decided to spice it up even more by adding "on a moonless night" to the line.
May your boredom vanish like a ninja in a misty forest on a moonless night!
|
May your boredom vanish like a ninja in a misty forest on a moonless night! |
How can you not love a quote like that? I still needed to work on the main functionality, but I wanted to come back to that and maybe add a few other lines to make it interesting. Pick a random sign-off from several choices.
I invited Wassa into my idea for this widget early, and gave him a sneak peak into its development, and he said that he loved the line about the ninja, but thought there should be more of them, picked at random. Great minds, right? =) He said he'd think about it and give me a few more options.
Oh, Wassa.... You don't need to hurt yourself thinking about it.... This, I knew, was the kind of stuff where AI shined. So I went back to the chatbot and asked it to create one hundred alternative lines that were fun and silly in the style of "May your boredom vanish like a ninja in a misty forest on a moonless night" and got back a lot of surprisingly good answers.
I shared the resulting list with Wassa, and he seemed a little disappointed that AI might put him out of a job. "No," I consoled him, "it will just make you faster and more effective...."
Not all of the results were great. Some were kind of lame. Others made no sense at all. Some had grammatical errors. Some I could tweak to make them even better. But it gave a solid starting point for me to work with.
After going through them all, throwing out the bad ones and fixing others, I was left with a list of 70 alternatives. Then I worked them into the widget. It was great. Wassa loved it too.
I also used AI to create the image of the sloth that goes with the widget. I wanted to use a sloth because they always look so slow and bored, and it seemed like just the kind of animal that would love a boring widget. There was nothing particularly interesting about the image, though--just a sloth in a tree. I didn't even tell AI that I wanted a three-toed sloth (but that was what I was secretly hoping for.)
Anyhow, when it came time to announce the launch of the widget, I typed up the blog post (the previous post in this blog), and I wanted to sign off with the original silly sign-off from the widget: May your boredom vanish like a ninja in a misty forest on a moonless night!
And that was going to be it.... but then I felt like I needed one last image to use at the end of the post. I was going to find some random letterboxing photo to use, but then I thought an image of an actual ninja entering a misty forest on a moonless night would be even better! But I'd never find an image like that online to use. Except.... I bet AI could create such an image!!!
So I went back to the Bing chatbot and asked it to create such an image. In keeping with the sloth logo for the widget, I told it to make the ninja a sloth dressed as a ninja. Why not? Shoot for the moon, right? It could be hilarious! =)
The images it returned were gorgeous and hilarious. I loved them! They did have one small problem with them, however. They all had a full moon in the background. It would give me four images from my prompt, and every one of them had a full moon in the background. No, chatbot! Bad chatbot! "NO MOON" I told it!
|
For the life of me, I could not get the AI to create images without a moon in the background!
|
And it replied how sorry it was that it misunderstood me, but that it was glad we could work through the misunderstanding and gave me four more images of a ninja entering a misty forest. But again, the moon was in every single image. Argh!!!
AI is amazingly talented and stupid at the same time. The quote clearly says it's a moonless night. I can't have a moon in the photo!
I tried a few other ways to entice the AI to remove the moon, but I couldn't seem to make it understand. I tried a "new moon" and a "dark sky with stars", but nothing worked. The AI kept adding in a stupid moon.
But finally! It returned an image with a moon, but this time, the moon was against a clear background of the sky rather than through the complex branches of a forest and I thought, that would be easy to digitally edit out. And that's what I finally did.
|
When AI gave me this image, it still included the moon. But it wasn't covered with trees like all the others and I knew I could edit the moon out of this one. Finally! Success!
|
I loved the final image. A sloth, dressed as a ninja, entering a misty forest on a moonless night. That would never have happened without the help of AI.
I loved it so much, in fact, I thought it would be awesome if I had AI create images for all of the 70 quotes that were available, and displayed the images along with the quotes directly in the widget. No, no... I had more important things I needed to work on. I couldn't create 70 images to go with the quotes. I didn't have time for that.
I resisted for all about two hours before finally caving in and starting to create images based on the quotes.
Some of them were very fast and easy. One of my favorites, a penguin sliding down a snowy hill on a sunny day, generated an amazing image right out of the starting gate. The AI nailed that perfectly on my very first prompt. I didn't have to edit the image at all either.
|
AI nailed it on my very first prompt!
|
Other prompts were a bit more problematic....
The AI was very difficult to work with whenever the image tended to be "darker". For instance, I needed an image of a dead body at the bottom of a mine shaft filled with noxious gases, but the AI was adamant about not creating images with dead bodies in them. ("Come on, I told it, it doesn't even have to be lifelike!" It failed to see the humor or irony in that statement.)
So then I tried to "trick" it into creating something kind of like a dead body. It had no problem creating people in a mine shaft with noxious fumes--but they were rescuers with air tanks on their backs. So I tried asking the AI to do the same image, but make it look like one of the rescuers had slipped and fell, and instead of being a rescuer, could he be a rescuee?
I never did get a great image out of that, but I finally got something that at least "kindof" worked. There was one obvious flaw where there was a boot coming out of his sleeve where his hand was supposed to be, but I kind of found that funny and decided to leave it in. At least anyone looking carefully at the image would know it was an AI generated image!
|
Can you spot the obvious AI flaw in this image? =)
|
I knew the quote about boredom washing away like a bloodstain on a murder weapon was going to be a difficult pill for the AI to swallow even before I typed in the first prompt, so I started thinking about how to get something close to what I was thinking without saying it in so many words. Finally I tried prompting it to create a knife covered with "cranberry" stains being washed off in a sink. And... .well, they're definitely cranberries in the AI-generated image, but if you squint and don't look too closely, it could possibly look like clumpy lumps of blood. Good enough! And I moved on.... =)
|
Cranberries... blood... they're basically the same thing, right? =) It's a pretty disturbing image either way!
|
I had trouble with the line about discarding a card from a losing poker hand. The AI didn't seem to discriminate against gambling, but rather, it was the cards themselves. Every image it generated always had an ace of spades being discarded--which doesn't
look like a bad card! Finally I explicitly told it to change the card to a five of hearts. What can you do with a five of hearts? But it turns out, AI has trouble counting. The card was a 5, but only included 4 hearts on it. *sigh* But there was a big blank space between then, so I knew I could copy one of the other hearts and copy and paste a 5th heart into that empty space. Problem solved. On to the next quote!
The line about a tourist being lost in a big city without a map was surprisingly difficult to generate as well because the AI kept adding tourists WITH a map. "NO MAP!" I would tell it, but then it would generate four more images, all of them with a lost-looking tourist looking at a map. Nothing I said seemed to get rid of that map.
Then I hit upon the idea of what if I could get the AI to turn the map into something else. So I added the note about the lost tourist holding a "wildlife guide", and that finally worked. Finally got an image of a lost tourist that wasn't holding a map anymore--and a wildlife guide wasn't going to includes maps for the big city, so that wasn't going to help him!
|
Yeah, you aren't going to find the Chrysler Building with that wildlife guide, buddy! (I'm also amused at how AI spells everything with random letters whenever text should go somewhere.)
|
Another problematic line was the one about a match burning in a fireplace of an apartment complex that was on fire. "This is a bit disturbing," the AI replied. "Is this for safety reasons or are you thinking about arson." *sigh* "No, I am not an arsonist," I tried to assure it. I really hope the authorities aren't monitoring my Internet usage. This would be a difficult one to explain!
I eventually gave up trying to create an apartment complex that was on fire--I didn't seem to get anywhere with that line of requests--and focused on the match in the fireplace part of the line, which the AI was happy to create.
Having a muscle relaxing on a massage chair on the beach, for some odd reason, was something that the AI was not willing to create. Massage chairs and a beach it was fine with, but a muscle--apparently--was a step too far. I thought about trying to digitally edit the image to add a muscle to an empty massage chair on a beach, but I wasn't even really sure what a free-standing muscle should look like. A steak?
Then I wondered what would happen if I changed "muscle" to "mussel", and the AI had no problem with that. Sure, it could create an image of a mussel in a massage chair on a beach. And the image was hilariously wonderful! So I changed the quote to match the new photo. That was the only line where I edited the line to match the photo rather than the photo to match the line.
|
A mussel, relaxing on a massage chair on a tropical beach. =)
|
There were a couple of quotes about boredom disappearing like a sinking ship, but the AI was dead set against making images of any ships actually in the process of sinking. I eventually settled on some ships in stormy weather that "could" sink if the image were a video that could play. =)
Annoyingly, however, the chatbot would say that it had no problem creating an image of a sinking ship, but then only provide images of non-sinking ships! "No, that's not what I asked for," I insisted. It didn't help.
The chatbot might have had a problem with creating images of sinking ships, but it clearly has no love for snowmen soaking in a hot spring. It gave me an image of that without any fuss at all.
Another quote I had problems with was a broken glass of wine on a cobblestone street during an earthquake. The cobblestone street and the earthquake weren't issues, but the broken glass of wine was a challenge. AI kept wanting to create unbroken glasses, and the rare time I got it to create broken glasses, it looked horrible--as if it didn't know how to draw broken glass. I finally gave up and just accepted an unbroken glass, but at least it was tilted over on its side and the wine was spilling out.
|
Rest assure, in case of an earthquake, wine glasses are actually indestructible! The wine might spill out, but the glass won't break!
|
The last image I had a lot of trouble was the zombie that was decapitated and bludgeoned to death. I knew this was going to be a difficult one before I even typed in the first prompt. I decided to skip with trying to have it decapitated and bludgeoned to death knowing the AI wouldn't do either of those things, but maybe a dead zombie laying on the ground was sufficient. Depending on the image I got, maybe I could even digitally remove the head or deform it into something that looked bludgeoned.
I just couldn't make it work, though. Even getting the AI to generate a zombie was often difficult--but it seemed to help if I asked for it to be a "cartoon zombie". ("It doesn't have to look real!") I tried getting the AI to create an image of a zombie "laying down for a nap"--anything that might look like a dead zombie--but to no avail. I couldn't make anything work.
Finally I just took a cartoon-ish zombie with no background at all and rotated the image sideways, then had AI generate a background of a forest with a cartoon style. (I wanted the background to fit the cartoon-look of the zombie.) Then plopped the zombie onto it in my image editor. It looks horrible and is perhaps the least satisfying image of them since it looks so horribly photoshopped.
|
Arguably the worst of the AI-generated images (two AI-generated images in this case) that I decided to use anyhow.
|
There were a few quotes that I just couldn't create anything that was remotely funny or interesting: like Richard Nixon resigning in disgrace. For the life of me, the AI would not create any sort of image resembling Richard Nixon. It didn't matter if it looked like a cartoon or not. I tried describing Richard Nixon's appearance rather than use his name directly, but the images just didn't look enough like Richard Nixon to work. I finally gave up and decided it wasn't that funny of a line anyhow and threw it out completely.
There was one other line that I added about "May your boredom be extinguished like the fire on your nipples after a prank-gone-wrong!" and I was pretty sure the AI was not going to create an image for me of two nipples that were on fire, but fortunately, I had my own image for that. That was the only line I didn't use AI to create an image. =)
Anyhow... after getting images for all the funny quotes, I updated the code to use them and uploaded them to the live site, and now you can see them all if you refresh the widget enough. If you dare....
You might think that this widget was a total waste of my time, and perhaps you're right. But I have to admit, I found it very useful learning how to harness the power of AI to help create it. AI influenced so much of this widget! It helped with the suggestions for things to do if you're bored. It created the spinning wheel. It helped create the amusing lines about your boredom vanishing like a ninja in a misty forest on a moonless night--then helped create the images to describe those lines!
AI had its limitations, for sure, but it was an enormously educational experience for me. =)
If you want to see the rest of the AI-generated images.... you'll just have to install the widget and refresh it a whole bunch of times! Happy trails!