“That which can be asserted without evidence can be dismissed without evidence.” —Christopher Hitchens

I saw my best friend for the first time since the pandemic started (since February 2020 really). It was great fun and I wish we had gotten together sooner.

🎮 My Nintendo Switch game haul and backlog

If it weren’t for the SwitchUp YouTube channel, I would have played little more than Breath of the Wild and Hollow Knight on my Switch. Now I watch their videos to monitor Nintendo eShop sales weekly, and have developed quite a backlog of games. In the past few months—mostly after Black Friday—I acquired (all on sale and usually for $5-10 per game, with the exception of Metroid Dread), the following games:

Played

  • Metroid Dread
  • GRIS
  • Streets of Rage 4
  • Shantae and the Seven Sirens
  • River City Girls
  • AER Memories of Old

Backlog

  • Shantae and the Pirate’s Curse
  • Moonlighter
  • Children of Morta
  • Guacamelee! 2 Complete
  • Slay the Spire
  • SteamWorld Heist: Ultimate Edition
  • SteamWorld Dig
  • The Legend of Zelda: Breath of the Wild Expansion Pass
  • Hob: The Definitive Edition
  • Mana Spark
  • Tales of Vesperia: Definitive Edition
  • Ni no Kuni: Wrath of the White Witch

I have enough games to keep me busy for a couple years. I could crack a joke and say that I have a game-buying problem, but I am actually happy with this situation. Gaming has become my primary source of entertainment this year. I have fun playing the games I have purchased. And I have a lot of great games in my library to look forward to.

🎬 After days of trying, we finally got the whole family together to watch a movie today. We picked Encanto and really enjoyed it.

The audience wants you to succeed

I don’t get nervous speaking in front of people. I never have. The main reason is that I firmly believe that the audience wants you to succeed. And, if you don’t succeed, the audience will generally forgive you. Just show them respect at every step, and things will go fine.

Christmas is about family

My feelings about Christmas are complicated. There are numerous legitimate reasons why, which I won’t go into. But they are there, and they have left me feeling and seeming like a villain in a Christmas movie. I don’t love Christmas (any more). I have heard enough carols. I have seen too many Santa Clauses. I don’t care much for Christmas trees, or elves, or angels. The lights and decorations overwhelm, rather than delight me. I am not proud of this disdain. I disappoints me that I ended up this way.

Still, I have made an effort for today and tomorrow—the second “COVID-ruined” Christmas without travel to the actual Christmas-celebrating side of our family—to be nice for my family. I cooked a big dinner tonight, using an Omaha Steaks package my mom bought us, invited my in-laws over the share it with us, and we had a very nice time. We even played bingo (my kids love bingo) together after dinner. Thanks to a lot of effort from my wife and myself, the bottom floor of our house is clean and ready for more company tomorrow, when my brother-in-law’s family and my in-laws come over. We are having a Jewish Christmas party, I guess, though we will be ordering Kosher deli instead of Chinese food because of my son’s sesame allergy.

Even though we are a Jewish household, I grew up with Christmas, and want my kids to have some special memories associated with it, even if the trappings of Christmas aren’t really for me anymore. I want them to remember that Christ is not about presents and Santa; it’s about family.

Now that my vacation has started, my mind has turned off. I am sinking into a few days of family time, TV, and video games.

Last day of work in 2021

My employer has always been generous with holiday time at the end of the year. We always get extra time off. This year, for some reason, it is being especially generous. Today was my last day of work for the year. The rest of the year is paid vacation or holiday time, and none of it comes out of my bank of “self-managed time off” hours.

I also got a gift card from my employer in the mail, and used it to buy an Apple Magic Trackpad, which is something I have always wanted but could not justify spending the money on.

I am not great at having fun during my time off. My wife and kids have school tomorrow, while I am off, and I plan to spend the morning vacuuming, mopping the floor, and cleaning the bathrooms. Not fun at all, I’m afraid. Once everybody is home, though, I can imagine playing board games and watching movies with my kids. We’re also having family over on Christmas Day. Unfortunately, though, due to COVID and an abundance of caution, we are not traveling to see my mom and the rest of my family on Christmas.

Finally back to iOS programming again

I am working on one of my iOS apps for the first time in about half a year. For many different reasons, I couldn’t bring myself to work on it for a long time. The problems I was facing with it seemed insurmountable. In truth, some of those problems still seem insurmountable, but I feel ready to move forward again with it.

