A Moment of Weakness

So I signed up for a New Yorker subscription, in a moment of weakness. And I even went for the combined print/digital subscription. I should probably just toss the issues in the garbage as soon as they show up, because I know I’m never going to get around to reading them!

I last had a subscription to The New Yorker in 2012/2013. I canceled it after one year, and I did eventually read (or at least skim) every issue, but it was probably 2015 when I finally tossed the last one.

I’m going through another one of those periods where I’m rethinking how I consume news. The news lately is really making my head spin. Between the January 6 hearings, the Supreme Court stuff, and the war in Ukraine, it’s starting to get to me. This week, I’ve been coping largely by binge-watching some old anime DVDs, of a very silly old series from the early 2000s. (I don’t even want to say which series, since it’s silly enough that I’m a little embarrassed to admit it.)

I still have New York Times and Washington Post (digital) subscriptions, and I still read a good number of articles from both. And I’m sure I’ll read a reasonable number of New Yorker articles. For now, though, maybe they’ll mostly be the humor articles, like this great one by Jonny Sun.

passport photos and the passage of time

I’m thinking a lot about the passage of time today. I got a new passport photo taken this week, and compared it to my last couple of passport photos. I took the current one and the last two, put them next to each other, and scanned them in together. Since you need to renew your passport every ten years, looking at the photos gives me a look at how I’ve changed over the last few decades. I thought about posting that scan here, but it might not be a good idea to make my passport photos publicly accessible.

Looking at them together, I see, first, a guy in his mid-thirties, with a fair amount of hair and a mustache that he apparently thought looked good on him. He looks pretty happy. Maybe a little overweight, but not enough to bother him. He hasn’t really lost anyone close to him yet.

Next, I see a guy in his mid-forties. He’s recently lost both of his parents. He looks a little more subdued than the mid-thirties guy. The mustache is gone, and there’s less hair on his head. He’s still smiling, but it’s a less confident smile, maybe. He’s definitely overweight and needs to lose a lot of weight, but it’s not bothering him that much yet.

Finally, I see current-day Andy. He’s got bags under his eyes and looks like he hasn’t slept in a week. He’s lost a lot of weight, and a lot of hair. He kind of looks like he just got punched in the face.

Now, comparing the current photo to the previous ones is a little unfair, since the rules for passport photos have changed since the last one. You’re not allowed to wear glasses, and you’re supposed to have a neutral expression on your face. And of course the photo was taken by a random Walgreens clerk under bright fluorescent lights. So, yeah, maybe I don’t look quite that bad in “real life.” Still, the guy in that photo, staring back at me, looks like he needs a hug. And a good night’s sleep. And maybe a sandwich.

On a semi-related topic, today is the twenty-first anniversary of this blog. I wrote posts on the tenth and fifteenth anniversaries, but seem to have missed the twentieth last year. So I guess it was the mid-thirties passport photo guy who wrote the first entries on the blog, and the mid-forties one who wrote that tenth anniversary post.

And on yet another almost-related topic, I missed seeing Paul McCartney at MetLife Stadium last week. It was apparently a great show. I regret not going a little, but I’ve seen him five times already, including once before at MetLife, in 2016. I think that, if there was some way I could have teleported myself to the show and back home, I’d have done it. But the grief of dealing with NJ Transit and staying out late and all that would have been too much for me. With respect to COVID, I would have felt relatively safe at the stadium, since it’s basically open-air. I would have felt less safe on NJ Transit though, since those trains to MetLife can get packed, and there’s no mask mandate on trains anymore. And if I’d gone to the concert, I might have decided to stay overnight in NYC afterward, and then I’d have gotten caught up in the NJ Transit job action on Friday, which could have been a nightmare.

So, yeah, mid-thirties Andy would have definitely gone to MetLife for McCartney and enjoyed it. Mid-forties Andy might have gone, but would have been tired and maybe sick for a day or two afterwards. Mid-fifties Andy is staying home watching old Star Wars cartoons on Disney+ and going to bed at 9:30 PM.

Some Guys

I saw a reference to Jonathan Coulton’s Some Guys album somewhere today, and realized I’d never gotten around to buying it. It came out in 2019, and is apparently his most recent full album. Now that I have Apple Music, I can just pull it up there and listen to it.

