Tales from the jar side: AI and Canva create YouTube Shorts, Big sale on my book, The awesome MacWhisper, Fixing my Substack notifications, Questionable uses of AI, and Tweets and Toots
What do you call a dog that does magic? A Labracadabrador! (rimshot)
Welcome, fellow jarheads, to Tales from the jar side, the Kousen IT newsletter, for the week of May 7 - May 14, 2023. This week I taught my Latest Features In Java course as an NFJS Virtual Workshop.
Regular readers of (and listeners to, and now video viewers of) this newsletter are affectionately known as jarheads, and are far more intelligent, sophisticated, and attractive than the average newsletter reader (or listener, or viewer). If you wish to become a jarhead, please subscribe using this button:
As a reminder, when this message is truncated in email, click on the title to open it in a browser tab formatted properly for both the web and mobile.
A YouTube Short On Mockito Benefits
On Friday, I posted the following YouTube short (NOTE: alternative version below):
I show you that not because it’s particularly notable, but because, as usual, there’s a story behind it. Let me start by saying that a week ago, I had no idea how to make a YouTube Short like that. It turns out, however, that there are dozens of YouTube videos (and video channels) that describe the process in varying amounts of detail. You do need a pro account on the Canva website to make them work, because the system involves using their Bulk create tool, but the rest is straightforward.
Here’s the basic process:
Go to your AI tool of choice (nominally ChatGPT, but I tried Google’s Bard as well) and ask it to generate a table with the values you want. It’s important to ask for a table, because you’ll be able to copy and paste the table directly into the bulk create tool at Canva.
Use Canva to create YouTube Short (or Instagram Reel, or other small video format) with text fields for your table columns.
Using the bulk create tool at Canva, import the table data, either as a CSV (comma-separated values) file or by just pasting in the table.
Connect the columns from the imported data to text fields in the user interface and generate a page for each row.
Clean up the results, add a background music track, and export it to an mp4 file for uploading to the social media site of your choice.
I tried making a video walking through each step, but I fumbled it a bit and decided I need more time to sort out the details. As mentioned above, however, there are many, many existing videos on YouTube that show the process. For example, see the YouTube channels Design with Canva and Primal Video (that’s Primal, not Prime, which is the Amazon channel).
Here’s a few images from my process. First I posted a question to GPT-4:
Here’s a portion of the reply:
The first thing I noticed was that each benefit contained a title highlighted in bold. So I followed up by asking for that to be in a new column:
(I don’t know why I keep saying “please” to AI tools. Habit, I guess. Or maybe I’m more concerned about getting on their good side before the Great Robot Uprising than I’m willing to admit.)
Here’s the result:
Great! That’s when I went back to Canva, selected Apps, and Bulk create:
From there, I chose Enter data manually, which opens up a miniature spreadsheet:
From there, you clear the table*, paste in your data in the first cell, and move to the next step.
(*It turns out clearing the table isn’t necessary. The paste operation overwrites the data shown above.)
That involves setting up a video screen to map the different columns to text blocks in the table. Then you can click Generate pages, meaning generate all the different versions from each row in the table.
From there, it’s a question of tweaking each one to fit. I played around with the font sizes and some of the highlight colors, added a music track, and I was done. Once I had the process down (which took me hours of learning), it took me about 20 minutes to run through the steps, including designing the layout.
Here’s that alternative version shown in the image:
The only problem is that there isn’t enough time to read each reason, because I had to pack 10 reasons (11 counting the bonus at the end) into 60 seconds, so at most about 5 to 6 seconds each. Next time maybe I’ll limit it to only five benefits and see how that works, or ask the AI tool for shorter benefits.
Finally, in case you’re wondering whether the listed benefits are correct (which is the real question, right?), I’d say the descriptions are a little too sales-y for my tastes, but they’re all justifiable. The truth is that I don’t like to write in that style, so I’m happy to have GPT-4 do it for me.
Let me know what you think. I’m still coming up the learning curve on Canva, so expect more experiments in the future.
Medium: The Argument Is The Answer
The Pragmatic Bookshelf, publisher of my last two books, is holding its Spring sale. (That’s Spring as in season, not Spring as in training (baseball) or Spring as in framework.) This is week six, which is all about “tools”. That means there is a 50% off sale going on, using the code TOOLS2023, for the eight books listed in the newsletter here, one of which is my book, Mockito Made Clear.
As a result, my editor decided to move one of my scheduled Medium posts up to last Wednesday. The post is called The Argument is the (Mockito) Answer. It’s about how to set the expectations on a method so that it returns a value based on its inputs, using the Answer
interface in Mockito. Feel free to check out the article for the details. The article also contains the embedded YouTube video on the same topic that I published a few weeks ago, so if you’d rather just watch the video, be my guest.
The sale started last Tuesday and extends until May 17 (this coming Wednesday), so feel free to use it until then if you haven’t already.
A Really Good Use Of AI
I spent way too much time watching YouTube videos about Canva this week (as described above), but I also stumbled across a video describing a completely different software recommendation: MacWhisper. It only runs on a Macs (as you may have guessed from the name), but it’s excellent. What it does is:
“Quickly and easily transcribe audio files into text with OpenAI’s state-of-the-art transcription technology Whisper.”
That means you download the product onto your local machine, install a Model (the smaller ones are free), paste in a video or audio file, and it generates the subtitles for you, with timings and everything, as a downloadable srt file. You can then upload the srt file to YouTube as your subtitles track.
I used it for my Spying on a logger video, and it did an excellent job. Now it’s worth it to turn on the closed captions when watching that video. The only real issue MacWhisper ran into is that it didn’t recognize the word “Mockito”. Fortunately, the program allows you to globally search and replace individual words, so the transcript was easy enough to update. This was done on the (free) Small model. The transcript still contained some small errors (I missed that it translated java.util.logger
as “Java You till dot logger,” and it used “logger’s” as a possessive where it should have used a plural), but wow, for a free tool, it did a great job. In fact, it did so well that I upgraded to the paid version (which blessedly was a one-time payment, rather than the subscription model so common these days) and downloaded the larger Models that come with it. I don’t know that I need those larger models, but the tool was so helpful I didn’t mind sending the creator the $20 (approximately — the actual price was in euros) as my thanks.
When I record a video of this newsletter tomorrow, I’ll run it through the same program to see how it handles bigger projects like this.
Interestingly, MacWhisper is really just a front-end user interface on the Whisper program from Georgi Gerganov, located in this GitHub repository. The creator of MacWhisper, Jordi Bruin, not only acknowledges this, he added the link to his page so I could go see it. The thing is, MacWhisper is exactly what Whisper needs. The Whisper program is typical of developer utilities — it’s command-line based, with lots of obscure flags, and awkward to use. The MacWhisper UI makes everything simple. MacWhisper adds a lot of value to the original Whisper program, which should help both of them.
A Bad Use of AI
Now that I’ve talked about how helpful AI can be, let me talk to you about its dark underbelly.
I saw a few videos last week on creating so-called faceless YouTube channels. The idea there is that the videos include a background narration, and maybe a quiet music track, but you personally don’t appear in the video at all. For more than one, here was the process:
Use Google and ChatGPT to search for a profitable YouTube niche.
Narrow the results down to a small sub-niche in that area.
Ask ChatGPT to come up with a name for a YouTube channel for that area.
Ask for 10 video ideas in that area and pick one.
Ask it to write a script (!) for that video.
Use Canva to create the channel assets, like a banner image, a watermark, and so on.
Use Canva to create a thumbnail for the video.
Upload the script, and use Canva to record yourself reading it. (Note at least one video I saw uploaded the script to another site which provided fake narrators, too.)
Upload the resulting video to YouTube.
Register with affiliate marketing sites so that when you recommend products in your video, you get a percentage of any sales that result.
See how many of those steps were automated by AI? From channel selection to topics to even writing the script for you, everything was done by the AI tool.
Some of these videos were incredibly blatant. One person in particular (who I’m not going to mention because I see no reason to give him extra publicity) didn’t care at all about the topic, only that it was popular. It’s all about generating passive income via AI tools and Canva assistance.
I’m not even sure how to feel about this. Some of them are arguably okay, and others were little better than stealing. The potential revenue, however, is undeniable. As I’ve learned repeatedly over the year:
Money pressures will make otherwise ethical people behave unethically.
Of course the real result will be thousands of YouTube channels filled with AI-generated dreck that nobody will watch. See, that’s the last piece of the puzzle — the money comes from the affiliate conversions, and if nobody buys what you’re selling, you don’t get anything. You may be willing to sell your soul, but what happens if nobody’s buying?
Personally, I’m always skeptical about the promises of money. I’m only tempted to do something like that because I want to learn to use the tools, but I already have too many ideas at the moment. The last thing I need is another project, especially if I’m going to feel bad about doing it.
Substack App Settings, Or Sometimes I’m An Idiot
Early in the week I posted this:
That’s a Substack Note, if you haven’t seen one. It looks pretty much like any other social media post.
It turns out, the fix is trivially easy. You click on your profile and go to the Settings page. Then, under Notifications, you’ll find this:
Apparently, I’d clicked Smart Notifications at some point and forgotten about it. That’s why I was only receiving newsletters in the app and not email. As you can see, I’ve fixed it now.
Whenever I make a mistake like that, I try to tell myself what I often tell my students: I never mind a question that’s easy to answer. If an issue is trivial to fix, enjoy it. I’d much rather have something easy to do than struggle for days on a hard problem, like how to use LoggingListener
in JUnit 5 last week. (My StackOverflow question on that still has zero answers.)
I should mention I followed up my Note with another one containing the solution as described above, so if anyone else has this problem, they hopefully won’t have to admit it out loud.
Tweets and Toots
Had Me Going There
Dirty, unwashed little animals. Cute, though.
Why Not You, Indeed
An oldie, but even more relevant now when so many of those idiots are using AI tools.
Best Coronation Tweet
Too Soon?
The Answer, At Last
Seems obvious when you put it that way.
Rage Against…
I NEED that sweatshirt. :)
A Fashion Victim
No hope for the fashion-challenged.
(Someday I’m going to have to try on a pair of crocs to see what all the fuss is about.)
Have a great week everybody!
The video version of this newsletter will be on the Tales from the jar side YouTube channel tomorrow.
As a reminder, you can see all my upcoming training courses on the O’Reilly Learning Platform here and all the upcoming NFJS Virtual Workshops here.
Last week:
Latest Features in Java, an NFJS Virtual Workshop.
This week:
Spring Data and the Java Persistence API, an NFJS Virtual Workshop.
Java Upgrade from 11 to 17, private class.
The smart alert thing gets set by default when you install the substack app, if you are not paying attention. I suffered the same fate.