Last night I stayed up late (which happens to me a lot when I am coding) and fixed a build that had been broken since the last time I touched it. I had moved a ton of functionality from a mostly-written app into a Swift package, and the transition necessitated updating hundreds of files and a few dozen method calls or property references. It was tedious work, but now that part is done. The app builds and runs, and the parts that still don’t work seem easy to fix. The new parts I have yet to write will still be a challenge, but I feel up for it now. It feels good to be back at it.

My article on Big Data and data call projects was published in my company’s newsletter today. I am happy another one my goals for the year is complete.

⌨️ I got my warranty replacement Planck EZ today. Everything on it works, and it came with clicks Box White key switches rather than the Cherry MX Browns my original one came with. I am very happy with it, and hope to get back on track with the Colemak-DH layout soon.

🎬 No Time To Die

I watched the most recent Bond film, No Time to Die, last night.

I have seen every Bond film at this point, largely inspired by John Gruber, who famously (in tech circles at least) is a Bond fan. Despite having seen dozens of Bond movies over the years, I don’t consider myself a Bond fan. Most of them are ridiculous and their sexism has obviously not aged well.

I like to think of James Bond as a terrible spy. After all, everybody knows who he is, and he never actually spies on anyone, either. While not a spy, he is instead a sloppy fixer who always managers to get the job done. I also think of him, in most Bond movies anyway, as a sociopath. Over and over again, especially in the earlier Bond movies, he sleeps with women who wind up dead the next day, and appears to be completely unfazed by it. Also, of course, he kills scores of people and never seems to have PTSD let along give it a second thought.

Daniel Craig has a more soulful and less sociopathic take on the character. His Bond’s story arc comes to a close in No Time to Die, which plays out, in many ways, like a tragic love story. Bond is, well, bonded to his love interest (wife?) Madeleine, Madeleine’s daughter Mathilde, and even his CIA friend Felix. Overall, I think the film’s focus on these relationships worked very well.

There were a few points of inconsistent writing when it comes to the two female agents—one of whom, Nomi, is the new 007—who aid Bond in his mission. Nomi’s numerous jokes at Bond’s expense did not land at all, mainly because Daniel Craig looks and acts like a super-man in all the action scenes rather than the creaky old man she insinuates him to be.

The Daniel Craig Bond films always lose me in the third act. This one had some weaknesses that I think all these movies have. For example, I thought villain’s motive to kill millions of people was weak, and that his secret base’s security was especially lackadaisical. Still, the story had personal stakes for Bond (which is a speciality of most or all of the Daniel Craig Bond movies, if I recall correctly), and those stakes held my interest quite a bit.

Overall, despite some minor stumbles in the dialog, I very much enjoyed it. It may be my favorite Bond movie now, or at least sit in my personal top three list alongside _ From Russia with Love_ and The Spy Who Loved Me.

I brought the family to a drive-through holdiday lights extravaganza this evening. It was a little underwhelming, but we are all glad we went. I will never forget the animated “prehistoric Christmas” Santa sleigh being pulled by pterodactyls, though, even if I try to.

Today was one of those days where everything went wrong.

First, my wife decided to keep our oldest child home from school, out of extreme caution related to the TikTok school shooting challenge, which I immediately dismissed as a hoax. My wife stayed home as well.

At breakfast, my four-year-old son sneezed and coughed once or twice, so I suggested we give him a rapid COVID test before sending him into preschool. He did not seem sick, but I thought we should do the responsible thing. He, being a typical four year old, did not want (loudly!) a cotton swap stuck up his nose at the breakfast table, but we did it anyway, despite his tears. The test confirmed that he was COVID negative, and my wife drove him to preschool shortly after.

I was working by the time my daughter woke up. We let my daughter sleep late, and she woke up crying. She ran into the office and told me she had a nightmare in which she lost her favorite doll. I made her breakfast soon after, during which she complained frequently and loudly that she was missing out on school. With no prompting from me, after she tried to keep to her academic schedule as much as she could, even though she was home.

A couple hours later, in the mid morning, I had to take some time off work to drive to two doctor’s offices and pick up medical records. While I was out driving, my wife called me, saying that my son’s preschool called her saying that our son had thrown up all over and needed to come home. My wife went out to get him, with our daughter in tow.

