Shelter-in-Place Journal, Day 349

We saw Silicon Valley Shakespeare’s production of Twelfth Night this afternoon – it was a lot of fun, and we got to see old friends like Jeff Kramer and Doug Brook on the screen. It should be available on their YouTube channel in a week or so – it’s a fundraiser for the Gastric Cancer Foundation, which we were happy to contribute to.

I made another attempt to photograph the Moon this evening – I find myself wishing for a longer lens! I tried building an HDR image in Photoshop from the bracketed exposures and didn’t think it was any better than just choosing one of the images, so that’s what I did.

Shelter-in-Place Journal, Day 348

Diane read Torah today at Shir Shabbat and I led the service and managed the Zoom session. The last few times we’ve been in those roles, we’ve connected from different rooms, but today, we decided to share one computer. It worked pretty well, except that I had to keep turning mute on and off in the Zoom app and also advance pages in the Kindle app and the screen-sharing toolbar in Zoom kept blocking the page number field in Kindle. Eventually, I figured out that I could move the Zoom toolbar to the bottom of the screen, and that helped, but it was still clumsy.

After the service, I figured out a better way – I used Keyboard Maestro to build an automation so I could hit Command-Shift-A in Kindle and send it to Zoom to toggle the mute state. It’ll be a while before we’re leading services and reading Torah again, but it should help – and it was nice to be together during the service!

Dinner tonight was a little bit of an experiment – we had planned to make Delicata, Radicchio, and Black Rice Salad, but there was no delicata squash to be found. Google suggested substituting a sweet potato – it worked pretty well (and not having to scoop out the seeds sped the process).

After dinner, we went out for a quick walk; the full moon was low on the horizon and it was breathtaking. Unfortunately, I hadn’t thought to bring any camera other than my iPhone, and there was just no way to get enough moon in the frame to get a decent picture. But after we got home, I took out the Lumix FZ1000M2 with its zoom lens and took a few shots, even though the moon was much higher and not nearly as glorious. I tried using exposure bracketing and letting Photoshop merge the images – the result was better than I’d hoped for with hand-held photos.

Maybe I can plan better next time!

Shelter-in-Place Journal, Day 347

I thought I was going to avoid doing anything medically-related today, but CVS called our landline and reminded me that the prescriptions my oral surgeon had sent in for next week’s procedure were ready. I knew that they’d keep calling over and over until I got them, so we walked there. We needed a walk anyway, or so our devices claimed.

Our neighbor’s tulips are getting nicer every day.

Shabbat Shalom!

Shelter-in-Place Journal, Day 346

It was another Toastmasters-heavy day today – the Silver Tongued Cats contest was this morning (I won Table Topics, so now I’ll be competing at two different Area contests), and then I filled a mystery role at the contest for the club I mentored, Toastrix.

And after that, I went to the oral surgeon to schedule my extraction and implant, have a CAT scan, and give them another shot at my wallet.

Tonight is Purim, so I’m going to post this installment early – we are supposed to celebrate so much that we can’t tell Mordecai and Haman apart, and that might make it difficult to deal with WordPress.

Instead of a gragger, which wouldn’t work well on Zoom, we were encouraged to make “Boo!” signs – here’s ours:

Shelter-in-Place Journal, Day 345

I visited the oral surgeon today to discuss options for treating my failed molar. I could go into the details, but I suspect you want to read them even less than I want to write them – I have a pretty solid treatment plan, but the date isn’t set yet. At least they take Apple Pay, so I can get 2% back!

One good thing about visiting the oral surgeon today was that his office is an easy walk from home, and today was a wonderful day for a walk. I stopped to enjoy the flowers at the medical complex across the street, too.

Shelter-in-Place Journal, Day 344

It was another quiet day today – the most productive thing I did was to create a draft service order for next Saturday’s Shir Shabbat service and share it with my lay cantor.

We did take our usual walks, though, and flowers are continuing to brighten them, like this ice plant a few blocks away.


