Tales from the jar side, Week of March 31 - April 7, 2019
Welcome to Tales from the jar side, the Kousen IT newsletter, for the week of March 31 - April 7, 2019! This week my wife and I performed our concert, I did a Groovy Podcast with Jenn Strater and messed up the audio, and worked on both the Kotlin Cookbook and my Managing Your Manager book.
The Concert
The concert went well and was quite well attended. We had a special appearance by my son, who played guitar during the Paul McCartney song My Valentine. I ad libbed a few jokes, some of which worked. A good time was had by all.
(Note that I wrote that section on Saturday afternoon, before the concert.)
Update: Yeah, that was about right. The concert went very well. I think we sounded as good as we ever have. The concert was recorded, but once a live performance is over, it's over. We all had a really good time, but now it's time for life to get back to "normal", whatever that means. That really was fun, though. :)
Surviving College
Before I get to the updates, the whole Varsity Blues scandal (where wealthy people paid to cheat the system and get their little darlings into selective colleges) has brought up a lot of memories for me, and my experiences in college are a large part of who am I today, despite occurring so long ago.
When I was in high school, if I ever encountered a problem on an assignment or a test that I couldn't figure out, I knew I could dismiss it, because nobody else in the class would be able to figure it out either. That meant there was no way the teacher could test for it unless they expected everyone to get it wrong. Every once in a long while I'd be wrong about that, but not often.
In retrospect that was a pretty arrogant attitude, but it was also true. I also had no idea what the words "work" or "persistence" really meant, but perhaps that's not too surprising for a high school kid.
My first year at M.I.T. that all came crashing down. I quickly discovered:
If I could do it, so could everybody else, so the tests didn't bother with it
If I couldn't do it, that was what the test was all about
In other words, uh oh. I was already really good at learning how to "turn the crank" on math problems, applying the algorithms I was taught. To my horror, it turned out that that had very little to do with understanding mathematics ... or physics, or computer science, or any other subject I took that year. Welcome to reality, kid. Not only aren't you the genius you hoped you were, but your study habits better improve fast or you're not going to make it.
Everybody at M.I.T. talked about their first failed test, and this was from kids who may never have gotten a B in their entire lives. Mine was a first semester Calculus test, and it was about as traumatic an experience as you might expect. After all, that's what I was supposed to be good at. Suddenly I was at a place that really valued academics, and I was no longer an academic star. Kind of shakes your whole foundation of who you thought you were and what you valued.
That's one of the things that confuses me about the Varsity Blues scandal. So many of these kids wound up being admitted through devious means to academic programs that should have been beyond them. Why didn't they fail? It can't all be grade inflation and the so-called "gentleman's B", can it? How did unqualified kids make it to graduation?
I suppose it's different at "real" schools. At M.I.T., in difficult moments we used to dream about what life would be like at a real school, where you were back in the top 0.1% of academic ability and everything could be easy again. What would it be like to have parties every week, rather than once or twice a semester as we did? How cool would it be not to feel overwhelmed all the time in every subject? And the big question: was it worth it?
For me, it was. I fit in as well there as I did anywhere, and certain aspects of the place really mattered to me. It wasn't just the sense that whatever you worked on was on the forefront of technology -- that pervaded the atmosphere, but was a lot more important to the grad students than to us. More important to me was the extraordinary non-competitiveness of the student body.
That sounds weird, but it was true. Everybody was highly competitive, but not against each other. We all wanted to do well, but not at the expense of anyone else.
We discovered early on how easy it was to get help from others in the dorm. I remember once, second term freshman year, my roommate and I were struggling with a problem from our Differential Equations class. I vaguely remember it involving snowplows moving at different speeds, covering a large area. When we couldn't get anywhere, my roommate shrugged and said, "That's enough. I'm going to work on it in the lounge".
What he really meant was, he was going to work on the problem in the common area, where someone was likely to wander by and ask what he was doing, which is exactly what happened. A sophomore asked him about it. My roommate told him, and the other guy said, "oh yeah, I remember that, but I don't remember how we solved it," and dug in. That attracted more visitors, and more, and eventually half the dorm was working on it. Some senior cracked it, and the solutions filtered on down the chain, so that when my roommate returned, we were all set.
A lot of the reason things worked like that was because at the time our entire freshman year was on pass-fail. That had downsides, too, because it encouraged us to overextend ourselves second semester to get major requirements out of the way on pass-fail, but it helped eliminate a lot of the competitive aspects of the experience.
We also learned pretty quickly that what really mattered was where you fell relative to class average. Generally class ave was about a B, and if you were one standard deviation above that, you got an A, and one standard deviation below ... well, that didn't bear thinking about. I figured out that among the engineers, I was good at math, and among the mathematicians I was good at physics. That's partly how I wound up a double major in both Mechanical Engineering and Mathematics, and how I almost got a D in my last math class senior year that almost cost me my degree, but this has already gone on long enough -- I'll save that story for another time.
What I will say was that I have no idea what impact legacy or athletics or anything else had on admissions. I know the male/female ratio during my time there was roughly 55/45, which was much better than most people expected*, and that we had a very diverse student body.
*As my women friends expressed it, the ratio of women to acceptable men was much closer to 50/50.
I definitely knew that every single person I met there could handle the work. I never met anyone who wasn't qualified. I met people who decided it wasn't worth it, or couldn't handle the emotional stress, or the financial pressures, but everyone could do the work if they really wanted to. I always felt good about that.
I didn't "enjoy" being an M.I.T. student. That's the wrong word. I was too tired, too busy, too frustrated at never having enough time to focus on anything for very long, and too eager to get finished and back into the real world. It's a great place to have gone, but not a great place to go. It changed my life, and I'm very glad it's over.
Kotlin Cookbook
Last week I announced the early release version of my Kotlin Cookbook. I put together a series of tweets about it and talked about it online.
What did O'Reilly do to market the book? Nothing, as usual. No tweets, no email, no publicity of any kind. Not even a mention in the "What's New?" section of Safari. They pushed to get a release ready, but in response, they have done zero, and I don't expect they'll do anything until they want additional updates at the end of the month.
I don't mean to sound bitter, but this is my third book for O'Reilly and it's been the same way every time. It's a good thing I didn't expect anything different, and that I have other reasons for writing it. I'm really learning a lot right now, and I can feel myself progressing in my Kotlin expertise, and I think a book like mine fills a much needed gap. I think it will help a lot of people. I do kind of wish, though, that O'Reilly would do something to show they cared at all.
I spent a lot of time this week digging into shift operators and 2's complement arithmetic. I didn't want to do just the trivial examples of the left-shift, right-shift, and unsigned right-shift operators, not to mention the "inv()" inverse function, so I really started digging. It's that old lesson from M.I.T. again -- anyone can do the simple examples, but if you find the harder ones confusing you don't really know what you're talking about. I'm still working on a few recipes on that, actually, which are taking much longer than I expected but hopefully will produce something of value when they're done.
What I really expect is that when those recipes are done, they'll look really simple, and would surprise people to discover how much time I had to invest in them. That's a good thing, though.
As usual, that digging led me down unexpected paths. I found a nice example on Stack Overflow of adding an infix extension function to represent exponentiation, and turned it into a recipe. Then I contacted the author of that recipe and got her permission to reference her answer as the inspiration for the whole process. I'm always happy to do that. I like giving other people credit, and the recipe really should be helpful for a wider audience.
Managing Your Manager
Meanwhile, I've been editing a couple of chapters in my Managing Your Manager book, with a particular focus on coming up with exercises. My editor and I came up with "asides" that are tentatively entitled "What To Do", "What To Try", "What To Look For", and so on, with some practical examples. I'm always worried that I won't be able to think of anything to do, since this is as close as I've ever come to inventing something completely from scratch, but so far, so good.
I'm hoping that I'll soon have three full chapters revised accordingly. That's a significant milestone at Pragmatic Programmers, and a big step along the way for a short book like mine. I'm still amazed how much work writing this book has been, given that I've been giving related presentations on the subject for several years.
Groovy Podcast with Jenn Strater
It had been far too long since the last Groovy Podcast, and my usual co-host Baruch was off to Moscow for a conference, so I managed to get Jenn Strater to do Groovy Podcast S03E04, Ep 72 with me. We had a nice discussion about all things Groovy, from milestone releases on Grails and Micronaut, to new features with Gradle, to events at the Greach conference in Madrid last week. I thought she had attended that conference, but unfortunately not. Still, she knew a lot about it, and since she works for Gradle these days, was very helpful on those topics.
It was a good podcast, but I used a different mechanism this time and it got me into trouble. For years I just created a Google Hangout and invited the other person, and when we finished it automatically got uploaded to YouTube. That meant whatever we said was unedited, which is potentially risky, but I always reconciled it by saying nobody's listening anyway.
I decided, though, it was time to add at least a veneer of production values to the process. I started a Zoom meeting with Jenn and then began a ScreenFlow recording to capture the screen. That worked well, except that when I extracted the resulting mp4 it was way too large. It took me over an hour to extract the file and another 45 minutes to upload it, and then YouTube did it's normal thing and got stuck at the 95% mark. Eventually I got through that and I thought I was all set.
As it turned out, I must have missed a setting, because you could barely hear Jenn during the podcast. I think I only got what came through my own mic, which is highly directional. I also hadn't saved the files, because they were so large and the process was so annoying I was glad to just delete everything when we were done. The result is okay, but I need to figure out the right mechanism before the next one.
Last week:
Our Music in the Meetinghouse concert
Groovy Podcast with Jenn Strater
Writing on both Kotlin Cookbook and Managing Your Manager
Next week:
What's New In Java course on Safari
NFJS event in Reston, VA
Meet yet another new editor at O'Reilly
Meet with both book editors about current progress