By lunchtime, we were all back together at home. My son wasn’t coughing or throwing up, but felt very tired and was running a low fever. My wife had already made a doctor’s appointment for him, and planned to take him mid-afternoon while I was working.

At this time, my daughter complained that she was starving, which is very rare. Of course, I had no food to give her, so I had to cook something while she waited, steaming. She complained that she was having a bad day, and explained to me at length what she was supposed to be doing at every hour of the day that had elapsed so far.

By mid-afternoon, I thought things would start to return to normal. Unfortunately, fifteen minutes after my wife left with my son to go to the doctor’s office, she called me saying that her car was making a terrible noise. It was so loud that I could hear it over the phone, over the road noise. I said I thought she had a flat tire (it turns out she did), and I told her to park in the nearest parking lot and wait for me to get her. Of course, I couldn’t just leave by myself—I had to take my daughter…who wasn’t dressed yet and would not get moving as fast as I wanted her to. It took us (her, really, but don’t want to be mean) about twenty minutes to get out of the house. My wife—desperate to make it to my son’s doctor appointment—called me again, livid.

On our drive to my wife’s car, just before reaching the highway, a deer that I had noticed in my peripheral vision leapt out onto the street about five feet in front of my car. I slammed on the breaks and barely missed it. Luckily, the car behind me barely missed me as well. Of course, stopping abruptly caused every loose thing in my car, including my daughter’s favorite doll, to fly forward and crash into the my arm, the center console, and even the dashboard.

When we finally got to my wife and son, I saw a completely deflated rear passenger-side tire on her car. She told me she had called AAA, and they would be there in about an hour. She then took our son in my car (we exchanged keys) and drove him to the doctor’s office, about an hour past her appointment time. My daughter and I waited in my wife’s car for help to arrive. My in-laws came in about half an hour and took my daughter away to bring her home. I stayed in my wife’s car for another half hour, waiting for AAA to come. I had thought that they were going to tow the car to a tire shop, but instead they put the space tire on, which I started to wonder if I could have done myself. (I have not changed a tire since I was a teenager, and that was with my dad.)

After AAA put on the spare, I started the car and found it had almost no gas in it. I drove to the nearest service station and filled the tank. Then I drove home. No one was there. When I got to my front door, I realized that my wife’s keyring had no house-key on it. I was locked out of my house. Out of sheer coincidence, at that exact moment, my in-laws drove up my driveway. They had taken my daughter to her art class, went all the way there, and realized that they had forgotten her face mask. To fetch one, they drove her all the way back home. Fortunately, my father-in-law has a house-key, and was able to let me in before they took my daughter, a second time, to her art class.

Almost an hour later, after my wife brought my son home—he was deemed by the doctor to be doing fine, but he has some non-COVID, non-flu virus—she asked me to pick up our daughter from her art class. When I got into my car, I noticed it had no almost gas left (my wife used it up on her trip to the doctor), so I had to squeeze in a fill-up before getting to my daughter’s art school. Fortunately, I made it in time. On our drive home in my car, the low tire pressure warning light came on, meaning I have a soon-to-be flat tire on my car to contend with as well.

It’s going to be a fun weekend after all this.

I may have a problem when it comes to AirPods

Last night I misplaced my AirPods. I didn’t realize it until this morning, when I always take them off of my dresser and put them in my pocket. At 7:15 AM, they were gone.

I didn’t mind at first. I knew they were at home, because I wore them while I was unpacking the groceries, but I had no idea what became of them. I looked for them at breakfast time, and couldn’t find them. After I finished a project at work this morning I looked again, more thoroughly. They weren’t in any of the usual places I put them. They weren’t in my clothes. They weren’t in the couch cushions.

I started to get worried that something weird had happened to them. Perhaps someone threw them out. Perhaps they had fallen somewhere I could never retrieve them. I started to wonder if I would them years from now when we move out.

By lunchtime, which is when I use my AirPods most often, I started to get desperate. Instead of going for my daily walk, I turned over the entire house looking for them. I started looking for my AirPods in crazy places throughout my house where they never could be: inside the refrigerator, inside various drawers and cabinets, and on the floor between my desk and the wall.

I almost ordered new ones from Amazon, just to make the problem go away. The generation 2 AirPods were at an all-time low price today, but they wouldn’t be delivered until sometime in January, so it didn’t seem worth it. But, I saw that the new generation 3 AirPods could be delivered tomorrow. They just cost about $100 more. I almost bought them, but stopped short because I had to go back to work.

