Tales from the jar side: PBKAC, courses taught, the Challenger documentary, and in-groups vs out-groups
The political stuff is at the end, making it easy to skip if you want
Welcome to Tales from the jar side, the Kousen IT newsletter, for the week of Sep 20 - 27, 2020. This week I taught a Basic Android and a JUnit 5 testing class on the O’Reilly Learning Platform, and a Deep Dive Into Spring as an NFJS Virtual Workshop.
Before I get to any of that, I want to mention a event coming on Monday, Sep 28:
I’ll be appearing on my friend Nate Schutta’s new podcast (screencast? live TV?) for VMware Tanzu (the former Pivotal) that he’s calling Between Keyboard and Chair. I’d tell you more about it, but I don’t know much myself. He told me I didn’t have to prepare anything, because he’s just planning to ask me about my own background and history.
I can do that. After all, it’s not like I don’t have my own free newsletter or anything where I talk about myself every week. Still, I’m not sure what to expect, because it turns out I’m the first guest on the show. What could go wrong?
(Anything could go wrong. That’s why we watch.)
Btw, the title is based on an old joke about the abbreviation PBKAC, which stands for Problem Between Keyboard And Chair.
If you’re available, use this link for the broadcast. See you there! Maybe! Or at least we’ll be on their YouTube channel afterwards!
My Courses This Week
I taught several courses this week.
Basic Android
First was my Basic Android course, which meant I faced the same problem I’ve been dealing with for a while. All I have is two four-hour days, and that’s nowhere near enough time to teach the basics of the framework, the new Jetpack component-based model, and the fundamentals of Kotlin.
As usual, my compromise was to use Java primarily, with a couple Kotlin examples, and show how to use Activities, and Intents, and the XML layouts, and the defined project structure, and how to add dependencies through the Gradle build, and so on.
I’m hoping that’s enough. This time I demonstrated how to access a RESTful web service by actually instantiating Thread instances, as shown on this page in the developer documentation. That means writing code like:
which is taken directly from that page and is really, really ugly. Modern Java would at least use an ExecutorService, but I didn’t even do that. Of course, in any real app they’d probably use Kotlin coroutines, but there’s no way we had time to get into that.
I can say I made a bit more progress, because I dug into components like LiveData and ViewModel a bit more, but I’m still not happy with the situation. At least the students seemed okay with it, especially with all the references I supplied.
JUnit 5 Testing
On Wednesday, I taught my JUnit 5 course, which was the first time I got to teach it since the software changed to version 5.7. That meant parameterized tests were no longer experimental, which is awesome.
That’s a really fun course to teach, but mostly because the developers of JUnit 5 have done a fantastic job with it. Anyone with some experience with JUnit understands it right away, and the new version makes it so easy to do conditional tests based on:
Operating system
JVM version
System properties
Environment variables
Any method that returns a boolean value
That last one is new in 5.7, and is just as nice as the others, meaning it’s both easy and useful. That course was really fun to teach, and now the associated GitHub repository has been updated with the new features.
Deep Dive Into Spring
I also taught an NFJS Virtual Workshop on Spring and Spring Boot. That got off to a rocky start when just before the class started, my internet access slowed to a crawl. I have no idea why or what happened, but the speed was barely enough to participate in the call at all.
I managed to get through to the first break, and then I did something I very rarely do on a Mac — I rebooted. Darn if that didn’t fix the problem. I have no idea why, but suddenly my speeds were back to what I expected (if not necessarily as fast as I’m paying for, but that’s a different issue), and the rest of the course worked out just fine.
That reminded me of another old joke:
If I’m ever in a coma, pull the plug.
Then plug me back in. See if that works.
It’s frankly appalling how often a reboot fixes problems. I’ll probably never know why I had the problem in the first place.
By the way, here’s another somewhat related gag I drag out periodically:
If the airline industry evolved the way the computer industry had over the past thirty years, a flight from New York to Tokyo would take 20 minutes, cost $35, and once in every 200 flights the plane would explode, killing everyone onboard, and nobody would be surprised.
Substack in the News
You might have noticed that I’m using Substack for this newsletter. This week Substack made the news when a the New York Times included an article called, Journalists Are Leaving the Noisy Internet for Your Email Inbox. The article described how Casey Newton, a journalist who covered the tech industry for The Verge, decided to leave his position and start a subscription newsletter at Substack.
This led to one of my favorite podcasts, Dithering, dedicating a whole episode to the phenomenon. Dithering is hosted by Ben Thompson of Stratechery, and John Gruber of Daring Fireball, both of whom made that sort of transition to their own newsletter platforms years ago and earn quite a tidy living from them, thank you very much. They treated the rise of Substack with a mixture of amusement and respect, wondering why the New York Times has been missing it all this time.
All I’ll say is I’m glad I’m here because I like the embedded editor and it’s easy to add email addresses. It’s particularly easy for me to add images, YouTube videos, and more, as you can see if you’re a regular reader here. I’m glad this platform is successful, but:
I’m quite happy with the free tier. I will never charge for this newsletter.
As a result, Substack says I have zero subscribers. Snicker.
They admit, however, that my email list has just over 850 people, each of whom is brilliant, incredibly good looking, and possesses impeccable taste.
(Okay, they only know the numbers. The rest is just intuitively obvious.)
Seriously, I’m still in awe that so many people are willing to receive a company newsletter from a one-person company that covers whatever I feel like discussing that week. Thank you all again. :)
Challenger Documentary
I stumbled upon a new documentary on Netflix called Challenger: The Final Flight.
I wound up binging all four parts in one sitting.
The accident took place on January 28, 1986, at about 11:39 AM Eastern time. I was in my office as a graduate student at Princeton at the time, in an Aerospace Engineering department no less. Of course we had a TV tuned to the broadcast. It was national news because of “teachernaut” Christa McAuliffe, the first civilian passenger, was aboard.
I didn’t much new from the documentary, mostly because I devoured everything I could find on it at the time. I remember the press conference where Professor Richard Feynman put an O-ring in ice water to demonstrate how it became brittle.
After they showed that in the documentary, they pointed out that had anyone other than a famous Nobel laureate physicist done it, they would have been laughed out of the building. Instead it became the lead story on every channel that night.
A few years ago, my wife and I went on a cruise, and as part of the trip we spent an extra day touring the NASA space center visitor complex in Orlando. I thought it would be fun, but it was thoroughly depressing. The place claimed to be a museum, but it was more of a mausoleum. It had videos and features all about the shuttle program, which of course was long gone by that time, with no replacement on the horizon. They even had a “moon rock” which was a tiny sliver of a completely smooth chip of stone, about as underwhelming as you can imagine.
That picture makes it look more impressive than it was.
I remember thinking that if it wasn’t for Elon Musk and the uncrewed satellites, like Juno, Curiosity, or New Horizons, we’d have nothing at all. We’d fallen so far from the promise and the successes of the late 60s and early 70s, with nothing significant in our future. It was all so very sad.
(Speaking of sad, the Wikipedia page I linked to above starts with, “not to be confused with the Space Shuttle Columbia disaster,” which I also remember all too well. Sigh.)
These days, I don’t know. I enjoy the SpaceX launches, but to be honest right now we have some pretty big issues here at home to deal with. I’m glad that we have a program at all, though, small as it is.
I will say that the documentary is very good and worth watching.
Oh Lord No, Not Politics
I normally try to leave politics out of this newsletter, but it keeps creeping in. I need to make another point, but as a concession to those who don’t want the distraction I’m putting this at the end you can skip it if you like.
The big event in the U.S. the last couple of weeks is how hard the Republicans are working to fill the vacancy on the Supreme Court caused by the passing of Justice Ruth Bader Ginsburg. Many people are accusing them — correctly, I might add — of massive hypocrisy in doing so, based on the way they stole the seat in the first place.
Please keep in mind that if you point out the hypocrisy, you are:
Relying on a sense of shame they simply don’t feel.
Doing their advertising for them.
That last point is the issue I need to comment on now. My friend Glenn Vanderburg has this quote (among others) on his web site:
Conservatism consists of exactly one proposition, to wit:
There must be in-groups whom the law protects but does not bind, alongside out-groups whom the law binds but does not protect.
—Frank Wilhoit
When Republicans follow different rules for themselves than for others, they’re demonstrating this. The promise they make to their followers is that if you vote for them, you’ll be part of the in-group, and the rules won’t apply to you. If you vote against them, you’re part of the out-group, and you’re in trouble.
That’s quite a sales pitch. Who doesn’t want to be protected from the forces ravaging this nation right now, especially if you already feel threatened by the demographic changes of the last few decades? As we see over and over again, the law applies differently, or not at all, to people depending on their level of privilege, and if you’re in the out-group, it’s very easy to run afoul of that. It’s a scary world if you’re not one of the ones in power at the moment.
So the demonstration of hypocrisy is exactly the point they’re trying to make. They want you to see that the rules apply only to you and not them.
But there is a lie worth challenging, and that is: despite what they tell you, you’ll never be part of the in-group. Historically, whenever politicians start dividing people based on some standard of purity, some people are always more pure than others. From Orwell’s Animal Farm:
You may think that watching FOX News and avoiding wearing masks and putting up a MAGA sign will make you one of the special group, but good luck with that. From their own words, it’s already clear you need to be white, but you also need to be male, and you need to be Christian, and then you need to be the right kind of Christian (have you seen how their evangelicals treat Catholics?), and you need to be wealthy, and you need to contribute enough to the dear leader, and so on, and so on. It never ends. There are always finer and finer distinctions, until eventually you are left out.
Nobody in that group is safe. Look at all the members of Trump’s own cabinet that have been discarded and attacked. Look at members of Trump’s own family who have had their inheritance stolen, or who have been trashed in public, or both.
The truth is, the in-group ultimately consists of one person, and he doesn’t care about anybody else, not even whether they live or die, if it helps him get re-elected.
If you think you are included, it’s only a question of time before you’re not. The moment you don’t do what they want, or don’t do it enough, or for any other arbitrary reason, you’re out.
Anyway, that’s my take. I’ll stop commenting on this, hopefully for a few more weeks. I’d tell you to vote, but everybody already knows that. We’re all going to vote and, more importantly, try to make sure our votes are actually counted. The real question is whether the administration will be able to cause enough chaos to throw the election results up to the Supreme Court, which they’re relying on to save them. Then we’ll see. Thirty-seven days to go until the election and the real chaos starts.
In the meantime, like everybody else, I’m just trying to get through it all. I’d like to stay a decent person in the process, too. I’ll keep trying anyway.
Last week:
Basic Android, on the O’Reilly Learning Platform
JUnit 5 Testing, same
Deep Dive Into Spring, an NFJS Virtual Workshop
This week:
Between Keyboard And Chair, online event with Nate Schutta for VMware Tanzu
Kotlin and Spring, on the O’Reilly Learning Platform
NFJS Virtual Tour Stop #2, because, believe it or not, we start October next week