As I was getting ready to write this post, the news broke about Fry’s Electronics closing permanently. I guess I can stop waiting for Randy Fry to respond to my Open Letter from 2005.

I can’t really say that I’ll miss Fry’s because they’ve been basically useless for a couple of years – the last time I went into their Campbell store was probably in 2019, and there was almost nothing there (I guess I could have found printer paper, but I didn’t need any that day). They closed the Campbell store a few months ago and I haven’t noticed its absence.

Still, it’s sad to see them go – I did have some good shopping experiences at Fry’s. Fry’s customers often gave great advice, and seeing many “previously loved” return tags on a particular item was a good way of choosing something else.

I never did take advantage of their biggest sale, though – their 25-cent hot dogs did not appeal to me at all!

Shelter-in-Place Journal, Day 343

It’s beginning to look more and more like spring – one of my ex-colleagues from IBM Almaden lives nearby, and he and his wife were outside working on their yard when Diane and I walked past.

We had a nice, properly-distanced chat – he got his first COVID-19 vaccination recently at the Santa Clara Fairgrounds; his wife isn’t quite eligible yet, but she’s looking forward to it.

They had a couple of California poppies growing by their driveway, the first ones I’ve seen this year. I always like the poppies – we went to the Antelope Valley State Poppy Reserve to see them in 2019 during the superbloom, and they were a high point of early Spring walks at Almaden every year. So I was happy to see this one today.


Every spring, Toastmasters has a cycle of speech contests – there are two different contests. One is always the International Speech Contest, which culminates in the World Championship of Public Speaking at the Toastmasters International Convention; the other is different each year – this year, my District chose Table Topics (impromptu speeches) as the second contest.

Tonight was the club contest for the Silicon Valley Storytellers and I competed in both contests – I won the International contest, so I’ll be representing the Storytellers at the Area Contest in two weeks. I finished third in Table Topics, but I have another chance to advance at the Silver Tongued Cats contest on Thursday.

Shelter-in-Place Journal, Day 342

One of our neighbors has a number of raised beds in their front yard. During the summer, they are mostly devoted to fruit and veggies, but during the winter, they grow flowers, like these – it’s worth making sure our walk goes past their house!


What else did I do today? I started writing code to generate an easier-to-read weather update to send to Pushover each morning, which is forcing me to learn about Pillow. I could go into more detail, but it’s not terribly interesting – perhaps it’ll be worth writing about when I’m finished.

Shelter-in-Place Journal, Day 341

The biggest excitement today was cleaning up some of the code I’m passing along for Toastmasters. I have to wonder what, if anything, I was thinking in one place – the original code looked like this:

foo = ”˜  this  that the   other thing’.split() 

The string was actually about 18 words long, with lots of extra spaces. It extended way past the right side of the screen, so the .split() was invisible. And I couldn’t figure out how foo became an array instead of a string for a couple of minutes until I realized what I’d done: written code that was not only inefficient but also hard to understand (I’m sure I cut-and-pasted the string in from somewhere – at least I hope I did).

I got the value of foo and put it into the statement, like so:

foo = [”˜this’, ”˜that’, ”˜the’, ”˜other’, ”˜thing’] 

I had to break it into three lines to make sure each piece was visible, but that was easy enough – and now the code is obvious and faster.

Sometimes I wonder….

Shelter-in-Place Journal, Day 340

We took a photo walk today so I could try playing with my camera in preparation for Africa; naturally, all I photographed was flowers. But I liked the results, so here you are.

Aloe comptonii (probably)

Beyond that, it was a busy day, mostly taken up with two meetings about Toastmasters (one to help with District alignment, one to prepare for a club contest on Monday). I have a bit of programming to do in the near future as part of my turnover process.

And I did my part to help Santa Clara County’s statistics – I took a COVID-19 test yesterday and it came back negative. The test was painless and easy; figuring out the traffic pattern in the parking garage was the biggest hassle!

Shelter-in-Place Journal, Day 339

It was a beautiful day today, sunny and in the 60s (sorry, friends and family suffering from winter storms).

