Tales from the jar side: Mockito Made Clear released, Medium posts, New video on the YouTube channel, a Chess position for the ages, and other posts
Why aren't koalas bears? Because they don't meet the koalafications. (rimshot)
Don’t feel like reading this newsletter? That’s fine — I’ll read it to you on the companion YouTube channel. Today’s newsletter is tomorrow’s video.
Welcome, fellow jarheads, to Tales from the jar side, the Kousen IT newsletter, for the week of January 22 - 29, 2023. This week I taught my regular Spring Data JPA 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.
Mockito Made Clear Finally Available
Here’s a snapshot of the Pragmatic Bookshelf homepage:
Did I do enough to highlight my book? Maybe I need a few more arrows. Or maybe less is more in situations like this.
(It looks like the Prags are getting creative with their covers. I, too, am drawn to the weirdness that is Numerical Brain Teasers. I might have to look into that one. I like my book’s cover better, though. It’s elegant and dignified, and, most of all, it’s got my name on it. It also has my nemesis/hero Venkat Subramaniam’s name on it, since he wrote the Foreword (thanks, Venkat!), but I guess that’s okay. BTW, Venkat says you should buy my book, and Venkat is typically right about things like that. Don’t forget to use the coupon code kkmockito35 for a 35% discount.)
The company also sent out a Medium post announcing the book:
So yeah, it’s a thing now. Honest and for true.
The editor also published two (!) of my Medium posts involving the book. One is called Why Use Mockito At All? and addresses the question of, um, why you might want to use Mockito. At all.
(Sorry, I’m a bit giddy. This simple little ebook I expected to write in about a month (hah) is now available, a little over a year later.)
The other Medium post is called Unboxing Day, Part I, and is about the gag I described in last week’s newsletter, which is the silly idea of making an unboxing video for an ebook. First, here was the mastodon post:
And here is the Medium post:
Yes, indeed, the editor added an image related to the Ministry of Silly Walks. I’m totally cool with that, but please don’t ask me to try to walk that way, or, really, any of those ways.
The Unboxing post described two steps to be covered by the video:
Just click on the downloaded pdf to open it in a pdf reader.
Open the pdf file programmatically in Java, using the
java.awt.Desktop
class.
I should emphasize, however, that I haven’t recorded that video yet. The Prags don’t have anywhere to add such videos, so it’s really for Amazon, and the book page isn’t there yet. Since my book is ebook only, I was a concerned there wouldn’t be an Amazon listing at all, but that turns out to be wrong. I checked out Venkat’s most recent book in the Pragmatic Answers series (Mockito Made Clear is also in that series), Programming DSLs in Kotlin, and if you go there, you’ll see that it lists a Kindle version only. In other words, I just need to give it time. More on that in next week’s newsletter.
As a spoiler, I expect the Part 2 Medium post to appear this week. That one described three separate ways to download a pdf from a Dropbox link:
Use the Java
HttpClient
library added in Java 11, with theofFile
BodyHandler
,Open an
InputStream
in a try-with-resources block, combined with theFiles.copy
method from Java NIO,Use the
FileUtils.copyURLToFile
method from the Apache Commons IO project.
I should mention that a side-issue is that Dropbox “share” links don’t work programmatically. I had to change the query string from ?dl=0
to ?dl=1
in order to make them work. Now you know, which is also a side benefit of reading the post when it appears.
If you can’t wait for the Medium post to see all the code, everything is in this GitHub repository. After the book appears at Amazon, I’ll record the video and upload it to the book’s page there, as well as to the Tales from the jar side YouTube channel.
New Video on the Tftjs Channel
(Tftjs == Tales from the jar side, naturally enough)
Speaking of my misguided attempt to become a YouTuber, there were two significant events associated with that this week. First, when I recorded the video for last week’s newsletter, instead of doing it all in one session, I decided to separate each section into its own video. I then made a playlist of all five sections. The idea was that you could more easily skip the sections you weren’t interested in that way, and maybe I could reuse those individual sections later.
If I judge by the number of views, however, that turned out to be a surprisingly bad idea. I thought it was good having individual videos that were only 5 to 10 minutes long, but apparently YouTube really doesn’t like it when you try to release a bunch of videos all at once. Neither, apparently, do the viewers, who stayed away in droves. Also, my Social Media Consultant (my son, who has opinions about such things), shook his head sadly at the whole idea.
Okay, live and learn. When I record the video for this week’s newsletter, I’ll keep it all together in a single recording, with section links to allow you to jump ahead whenever you like. Look for that tomorrow (Monday).
As an aside, I was supposed to be on vacation last week until Wednesday, and I recorded those videos outside in the sun. That taught me two important facts:
Microphones are really good at picking up wind noise, and
The sun, as it turns out, moves. It also casts shadows, which also move. Sigh.
The videos are therefore not what they could have been. I don’t think that’s the reason for the low view counts, though.
The flight home was an adventure. My wife and I barely, and I mean barely, made our connection in Chicago. Nobody cares about travel issues when they happen to other people, though, so that’s all I’ll say about that.
The other new event on the YouTube channel is that I realized I didn’t have an introductory explainer describing the Tales from the jar side title, what you should expect to see on the channel, and how often new videos will appear. I therefore recorded a video called Why “Tales from the jar side”?:
It’s set up so that if you go to the channel itself, you’ll see it, but it should only play once and not bother you again. It’s only about 5 minutes long, too, which is the shortest video I’ve made so far. Progress.
(The video containing my 7-part Ave Maria with Jared Halley now has over 400 views, which is more than all the others put together. It has nothing directly to do with my newsletter, but I’ll take it. I still really like that video. :)
Tweets and Toots
I’m not going to rant about Twitter yet again this week, but I must admit I’m getting closer to giving up on it. Being forced to use that awful app (the official one, since all others are now disabled) is getting to be too much to bear. I’ve taken to blocking any advertiser I see too often, and that helps, but the experience is awful. I hate to give up on the people I follow (especially when there are major chess tournaments going on and twitter is a great way to follow them), but the ads, promoted tweets, and general evil are too much. Elon, damn you forever.
That said, here are some reasons I’m still there. (And on Mastodon, which I like.)
Titles Are Hard
I could see it happening just that way.
Booth Review Delay
That’s the best explanation of the bizarre NFL pass completion rules I’ve ever seen.
Hello, Dolly
Makes you wonder, doesn’t it?
Mate In … Wait, What?
I had to check that out. The actual game is 30-second-for-the-whole-game hyperbullet match between players rated 1945 and 2068. Here’s the final position:
Black has five queens, and is mated by a pawn (and King). No way that happened by accident, but nicely done even so. I couldn’t do that if I tried.
Danger: Bad Science Joke
I assume the librarian’s name was Heisenberg, since he’s always in those jokes too. I can’t be certain about that, though (rimshot).
What Did You Say, Polly?
That’s inspired, though it seems obvious in retrospect.
Puns FTW
What’s an astronaut’s favorite key on the keyboard? The space bar (rimshot).
I’ll show myself out. But first:
Mastodons Of The World, Unite
Have a great week, everybody. :)
The video version of this newsletter should be uploaded on the companion 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:
Vacation through Wednesday. ☀️
Spring Data and the Java Persistence API, an NFJS Virtual Workshop.
This week:
Making New Java Features Work For You, on the O’Reilly Learning Platform, in the APAC (Asia/Pacific) time zones.
Android Development Bootcamp, week 1 of 3, same platform.