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).

Sheesh.

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.