I stepped in at the last moment to be Table Topics Master at my morning Toastmasters meeting. The meeting theme was “Life’s Purpose”; I tried to come up with questions befitting the theme, with only moderate success, but people answered them anyway.

We watched the landing of Perseverance on NASA’s YouTube feed – it made me feel good for the rest of the day!

No photography experiments today, hardly any cooking, but a good deal of walking. And we ate the orange – it was flavorful and juicy.

Quiet days are nice, even if they don’t provoke a lot of writing.

Shelter-in-Place Journal, Day 338

I harvested our orange crop this afternoon – here it is:

Yes, we got exactly ONE orange from our tree this year! We’re waiting for a suitable occasion to eat it.

I don’t know how old the tree is (it was here when we moved in, back in 1984), but even last year, we got more than a dozen oranges. I hope that our new gardener can help nurse it back to life – our lemon tree revived after a couple of bad years, so there’s hope.

I took advantage of having only one orange to play with focus stacking and my new camera. Ctein wrote an explanation of the process in his most recent newsletter (info here), and I thought I’d give it a try. The photo above is the result of letting Photoshop do focus stacking on 19 separate shots of the orange; the photo below is the middle shot of the 19.

The difference isn’t dramatic, but it’s definitely there – it’s clearest at the stem.

If you want to see a better example of focus stacking (and a pro at work), look at Ctein’s photos, like this beautiful picture of a dragonfly.

Shelter-in-Place Journal, Day 337

Making dinner tonight was an interesting experience. I made a familiar recipe, Pan Seared Lingcod. I made it in the All-Clad skillet I bought a few months ago, as usual, but tonight I decided to use our “Mr. Induction” instead of the regular cooktop heating element.

I set Mr. Induction to 800 watts and let it heat the skillet – after a couple of minutes, it was hot enough to make water dance, so I added olive oil. When I use the induction cooktop, the oil seems to get hot faster than it does if I use the stove, so I added the butter just a few seconds later, and that’s when the fireworks started – the oil started popping and spitting. I turned it down to 650 watts, but it didn’t make much difference. I was committed at this point, so I added the fish, garlic, and thyme and made dinner. Oil continued to pop the whole time, and the garlic blackened. The fish, somehow, wasn’t overcooked – but I did give up on making a pan sauce.

I’ve used 800 watts as “medium” in the past, but I guess it was with the 12-inch skillet instead of the 10-inch I used tonight. Or the new brand of butter (Tillamook instead of Challenger) had more water in it. Or I let the skillet heat too long. Or something…ideas are welcome.

The worst part? Our house cleaner had been here this morning, and the stove looked great before I started dinner!

On a brighter note, our neighbor’s annual tulip garden is beginning to bloom – there are only three or four tulips out so far, but it’s a good sign. And since we hadn’t planned on going to Keukenhof this year even before the pandemic, it’s nice to have a local source of lovely tulips!

Shelter-in-Place Journal, Day 336

Last night, our trainer texted me to see if we wanted to postpone today’s session because the weather forecast was threatening rain. We decided against postponing, and it didn’t start raining until 20 minutes into the session, just as had been predicted! It was just a drizzle, though, so it turns out we’d made the right decision after all.

I finished working with the photos from the Costa Rica/Panama trip last year; I guess I should finish the rest of 2020’s photos while I’m at it – there are only 75 (and at least half of them are food). It seems like a plausible prospect…but I’m sure I’ll find a way to avoid it.

Shelter-in-Place Journal, Day 335

Despite being together nearly all the time this year, Diane and I were able to surprise each other with Valentine’s Day cards this morning!

We got up early enough that it was just barely light outside. I took my new camera out and tried to capture the magic of the moment. I thought the scene looked something like this:

but the camera was set to “Auto” and turned it into this:

I’ll have to try again before sunrise gets too early!

We watched the Silicon Valley Shakespeare / South Bay Musical Theatre co-production of Pride and Prejudice this afternoon – it was based on a 1906 stage adaptation and was a lot of fun, and fit the day perfectly.

