Shelter-in-Place Journal, Day 198

I made some progress on fixing the problems with the transfer process for photos I’m giving Diane (who’d’ve thought that going from Photos to Lightroom to Photos would have issues?). We upgraded her machine to Catalina and that solved the timezone errors during import. And I’m close to having a fix for the disappearing GPS data. I hope.

At least I get to look at nice pictures while I’m debugging – here’s sunrise from our balcony just off Patmos, Greece nearly two years ago.

I took six photos of the sunrise that morning – it’s a relief to be down to one!

Shelter-in-Place Journal, Day 197

We watched the “debate” tonight.

I wasn’t surprised to see Trump refusing to let Biden speak without interruption and ignoring the moderator’s attempts to reel him in. I wasn’t surprised to see him dodge questions and lie whenever he could. I wasn’t surprised to hear him bring in his favorite stories (like the leader of an unnamed nation with “forest cities” calling him “Sir”). I wasn’t surprised to hear him condemn Democrats at almost every opportunity (he did claim to get along well with California Governor Newsom while blaming him for the fires here).

But I was shocked when he didn’t take the softball that Chris Wallace threw him asking him to condemn a White Supremacist group (I won’t name them), instead telling them to “stand by”. Not surprised – Trump is who he is – but shocked that he couldn’t manage to dissemble for just a little bit and look just slightly less racist.

Vote Biden. Vote Democratic all the way.

And in the meantime, please stay sane. Here’s a short video from the Oregon Zoo that might help.

Shelter-in-Place Journal, Day 196

The Yom Kippur services were engaging. The “core” service this morning was pre-recorded at the synagogue, with the Rabbi, Cantor, our pianist, and a few choir members (plus a song which brought in the entire choir from their homes); the rest of the services were live on Zoom.

In some ways, it was more engaging than our usual services at Sacred Heart Church because it was just us and the screen – we could sing along without fear of distracting anyone else who wanted to hear the Cantor or choir. And there was no traffic to contend with, and no rest room lines. And there were some opportunities for small-group discussions, which doesn’t happen in the big service. And we could set the air conditioning to our own preferences.

On the other hand, most of the service was without the choir, and I missed them. And there wasn’t a chance to have an informal chat with friends between pieces of the service, and I missed that. And the final shofar blast of the evening was just one person and one shofar instead of shofarot scattered around the building with each shofar blower trying to hold the note for the longest time.

I hope we can go back to services in person next year.

Shelter-in-Place Journal, Day 195

I’m going to write today’s entry early so I can be off social media well before Yom Kippur starts.

In a normal year, my goal would be turning off the computer for Yom Kippur, but this year, the computer needs to stay on so we can watch and participate in services. Kol Nidre was pre-recorded but won’t be streamed until the right time; services tomorrow (except for the “base” morning service) will all be on Zoom.

It will be different – perhaps not as different as taking a tour of Berlin on Yom Kippur, but definitely not the usual experience. Fasting will be about the same, I guess!

May you be inscribed and sealed for a good year.

Shelter-in-Place Journal, Day 194

No trips to the ER or doctors today, and my vision seems to be stable, so that’s good.

