Tales from the jar side: Father's Day, Hey Apple, and Wag the Dog
Lots of miscellaneous topics this week, so strap in to keep from getting whiplash
Welcome to Tales from the jar side, the Kousen IT newsletter, for the week of June 14 - 21, 2020. This week I taught NFJS Virtual Workshops called Kotlin Fundamentals and Deep Dive Into Spring, and spent time writing my Managing Your Manager book.
This Week’s Classes
That sounds like a lot, but it was actually a rather quiet week for me. The Kotlin class went well, with nothing unusual to report. I did update the GitHub repository for my Kotlin Cookbook (which I used for some examples) to Kotlin 1.3.72 and all the tests passed.
To be sure, even though I do run builds locally, I also have a GitHub action that automatically builds the repo on each push. All that really means is I added a file called gradle.yml under the .github/workflows directory with the following contents:
name: Java CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
- name: Build with Gradle
run: ./gradlew build --scan
It sends me an email if it fails, but otherwise I don’t hear anything. That seems like a good thing.
Speaking of my Kotlin Cookbook, according to Amazon, the French edition becomes available this week:
I don’t know any French at all, really, and even I can figure out what that says.
The “pre-order” button says it will be available on June 25. What’s weird is that when it was added, suddenly Amazon didn’t know that my English edition should be under my name as well. I had to go to the Author Central page and reclaim it, but at least that worked.
I also received a tweet saying there’s a Korean edition.
I’m pretty sure that’s official. I asked my editor and she seemed to think so, but my Korean is a little rusty (hah) so I can’t verify that from the site.
On the Spring framework side, the “deep dive” class takes all day, so it’s pretty intense, but everything there worked too. I just realized that the GitHub repo for that course is still based on Spring Boot 2.2.4, even though the current version is 2.3.1. I used the current version in class and everything went well, so I should take some time to do the updates. It’s Father’s Day, though, so maybe later. :)
Speaking of Father’s Day…
My father passed away five years ago this August. At the time I wrote an extensive blog post about him. Here’s my favorite picture of the two of us together:
April 2013, Dresher, PA (near Philadelphia)
As with most people, my relationship with my father evolved considerably over time. Fortunately, by that point we had resolved our problems and became pretty good friends. I don’t think about him often, but when I do, it’s with warm feelings. There were many years when I didn’t think that would ever happen, but thank goodness it did. See the blog post for lots of stories and details.
Follow-Ups From Last Week
I want to mention a few follow-up issues from last week’s newsletter newsletter. First, regarding my little Jumble solver, my friend and Gradle expert Cédric Champeau tweeted:
The direct links in the tweet don’t appear to be working for some reason, but the base repository is just where you’d expect it to be.
He followed up with an awesome test case that included the following list:
def enterpriseCaptains = [
new Captain("Jonathan", "Archer"),
new Captain("Robert", "April"),
new Captain("William", "Decker"),
new Captain("Christopher", "Pike"),
new Captain("James", "Kirk"),
new Captain("Spock", "M. Vulcan"),
new Captain("John", "Harriman"),
new Captain("Rachel", "Garrett"),
new Captain("Jean-Luc", "Picard"),
new Captain("William", "Riker"),
new Captain("Edward", "Jellico")
]
I recognized all but one. Even I had forgotten about John Harriman, because I haven’t seen Star Trek: Generations in a long time.
(And I haven’t really missed it, either. I feel that by far the best Star Trek movie is Galaxy Quest. I should mention, though, that as an MIT undergrad, I attended a presentation by Gene Roddenberry himself during the promotional tour for his upcoming movie, Star Trek II: The Wrath of Khan. Yeah, I’m that old.)
Another follow-up from last week came in response to my Managing Your Manager discussion:
That’s awesome. I’m recommending an iterative and incremental approach to handling your manager and hadn’t even realized it. I’m going to incorporate that into the book, and maybe I’ll even give John credit. :)
(Incidentally, doesn’t someone named John O’Reilly simply have to produce something for O’Reilly Media? Seems inevitable. As an aside, he’s my primary resource of information on the subject of multi-platform Kotlin, in case you need one.)
Another follow-up regarded the section I added last week about trans people, where I recommended Jessie Gender’s YouTube channel. I want to also mention that Laurie Penny wrote a powerful blog post on the subject of British transphobia called TERF Wars: Why Transphobia Has No Place In Feminism, which I can no longer read because apparently I’ve used up my “free” articles on Medium for this month.
(Yeah, I know, I could go to incognito mode to see it again, but grrr. Fortunately I read it the first day it came out.)
The final thing I want to mention is I received a private text message from a friend thanking me for my comments, because it turns out his oldest child is a trans woman. I had no idea. I’m just glad I could provide support from an unexpected direction.
ICYMI: Hey, Apple!
Last week the tech world kind of exploded with a major conflict between David Heinemeier Hansson (usually referred to as DHH in the tech world) and Apple, specifically regarding fees charged by the App Store. Here is a good article from TechCrunch describing the situation. The conflict mostly revolves around the new email product, called Hey, from DHH’s company, called Basecamp.
In short, version 1.0 of the Hey app was approved for the App Store, which is the only source of apps for the world’s 1.5 billion iPhone users. Then, when DHH and colleagues tried to update the app with some bug fixes, Apple rejected them because the app doesn’t use IAP (in-app purchasing), so Apple can’t get their mandatory 30% of revenue.
DHH has no compunction against calling out bad behavior when he sees it. So the same week Apple was being attacked in the EU for antitrust behavior, DHH was complaining about them to congressmen, media members, and publicly on Twitter to anybody who would listen. Very few people are willing to take on a $1.5 trillion conglomerate and basically call them gangsters, but DHH is one of them.
I’m not involved in any way. I don’t own an iPhone, preferring Android devices. I’ve been following DHH since his creation of the Ruby on Rails framework, however, and as a spectator sport this has been amazing.
Apple’s World-Wide Developer’s Conference (WWDC) is this week, and I suspect the topic may come up. Don’t forget your popcorn.
A Scary Prediction: Wag the Dog
I wasn’t going to mention this, but I’ve been thinking about it for a couple of weeks and I’m growing increasingly concerned. I’m going to make a prediction that I dearly hope is wrong. It involves the fact that Trump has had a really bad couple of weeks, and what he might do in response.
To give this a big of context, here are a couple of images that made the rounds this week. First, a comparison of new COVID-19 cases in the U.S. vs a roughly equivalent population in the E.U.:
Next, new cases in “red” vs “blue” areas, defined here as cities carried by Hillary Clinton in the 2016 election vs those that voted for Trump:
The really disheartening part of this figure comes when you remember that the virus attacked big cities and ports of entry first, and those were largely blue. In other words, even counting city events, the red numbers are skyrocketing.
The Trump rally in Tulsa this week also turned out to be a serious disappointment from his point of view. The official attendance numbers were around 6200, in an auditorium that held 20,000 and had a separate stage built outside for an overflow crowd that didn’t materialize. There is some suggestion that we can thank K-pop stans for the low turnout (try explaining that sentence to anyone from five years ago), but his campaign disputes that. If the low turnout wasn’t false ticket reservations, that’s arguably worse, though, because it means that even in ruby-red Tulsa, he couldn’t pack in thousands of people during a pandemic.
When you combine all that with the Supreme Court defeats Trump has suffered over the last couple weeks and his dropping poll and popularity numbers, he’s got to be both frustrated and angry. The problem is, what do US Presidents do when they run into problems at home they can’t fix?
They tend to look internationally. The whole phenomenon has a name: Wag The Dog. Presidents have a lot more freedom to operate internationally, and when they need a distraction, that’s often where they look. Trump has gone that way a couple of times already, like when he ordered airstrikes against Syria during the Russia interference investigation or the assassination of Gen. Qasem Soleimani of Iran (remember that?) during the impeachment process. So what’s next?
My guess, based on no information other than looking at a map, is Venezuela. The recent book by Bolton (which Trump couldn’t stop) claims that Trump said it would be “cool” to invade Venezuela, and there was a recent bungled incursion into that country to try to overthrow the government. Trump wants their leader, Nicolás Maduro, gone, and has for some time. Venezuela has a devastated economy and gets most of their oil from Iranian tankers, so stopping one would be a twofer.
So I’m keeping an eye on that part of the world. I hope nothing happens, but I won’t be surprised if we hear about a confrontation at minimum and an actual invasion at worst. Would the same generals that opposed him on attacking domestic protesters refuse to go to war? That seems doubtful, but I don’t know.
In the meantime, it’s the younger generation that going to save us. I’d go with this suggestion:
Last week:
Kotlin Fundamentals, NFJS Virtual Workshop
Deep Dive Into Spring, ditto
This week:
Kotlin Fundamental, O’Reilly Learning Platform
Functional Java, ditto
More work on Managing Your Manager