And I am still resisting touching the code I fixed on Friday.

Shelter-in-Place Journal, Day 334

Soon after I woke up this morning, I thought about ways to make the code I’d rewritten yesterday slightly clearer and cleaner. I resisted.

The rest of the day was pretty quiet; we attended services this morning, talked for an hour with a friend we’d met on the Costa Rica/Panama trip, picked up a wine club shipment at Silver Mountain Winery, walked, and watched some TV before I wrote and edited the photos for today’s installment of the retroblog.

Shelter-in-Place Journal, Day 333

A couple of weeks ago, I made an emergency fix to one of the programs I’d written for Toastmasters. And by “emergency fix”, I mean “kludge”. Unsurprisingly, it broke other parts of the code – I found out about the problem yesterday.

I didn’t think my successor would be able to fix my fix (he’s still learning Python, and this was not very clean code, especially after the fix was in), so I told him I’d do it. Instead of hacking at the code and adding yet more special cases, I refactored it to move all of the access to the WordPress calendar into its own module, preserve only those calendar fields we absolutely need (instead of keeping everything around), and in general, cleaned up the code.

It took longer than I’d like, but I think the code is understandable now. I even added comments in a few places!

Shelter-in-Place Journal, Day 332

The day started with a Toastmasters meeting – one of the speakers had to cancel due to a family emergency, so we finished quite early!

Beyond that, it was a typical day – walking, cooking, eating, editing the retroblog, and watching a little TV. In other words, a day with almost nothing to write about – and yet I’ve written something anyway. Practice makes it all possible!

Shelter-in-Place Journal, Day 331

I’ve been retroblogging our Costa Rica/Panama trip which happened exactly one year ago. Looking at the photos and notes from our trip to Sibö Chocolate made me wonder if I could find their chocolate here in the US.

I found it at Chocosphere near Portland, Oregon – with Valentine’s Day just a few days away, the obvious action was to order a few bars.

They arrived today.

We finished a Cardamom and Coffee bar after lunch today – it brought back nice memories.

It tasted good, too!

Shelter-in-Place Journal, Day 330

I took off the bandage this morning; there was hardly any blood on it. Diane said she thought it didn’t need a new bandage, and the directions from the doctor said a new bandage was “optional”, so I opted out (no photos, sorry not sorry). So far, so good – and thanks to everyone who sent good wishes and prayers! I realize how lucky I am to have caught this one early while it was trivial to take care of.

This morning, my Pushover weather notification had yesterday’s outside temperature instead of today’s. I could see the current temperature on the bedside thermometer display, so I assumed that the Raspberry Pi which gets the temperature and sends it to my Mac had a problem. I was wrong – it was working fine. When I tried to connect to the MQTT broker (Mosquitto) from my desktop Mac, the connection was rejected…but I could connect from the Mac running Mosquitto.

I did a little research and eventually discovered that a recent update to Mosquitto had made it more secure – so that the default behavior was to only allow connections from the machine running Mosquitto. I updated the configuration file to allow connections from anywhere and all was well again. They’d even documented the change as a breaking change but I hadn’t seen it – the update got installed automagically as part of something else. *sigh*

Shelter-in-Place Journal, Day 329

The big event today was a trip to the dermatologist for a bit of Mohs surgery to remove the squamous-cell cancer they found last month. They only had to do one round of cutting to get clean edges on the removed skin. They sewed me up, glued over the stitches, and sent me on my way in just a little over two hours. I have a photo of the site before they stitched it up – I’ll spare you that one, but here’s what I look like with the bandage.

Shelter-in-Place Journal, Day 328

Our walk this morning took us through Oak Meadow Park. We enjoyed the sun glinting off Los Gatos Creek.

I couldn’t resist watching the Super Bowl – we TiVo’d it, of course. The 30-second-skip button is very useful in avoiding all of the chatter between plays!

Shelter-in-Place Journal, Day 327

