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.

A Day of Excellent Service

A few weeks ago, I wrote about a problem with a camera battery swelling; I also posted a review on Amazon describing the problem. I disposed of the bad battery and forgot about it until I got a note from Powerextra (the seller) yesterday offering me a replacement or a partial refund. I didn’t need another battery (I’d kept the one from my ill-fated camera), so I asked for the refund. A couple of hours later, Amazon notified me that I’d received a full refund for the batteries and charger – that seems more than fair! I updated my review. :-)

On Wednesday, our microwave oven stopped working; its display showed “door”, but the door was firmly closed. I tried poking at the latches inside the oven in hopes of convincing the oven that all was well; that was a Bad Idea because it put the latch in a place where it couldn’t, well, latch, and the door wouldn’t stay closed! A little duct tape fixed that, but the microwave still didn’t work.

I did a little research and called Ace Appliance Service, who said they could come out today. Tom arrived just after 10, disassembled the microwave, found the problem (a fuse, not the door!), fixed it, and reassembled everything – total time, a little over 20 minutes including explaining things to me. :-)

$40 for labor, $4 for the fuse, and $110 for the service call and I have a working microwave again.

I’ll use Ace the next time I have an appliance problem. Highly recommended.

Shabbat Shalom!