It’s pretty good, and kind of what I was in the mood for this afternoon. It’s all straightforward covers of old 70’s soft rock songs. I grew up listening to this stuff, but stopped listening to most of it in the 80’s, when I started listening to hard rock, metal, new wave, and punk. As an angry teenager, I guess I just wasn’t much interested in the Eagles or Dan Fogelberg anymore.

Well, now that I’m in my 50’s, I guess I’m ready for Fogelberg and Gordon Lightfoot and all those old 70’s guys again. I never really had any of this stuff in my record collection; I’m just familiar with it all from good old-fashioned AM radio. So I decided to make an Apple Music playlist of the original versions of all the songs on Some Guys. Here’s a link to it. It should be public.

Of course as soon as I created the playlist, I realized that I probably wasn’t the first person to have this idea. And, indeed, there are three or four other shared playlists out there exactly like mine. Oh well. It wasn’t much work to create, so it’s not like it was a ton of wasted effort.

And here it is embedded, for whatever that’s worth:

Klaus Schulze & Dune

I’ve been thinking about (and listening to) Klaus Schulze a lot lately. He passed away in April. I’ve been listening to his music since I was a kid, when I first started getting interested in electronic music. I remember buying this 1983 live album on CD, at some point in the 80s (though probably not in 83, since I don’t think I had a CD player yet). I need to dig that out and rip it at some point, since it’s not on Apple Music.

And he showed up in a few Matt Howarth comic books. I think I’ve read both of the comics mentioned on this page. I know he’s been in at least one or two others.

He released an album called Dune in 1979, which is on Apple Music (or at least part of it is). And there’s also Deus Arrakis, which came out earlier this year. The Bandcamp page for that one has this quote from Schulze:

On the one hand this album was created as spontaneously as all my albums before, on the other hand it has a special history: when I produced my eleventh album ‘Dune’ in 1979 I already knew the ‘Dune’ trilogy by Frank Herbert inside out like other people knew their ‘Lord of the Rings’. I was totally fascinated by this monumental story of the desert planet and I read the books over and over again.

He continues on about Dune and his thoughts about the books and movies. It’s interesting.

The 1984 Dune movie had a soundtrack mostly by Toto, which is a thing I probably knew at some point, but had completely forgotten about until I just now looked it up on Wikipedia. There’s one lone track on there by Brian Eno, Roger Eno and Daniel Lanois, though. I just brought that album up on Apple Music, and it’s quite something. The Eno track sounds pretty much like you’d expect an Eno Dune-related track to sound. (Good!) The rest of the album is… mixed. The tracks have names like “Robot Fight” and “The Floating Fat Man.” A few of them have dialog from the movie mixed in with the music. Some of them are quite nice, actually, but a few are pretty bad.

The 2021 film has a soundtrack by Hans Zimmer. There are actually three albums out related to it. The main soundtrack itself, something called The Dune Sketchbook, and another called The Art and Soul of Dune, which is apparently a companion to a book about the film. (The Sketchbook album also has a contribution from Schulze.) I’m not a huge fan of Zimmer, but I generally like his stuff, and his Dune music is very good. Here’s an interesting article from the Times about it.

And one more Dune-related bit of music: April Larson’s You Stand in a Valley Between Dunes, a 2017 album inspired by Dune.

Lazy initialization

My experience working my way through the Clean Code book and videos has gotten me interested in refactoring some of my old code. I have a large API project that I maintain at work, and it’s gotten a little out of hand over the last few years. In particular, there’s one class that got so large that I broke it up into multiple partial class files some time ago. Overall, it would have been around 5000 lines of code if I hadn’t broken it up. Of course, partial class files don’t really change anything; it’s still one big class, technically.

So I started looking for ways to break it down into actual separate classes. What I wound up doing was to leave stuff that was needed across all the code in the old class, then moving all the specific stuff from the partial classes into new “child” classes. I created a new base class for these child classes, then added code to the original (now “parent”) class to contain all of the children as singletons, instantiated as needed.

The code to do that looked a lot like the code in this Stack Overflow question. That was fine, but once I got all that done and working, I started looking around for ways to streamline or simplify the declarations. I tried out a few things, and decided on using the Lazy<T> class. I’m sure I must have stumbled across it before, but I’d forgotten about it and had never actually used it. It took me a little while to figure out exactly how I should use it, in my particular use case. I don’t have anything super-interesting to say about that, but I thought I’d just post a few links that I found helpful:

Overall, I think the code is a little better for having been refactored this way, though I’m still not quite satisfied that I’ve cleaned things up as much as I should.

work from wherever

My current work schedule is supposed to be three days from home (Mon, Wed, Fri) and two in the office (Tue, Thu). This week got a little mixed up though. My internet went out on Monday morning, so I drove in and worked in the office that day. Then, I decided to work in the office on Wednesday too, with the idea that I would then have two back-to-back days at home, Thursday and Friday. But my landlord had to turn off the water today to fix a problem, so I drove into the office again. So, this week has been three days in the office and (hopefully) two at home, assuming nothing goes wrong tomorrow, forcing me to drive in again.

I like this article in the Times about how employees are pushing back on the return to office. I’m happier working from home, for the most part, but it can be nice to get out of my apartment once or twice a week. And it’s good to have the office as a backup plan, for weeks like this one, when there are issues at home with internet or water or whatever. I really don’t think I’m generally more productive in the office, though, all other things being equal.

And here’s another Times article about the state of the housing market. Recently, I’ve been considering buying a place in the retirement community where my parents used to live. I’m over 55 now, so I’m eligible, and the prices down there are still somewhat affordable, the last time I checked. My current idea is to hold on to the apartment in Somerville and use the retirement home as a weekend retreat, of sorts. But I’m struggling to work out how to do that in a way that doesn’t involve a lot of extra driving, and a lot of extra work, keeping two homes clean, and two refrigerators stocked, and so on and so forth. Maybe if I shifted my work schedule so I’m in the office just Mondays and Tuesdays, I could stay in the apartment on those days, then work from the retirement home Wednesday through Friday, and I’d only have to drive down there on Tuesday nights, then back up on, maybe, Sunday afternoon. Still, it’s probably more effort and expense that I want to deal with right now. I guess I’m sticking with my current apartment for the foreseeable future.

more Somerville stuff

As a follow-up to my previous post, I can confirm that I did indeed “hole up in my apartment and wait this thing out,” and rewatched the whole first season of Stranger Things. The big race was won by some guy from New Zealand, which is kinda cool. But they continued playing annoying music through all the races, which was kinda not cool. Turnout was pretty good, but didn’t seem to be ridiculous, at least based on what I could see from my window. I didn’t actually go back out at all after my morning walk.

Tonight, it seems like we’re getting our first big turnout for the classic car thing that happens every Friday during the summer. I don’t hear a DJ yet, so that’s a good sign. In the past, they’ve sometimes set up a DJ booth right across the street from my apartment, and that’s always been a pain. In more recent years, they’ve either not had a DJ at all, or had him set up farther from my apartment. Of course, regardless of that, there’s still the guys on loud motorcycles, and the guys who tune their cars to make as much noise as possible. So I’m still not going to be able to have a quiet Friday night again for a while. At least I can work from home on Fridays now, so I don’t have to worry about driving home through this stuff anymore.

In theory, Somerville should be having their June street fair this weekend, on Sunday. But, from what I can tell, it’s been canceled this year. I’m not sure why. That’s good news for me, since it means I can hopefully have a quiet Sunday, at least.

I’m not sure if there was much of a point to this post, other than to vent a little about how stressed I am right now, and how much I’d like a nice quiet weekend. I’m thinking about taking a couple of days off from work and trying to go somewhere quiet for a bit, but I have no clue where. I just did a search for “quiet vacation spot in NJ,” and I found what looked like a promising list, but then saw that Caesars Atlantic City was number 3 on the list, so that’s obviously an auto-generated bit of clickbait. I’ve been to Caesars, and it ain’t quiet!

 

Memorial Day and the return of the Tour of Somerville

Well, the Tour of Somerville is back this year, after taking two years off. I imagine that a lot of people are happy about that, but so far, I’d say I could do with another year off. I woke up at 6:30 AM this morning, and things were pretty quiet. Then, just a few minutes after I’d gotten up, a blast of music came in through the window. Luckily, it was only a test of the system, and they shut it back off after a few minutes. So I got a couple of hours of peace and quiet. But that blast kind of set me on edge, and I’ve been a little jumpy all morning. It doesn’t help that I haven’t been sleeping well lately.

It’s 9 AM now, though, and the “Family Fun Ride” has started, so the music is back. I’ve been drowning it out with music of my own, played through my AirPods. (I’m charging up my Beats now too, as I may want to switch to the over-the-ear headphones at some point for the better noise cancellation.) I’m hoping they’ll turn down the music when the “real” races start, but right now, I’d call it “aggressively loud.”