We do a lot of traveling with two other couples – we’ve been with them to the Galapagos, on a Baltic Sea cruise, and elsewhere. A little over a year ago, we all decided to take an Alaska cruise and tour this summer. We did our research and booked a land/sea combo with Celebrity – we made our deposit on January 13, 2020, when COVID-19 was Somebody Else’s Problem.

Once COVID-19 became Everybody’s Problem, we knew that there was a good chance we wouldn’t be able to take the trip, but as the vaccine started rolling out, we got optimistic. Not optimistic enough to make plane reservations yet, but optimistic.

Until this morning, when I opened the paper and read that Canada was going to keep its ports closed to cruise ships until February, 2022. Even though we’re taking an Alaska cruise, Celebrity ships must start or end in a non-US port because they’re registered in Liberia. Our cruise was going to end in Vancouver. So it looks like we’re not going to Alaska this summer after all.

I don’t have a lot of confidence in our early-summer Iceland trip happening, either. My travel credit card is getting bored sitting in my wallet!

We heard a “thump” right after lunch today; a bird had flown into our sliding glass doors and was lying on the deck. WikiHow suggested I get in touch with the local wildlife center, but they weren’t answering their phone. I checked the Town of Los Gatos website, and it pointed me to the San Jose Animal Care Services department, which did answer their phone. They told me to wait 45 minutes to see if the bird recovered – if not, I was to put a box over it and call back.

The bird vanished before the 45 minutes was up. I hope it flew away!

Shelter-in-Place Journal, Day 326

It was a far quieter day today than yesterday. Diane has a sore arm from yesterday’s vaccination; I haven’t had much of a reaction so far.

We took a photo walk this afternoon so I could play with my cameras and Diane could take nice photos.

Here’s the creek near our house – it’s good to see water in it again!

And here’s an African daisy getting ready to close up shop for the night.

It seems like my old camera is having some issues – if I take “the same” photo with both cameras, the new camera is much crisper. Both of the following photos were taken at 1/125 second, so there shouldn’t be much camera shake to worry about. I cropped each photo to 1080×810 – they started as RAW files and I let Adobe Lightroom do the JPEG conversion.

TZ-100, zoomed to 245mm at f/5.8
FZ1000-M2, zoomed to 310mm at f/4.0

I’m going to have to figure out a better way to do A/B comparisons between the two cameras. Or maybe I should just try to clean the lens of the old one – I’ve been reluctant to take a cloth to it.

Shelter-in-Place Journal, Day 325

The morning started with two phone calls – one from the endodontist to tell me that they were running early and I was welcome to come in ahead of time if I wanted, and the other from the county confirming my COVID-19 vaccination appointment for this afternoon.

I did manage to arrive at the endodontist 90 seconds early and spent the next 15 minutes filling out forms. Luckily, I have all my medication information on my phone. After that, they took a 3D scan of my mouth and had me sit in the chair. The endodontist looked at the scan, poked around in my mouth for a minute, and gave me the bad news: I didn’t need a root canal. Instead, I’d need to have the tooth extracted – I’d lost too much of the bone that supports it, and there was no way to do a reconstruction. She sent the info to my regular dentist, and I’m waiting to hear from them.

We did a better job of arriving early for our vaccinations – we were not alone. I think there were more people in line than I’ve seen in one place for 325 days.

The line moved smoothly. There were a few hidden queues once we got into the building, but not as many as a typical Disneyland ride, and in about an hour, we had received our first doses of the Moderna vaccine and been scheduled for round 2 on March 16. We’ll be ready!

Shelter-in-Place Journal, Day 324

I’ve been retroblogging our trip to Costa Rica and Panama (exactly one year ago – I certainly didn’t think it would be our only trip for 2020!). This has meant culling, geotagging, and titling photos and trying to remember what we were doing.

I took some notes in Day One, which synchronizes across all my devices; I wanted to use Diane’s notes, too. But the program she uses, Momento, is iPhone-only, and doesn’t let you share its data easily, at least not with photos and text interleaved like they are in the app.

I’ve tried many ways to use her notes in the past – the easiest has been to ask her to copy the text or photos into a message and send it to me. That’s not very efficient.

