I was not thrilled that today’s New York Times mini crossword’s first word contained numbers. I didn’t know crosswords puzzles could contain numbers. It bamboozled me completely! 😅

People on Reddit are bitching tonight about Apple’s “bug fixes and improvements” iOS and watchOS updates. I must be uncool or something because those kinds of updates are my favorite kind.

I’m heading out for a team dinner. Maybe I should loosen my belt now rather than later. 😀

Oh, thank goodness for ☕️. I’ve got 15 minutes to down another cup before I head over to the office. It is nice to have a later start than usual today.

Baltimore’s Inner Harbor is nice. I’m glad I recognize the area in which I’m staying. My morning destination is a short walk away.

I’m on my first Amtrak ride in about five years. I forgot how much lateral motion there is as you go. My iPad is bouncing back and forth on the tray table as I watch TV on it. It’s nice to not be driving, though.

I’m all packed for my business trip to training in Baltimore. It’s been a while since I’ve had to overnight apart from my family. At least I don’t have to fly, and can take the train there.

We had a fun weekend, full of seeing actual people, either at our home or theirs. I should remember this kind of thing, as it goes against my general nature, but is good for me and the whole family.

Am I the only one who kept thinking “Jake Jortles”* during the Pats/Jags game tonight? 🏈 (* Jason Mendoza’s assumed identity in the latest episode of “The Good Place”)

Cleaning the house for a 2-hour play date is very intense and takes about 3 hours!

I drew and colored this under the expert tutelage of my 5-year-old daughter, just before we played together with Wellie-Wishers. 🎨

This afternoon’s docket for my family includes lunch with the in-laws and a rare visit to the brother- and sister-in-laws to see them and their baby boy.

Is it awful that I kind of want a HomePod? When I first watched the product announcement, my impression was “too expensive: hard pass” but now I kind of want something that sounds really good and just works with my iPhone.

I made another change to SwiftoDo to help a user with an abnormally large task list load their file faster. Now loading a big list is way faster, but table view scrolling stutters once again. Performance tuning is full of trade-offs.

Good news! I can hear as well as I ought to at my age. I just hear a ringing that isn’t there: my own, one-note personal soundtrack. I was cleared to listen to music or white noise to drown it out. That’s OK, I guess.

For some reason I am really nervous about my ENT appointment today. Hearing tests are nerve wracking for me, due to a bad experience several years back.

I brought my daughter out to the school bus today, which I don’t normally do, due to my work schedule. We shared a nice little moment in the bracing cold.

I pulled a bunch of samples in ACL today for work, and have to do it again tomorrow. I caught up on podcast listening all the while (Reconcilable Differences and Security Now). It is nice to have a normal workday sometimes.

Unpopular opinion: Calendars 5 is better than Fantastical. I have had both on my iOS devices for years and finally chose just one today. I prefer how Calendars 5 handles tasks and how it displays the results of natural language parsing, which is just as good as Fantastical’s.

I’m adding some very basic URL handling support to SwiftoDo tonight, based on a user request. I almost never put URLs into my task list, so I never thought to add it, but of course it makes sense.

SwiftoDo 2.6.3 is now available in the App Store 📱. It fixes a couple bugs and improves scrolling performance of the task list.

Eye Round Roast Recipe

Notes

At my local grocery store, eye round roasts are relatively cheap and plentiful in the cold weather months. They are all cut to just over 2 lbs, as well, so this recipe works pretty well for me. If your roast is larger, set the oven’s “on” time to 5 minutes per pound.

The exact measurements of the spice rub are not important, but it should consist of mostly salt. It is important to heavily salt the roast and to let it sit at room temperature for at least an hour prior to putting it in the oven. If the roast is too cold, it will not cook through properly.

I have found that these roasts leave enough fat in the pan to allow me to make a pan gravy with just a bit of flour (about 1 tbsp) and 1 cup of liquid (often just beef broth). (It there isn’t enough fat left over to make a roux, add butter to the flour.)

Ingredients

  • 1 eye round roast, 2 1/4 lbs
  • 4 tbsp kosher salt
  • 1 tsp freshly ground black pepper
  • 2 tsp onion powder, 2 tsp
  • 1 tsp garlic powder
  • 1 tbsp olive oil