I went out for my usual walk this morning, around 8 AM, and walked the race course. They’ve got a lot more metal fencing up on Main Street than I remember them doing in past years. So it looks like I’m pretty much fenced in. Just getting across the street between races seems like it’ll be more trouble than it was in past years.

So I guess I’m just going to hole up in my apartment and wait this thing out. I wish I could get into the spirit of the thing, but I really just want a quiet day off. I’m still paranoid enough about COVID that I don’t want to go out in a big crowd, and it looks like it might indeed be a big crowd this year.

I finished watching the first part of Stranger Things season four yesterday. I really enjoyed it. I especially loved the use of Kate Bush’s song “Running Up That Hill,” which has apparently kindled a lot of new interest in Kate Bush. I was a big fan of Kate Bush in high school and college. Her album The Dreaming came out in 1982, so I listened to that a lot in high school. And Hounds of Love, the album with “Running Up That Hill,” came out in 1985, so I would have been listening to that one in college. I guess I’m a little older than the Stranger Things kids are supposed to be, since they’re just starting high school in 85.

I may decide to kill some time today by going back and rewatching season one of Stranger Things, either through my headphones, or possibly just blasted through my speakers.

The real races are supposed to start any minute now, since it’s just coming up on 9:30. And they’ll be going until maybe 6 PM. Honestly, I’m not looking forward to any of it, but I guess I’ll make the best of it and try to have a good day cocooned in my apartment watching TV.

COVID exposure

I got a notification from the NJ COVID app that I was exposed to COVID recently. I’ve had the app on my phone since October 2020, and this is the first time it’s actually notified me of anything. The exposure was more than a week ago. Not sure why it took so long to get to me.

I’d pretty much forgotten that the app even existed. When I first installed it, I was “checking in” on the app on a semi-regular basis. These apps were a pretty big deal when they first came out. But they’ve really faded to the point where it doesn’t seem like anyone bothers using them anymore. But I guess some people still do, otherwise I’d never had gotten that notification.

At this point, I guess it’s a pretty useless notification though. If I was exposed more than a week ago, I’ve had plenty of time to spread it around. I went out to dinner with a friend Saturday, and to lunch on Sunday. That’s unusual for me, and I wouldn’t have done it if I thought I might have COVID.

The date shown is May 16, which was a Monday. Looking at my Day One entry for that day, I barely left the apartment, so I’m not sure how I could have been exposed on that day. It does say that it’s “estimated” though, so maybe it happened the next day, at work, in the office? (I work from home Mon, Wed, and Fri, and in the office Tue and Thu.)

Oh well. I did an at-home COVID test this morning, just in case. It came back negative. At this point, I’m not even sure if I’m supposed to report a “near miss” to work or not.

Comparing objects in .NET and general thoughts on testing

I had a little task today at work, where I needed to replace the way I created a JSON object that was being returned from an API. Long story, but the challenge at the end was to make sure I didn’t screw it up, so I wanted an easy way to compare the “before” and “after” JSON. Now, I was adding a feature here, so the before and after were going to be different, but I wanted to have an easy way to check that they were different only where I expected them to be, and there weren’t any unexpected side-effects.

This let me down a rabbit hole, looking at things like this ObjectsComparer package on GitHub. I also stumbled across this JSON extension for FluentAssertions. In the end, I just wrote a script in LINQPad to dump the before & after JSON to disk, then compared it with Beyond Compare. I keep thinking that I need to put together a better testing framework for my API, so I can better automate this kind of stuff.

I don’t have a unit test project for this API, or any other really structured tests. I have a test client that can run a suite of “safe” tests that don’t alter data, and checks a few things on the results. But it’s not a very complete test set. And I have another client that runs a test cycle that does alter data, and hence needs to be run carefully, and can’t be run too frequently. (And that one isn’t very complete or thorough either.) And I have some LINQPad tests that I run mostly as smoke tests.

I’m currently working my way through the TDD section of the Clean Code series that I’ve been watching/reading. I’ve always liked the idea of TDD, but I’ve rarely worked on a system where it seemed practical. (I’m not saying that it’s not practical, just that I haven’t figured out how to effectively apply it to any of my typical work.) Regardless of TDD, I ought to be able to put together some better and more automated tests for some of my work.