But now I have an M1 Mac, and one of its features is being able to run iPhone apps directly. So asked her to make a backup of her Momento database and copied it to this computer; then I installed Momento. I was hoping I could just restore the backup she’d given me, but there was no way to tell Momento to look into the Mac’s filesystem to find the backup.

I used the lsof command to find open files owned by Momento and discovered that all of its files were in a container in my Library folder; I did a little digging and found the directory that holds Momento’s backups (~/Library/Containers/BBDD9E45-DC46-4C6C-9148-6C222395C45F/Data/Documents/Backups/, for the curious among you), shut down Momento, copied the backup there, started Momento, restored the backup, and voilà – I had all of Diane’s data in an itty-bitty window on my screen.

There’s no way to expand an iPhone app’s window on the Mac, so it was time for Plan B. Momento allows you to export all of the text and photos for a range of dates into a plain text file and a folder of attachments. The text file looks like this:

10:22 AM
Pura vida

Coffee guide Jonathan at Doka Coffee Estates.

Coffee is hand picked from October to February.  Berries usually have 2 beans.  Singles are called peaberries.  They are sweeter.

Mostly picked by Nicaraguans - Doka gives them housing and childcare while here.

Green beans = Costa Rica gold beans.  These are exported.

Oldest milling machine in CR here - from England.

10:22 AM
Media: 71B087DD-56F9-4F23-8475-B7BED7A8764B_original.jpg

I wrote a quick shell script to turn that file into Markdown (highlighting the entry times and reformatting the “Media:” lines into Markdown image inclusions) and the result is much easier to handle – it’s in a normal window on the Mac so I can make it as large as I need!

There’s always a way….

Shelter-in-Place Journal, Day 323

There are two kinds of people in the world: those who want to do things the easy way and those who write shell scripts. I’m in the latter category.

This difference came to light again during a call with Bob, my successor as Webmaster for Toastmasters District 101, this afternoon. He wanted to set up a staging site for a (much-needed) redesign of the site and clone the current site to it. The first step was to use the DreamHost control panel to set up a new subdomain; that was easy.

If I’d been setting up the new site a month ago, my next step would be to create a new MySQL database for the new site, then into the shell account on DreamHost and run a shell script I’d written that would copy all files from the current site’s home directory to the new subdomain’s home directory, copy the database from the current site to the new one, update a few items in the database to reflect the new subdomain and I’d be finished. Elapsed time usually under 5 minutes.

Bob didn’t want to rely on my script (especially since I’m trying to disengage from the Web team). He expected that DreamHost, like most web hosts, would have a simple way to clone a site to a staging site. It does, but it was not easy to find; first we had to install WordPress, log in, reset the admin password, log in again, get a “migration key”, install a plug-in on the current site, and finally he was able to get the site cloned. Elapsed time about 40 minutes, but it doesn’t rely on an admittedly-fragile shell script, and it’ll take a lot less time next time. I hope he took notes.

Shelter-in-Place Journal, Day 322

We hope to be taking some trips later this year, including one to Africa (delayed from last year). I wanted a camera with more zoom than my Lumix ZS100, but I didn’t want to go to a mirrorless or DSLR for reasons of weight and size. So last week, I ordered a Lumix FZ1000M2 from B&H Photo in New York. It arrived this morning, and I took it out for a little walk.

There weren’t any wild animals to be found on my walk, but I did find some nice flowers which let me try out some of the features of the camera.

First, I took photos of the rosemary in our front yard and of a flower I don’t recognize in our neighbor’s yard, both using the macro capability of the camera.

Then I walked a few blocks and found some nice primroses at a distance.

And finally, what looks like a bird-of-paradise of some sort, again fully zoomed.

It took a little fiddling, but I was also able to get the camera to automatically geotag photos based on the GPS my phone was reporting, which is something I’d really like to have when we’re traveling, rather than having to remember to log my tracks and later merge in the information.

I still have three weeks to decide whether I’m keeping the camera or not (it is much larger than I’m used to), but today was a good start.