Breaking the nomentum

It’s been a busy two-and-a-half weeks since I last blogged (thanks for the nudge, Françoise!), but not a terribly interesting two-and-a-half weeks.

We completed several steps on the solar and electrification journey. The solar project has been submitted to PG&E so that we’ll qualify for the existing net metering rates; it has also been sent to the town for permitting.

Our old 3.5-ton gas furnace (and air conditioner) were removed last week, replaced by a 4-ton heat pump. The house is much more comfortable (and there’s a lot less temperature variation between rooms) now. They still have to send someone out to test the system to qualify us for rebates; that should happen next month.

I’ve almost completely converted our home automation to Home Assistant; today’s project was exposing selected devices to HomeKit and the Home app. What’s left? Connecting to Alexa and rewriting the program that sends me a morning weather update to run on Home Assistant instead of Indigo. But it looks like I’m going to have to reinstall Homebridge to be able to bring the video feed from my Ring doorbell into HomeKit; it would be nice to have all of our cameras visible from one app, even though they come from three different manufacturers.

We even managed to take in a little culture – we saw Tabard Theatre’s final production, Once. They plan to continue to offer music and comedy shows, but they couldn’t make the theatre work financially after the pandemic. At least they went out in style, unlike San Jose Rep!

A Dark Pi Day

I spent the morning working on bringing Home Assistant up to speed on my Raspberry Pi (appropriately). I got the basic system before stopping for lunch, and I had high hopes of getting the critical automations installed by mid-afternoon.

It was very windy outside – the lights flickered a bit while we were making lunch, but stayed on until 12:50 while we were cleaning up.

The weather has improved, but we’re still in the dark. At least we had an extra hour of daylight this week!

If it’s raining, I must be on the computer

The last few days have been mostly rainy, so I’ve been doing things on the computer (as if I wouldn’t have been doing things on the computer anyway).

I got most of the District 101 Toastmasters code back in operation and talked with someone who would like to get involved in maintaining and improving it.

I fixed a “nonce error” in the code I use to extract selected entries from Tripit and put them on my Google calendar. The “nonce error” seems to happen if my code sends requests too quickly; I’d tried to fix it a few weeks ago by trapping the error, sleeping for a second and retrying the failed request, but the fix didn’t do anything. I found out the problem yesterday – a comment saying “Sleep a second” is not nearly as effective as actually calling the function to sleep a second.

We did manage a few walks between the storms (and during the storms, too!), so it wasn’t a completely sedentary weekend. And our neighbor’s tulips are blooming already, which is a nice sign.

Today I learned CSVs can contain formulas

I’ve been asked to help get the backend code I wrote for District 101 Toastmasters operational again. Toastmasters has made some changes to the code at their main website while I’ve been away; in particular, they no longer provide a CSV of information about all the clubs in a District, and my code wants to download that CSV and use it.

Instead of the CSV, now they provide a JSON file with the same information; I spent the evening writing very tedious code to extract the fields I need from the JSON file and write a CSV so that the rest of the code could use that CSV without my having to change the code.

I got the code working and loaded the CSV into Excel; everything was OK except the “Phone” column, which threw “#NAME” errors. After much head-scratching, I finally discovered that Toastmasters was giving bad data for the “Phone” column – values like “=undefined” or “=+1(408) 555-1212”. And that Excel was treating entries starting with a “=” as a formula, which, of course, didn’t work.

I patched my code to quote the “Phone” column and Excel was happy again; the data is still wrong (even on their “Find A Club” page), but I assume Toastmasters Central will fix it soon (it was OK a few days ago).


Weekend Update

Diane spent most of the weekend working on photos at an event (at home on Zoom, of course), so I went out yesterday and took care of some errands. I donated our old mixer and got rid of a lot of e-waste, both at Goodwill, and I looked at the Kia EV-6 and took another look at the Hyundai Ioniq 5.

“Looked” is the appropriate verb – going to a car dealer on Saturday afternoon is a recipe for being ignored! I will want to go back and talk to someone about the Kia, but I’m in no hurry.

I also spent a lot of the weekend hacking at my Toastmasters club’s agenda spreadsheet; I have to keep learning more and more about Google Appscript (Javascript with many built-in classes to talk to Google services). It’s not too bad, but I wish I could find a way that people who use the script wouldn’t have to explicitly authorize it to do things – Google’s message to request permission is very scary.

In fact, I worked on the spreadsheet so long last night that I was too tired to write a blog entry until just now – so the streak is over after 1082 consecutive days of blogging.