Tales from the jar side: Spring, Kotlin, and Chess as a spectator sport
Is chess a sport? It definitely is if nothing else is playing these days
Welcome to Tales from the jar side, the Kousen IT newsletter, for the week of April 5 - 12, 2020. Happy Easter to those who celebrate it, Happy Pesach (Passover) to those who celebrate that, and Hey, it’s Sunday for those who are sheltering at home and keep forgetting what day it is.
This week I taught my Spring MVC course on the O’Reilly Learning Platform and I did my first NFJS Virtual Workshop, called Kotlin: The Basics And Beyond.
Presentation Videos Now Available
Starting with Kotlin, last month I did a presentation at the New York Java SIG based on a portion of the training course I teach on a semi-regular basis. This week the video became available for those who might want to see it:
That same week I participated in the Spring Live 24-hour marathon (on the first day of Spring, get it? Holy Marketing, Batman!). All those presentations are now available in a playlist on their channel.
My talk is listed as “Spring and Kotlin: A Writing Combonation” (wait, what?):
The title is supposed to be Spring and Kotlin: A Winning Combination. I would blame autocorrect for replacing winning with writing, but what accounts for “combonation”? I got nothing. The video works, though, and that’s really all that matters.
I imagine somebody was just trying to get a job done quickly, and I have certainly made my own share of typos so I sympathize. I found it rather amusing, and if nothing else, I got a story out of it for the newsletter. :)
In fact, I was happy to be included at all. Unlike many of the speakers, my connection to SpringSource / Pivotal / VMware Tanzu (or whatever they’re calling themselves these days) is not an official one. I’ve been teaching Spring-related courses for about 15 years, and I am Spring certified (which was a bit of an adventure, but that’s a story for another day) and I spent a couple of years teaching their official courses as a subcontractor. I still do that once in a long while. But I’m not a Spring employee, no matter what the company is called. My friend Nate Schutta recommended me for the conference, and I made sure to respond to all their requests as quickly as I could, but there’s no overriding reason they had to include me. I’m just glad they did.
Training Courses
The Spring MVC course went well, but I have to admit it’s only the second time I’ve taught it so some parts are still kind of ragged. I managed to cover everything I planned to, but I realized after I finished I missed answering a question. One of the students asked about the Spring Boot Actuator, and I added it to our project and meant to talk about it but forgot. One of the nicest features of the actuator is that inside IntelliJ IDEA the actuator enables endpoints for REST services to be accessed directly once the server has been started.
The built-in support for accessing the endpoints is pretty sweet. I used HTTPie from the command line as I usually do and forgot to go back to this. So if you were in that class and you’re reading this newsletter, feel free to try it out. :) Just click on whichever link you want to execute the request.
Regarding the Kotlin course, I taught that using the free IntelliJ IDEA Community edition, because that has Kotlin support built in. Interestingly enough, only one or two of the attendees has Android support. Since Google declared Android to be “Kotlin First” last year, I expected more Android students. My course is setup to be more general than that, however, which was good.
I covered as much as I could, but of course there’s only so much you can pack into four hours. Still, the attendees seemed happy enough. Hopefully I’ll get a chance to run the class again soon.
As preparation, I finally got around to revisiting the so-called Kotlin Koans. The Koans are a series of programming exercises to help you learn the language.
When I first started with Kotlin I tried to solve them but got bogged down pretty quickly. Now that I’ve written a book on the subject (you may vaguely remember the Kotlin Cookbook I’ve been discussing in practically every newsletter since it was published last December), I figured it was finally time to take another look.
I’m relieved to say that I was able to get through all of them, though I have to admit I need more work on builders, and a couple of the questions were phrased awkwardly enough that I had to look at the solutions to understand what they wanted. I’d say of the 43 problems included, about 30 to 35 are worth doing, and the rest are fine with a bit of help. I used the EduTools plugin in the free community edition of IntelliJ, and that was good enough to give me everything I needed.
Speaking of Kotlin, I received an email saying it was time to renew my partnership with JetBrains. I’m still one of only seven companies listed on their partnership page, and as a partner I’m allowed to display this logo:
Of course, I keep forgetting to do that. It’s not even on most of my slide decks. I’m really not good at marketing myself, other than perhaps in this newsletter. :)
I should also mention that it looks like there will be a French edition of my Kotlin Cookbook, assuming I respond to their last couple of requests soon. That will be seriously cool, and I’ll include a cover image when it becomes available.
(Before you ask, no, I don’t know what French wine pairs well with cooked Kotlins. I’m guessing some kind of Merlot. The fact that there will be a French edition at all means I’ll probably use champagne rather than sparkling wine.)
Pawn Power
My father played chess, so I grew up with the game. I learned how to play at a young age during the Bobby Fischer era, and I remember vividly his triumph in the World Championship match over Boris Spassky in 1972. As a small, nerdy kid, I welcomed the rise of chess to social acceptability, especially when our own American solo champion defeated the evil Russians (at the time, USSR, of course) who we all knew conspired to keep him down but couldn’t. This was a Cold War triumph, especially in contrast to the way their professionals stole the Olympic basketball title from a group of American college students. Later, similar emotions arose around the 1980 US Olympic hockey team, but that was years away.
Of course all that is a massive oversimplification. Boris Spassky was an honorable man with an attacking style that made him very popular, and we now know that Fischer was a sick man who later descended into paranoia and madness. The only way to see Bobby Fischer as any kind of hero is stop his history with his win in 1972. He was virulently anti-semitic (despite growing up with a Jewish mother), and wrote in one of his notebooks "12/13/99 It's time to start randomly killing Jews". He also openly celebrated the terrorist attacks against the US on 9/11. For more details, see the wikipedia page about him. He was both brilliant and clearly suffered from severe mental illness.
That all came much later, however. While I was growing up chess entered popular culture, at least for a while. Chess books were plentiful and I loved playing. I dreamed of being a grandmaster someday. I grew up in York, PA, where I founded the chess club in my high school.
(Yes, I know you’re shocked, shocked! to find that I was quite the nerd back then. I like to think I eventually turned out okay.)
We didn’t have the internet back then, which meant I didn’t find out I was basically a patzer until I got to college. For those who know the ratings system, my US Chess Federation (USCF) rating peaked at 1500, which is essentially mediocre for rated players. To give that some perspective, a ratings difference of 400 points means the stronger player would beat the weaker player roughly 9 out of 10 times. The official Master level is 2200, so even if I’d studied and improved by a couple hundred points, I was nowhere near that level. It’s an open-ended scale, too. International Master (IM) and Grandmaster (GM) titles have to be earned, but their ratings would be on the order of 2400 to 2600 or even higher. The current World Champion, Magnus Carlsen, is rated 2863 on the FIDE (international federation) scale, which is similar to the US one.
The rise of the internet changed my chess life in a couple of ways. First, I stopped playing, mostly because I knew I wasn’t very good and I got tired of being crushed by 12 year olds in blitz matches (3 minutes per side for the entire game). The great benefit, however, is that now I can watch the best GMs play online, and that’s as much fun for me as watching any other professional sporting event. I bring this up because this coming week there are two events that you might want to know about.
First, the internet means streaming is a thing now, and streaming video means people can comment as they’re playing. The web site chess24.com has a tournament called the Banter Blitz Cup, where each player comments on the game as it’s being played. Some players are more fun to watch than others, of course, but it’s always fun to hear when they’re bluffing, or surprised, or even just uncertain. The tournament started with 132 players and is now down to two. On Wednesday at 1 pm Eastern time (19:00 CEST), Magnus Carlsen will play Alireza Firouzja for the title, which is the dream matchup everyone was hoping to see.
Magnus is from Norway, and was such an impressive prodigy that back in 2016 the show 60 Minutes did a profile on him called Magnus Carlsen: The Mozart of Chess:
Magnus is 29 now and has been World Champion since 2013. He clearly loves playing chess online and frequently participates in blitz or even bullet tournaments (bullet is when each side has only 1 minute for the entire game — if you think that’s fast, on the free site http://lichess.org you can play “hyper bullet”, which is 30 seconds or less a game).
The fun part is that Magnus is the old man in the Banter Blitz finals. His opponent, Alireza Firouzja, is only 16 years old. Firouzja is from Iran, but now plays under an international flag after Iran withdrew all its players from last year’s Rapid and Blitz World Championship because they’re not allowed to play any Israelis (ugh — don’t get me started). Firouzja and his father live in France now.
The finals match consists of the best of 16 3-minute games with no increment, meaning the first player to 8.5 (wins count as 1, draws as 0.5) wins, with a series of tie breaks if necessary. I fully expect it will be the most watched online blitz match ever.
The other event that starts this week is the Magnus Carlsen Invitational. It was organized by Magnus when the current candidates matches to select the next challenger for the world championship were postponed. The line-up has eight of the strongest players in the world (including Firouzja), and was described this way on Twitter:
The tournament starts next Saturday, and as a spectator I’m really looking forward to it. I should also mention that one of the people I support on Patreon is Daniel King, who makes YouTube videos about current chess events. His videos are clear and understandable, and I highly recommend them.
As a final note, I should mention that this coming week is going to be very interesting. I’m teaching my Managing Your Manager course again, but this time I’ve substantially revised the materials based on my growing book of the same name. At the very least, that will affect the timing of the course, but I think the updates are worth it.
Also, I’m teaching my Basic Android course again. As I’ve mentioned when that has come up in the past, the way Android apps are written has changed substantially over the past couple of years, and I’m still trying to find the best way to communicate that. I’m happy to write in Kotlin, of course, but even though they now emphasize a component model, the results still lead to way more code than I like to generate in one sitting. I’m sure I’ll talk about that next week.
Last week:
Spring MVC on the O’Reilly Learning Platform
Kotlin: The Basics and Beyond Workshop as an NFJS Virtual Workshop
This week:
Managing Your Manager on the O’Reilly Learning Platform
Basic Android on the O’Reilly Learning Platform