At long last, in the middle of the afternoon, when I decided to prepare a load of towels for the wash, I found them hiding at the bottom of the towel hamper. I have no idea how they fell in there, but I was enormously relieved to get them back.

It’s so silly, isn’t it?

I completed my final presentation of the year

Today my group and I presented on InsurTech to for an industry group’s free training day webinar. It went really well, which I expected because it was our second time making the same presentation. Still, I think that we all improved as speakers. We made our points more clearly and more cogently than we did the first time, and did so with greater focus and energy. We did some ad-libbing, answered some questions from the audience, and covered all of our material with only a minimal amount of rushing at the end. The best feeling for me was that I very much enjoyed listening to my speaking partners as they presented their sections.

Overall, I think the presentation went very well. Human nature being what it is, though, I remember the two very minor vocal stumbles I made during the talk more than the thirty minutes of good performance I put into it. I also second-guess whether my reliance on a script—which I was not reading, per se, but did need to remember my lines—makes my part of the talk sound like I am reading an essay, which could be exhausting to listen to. No one has ever said that to me, but I wonder about it just the same.

Working out what I am going to say out loud has always been part of my process when preparing a talk. Writing it down and editing it to exactly what I would want to say is a newer approach, which I think works out very well. It does, however, lead to an unnaturally efficient way of speaking, where no word is wasted—as long as I can remember my script. The next time I present to a live audience, with less accessible speaker notes and interruptions from the audience to handle, will put my new approach to presentations to the test. At this point in the COVID-19 pandemic, though, my next live presentation will likely be somewhat far in the future.

🎮 Shantae and the Seven Sirens

Over the past week I played through Shantae and the Seven Sirens, which is one of the many games I bought on sale after Thanksgiving.

Once I started it, I realized that I already played part of it. In 2019, it (well, a small part of it) was a launch title on Apple Arcade. At the time, I, like most Apple nerds, got the Apple Arcade free trial. I did not click with Apple Arcade. The only game I liked on it at the time was Shantae and the Seven Sirens. That version was my introduction to the Shantae series. After my Apple Arcade trial ended, I bought the next best thing, Shantae: 1/2 Genie Hero, on the Switch.

Because I had played part of it in 2019, I decided to play it this time using the original 2019 level of difficulty, rather than in the newer “definitive mode” with “balanced difficulty.” That may have been a mistake, because the game posed no challenge at all. Healing items and magic refills abound, and about 20% of the way through you get a heading dance (which is like a magic spell) that makes healing almost entirely unnecessary.

While not challenging, it was a lot of fun. The game has cute and colorful graphics, a funny and entertaining script, snappy controls, and runs smooth as butter on the Switch.

After I beat it, I started a new game under the “definitive mode”. Right away I found it much harder—harder than I expected, to be honest. I will likely play through it again at this higher difficulty setting and see how I fare.

My data analysis bot

Today I spent the majority of my work day creating a massive Excel template. Tomorrow I will code the data analysis bot that will fill that template with data tables and command logs that document the analytical procedures. Over time, these two days worth of work are going to save me many, many hours.

I have always automated the data analysis part of my job, but never enough of it for my tastes. Although I am not a programmer by trade, I think like one. One of the creeds of a programmer is “don’t repeat yourself.” Sadly, at work, I repeat manual data analysis procedures all the time. Certain parts of my job resisted automation for years. Lots of work I do is ad-hoc and may never be repeated, so it rarely makes sense to automate it fully or to generalize the approach for other data files and projects. Other work I do, like pulling samples, happens all the time. I get fed up when I am performing it the same way, and no better than, how I did it years ago.

I put some though into it earlier this year and discovered that documenting the work, rather than performing it, was the biggest time-waster in my day. Documenting my work in work papers has always taken a very long time. While necessary, it is the least productive time I spend on an analysis project. (In audit, work papers are critical. They support our observations and can be followed, step-by-step, to reperform our work.)

This year, I finally figured out how to create a bot that would not only run a “standard analysis” on a certain type of dataset (that is the easy part for me), but would also document the work in an Excel work paper (that is the hard part). It is not perfect yet, but it has saved me a lot of time over the past six months. I plan to keep working on it, mostly by building new work paper templates and standard analyses, next year and into the future, so that it keeps payment me dividends.

