Tales from the jar side: Meeting Minutes and ChatGPT, coding with Apache POI, the awesomeness of Buckaroo Banzai, how to pronounce ChatGPT, and the usual social media posts
Which of King Arthur's knights built the Round Table? Sir Cumference, of course (rimshot)
Welcome, fellow jarheads, to Tales from the jar side, the Kousen IT newsletter, for the week of October 15 - 22, 2023. This week I taught my Latest Features in Java course as an NFJS Virtual Workshop, as well as my regular Software Design course at Trinity College in Hartford, CT.
Regular readers of and listeners to, and 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.
Transcribe and Analyze Meeting Minutes
The OpenAI platform site has a tutorials page, and one of those tutorials is called Creating an Automated Meeting Minutes Generator with Whisper and GPT-4. The basic idea is to take a recorded WAV file, transcribe it to text using their Whisper AI client, and then perform four analytical steps on the resulting transcript:
Summarize the meeting
Extract the key points
Extract the action items (if any)
Perform a sentiment analysis, whatever that is
The tutorial is implemented, naturally enough, in Python using the openai
package they supply. It gets off to a rocky start, however, because even though the meeting recording is only 3 minutes long*, the resulting WAV file exceeds the 25Mb limit imposed by Whisper for transcriptions.
*Someday, and I’m sure that day will never come, I’ll attend a meeting that only lasts three minutes. Nah, that will never happen.
After they generate the transcript, the four steps listed above are all executed as GPT-4 requests with different prompts. They run them all and collect the results. Finally, they transform the meeting minutes into an MS Word document. While I was willing to redo most of their tutorial in Java, I skipped the Word part.
Hold that thought, though, because of course I couldn’t let it go. First, however, here is the new video:
I also put together a brief blog post about it, where once again I used the Glasp plugin for Chrome to leverage ChatGPT and generate a bullet point summary of the contents.
The cool part of the whole exercise is that after transcribing the video, I was able to do all four of the GPT-4 analytical steps in parallel using Java’s parallel streams. The video demonstrates that when I do the steps sequentially, the process takes slightly longer than the sum of all the individual tasks, while when I do them concurrently, the total time is just slightly longer than the longest task. Sweet.
Apache POI
Of course, even after I sent out the video and published the blog post, I couldn’t leave well enough alone. The Apache POI project is still, after all these years, the best free, open source Java library for interacting with MS Office documents. Though you won’t find it anywhere on the website, the term POI originally was a rather contemptuous commentary about MS Office formats.
Here, I’ll let Google’s Bard AI tell the story:
Yup, just as I remembered. The letters POI originally stood for Poor Obfuscation Implementation, but somebody got offended and they eventually dropped that. Word documents had (and still have) their own nasty abbreviation:
The best one was for Excel documents, where HSSF stood for Horrible Spreadsheet Format. Again, you won’t find that anywhere on the website, at least not any more.
In the end, I couldn’t stop tinkering. If you check the GitHub repository for this project (which is the same one I’ve been using for all my non-Spring-related AI projects), you’ll see I added a method in the FileUtils
class called writeWordDocument
that writes out all the GPT-generated results into a Word docx file. As I knew it would, that task kept growing until I figured out how to set headers for each section, capitalize each word in the header, and then write the text. Also, for the “key points,” I included a regular expression to detect if the text contained a numbered list, and, if so, write out a corresponding list in Word. Even with AI assistance, the whole thing took me hours, with me grumbling the whole time that this was neither necessary nor worth doing. The code works, though, so at least I have that going for me. Which is nice.
To celebrate, here’s a picture I generated using DALL-E 3:
I must admit, I do enjoy those happy little robots. I, for one, welcome the arrival of our AI overlords. At least I will if they don’t make me write any more POI code.
Buckaroo Banzai: Across the 8th Dimension
I saw this toot on Mastodon:
RoboCop is a brilliant movie. It’s a great satire, and it has many layers of character development. Maggie Mae Fish did an episode of her series Film School with Maggie Mae Fish on that movie that viewed it as a trans allegory, and it really worked that way, too. The movie came out in 1987, and starred Peter Weller in what forever became his most memorable role.
That is, unless you saw 1984’s The Adventures of Buckaroo Banzai: Across the 8th Dimension. Those very few of us (and I mean very, very few) who caught that movie in the theaters were treated to possibly the greatest, most surreal cult classic of all time.
I asked ChatGPT to summarize it for people who never saw it:
**Buckaroo Banzai: A Whirlwind Adventure Across Dimensions**
*The Adventures of Buckaroo Banzai Across the 8th Dimension* is a cult classic from the 1980s that effortlessly blends science fiction, action, and quirky humor into a unique cinematic experience. At its heart, the film follows the enigmatic Dr. Buckaroo Banzai - a neurosurgeon, rock star, and physicist (yes, you read that right) - as he takes on a mission that spans dimensions.
The story kicks off with Banzai's successful attempt to drive a car through a solid mountain, a test of his revolutionary "Oscillation Overthruster." However, this groundbreaking feat inadvertently opens a portal to the 8th Dimension. This catches the attention of the Red Lectroids, an alien race from Planet 10, who have been secretly living on Earth in disguise. Their leader, Lord John Whorfin, sees Banzai's invention as a way to free his fellow Red Lectroids trapped in the 8th Dimension.
As the stakes rise, Buckaroo and his loyal band of allies, the Hong Kong Cavaliers, must thwart Whorfin's nefarious plans and prevent an all-out interdimensional war. Along the way, they encounter a colorful cast of characters, from the enigmatic Penny Priddy to the mysterious Black Lectroids, who offer a warning of the impending danger.
Amidst the high-octane action, the film is peppered with eccentric humor, memorable one-liners, and a distinct 80s flair. It's a wild ride that offers a fresh take on the sci-fi genre, and while it might be unconventional in its storytelling, it's this very uniqueness that has endeared it to fans for decades.
In essence, *Buckaroo Banzai* is a celebration of the unexpected, a testament to the power of collaboration, and a reminder that sometimes, the most extraordinary heroes come from the most unlikely of places.
Close, but that doesn’t really capture the sheer lunacy of the movie. The world-building in the movie is fantastic, but there’s no exposition present. The movie just assumes you already know everything about the world you need to know, and drops you right into the middle of it.
For example, there’s a scene early in the movie where two duck hunters accidentally shoot down a Black Lectroid thermopod, and as they search for it in the darkness they stumble across a comic book in the muck.
In this world, not only do a random pair of duck hunters know who Buckaroo Banzai is, they know he is a comic book hero, and they even know they found the latest issue. Because of course they do.
The cast of that movie is truly epic. John Lithgow is way, way over-the-top as the maniacal Lord John Whorfin, years before he starred in Third Rock from the Sun. Christopher Lloyd is great as his primary assistant John Bigbooté (pronounced BigbooTAY). Jeff Goldblum does Jeff Goldblum things throughout (he’s the one who realizes the Red Lectroids crashed through the dimension barrier on Halloween of 1938, hypnotized Orson Welles into covering it up by transmitting his War of the Worlds broadcast that night, then founded a defense contractor called Yoyodyne Propulsion Systems to build a ship to get back into their own world — oh, and all of them are named John and they all have consecutive social security numbers).
A very young Ellen Barkin plays Penny Priddy. She gets thrown in prison for apparently trying to kill Buckaroo, but he visits her and it turns out …
He continues: “And I married her, and she’s gone now, and that’s all there is to say about that.”
Except that apparently Buckaroo’s former wife Peggy was Penny Priddy’s identical twin sister adopted by a different family at birth. None of the questions around that are ever resolved.
I have to mention Clancy Brown, too, as Rawhide, long before he was immortalized as the evil prison guard Captain Hadley in The Shawshank Redemption.
The movie is filled with great quotes. Probably most famous is:
But there are so many others:
Or, from the President:
Whorfin’s most famous line:
And his backhanded praise for Buckaroo:
Seeing that quote in text just doesn’t communicate the dripping contempt expressed by Whorfin. Someday I would love for someone to tell me that in the miserable annals of the Earth, I, too, have been duly enshrined.
I could go on and on, but I’ll stop now. If you ever get a chance to see the movie, please do so. If you don’t like it, though, I don’t need to know. I mean, you do you, but I’m sure my wife suspects that when I first showed it to her, if she hadn’t liked it, our relationship probably wouldn’t have survived.
Incidentally, when the movie came out, I had just moved to Princeton, NJ, so all the local references made sense and just added to the fun. :)
Tweets, Toots, Skeets, et al
How to pronounce ChatGPT
Yet another joke in the category of wow, I wish I’d thought of that. 😆
Naturally enough, I asked GPT-4 to flesh out the song. We went through several iterations, and I had to prod it to generate lyrics that synced with the music, but here’s about the best of the lot:
Chat jippity, chat jippity, chim chim churee,
To ChatGPT I turn, when curious I be.
Sometimes it's spot on, like a bullseye hit,
But other times, well, it might miss a bit.Chat jippity, chat jippity, chim chim cheroo,
For coding or trivia, it's one place to go to.
It's not always perfect, might give a wrong cue,
But often enough, it provides a good clue.Chat jippity, chat jippity, chim chim churee,
A vast digital brain, as wide as the sea.
Though errors pop up, and it might misconstrue,
I'll give it a shot, see the answer it'll spew.Chat jippity, chat jippity, chim chim churee,
In the realm of chatbots, it's lively and free.
With questions abound, I'll throw quite a few,
And hope for the best, as answers ensue!
Not bad for roughly a minute of work. Not very good, either. I know humor is a subjective thing, but my experience is that ChatGPT isn’t very good at it. You would think it would be better at word play than it actually is, too, but nope.
The real result — and a good one — is that now I’m always going to be hearing “chat jippity” in my head whenever I read the word ChatGPT.
Temptation
Thank goodness I don’t work there, or anywhere near there, or those pumpkins would be going through that hoop.
A light dawns
Not only the rainbow, but look at that hair, and those shoes, and his “assistant” watching it all happen. So many coded messages, so little time.
Your dog won
I’m sure the dog who won was a Good Dog.
Another old movie reference
I saw that one in the theater as well, though when I first came out I wished I hadn’t. Great job, though I must admit I like the James Cameron sequel better. None of the other movies in the series ever happened, though (except maybe the Joss Whedon one. Maybe).
Do I have to show you everything?
I’m kind of afraid to include this one, because my wife will see it. I’m not good about eating vegetables. Still, it’s a good comic.
Finally, 'tis the season
Have a great week, everybody!
The video version of this newsletter will be on the Tales from the jar side YouTube channel tomorrow.
Last week:
Latest Features in Java, an NFJS Virtual Workshop.
Software Design, my course for undergrads at Trinity College
This week:
Making the Latest Java Features Work for You, on the O’Reilly Learning Platform
Software Design, my course for undergrads at Trinity College