Tales from the jar side: Famous birthdays, A new Groovy Podcast, a Mockito post, GitHub Copilot, and I, too, would like to be added to the pardon list (mostly for these jokes)
My son insisted he should receive half of my Father's Day presents. "After all," he said, "without me, you wouldn't even be a father."
Welcome, fellow jarheads, to Tales from the jar side, the Kousen IT newsletter, for the week of June 12 - June 19, 2022. This week I …
NOTE: My son didn’t make the joke in the subtitle, probably because he hasn’t thought of it yet. I’ll see what he says when he gets home from work (he’s in retail, so he works on the weekends).
… (getting back to the regular introduction) taught a class in Functional Programming in Java, in the Asia/Pacific timezones. I also did a Groovy Podcast and published a new article on Medium for the Pragmatic Programmers. More on all that below.
Regular readers of this newsletter are affectionately known as jarheads, and are far more intelligent, sophisticated, and attractive than the average newsletter reader. If you wish to become a jarhead, please subscribe using this button:
You Say It’s Your Birthday
Two birthdays happened on Saturday (June 17). One is for a person everybody knows:
Sir Paul McCartney is now 80 years old.
I’m embarrassed to admit I hadn’t realized there’s an official Twitter feed for The Beatles, which has 3.8 million followers, but I should have known. When they say Twitter is dominated by Boomers, that’s probably Exhibit A.
Last year, HBO released the documentary Get Back, by Peter Jackson, which included nearly 12 hours of video about the recording of the Let It Be album by the Beatles back in 1970. Over three or four nights, my wife and I watched the whole thing.
Thinking about it a few months later, I’m still left with these conclusions:
The director of the original Let It Be movie was totally incompetent. Among his biggest sins (and there were many), he had Paul, on film, in real time, creating the song Get Back out of thin air, and chose to leave that out. That scene is one of the most remarkable ones in the entire documentary.
Billy Preston was crucial to the development of the Let It Be album, and he got left completely out of the movie. When you watch the documentary, his arrival is a breath of fresh air to the audience as well as to the Beatles themselves, to the point where they considered adding him to the band. Even if they were joking, it’s an indication of how important they considered him.
Nobody was done a greater disservice than Yoko Ono. She was almost entirely blamed for the breakup of the Beatles, and that’s ridiculous. As the documentary shows, she basically just sat there the whole time, along with a constantly rotating cast of other characters (including Linda McCartney and her charming daughter Stella, who everybody played with). The only time Yoko interrupted at all was when a call came through telling her that her divorce was final, and in response all four Beatles applauded and were very happy for her. I’m sure her presence didn’t help — and she should never be left unguarded near an open microphone — but to blame her for much of anything related to the breakup is a massive exaggeration.
Anyway, happy birthday Paul. :) Kind of amazing that him singing “When I’m 64” when he was 64 was 16 years ago.
(The song itself came out in 1967, which is 55 (!) years ago. Sir Paul probably wrote it in 1956, when he was 14.)
The other birthday is nearly on the other end of the age spectrum. Iranian-born (but currently playing for France) chess Grandmaster Alireza Firouzja turned 19 on Saturday. Firouzja is the youngest player ever to have a rating higher than 2800, and is currently playing in the 2022 Candidates Tournament to determine the challenger to World Champion Magnus Carlsen.
The Candidates tournament has eight players in a double round-robin, so each player will face all the others twice, once with White and once with Black. So far, three rounds have gone by. Firouzja currently has three draws, though he had an advantage in all three games (Grandmasters at that level are very tough to beat). We’ll see how it all resolves over the next couple of weeks.
Hey, A Groovy Podcast!
Sergio del Amo and I finally got our schedules coordinated enough to record a new Groovy Podcast:
We talked about the Micronaut framework, latest developments in the Groovy programming language, a few random thoughts about GitHub Copilot, and more.
GitHub Is My Copilot
Speaking of GitHub Copilot, I’ve been playing with that a lot lately, since I have the associated plugin for IntelliJ IDEA. I’m still not sure how I feel about it.
The idea behind GitHub Copilot is that it’s an AI trained on open GitHub projects, as well as your own (you have to sign into GitHub to use it). The idea is that while you’re coding, it “suggests” entire sections of code that you might want to include. The best way to use it is to write the name and parameters for a small function and wait just long enough for Copilot to suggest an implementation.
It guesses right a lot. It also guesses wrong a lot. My biggest problem with it is the suggested code is usually plausible, even when it’s wrong. It’s trained on your own code, so of course its suggestions look like what you’ve done in the past, so you have to pay close attention to them to realize they’re frequently wrong.
I use it with Java, which is not necessarily one of its featured languages. (On the homepage, they have examples in TypeScript, Go, Ruby, and Python, though there is a Java example further down the page.) I tried it with Groovy after seeing a tweet by Dierk König suggesting it works for that language, but when I did it, Copilot suggested code that was in Kotlin (!). Sigh.
If you tend to do the same things over and over, or if you do the same things everybody else does a lot, Copilot can be a great time saver. Will it put human developers out of a job?
I seriously doubt. It’s a tool, like many others. Use it, or not. It’s free at the moment (once you sign up and make it through the waiting list), but eventually they’re going to start charging for it, at which point I’ll probably drop it.
Mockito Made Clear
My latest book, Mockito Made Clear, is available in beta from Pragmatic Programmers. I mentioned last week that it made the top five in the Best Sellers list at the Prags.
(I just checked the list, which is apparently updated continuously. My Mockito book now down to #13. On the plus side, my book Help Your Boss Help You is now up to #26.)
This week I added a new Medium article about the book, called Mockito Made Clear: Using the Gradle Build File. In the article, I go through the dependencies in the Gradle build file in the GitHub repository for the book, describing why each is there and what it is used for. It’s a bit of an implementation detail, but it needs to go somewhere and now I have a convenient place to put it.
I plan to add a few more practical articles about using Mockito in the next few weeks.
Miscellaneous
Juneteenth
Today (Sunday, June 19) is Juneteenth, which commemorates the day in 1865 the slaves in Texas finally found out that they’d been freed. The Emancipation Proclamation took effect on January 1, 1863, so this was over two years later than it should have been. The 13th Amendment to the Constitution, officially ending slavery everywhere in the US, took affect later in 1865.
Juneteenth is a hard holiday for me to read about, because it is embedded in so much vile racism. Just the fact it took two years for the news of freedom to force its way into Texas is appalling, but it’s not like the aftermath was much better. Reading about Juneteenth is like reading a survey of some of the most inhuman, disgusting acts in American history, so it hardly comes across like a celebration. If you’re interested in a basic summary, see the one by Henry Louis Gates, Jr on PBS here.
Of course, the holiday isn’t designed for me. I’ll simply say that until a few years ago, I’d never even heard of it, and my education in the public school system was much better than most. I’d also never heard about the 1921 Tulsa Race Massacre until I saw the first episode of the Watchmen TV series in October 2019, which made me wonder whether it was fiction or not (sadly, that would be not).
On the other hand, I was raised Jewish and had the history of the Holocaust drilled into me from a very young age, so I am familiar with abuse, bigotry, and persecution, and the past few years have seen a scary rise in official expressions of them by too many people in this country. I also get the importance of preserving history, especially the parts the culture as a whole would like to forget. So I mention the holiday here, and I’ll follow the lead of my African-American friends and honor it however they wish.
Sedition As A Meme
Speaking of treason and unmitigated evil, during this week’s congressional hearings on the January 6 insurrection, an email from low-life pond scum and Trump attorney (but I repeat myself) John Eastman came to light. Eastman pushed hard for actions that he knew to be illegal during the coup, but then followed up with a message to Rudy Giuliani containing the following: “I’ve decided that I should be on the pardon list, if that is still in the works.”
One of the best ways to fight lunacy like that is to make fun of it, and Twitter is really, really good at that.
First, the Black Knight from Monty Python and the Holy Grail:
This too was good:
I liked this one:
That’s Tessio, from the Godfather, after betraying Michael Corleone to Don Barzini. Tell the kid it was just business. I always liked him.
How about this one:
Sorry, Hans, I don’t think John McClain is listening.
Speaking of obvious (if apparently unintended) racism, no.
Here’s an historical one:
There are many more, but this one was my favorite:
Sorry, Dr. Lecter, but if I can’t get on the list, neither can you.
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:
Functional Programming in Java, on the O’Reilly Learning Platform
This week:
Reactive Spring, an NFJS Virtual Workshop
Yes, Slavery and racism are vile and despicable. One cannot change history, but can learn from it. The Tulsa Race Massacre is not the only example, there are more than can be counted on both hands. Slavery is only vile example of racism. Just ask the native Americans, Chinese-Americans, Japanese-Americans, and Mexican-Americans. Many mass shootings are racially-motivated. All despicable.