I am presenting my InsurTech slides to a new audience on Wednesday after about a month away from the material. I have to start rehearsing soon. Hopefully it will all come back to me quickly once I look at the slides again.

One last thing about the Apple TV today

It puzzles me why the optimal settings for HDR and framerate are not selected by default. I always have to go to the audio/video settings and set the frame rate to “match content”. If I don’t, I get audio drift (lip sync problems). I also learned tonight that I have to set the default video output to non-HDR because the Apple TV menus look terrible in HDR, but then set the HDR setting to “match content.” That’s the sweet spot for me.

The top of the new Apple TV 4K remote looks just like the iPod click wheel. Unfortunately, it does not work anything like one; you can’t slide your thumb around the perimeter to scrub. I don’t get it. It seems like a big missed opportunity to me.

Now that my media- and backup server appears to be running stably, I’m turning my attention to setting up my new Apple TV 4K. Somehow it has remained in its box since I received it on Wednesday. I…don’t watch much TV these days. 😀

Why do I even bother running a home file server?

Over the past year, my TrueNAS Core server has been bugging me every few months about one of my boot failing. In this case, the boot drives are simply two USB sticks, run in a mirrored configuration. If one fails, the other one handles the load. (The reason I use a USB stick for a boot drive is that my server has an internal USB port for that very purpose, and no other place for the boot drive to go.)

This week, after yet another USB stick failed, I tried to resolve the problem by buying new USB sticks and installing TrueNAS onto them. The OS installs took hours and the server would not reboot. Eventually I discovered that I could buy an SSD drive with the form factor of a USB stick, which is what I have wanted for years. It fits inside my server like a USB stick, but contains a fast, durable SSD drive instead of slow, fragile flash memory. I installed TrueNAS onto it, which seemed to take seconds rather than hours, but I could not boot from it. I spent an hour swapping USB drives and trying to boot the server until it would not boot TrueNAS from any USB drive I had. It was a disaster.

I gave up and installed Ubuntu Server onto the new SSD drive. I knew that Ubuntu supports ZFS now and could import my existing data pool. Luckily, it boots like a champ. After the install, I found some instructions to help me set up ZFS, Samba, and Minio, and—after editing file permissions—everything is set. I didn’t lose any data during the OS switch, but I did mess up my Arm backups when I tried to move them into a new Minio storage location. Luckily, I wasn’t depending on those backups for anything, because my important data is in the cloud and I have backups on Backblaze B2 as well.

I use the NAS daily for media sharing and backups. It takes very little maintenance except once in a while when it becomes a headache and money sink. I sometime wonder if I should go back to having an external hard drive instead, now that 8 TB external hard drives are pretty cheap. The problem with that approach is that external hard drives get hot and die, which happened to me so many times that I bought a NAS.

I will miss running TrueNAS (which used to be called FreeNAS) because I have run it for ten years and used to be really into its FreeBSD underpinnings. Now, all the servers I rely on run either Ubuntu Server or Debian, and I will just have to deal with administering them via SSH rather than via a web page.

I shared the article I wrote to one of my mentors today. He said he loved it and that he would help me get it published in an industry journal. Things are looking up!

Maybe It’s Just a Product Nobody Wants

I love how Matt Birchler compares crypto to BitTorrent in his latest blog post, “Maybe It’s Just a Product Nobody Wants”:

I don’t think crypto is going to disappear, by the way. I think it will always have a place in the world, but much like bittorrent before it, it was new & exciting, people tried to use it for basically everything, and then it settled into being used for, well, nothing for most people. Blockchains likely have a more prominent future, but there’s a lot of spaghetti being thrown at walls right now, and I think very little of it will stick because it’s not actually making better products.

I’m a crypto skeptic who thinks a lot about blockchain for work-related reasons. I dislike blockchain technologies because I think that, in the real world, they would fail to eliminate trusted intermediaries in financial transactions. Establishing trust without intermediaries is the whole point of blockchain.

I believe people and businesses are too risk-averse to do away with intermediaries like governments (who offer useful things like a legal system and deposit insurance) and the technology providers, agents, and brokers who make business work today. If crypto really takes off, and the old intermediaries are pushed out, I think that new intermediaries will pop up to fill in the gaps left behind. That future—blockchain with trusted intermediaries—is no better than what we have now, and is in many ways worse.