I really liked this back-to-basics post by John Sundell about type composition in Swift. I think lots of programming tutorial writers—and readers—fail to focus on fundamentals. John does not.

SwiftoDo 2.7.0 is now available in the App Store. It vastly improves the loading speed for huge task lists, and adds URL support (long-press a task to open any URL it contains).

60° F and 20 MPH winds have made it both too warm and too cold for a proper Winterfest for us today.

I submitted SwiftoDo 2.7.0 to the App Store earlier today, and tonight I made enough bug fixes and library updates to warrant a version 2.7.1 soon thereafter.

I am too busy coding tonight to order a HomePod. The audiophile part of me really wants one, though. I have a fancy BeoPlay M3 speaker already, but I think the HomePod has cooler tech and is just large enough to sound a whole lot better.

I did some complicated sampling today. ACL’s new APPEND command made short work of combining 4 tables, which sounds like nothing, but it has long been a weak point in ACL’s functionality. It’s a welcome improvement.

I diagnosed and fixed a memory leak in my iOS app using Instruments and Xcode’s memory debugger for the first time tonight. It almost made sense to me. My fix involved removing retain cycles by getting rid of a closure and turning one of my classes into a struct.

📚 I resumed reading Team of Rivals: The Political Genius of Abraham Lincoln last night. It’s an incredibly well-written and well-researched book. I had stopped reading it because I thought its subject matter—the break-up of the United States due to intractable racial prejudice—hit a little too close to home for 2017-18. Regardless, I am now continuing.

I’m back to Access database work today. It looks like I will have to do even more Access work for exam procedure automation in the future, because the work will be portable and transferable to our clients that way. It’s kind of a bummer, though, because VBA is terrible. Native Python support in Office can’t come soon enough for me.

I’m heading home after two good, productive, and ultimately exhausting days in Baltimore. It will be great to be home, but I think working alone in my home office tomorrow will feel a little strange after so long with my team.

We had a nice team dinner at Aldo’s in Baltimore last night. They have the best limoncello I’ve ever had. And cannoli. And great entrées. 🍴

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.