Tales from the jar side: A CSI YouTube video, a few Shorts, My objections to evaluating training class students, My new Tesla bumper sticker, a Poll about my new logo, and the usual Tweets and Toots
Old gag, but still funny: I'm afraid of overly intricate buildings. I have a complex complex complex. (rimshot)
Welcome, fellow jarheads, to Tales from the jar side, the Kousen IT newsletter, for the week of June 25 - July 2, 2023. This week I taught my Reactive Spring course on the O’Reilly Learning Platform, in the APAC (Asia/Pacific) time zones. I also was active on YouTube, publishing one long-form video and three YouTube Shorts.
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.
YouTube Videos
I’ve noticed an odd thing about including YouTube videos inside this newsletter. If I go to the video and click on the “Share” link, it gives me a shortened link I can embed here in the editor, and the video shows up. The resulting video seems to be correctly embedded in the email newsletter, too. But if I go to the Substack app, all I get is a blank space large enough to hold the video, but no video. Weird that the one place this mechanism would fail is on the actual Substack app, but so be it.
Anyway, here’s the video I published this morning, with the full link:
The teaser is:
Murder. Conspiracy. Code Conduct Unbecoming. At least one of these crimes is important in CSI @DanVega: Http Interfaces in Spring Boot 3.
The actual story behind the video is that I was watching Dan Vega’s videos (on his YouTube channel), and he accessed a site called JSON Placeholder for one of his demos. I decided to go to the same site and build a full Http Interfaces demo around it, both using the WebClient
directly, and taking advantage of the Http Interface client added in Spring Boot 3. I also noticed that the comments on his videos repeatedly asked about exception handling, so I added a section on that as well. I even wound up running some of the tests using parallel streams, which was pretty cool.
The secondary goal was to leverage his success on YouTube to my own benefit. :) His channel has about 30K subscribers, which isn’t a lot by YouTube standards but is way, way more than I have. I want my video to be in the “Suggested” list for people who watch his (and vice versa, but that’s hardly going to move his numbers at all). That’s a recommended strategy for growing your own channel, and I figured it’s worth a shot.
I should mention that my son (better known as my unofficial Official Social Media Consultant) helped considerably on the thumbnail you see above.
The video has only been out for a few hours now, but at least Dan liked it. He retweeted it to his followers, which definitely helps. We’ll see how it does overall, given that it’s longer than my usual videos (almost 24 minutes) and is pretty technical. If you do take a look, the funny parts (such as they are) are in the section at the end called The Jury Verdict, starting at 21:58.
In case you want it, here’s a link to the GitHub repository.
YouTube Shorts
In addition to that, I make three YouTube Shorts this week:
All three were made with Descript, which is really good for converting long form content into Shorts. The ones involving Nate were sections from the Live Stream I did with him last week. The one about the overdub capability in Descript was made from last week’s newsletter video. For some odd reason, that last Short wasn’t pushed at all by the YouTube algorithm. Heck, even I didn’t get notified about it on my personal account, even though I’m a subscriber who “clicked the bell,” meaning I should hear about everything from that channel. I have no idea why. I’m assuming that’s why the number of views is so low relative to the others.
Oh well. I guess that’s my first time I got hit by the vagaries of the algorithm. I’m sure it won’t be the last.
Questioning Students in a Training Class
I spent a lot of time this week working on a particular problem. I’m going to outline it here, but not go into too many details. I expect it may become the basis of another video later, and if I make that video, I’ll let you know.
I was recently asked by a client to generate over 100 (!) questions for a video training course I was in the process of updating. Let’s be clear: I have strong philosophical objections to that entire idea. In all the years I’ve been training, I have never once been asked by a student for a set of evaluation questions, unless the training was specifically for passing a certification course, in which case they mostly wanted to figure out how they could pass the test.
The only real reason my client would want those questions is if a company manager requested them, and why would a manager do that? So they could assess whether or not their own employees learned the material, and therefore the training was worth the cost, and I find that is frankly appalling. This isn’t school — nobody is giving you a grade anymore. The only metric that should ever matter is whether or not about an attendee is whether or not they can accomplish the tasks they were hired to do. In fact, most of the students who attend my training courses aren’t there to “master the material.” They’re there because they have some specific problems to solve and need help solving them.
This gets at the heart of the difference between academic courses and training courses, which I usually express this way:
In school, I’m grading YOU. In my training courses, you’re grading ME.
That changes everything. In school, if I’m the teacher and I tell you to do something, you have to do it. You can argue about it, or try to persuade me you’ve done it when you really haven’t, but ultimately I’m the one with the power. In a training course, you’re only there because you have a job to do and you’re stuck. My job is to figure out what you need and tailor the course contents to meet that need.
At the end of an academic course, I assign a letter grade, and way too much time and energy is spent on figuring out what you need to do to get an A, or a B, or not fail. In a training course, you evaluate the instructor, not the other way around. You tell the people who hired me how well I communicated what you needed to know during the class.
Therefore, in my opinion, the whole idea of the instructor grading participants in a training course is misguided. It’s yet another attempt at control on the part of managers, who feel that every expense needs to be justified with data. I’d argue that you either trust your employees or you don’t. If you want to know how effective the training was, just ask your employees and they’ll be more than happy to tell you. Don’t force them to take some arbitrary test to show what they learned. That’s missing the entire point.
You probably will not be surprised at all to hear that despite my best efforts to make that argument, it went nowhere. My client sells courses to company clients, and company clients want question banks, so my client tells me I need to provide question banks. They’re willing to pay me a small amount for my time, but either I have to write those questions or they’ll get somebody else to do it for me.
(Which, by the way, they really won’t. I tried saying no at first, only to have them come back a few weeks later and ask again. I was, shall we say, not terribly surprised.)
My original thought was to make a bunch of questions in this form:
Q. Which of the following letters is “B”?
A. A
B. B
C. C
D. D
After all, if I’m the one being graded, and I don’t feel the students should be evaluated at all, why not make it easy for them? Unfortunately, I couldn’t get that past my client. Worst of all, they have this team of “educational specialists” who use words like formative and summative (ugh) in a non-ironic way. Shudder.
My next step, inevitably, was to realize I have all these new AI tools at my disposal, like ChatGPT and Google’s Bard. The video (assuming I ultimately make one that won’t get me into too much trouble) will show the steps I took to get an AI tool to either read each video’s transcript or parse the video itself, generate a set of questions based on it, and upload those questions to Google Docs. Then I wrote the code to access those docs and concatenate them into one large output document. Simple to describe, but way more complicated than I expected.
I wound up spending a lot of time with the Google Docs API, and the Google Drive API, which should be very similar but they’re not. As with all things Google, the overall impression I get is, “Wow, they really don’t get it, do they? But I can probably work with this.” Kind of says it all, really.
The bottom line is: I had a job I didn’t want to do, but had to do, which I didn’t believe should be done at all. How do you deal with a job like that when you’ve already got a bad attitude?
More about it in future newsletters.
My new bumper sticker
Regular readers of this newsletter may recall that I designed a bumper sticker for my Tesla which captures my mixed feelings about it. I ordered a physical one, which came this week. Here’s a picture:
That about sums it up, I guess. I doubt I’ll put it on my actual car, because I’m not sure how easily I can remove it later. I probably shouldn’t care, but I still do. Maybe that will change. If so, I’ll attach a real picture with it on the bumper.
Poll about my new logo
While I was playing around with Canva, I designed a new logo. Here it is, as a square logo:
Here’s the “wordmark” version, whatever that is:
For the record, according to Wikipedia:
A wordmark, word mark, or logotype, is usually a distinct text-only typographic treatment of the name of a company, institution, or product name used for purposes of identification and branding.
Okay, so there’s that. If you’re on the Substack app, you might notice I’ve already added both to the template of this newsletter.
I think the new one looks pretty good, but I’m not sure about it. For reference, here’s my old logo, designed when I first started the channel:
I’m still not sure what I prefer, so I ran a poll in the Community tab on my YouTube channel. I would tell you the results so far, but I don’t want to bias you. To vote, click on that link. YouTube lets me run an “image poll,” so both icons are there. You can click on either one to vote.
You don’t have to, of course, if you don’t want to. I’m not the boss of you.
Tweets and Toots
Russian Civil War vs CEO Skips Safety Checks on Submersible
Like everybody, I was amazed a single group of mercenaries was able to march nearly all the way to Moscow before Putin cut a deal to stop them. I’m not here to do commentary on that, though, despite this great image I saw online:
Still, there were some great tweets/toots about it all.
Yeah, I can see how that might become an issue.
Hmm, now that you mention it, that’s a good point.
Maybe these aren’t as hard to imagine as some people thought. BTW, if you don’t get the reference, it’s pointing to this old meme:
As for the submarine disaster, the amount of schadenfreude was staggering, at least in my social media bubble. People really, really enjoyed the suffering of rich people who spent $250K for a sub ride to the bottom of the ocean to look at the wreck of the Titanic, even though everything you can see has already been photographed many times. As one person said, that’s a lot of money just to get a selfie.
Of course the whole thing is tragic, but as information about the sub company leaks out (no pun intended), it’s incredible how arrogant the owner was about bypassing any safety checks. There’s a whole Mastodon thread about it here, which started with this image:
That’s a monitor bolted to the carbon fiber wall of the sub. Carbon fiber doesn’t like cracks in seams, and the pressure at the bottom of the ocean was about 6000 psi. For comparison, sea level is about 14.7 psi, so that’s a lot. As the poster concluded:
I guess now these rich “adventurers” can take a sub down to see the wrecks of both the Titanic and the last sub to visit the wreck of the Titanic.
Elon being Elon
Elon released this lovely tweet this week:
It’s tweets like this that make you wonder how much of his behavior is trolling and how much is sheer stupidity. I used to think he was a troll who thought he was funny (like the boy sitting in the back row of his class trying to make everybody laugh with childish pranks), but more and more I’m convinced he’s just an idiot.
It’s like this old meme said:
This time, however, the responses were great.
It’s always fun when people combine memes:
That one even has the orcas that are currently attacking boats in the Mediterranean. Love it.
Speaking of the orca attacks, here’s an image of a headline, but I don’t have a link to the actual article:
The best, funniest reply to Elon’s foolishness was this one:
Perfect. Laugh at the guy in a way he can’t help but hear about. I’m sure that drove him up a wall.
(As an aside, I saw somebody refer to Elon as Dilbert Stark, and I love it.)
Abracadabra!
They didn’t have those when my son was a baby. Probably for the best, I suppose.
I’d listen to that
Got to make a Christmas album, too.
A Chess Joke
Here’s a tough one. White to move and win (actually, mate in 1):
No fair using computers. And if you reply with the solution in the comments, be sure to add a spoiler warning.
1970s Puns FTW
Finally, we have this monstrosity:
I’m sure you’ll get it if you think about it, but if you’re way too young, the top picture is of ABBA and the bottom one is of Kiss. Good luck.
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:
Reactive Spring, on the O’Reilly Learning Platform (APAC time zones)
This week:
Java Testing Part 1: JUnit and AssertJ, an NFJS virtual workshop.
Java Testing Part 2: Mocks, Stubs, and Spies with Mockito, ditto.