Directions

Dry off roast with paper towels.

Create a spice rub by mixing the kosher salt, black pepper, onion powder, and garlic powder. Coat the roast on all sides with the spice rub. (You will likely not use all the spice rub.) Let it sit at room temperature for 1 hour.

Set an oven rack to the middle or upper middle position. Heat the oven to 500º F.

Coat the roast with a thin layer of olive oil and place it on a pan. A 12-inch cast iron or stainless steel skillet works fine. A rack is optional.

Put the pan in the oven and roast it for 10 minutes, or about 5 minutes per pound. Then, shut off the oven, and do not open it for 2 hours.

After 2 hours, the internal temperature of the roast should be about 145° F. Set the roast aside and, optionally, make a pan sauce from the drippings.

I resubmitted SwiftoDo 2.6.3 to the App Store after several more days of testing. It looks good to go.

Slate pushed a redesign today. I used to love Slate, but I’m afraid I aged out of its target audience or it drifted away from me, because it doesn’t seem as smart to me anymore. I still love the Political Gabfest though.

Chicken Sausage and Escarole Soup Recipe

Notes

This is a hearty, pasta-free soup, fit for a winter meal. Lots of vegetables, sausage (either chicken or pork sausage can be used), and cooking liquid from cannellini beans (canned or homemade) lead to a chunky, filling soup with a rich mouth feel.

Developing a fond while cooking the sausage will add an important foundation to the soup’s flavor. Deglazing this fond early, before cooking the vegetables in the same pot, will prevent it from burning.

Ideally, the vegetables should be soft but not browned; if they are not softening sufficiently during the sauté, simmer them longer in the broth, rather than extending the sauté.

You can substitute your preferred herbs for the Italian seasoning that I use. If using fresh herbs, add them at the very end, or just before serving.

If you wish to add pasta, ditalini works well. Cook the pasta separately, and add it just before serving, to avoid the pasta absorbing too much of the broth during cooking or storage.

Ingredients

  • 1 12 oz package chicken sausage
  • 1/2 cup water or chicken broth, for deglazing
  • 2 tbsp olive oil
  • 1 cup chopped carrots
  • 1 cup chopped celery
  • 1 cup chopped yellow onion
  • 1 7 oz bag fresh chopped escarole
  • 2 15 oz cans cannellini beans, not rinsed or drained
  • 8 cups low sodium chicken broth
  • 1 tsp Italian seasoning
  • Salt and pepper, to taste
  • (Optional) Fresh squeezed lemon juice, to taste
  • (Garnish) Freshly grated Parmigiano-Reggiano cheese

Directions

In a large pot or Dutch oven, brown the sausage in 1 tbsp of olive oil for 4 minutes per side over medium heat. This will likely not cook it through, which is fine; it will cook through later in the soup. Remove the sausage and set it aside.

Deglaze the pot with 1/2 cup water or chicken broth. Retain this liquid in a cup or bowl; it will be added back to the soup later. If the retained liquid contains any solids, strain it to remove them.

Once the par-cooked sausage is cool enough, cut it into coins and set it aside, to be added back to the pot later.

Dry out the pot and add 1 tbsp olive oil. Sauté the onion, carrots, and celery over medium heat until they are soft but not browned, about 10 minutes. If the vegetables are not completely soft after the sauté, that is OK; they can be softened after the liquid is added. Add the escarole and Italian seasoning and stir everything to combine.

Add the chicken broth, and add back the retained liquid from deglazing. Raise the temperature to high until the broth starts to boil; then lower the temperature to medium or medium low, to maintain a low simmer. Simmer until the vegetables are soft, which can take 5 to 10 minutes.

Add the cannellini beans, including their cooking liquid, and the sausage. (These ingredients are added later to avoid overcooking them, which would lead to split beans and tough sausage.) Continue to simmer until the sausage is cooked through, which will take only a few minutes.

Season the soup with salt and pepper to taste. If, at this point, the soup tastes dull, add some fresh squeezed lemon juice, little by little, until the broth tastes as bright as you want it to.

Serve topped with finely grated Parmigiano-Reggiano cheese.