Tales from the jar side: A Blog Post, and Separating the Artist from the Art (Yet Again)
Welcome to Tales from the jar side, the Kousen IT newsletter, for the week of December 15 - 22, 2019. This week I taught online courses in Managing Your Manager and Functional Java, and put up a new blog post on processing some astronomical data using Kotlin.
Last week I included some statistics on how my new Kotlin Cookbook was doing at Amazon. I talked to my editor at O'Reilly this week, and on Tuesday she pointed out that my book was listed as #20 in the Java Computer Programming category, which sounded good even though it's not a Java book. I liked that, but then made the mistake of checking it again a few times the rest of the week.
In that category, the book's ranking dropped to #38, then #57, then #85, and today it's at #140. Oh well. I think one reason for the drop is that the book currently has no reviews at all, so if you have a copy, please consider adding even a one-liner here. I know that in any metric some people will try to game the system, and Amazon reviews are no exception. Here is an example of how one person rose to #1 as a romance novelist based on fake reviews, a fake author, and even a fake book, so it's hardly a perfect system, especially because Amazon clearly doesn't care whether they're real or not. Still, if I could get even half a dozen or so actual reviews, I imagine it would help. We'll see.
Once again, I'm really glad that books are not my sole, or even primary, source of income.
My Managing Your Manager class has evolved substantially since I started working on the book by the same name, and this latest run was no exception. My biggest uncertainty now is whether or not I'm presenting the topics I want to talk about in the right order. So far I've translated most of them to the book, but there's still time to adjust the chapter order, to say nothing of changing the examples or adding new ones. The emphasis has certainly changed. I spend a lot more time on the copycat (better known as "tit for tat") solution to the Prisoner's Dilemma problem, and I've managed to shorten the presentation of several of the movie analogies, especially the ones from The Caine Mutiny and Private Benjamin, which used to take far too long. Still, I think I have a long way to go before it's all ready. I intend to spend a lot of time during this two-week holiday break to work on the book, so I'll certainly have something to talk about in future newsletters.
My new blog post is entitled A Few Astronomical Examples In Kotlin. It's about using Kotlin to consume the free restful web services provided by the Open Notify API site, which presents data from NASA. One service lists the astronauts in space at the moment, one gives the current position of the International Space Station, and one gives the overhead pass predictions for the ISS based on a given latitude, longitude, and altitude*.
*Honestly, I'm not sure what the observer's altitude has to do with the overhead pass prediction. All I know is the supplied value has to be between 0 and 10,000, and zero gives an error. So I gave it a default value of 5 or 10, and the results matched up with the web site predictions, which became my test case.
Once again I submitted the blog post to the Kotlin Weekly newsletter, and they were kind enough to include it. Best of all, someone named John O'Reilly (!) used it as the basis of a simple Kotlin multi-platform project:
Just created new minimal #KotlinMultiplatform sample -https://t.co/RjvKxaMjMG. Includes use of:
-SwiftUI
-Jetpack Compose
-Android ViewModel
-Koin
(article below provided inspiration for "People In Space" API I used - thanks @kenkousen!) https://t.co/GyN3HOO8e4— John O'Reilly (@joreilly) December 22, 2019
I'm looking forward to digging into that, since I'm still not very good at multi-platform. I don't know the Swift programming language at all, but that will be a decent learning opportunity.
The Functional Java course surprised me by how many students attended. After all, the functional parts of Java were added in Java 8, which was released in March of 2014. Heck, Java 8 passed its "end of life" time frame back in April of this year. My book Modern Java Recipes -- which is mostly about those functional features -- was released over two years ago already, which kind of blows my mind. Even more, this class was on the Thursday/Friday before the holidays, so who knew if anyone would even be available?
Despite all that, the class was quite well attended, and we didn't even see too big a drop off on the second day. The group had a few high maintenance students in it, but nothing I couldn't handle, and I was happy for the interactions. It did give me a chance to finally update my slides a bit and add a couple of exercises to the GitHub repository, and turned out to be a good way to end the week.
To celebrate the ending of my last class of the year, I took the afternoon on Friday to go see the new Star Wars movie. My reaction was, basically, meh. It moves very quickly, with lots of special effects and guest appearances by everybody, but included multiple McGuffins I couldn't care less about, practically no character development, and a director who clearly decided to ignore everything that happened in The Last Jedi. That was disappointing, because while I didn't think TLJ was a perfect movie, it took lots of chances and had real layers of meaning. The current movie is getting clobbered by the critics but not by the fans (Rotten Tomatoes shows 57% from the critics and 86% from the audience). It will be interesting to see how those numbers change over time. Personally I can conclude that J.J. Abrams simply doesn't know how to tell a story. I'll have to take that into consideration whenever I'm tempted to see one of his movies in the future.
Also on the creative front, the relentless JK Rowling took to Twitter to offend all of her trans fans (that link may be paywalled, try this link instead if so) and astonishingly appeared to be surprised by the result. I'm still a big fan of the Harry Potter series and view the last book as one of the few times a series author was able to really nail the ending. I loved the last book, and the fact that the last movie botched the climax from the book so badly has made it hard for me to watch those movies any more. What I find incredible is that in all the years since the publication of The Deathly Hallows, the author has gone out of her way to undermine the universe she created.
Once again we're faced with the problem of separating the artist from their creation, which is always hard. A classic example from the previous generation is Orson Scott Card, whose Ender's Game and Speaker for the Dead novels deservedly won back-to-back Hugo and Nebula awards and changed the lives of so many people. Then later in life he bizarrely started attacking gay rights, to the point where he was banned from the marketing of the movie based on his own book. Sportswriter Rany Jazayerli wrote a wonderful essay about those issues and the gut-wrenching events around them, and I highly recommend it.
I don't have an experience like that in my own life, at least not too directly. The closest recent example I can think of came a few years ago when I was preparing the video I made for my wife's birthday. One of the songs I chose was the version of Where Do I Begin as sung by Andy Williams. Then I made the mistake of looking him up on Wikipedia. I've decided that his comments later in life were best explained as "grandpa watched too much Fox News", and I'll leave it at that.
All in all, it makes me very glad that when I met J. Michael Straczynski, he was everything I hoped he'd be and more. I still enjoy Babylon 5, too, and I often go back to it (complete series available on Amazon Prime) for a familiar sense of solace and far too much relevance in these troubling times.
I want to finish by wishing a Happy Holidays to those who celebrate them, whatever the details may be. I'm glad to know all my friends, and I take special care to value the ones most different from me. I know this time of year is difficult on a lot of people, so I hope your holiday season is all you could hope for and more, and I love hearing from you if you can spare the time or energy.
Next week I'll post our custom holiday cards, which we commissioned as usual from the amazing artist Len Peralta. I think my wife would prefer, however, that the cards we actually sent get to their destinations before I go posting them here. So I've got that to look forward to. Which is nice.
Last week:
Managing Your Manager, online at Safari
Functional Java, online at Safari
Blog post on consuming astronomical data in Kotlin
This week:
No classes! Happy holidays :)
Write more of the Managing Your Manager book
Family stuff and other assorted chaos