I edited two days’ worth of photos from Greece to give to Diane. The culling and editing and geotagging in Lightroom all worked, but we’ve had some issues getting my pictures into her copy of Photos:

  • Photos doesn’t honor the timezone written in the exported JPEGs from Lightroom – instead, it insists on interpreting the times as Pacific Daylight Time. Once we figured that out, it was fairly easy to fix (right after importing the photos, go to Image/Adjust Date and Time and set the time zone to “Athens – Greece”. That causes Photos to move the timestamp forward by 10 hours (so a photo with a timestamp of noon gets set to 10pm), so then we have to change the timestamp back to the original timestamp. After doing that dance, the imported pictures interleave properly with the ones already in her Photos library.
  • The other problem seems to be on the Lightroom side. When I import a photo from the iPhone (in HEIC format – not sure about JPEG), Lightroom shows its location in its GPS fields, but when I export the photo to give to Diane, I have to convert to JPEG, and the GPS data doesn’t get written to the output photo. BUT pictures that I took with my camera in RAW format and geotagged with HoudahSpot DO keep their GPS data when Lightroom writes them out as JPEGs.

I am very confused. Maybe sleeping on the problem will help.

Shelter-in-Place Journal, Day 193

I have to confess something (it is, after all, the High Holy Days) – last night’s journal entry was not completed at home. Instead, I finished and posted it from a place I’d rather not have been – the Emergency Room at Good Samaritan Hospital.

Diane and I went out for our usual evening walk last night. It was a little later than we’d planned, and it was already pretty dark – but I noticed flashes of light from my right eye. I couldn’t see them using my left eye. And they seemed to flicker along with my footsteps.

When we got home, I called the AARP nurse line and described my symptoms (I was also seeing a lot of floaters), and the nurse told me to go to the ER.

The ER was empty when we arrived about 8:30pm, and my name was called quickly. I told the nurse my symptoms and she did a quick stroke check (Could I hold my arms up? Could I smile evenly?), took an EKG, and told me to wait – that’s when I finished last night’s posting.

Eventually, we were taken back to Room 16, and they drew some blood (mostly a cardiac panel). Then I waited a while longer until an X-ray tech came in and took an X-ray of my lower torso. More waiting, and then a trip to the MRI. It was much like my previous MRI experience 20 years ago, though the tunes were different.

After they took me back to Room 16, we waited some more. A nurse took me down the hall for a visual acuity test (just like the one I’d undergone at the DMV earlier this month!), and then back to Room 16. She returned quickly and said that they were just finishing up the paperwork so I could leave.

Time passed. I eventually got up and walked over to the nurses’ station where my nurse apologized for the delay and handed my paperwork to another nurse who checked me out. We left the hospital a little after midnight.

So, just like on my very first birthday, I started the day in the hospital. That’s a birthday throwback I’d be happy not repeating again.

This morning, I visited my ophthalmologist – he dilated my eyes and examined them, then said I’d had a vitreous detachment and that there was probably nothing to worry about. He scheduled me for a followup in three weeks to make sure that there are no changes and sent me on my way.

I haven’t seen nearly as many floaters today as I did yesterday, and no flashes. Here’s hoping!

Shelter-in-Place Journal, Day 192

I’ve been using Indigo for home automation for a couple of years. I haven’t written my own plugins yet (and I hope to avoid doing so), but I have created a few Python scripts to run inside Indigo, and I have set up some fairly complicated trigger/action combinations. So I didn’t expect to have any problems adding a daily Action Group to send the weather to Diane and me.

The Action Group was pretty simple:

Step 1: run a Python program to create the message (combining information from several sources) and write it to a persistent variable in Indigo,

Step 2: send a message with the contents of the variable.

But I kept getting a message with old data – data that had been captured from the previous execution of the action. I added code to the Python program to make sure that the variable was being set properly – it was. I even added a sleep to the Python program to make sure that the new value of the variable had time to propagate – no dice.

I was very confused. I had to take desperate measures: I looked at the online documentation. And there, I discovered that Indigo runs all of the steps in an Action Group in parallel – so the message was being sent before the Python script had had the chance to update the variable. The fix was simple – add a five-second delay to the second step. That’s not five seconds after the first step ends – it’s five seconds from the time the entire Action Group starts.

I’ll have to look at all my other Action Groups and see if I’ve fallen into this trap elsewhere; I suspect that I have, because sometimes, things don’t wind up in the state I expect, and race conditions might well be the cause.

Shelter-in-Place Journal, Day 191

We’ve had the same food processor for a long time – in fact, it came with an instructional video on VHS tape. We didn’t use it very often. Cuisinart recalled the slicing blade in 2016 and the replacement took a long time to arrive – not being able to use the machine didn’t affect our cooking at all.

But that was in the Before Times. Now, we cook at home all the time, and we’ve gotten more adventurous. I find myself grating Parmesan or Pecorino cheese several times a week – I’ve used a Microplane, a box grater, and a rotary grater. All of them work – but they all require a good bit of effort. And, as a programmer, I am professionally lazy.

So today, I decided to dig out the food processor to grate cheese for today’s lunch. It did a fine job, and my hands and wrists didn’t bother me afterwards! And, unlike the manual methods, I didn’t wind up with a couple of millimeters of cheese that I couldn’t grate.

It worked so well that I grated all of the Parmesan and Pecorino in the house – that should hold us for a few weeks.

I wonder what else I’ve been doing the hard way.

Shelter-in-Place Journal, Day 190

The weather notification I set up in Pushover yesterday worked perfectly this morning – except for one small problem. The temperature on the outside thermometer hadn’t been updated since 9:15 last night. And the display on the bedroom thermometer showed “–“ for the outdoor temperature. I replaced the batteries outside and the display came back; tomorrow, maybe I’ll get correct data, too!

Or relatively correct data – I looked at the manual today and discovered that this particular (cheap) thermometer is only accurate plus-or-minus 2 degrees Fahrenheit. That’s more than good enough for knowing what’s going on, but not so great if I want to automate turning off the house fan when it gets too warm outside. Anyone have a good, relatively inexpensive, weather station to recommend?

And now that the weather is getting cooler, we’re beginning to think about electric blankets again. I’d bought a “Safe and Warm” brand blanket from Costco in 2010; it failed early this year. Costco didn’t carry that blanket any more (that should have been a clue) but Amazon did, so I bought one. Six weeks later, one of the controllers failed – the company said they could replace it “when we’re back in the office”. That was April 20th. I tried to contact them again in June and again last week – their voicemail says “use email”, and email doesn’t get answered. I’m well past my Amazon return period, but I decided to contact them anyway – after a few minutes on chat, I have a return label for a refund! Now I have to find a big enough box….

Shelter-in-Place Journal, Day 189

The sensor I mentioned yesterday failed again today. Fortunately, I had a replacement available from the large supply from our neighbor – the only tricky part was figuring out how to take off the old one and mount the new.

I was afraid I might have to remove the whole thing (which the installers had glued onto the window frame), but I eventually discovered how to detach the sensor from the mounting plate, and then the rest was trivial. Convincing the alarm panel to use the new sensor instead of the old one was slightly annoying (the instructions are written for professional installers, not me), but I finally found the trick (delete the old one first – then add the new one).

When something goes wrong with the alarm system (such as a failed sensor, a low battery, or an intrusion), it calls my cellphone. If I had a modem on the cellphone, it’d send information about what was happening – but I don’t, so it’s like the proverbial Jewish telegram: “Begin worrying. Details to follow.” If I’m at home, I don’t have to worry for long, but if I’m away, it’s a different story. So now I’m in the process of tying the system to Pushover so I can get details – I set up the account, and it should send both of us a weather briefing in the morning. If that all works, I’ll set up the alarm notifications.

Shelter-in-Place Journal, Day 188

Technology has not been our friend for the past couple of days. Soon after we awoke yesterday, our alarm system started going “Ping!” every minute or so. Fortunately, the panel display made the problem clear – one of the sensors had a low battery, and I had exactly one battery of the right kind (123) in hand.

Soon after we woke today, one of the smoke detectors began croaking at us every minute – it, too, had a low battery. And I had a replacement in hand (a standard 9V battery). I decided to change all of the smoke detector batteries at the same time and discovered that I didn’t have enough, so it was off to Ace Hardware to pick up a few.

I changed the offending battery, but when I went to the next smoke detector, I discovered it had expired (they have a 10-year life). So it was back to Ace to buy three new smoke detectors, complete with 10-year batteries that I can’t change; I think I’ll keep the receipt in case the batteries don’t live up to their promise.

And in the meantime, one of our window sensors decided not to tell the alarm that the window was properly closed; I took out its battery for a few hours, then put it back in and the sensor worked. The window is open now – it’ll be interesting to find out if it tells the truth when we next close it.

Shelter-in-Place Journal, Day 187

I posted yesterday’s entry before hearing about Ruth Bader Ginsburg’s passing. May her memory be for a blessing and an inspiration and a call to action. We’ve been giving to Senate candidates, both through the Get Mitch multi-candidate fund and directly to MJ Hagar in Texas, and there will be more to come.

We attended both halves of the Shir Hadash Rosh Hashanah service this morning. The Torah and Haftorah readings were live on Zoom at 9:30am; the rest of the service had been recorded earlier, mostly in and around the sanctuary (although the choir members recorded their parts at home and someone brought them together into a synchronized performance). Having the service out-of-order was yet another way in which 2020 has been an unusual year – but I was very glad to be able to see and hear it.

And beyond that, it’s mostly been a quiet day of reflection and thought.

Shana Tova.

Shelter-in-Place Journal, Day 185

I was Toastmaster of the Day at my Toastmasters’ club this morning and chose “We, the People” as the theme in honor of Constitution Day. I also worked in the founding of San Francisco and Emperor Norton’s proclamation of his empire, since those both happened on September 17th, too.

Lunch today was a new recipe (Zucchini with Rotini plus a Caprese salad) from an old cookbook, Marian Burros’ Keep It Simple. We’ve had the book for more than 30 years (it was published in 1981) but there are still quite a few recipes we haven’t tried – this was one of them. The book starts with a long chapter on the politics of food (including a caution about high fructose corn syrup!), partially to convince the reader that it’s healthier to make your own food from fresh or minimally-processed ingredients than to buy packaged foods. It was amusing reading the recipe and being told that “if you can’t find fresh basil, pick a different recipe” and that “some supermarkets are beginning to carry fresh herbs” – I guess some things have changed for the better in the last 40 years!

Shelter-in-Place Journal, Day 184

The air was so much better yesterday that the JCC was able to plan to reopen this morning; our trainer texted us last night to offer us an 8am spot, which we took. On our short drive to the JCC, Diane asked if what she was seeing on the windshield was rain – and it was! We got hit by occasional droplets while we were working out, too. I didn’t know how to react!

The rain didn’t last, but the breathable air did, for which I am grateful.

I finished 2009’s photos today; it feels like quite an accomplishment! Only 11 years to go!

And because I’m a very careful and thoughtful person, I’ve already installed iOS 14 and iPadOS 14 on my iPhone and iPad, and I’ll install WatchOS 7 overnight.

I moved all the apps I don’t actively access daily to the App Library (and even got rid of a few apps that I just don’t use), but I haven’t yet figured out how to take advantage of the widgets that are now available on the iPhone.

I’m down to one Home Screen for the first time since the App Store opened; I’m sure it won’t last, but it looks good for now.

Shelter-in-Place Journal, Day 183

The air was noticeably better this morning, so we took our usual walk. Then we did something we hadn’t done for at least 183 days – we visited our chiropractor.

Diane started going there after her first Prius got totaled back in 2005 (actually, it was a different chiropractor – but when he moved to the Central Valley and brought in a replacement we liked him, too). We’d stopped going at the beginning of the lockdown, but we’ve been noticing more aches and pains of late, so we decided to go in for a tune-up – it seems to have helped!

I spent most of the rest of the day in front of the computer processing photos from 2009 – I finished our Labo[u]r Day Weekend trip to Banff. Not only did I reduce the stash of photos from 347 to 110, but I labeled and geotagged them all and did some editing. And then I went back to my blog entries from that trip and restored all the photos that had gone missing when I closed my Flickr account – those days look a lot better now!

I have two days left 2009 to deal with – neither of which has a blog entry to help jog my memory. And one day was a wine country tour, so those memories may need a lot of jogging!

Shelter-in-Place Journal, Day 182

I woke up this morning to an ominous text:

The FTB is the Franchise Tax Board, California’s version of the IRS. I couldn’t figure out why they’d be contacting me – I’d filed our taxes in time for the April July 15 deadline and they’d accepted my payment long ago.

I rushed to the computer, logged onto the ftb.ca.gov site (I did not click the link, thank you very much!), and found a notice of additional tax liability waiting for me. I’d underpaid our California estimated taxes for 2019, and now the state wanted its $37 in penalties and a horrifying 30 cents in interest. Fortunately, I had budgeted for this particular expense, so all should be well.

I was surprised when the paper copy of the notice arrived in today’s mail – I would have expected the text to beat the Post Office by several days, not just a few hours.

The Raspberry Pi, new RTL-SDR.COM dongle, and new antenna seem to be working reliably to capture the temperature from the outside thermomenter (in fact, it’s also getting the temperature from some neighbor’s thermometer, as well as occasional tire pressure readings from TPMS systems on passing cars), so I moved them off the kitchen desk and hid them behind the TV.

One project down, dozens to go!

Shelter-in-Place Journal, Day 181

I was born in Milwaukee; we moved away when I was less than two years old, and as far as I know, I’ve never been back. Despite that, I feel connected to Wisconsin. I was a Milwaukee Braves fan as a kid (the fact that the Richmond Braves were the Milwaukee Braves’ AAA farm club might have had something to do with it, too). I enjoyed the day we spent in Wisconsin in 2016 (and I recommend visiting the Peshtigo Fire Museum if you have the chance). I’ve even drunk beer from Wisconsin once or twice.

Today, I got an email from a Wisconsin-based spice merchant, Penzeys, urging me to support the Wisconsin Democrats by contributing a few dollars and watching a table read of The Princess Bride this afternoon.

I’ve read the book many times, but I’ve only seen movie twice – once when it came out and last year, in preparation for a trivia event – but I liked it and was interested in seeing a table reading. And I definitely liked the cause – I would be very happy if Wisconsin was one of the deciding states this year – on the Democratic side.

I made a contribution and Diane and I watched the event this evening – it was superb. We stayed glued to the TV the entire tine, including the after-reading Q&A – dinner was quite late tonight.

Mandy Patinkin was probably my favorite – he brought as much fire to the role of Inigo Montoya as he had to the original film. But everyone was fabulous, and the after-reading Q&A was interesting, to say the least.

Yes, there were technical glitches (especially in the Q&A), but that’s what live events are all about – and even though everyone was in their own home, you could see the chemistry among the cast.

There are rumors that WisDems will be making a replay available; I hope it’s true. They have already announced a Parks and Recreation townhall and Q&A for September 17th, which could be interesting.

On Wisconsin!

Shelter-in-Place Journal, Day 180

If COVID-19 is a circle, we’re halfway around it.

Today was Saturday, so there wasn’t much in my email this morning: the daily New York Times and Washington Post summaries and the Merriam-Webster Word of the Day; the weekly mailings from Road Scholar and the Great Courses, and the Daily Kos Elections Voting Rights Summary. And an ad from the Mercury News’ Promo Department with this enticing subject line:

Florida Man Added This To His Diet To Help Fix His Fatigue (It Really Worked)


I wonder if anyone in the Promo Department has heard of the Florida Man meme?

Tonight is S’lichot, marking the imminent arrival of the High Holy Days. Shir Hadash is having a Zoom service at 8pm; they had hoped to have an outdoor, socially-distanced service at 10pm but the horrible air quality changed those plans. We probably wouldn’t have gone to the outdoor service anyway, but I’d rather have been able to make the decision than have it forced on us by the pollution from the fires.

Shana Tova!

Shelter-in-Place Journal, Day 179

We tried another new recipe tonight, Slow Cooker Spiced Lentils with Veggies from the Mercury News. It was good, but next time, we’ll add more spices.

The hardest part of the recipe was getting to the Crock-Pot; we hadn’t used it in a while, and it was at the back of the cabinet over the oven, which was also filled with many water bottles, an RPI Class of 1975 pitcher and mug, several rarely used appliances, and various serving pieces which we’d been given as wedding gifts (just like the Crock-Pot).

Some of the water bottles had given their all and made a final trip to the recycling bin; the others, along with the pitcher and mug, got put into storage in the garage in a Container Store bin that I bought last year. The serving pieces went back to the cabinet.

And I used one of my Mom’s gifts to us for the very first time – a Sunbeam Electric Bag Sealer. I don’t know when she gave it to us, but the copyright date on the manual was 1995, so I know it wasn’t a wedding gift. I used it to reseal the bag of dried chiles we bought for this recipe – it worked great!

Thanks, Mom!

Shelter-in-Place Journal, Day 178

It was smoky and dark and cool all day, but there was a lot less orange to the light today; I guess that’s an improvement.

I played Raspberry Pi Roulette today trying to figure out what’s going on. My Pi Zero W ran all night and didn’t miss too many temperature updates, but the logs show it dropping off the network fairly frequently for a few seconds and then recovering. My other Pi Zero W (the one attached to the alarm system) doesn’t seem to drop off the network at all. I could swap the two units and see where the trouble goes, but I’d rather not mess up the alarm system.

I still have a couple of first-generation Raspberry Pi Bs. They’re slower than the Pi Zero W, and it makes a big difference – one of the old units crashed as soon as I plugged the radio dongle into it; the other ran, but kept losing packets under load, so it wasn’t a help, either.

I guess the next step is to make a new SD card with the same software I’m using for the alarm, plug it into the Pi Zero W I’m debugging, and see if it stays on the network.

Computers are such fun sometimes.

Shelter-in-Place Journal, Day 177

It was dark when we got up this morning – not surprising, since it was before sunrise. But it’s been dark and eerie and orange all day because of smoke from the Bear Fire in the Plumas National Forest, about 180 miles away. The air quality at ground level here has actually been OK, but everything feels ominous.

I figured out a fairly easy way to restamp all of the photos I’d exported from Apple Photos but hadn’t yet put into Lightroom with their proper capture times by letting exiftool do the heavy lifting.

All I had to write was 33 lines of Python and 4 lines of Bash (see the repository if you’re curious). The Python generates a CSV file for each day in the Photos library with the information exiftool needs to modify each photo and a call to the Bash script for each day. The Bash script calls exiftool, telling it to use the CSV to set the capture time based on the CSV file (which is based on the Photos library), but only if the photo doesn’t already have a capture time.

It’s not elegant, but it worked. Now, when I import photos into Lightroom, they have the right time and date.

I also got my new RTL-SDR.COM dongle and new antennas; I put them on the Raspberry Pi and things seem to be working. I also discovered that the Pi was falling off the wifi and that there were error messages about not having the right firmware for the wifi on the Pi; I found the right firmware and installed it. We’ll see if things are better overnight.

Shelter-in-Place Journal, Day 176

I’ve been remembering more of my dreams than usual for the past few months. This morning, I awoke to memories of a trip on a cruise ship which included lining up to buy a book – the book was in short supply, but they assured us that if we didn’t get one, they’d give us a copy of “Prior Immaturity” magazine instead. Sounds like my kind of magazine!

My heat sink helped with the RTL-SDR dongle, but it’s far from perfect. I didn’t miss a reading from 12:45am until 11:20am, but then the radio stopped hearing things for nearly three hours. After that, it was OK until dinnertime, when it missed most of two hours, and now it’s working reliably again. Maybe it doesn’t like to work while we’re in the kitchen!

I had to renew my driver’s license this month, and I thought I may as well get a RealID for whenever I can fly again. I used the DMV website to pre-submit copies of my documentation (passport, Social Security card, and two bills); the instruction sheet told me to go to the appointments line, even though the DMV isn’t offering appointments.

This morning, the DMV site said that there was no wait for people with appointments at the Los Gatos office, so I went there. There was a long line outside the building with a DMV employee checking temperatures; I got into the line and when she got to me, she looked at my paperwork and told me to go around to the back of the building for my appointment. I didn’t even know there was an entrance at the back of the building!

As promised, there was no line to be checked in, and I only had to wait about 15 minutes before being called to the counter. I was finished about 45 minutes after driving into the parking lot; now I just have to wait for the actual license to arrive. Thanks, DMV!

Shelter-in-Place Journal, Day 175

It was slightly cooler today – the high temperature was only 109.22°F, compared to yesterday’s 109.94°F.

The cooler weather didn’t help much when we saw our trainer today – because of the holiday, the JCC opened an hour later than usual, and we could feel the difference (and the air wasn’t so great, either). Next week, we’ll be back to our usual schedule.

I decided to see if I could improve the stability of my current SDR.COM dongle by putting a heat sink on it. Many people have done that by opening the case and adding a thermal pad, or even by 3D-printing a cooler block for the unit – I went with a lower-tech solution.

It’s not perfect, but I’ve only missed about 15 readings since I put it on at 11am (I get a reading every minute if all goes well); I was missing about half of the readings overnight, and got no data for the three hours we were out of the house this morning with the A/C turned off. Not too bad for a few cents’ worth of aluminum foil!

Shelter-in-Place Journal, Day 174

I finished integrating the outside thermometer (we have the Ambient Weather WS-04-2 package) into Indigo, and I set things up on the Raspberry Pi to automatically start the code that publishes readings to MQTT. I’m not doing anything with the data yet, but I’ll have it when I want to use it.

At least that’s what I thought until I noticed some significant gaps in the log; I saw 10-minute or longer gaps quite frequently. I could see the temperature being updated on the inside display even during the gap, so the thermometer wasn’t the problem. And when I did some research, it appears that older RTL-SDR.COM dongles (mine is a version 2 from 2016) have problems staying on frequency when they get warm. So I ordered a version 3 dongle with an improved heatsink in the hope that it works better.

I continued working on photos; one thing that’s been driving me nuts is that some photos have the wrong date when I import them into Lightroom; for some reason, the export process lost the DateCreated info, even though Apple Photos knows it. I think I’ve figured out a way to get the info out of Photos and into a format that exiftool can use – that’ll be a project for tomorrow. I’m already halfway through 2009’s photos!

And all of this kept me inside, off the streets, and out of the heat today, so it’s all good. The highest temperature logged by my thermometer was 109.94°F, and it was over 100 from 12:11 to 6:27 (it’s down to 85 as I type this at 9:20pm). I’m pretty sure this is the hottest day we’ve experienced since we moved here in 1984.

Shelter-in-Place Journal, Day 173

It was a busy day – so busy that I let the time get away from me and can only write a brief journal entry.

I spent much of the day working on photos – not just editing my accumulation but also helping Diane put the finishing touches on her photo book about our Southeast Asia trip in January, 2019 (it seems so long ago!). My role is to do copy-editing and figure out how to make the text on the page easy to read over the photo she’s using as a background for the page; of course, whatever I suggest has to be OK with her, which limits my creativity in color choices.

I also got started on a project for the spare Raspberry Pi – it is now listening to our outside thermometer and publishing the temperature to a topic on an MQTT Broker. Indigo is subscribed to that topic and converts the temperature reading to a sensor value.

Tomorrow, I plan to find a better place for the Raspberry Pi than the kitchen desk, and I will start adding some actions to Indigo to use the information (in particular, turning off the house fan when it gets warmer outside than it is inside – that won’t be of any use tonight because it’s going to be too hot to use the house fan).

This evening, Silicon Valley Shakespeare had a Donor Reception (on Zoom, of course), followed by a watch party of their 2015 production of The Comedy of Errors. Both events were fun – somehow, I got roped into joining their book club, at least for the upcoming discussion of Sense and Sensibility and Sea Monsters.

A busy and fun day!

Shelter-in-Place Journal, Day 172

It was another quiet day with very little to report, but I have to say something, so here I am.

I finished with the photos for 2008 and got started on 2009; in the process, I discovered that the program I used to export the photos from the Apple Photos library so I could bring them into Lightroom didn’t always carry over the actual capture time of some photos, even though the time is in the Apple Photos library version of the photo (hmm…can I use the word “photo” a few more times in this sentence?). But some of the photos were worth finding.

I also decided that I should make sure that the backup Raspberry Pi Zero W I bought works. It does. I’m building Python 3.8.5 on it right now; it’s been compiling for two hours so far and will probably continue into tomorrow – this is not the speediest computer on the planet. I’m not really sure why I’m building a new level of Python for this particular system, since I have no real plans to use it, but maybe something will come to mind.

Shabbat Shalom!

Shelter-in-Place Journal, Day 171

Back on Day 160, I mentioned that we’d bought a Kinsa thermometer. We’ve been using it faithfully for a couple of weeks and like it a lot – except for one design deficiency.

The sounds the thermometer makes to tell you it’s finished are very high-pitched – they clearly weren’t thinking of Medicare-aged ears when they chose them. I looked at their support site to see if there was any way to adjust the sounds (spoiler alert: there isn’t) and noticed this FAQ title: “How to restore your thermometer after a failed firmware update”. I bet the Jetsons never had to worry about such problems!

Shelter-in-Place Journal, Day 170

My goal today was to finish editing the photos from our New York trip in 2008, but I got distracted.

As I’ve said before, I am geotagging and titling every photo I keep. I try to use Lightroom’s built-in map search to do the work, but sometimes it doesn’t find an address or building name, so I turn to Google Maps, which is much better at figuring things out.

But it’s not easy to get a latitude and longitude out of Google Maps; it gives you something called a Plus Code (for example, the Plus Code for Grand Central Terminal is “87G8Q23F+34”). And there’s code on GitHub to turn a Plus Code into a latitude and longitude.

Except that Google actually gives a “shortened” code – one which is relative to a city nearby (in this case, “Q23F+34 New York”), and the sample code I found couldn’t handle a shortened code very easily.

The Google Maps API can handle the shortened code just fine, though, so I wrote a very small and simple-minded program to convert a Plus Code to a latitude and longitude that I can paste into Lightroom. And a TextExpander snippet to make it easy to do so.

While I was at it, I let the program pass basically any string to Google Maps in the hope that it’ll recognize it:

> ./pluscode.py Grand Central Terminal
40.7527262,-73.9772294

And I added a special case for coordinates that I cut-and-paste from geocaches to convert “N 40° 41.117 W 073° 58.509” to “40° 41.117 N 073° 58.509 W” because Lightroom wants the hemisphere label after the coordinate value.

Oh, yeah, I had to create an API Key to use the geocoding service and tie it to my Google Account.

But with all that done, I can copy a plus code or an address or coordinates from a geocache into the “GPS” field in Lightroom, type ‘;pc’ and voilà, my photo is geotagged!

Of course, as I was writing this post, I discovered that Lightroom’s Map Module search will use a shortened Plus Code just as well as it uses an address. But I’m still glad I wrote this code, because it saves me a trip to the Map Module.

That’s my story and I’m sticking to it.

Shelter-in-Place Journal, Day 169

I’ve been editing at least one days’ worth of photos every day for the last two weeks, and I’ve made a lot of progress – I’m nearly finished with 2008 (I have to backtrack and deal with our first National Trust tour, five days in New York City).

I have titled and geotagged every photo I kept – but I was afraid that this one would stump me. I remember the victory party on November 4, 2008, but neither Diane nor I could remember where it was held. Neither of us had any email about the party, nor was it on our calendars. And I hadn’t blogged about the party (though I did blog a bit about the election).

In desperation, I turned to Facebook. Diane’s timeline had a posting on November 10: “changed her photo to one taken at the Silicon Valley Obama Election Night celebration!” Searching the web for “Silicon Valley Obama Election Night” brought me to this YouTube video, which opens with a title card showing the location: the Computer History Museum. Problem solved!