I’m experimenting with HomeKit Automations converted to Shortcuts. This one, when a Home member arrives, will turn on a welcome light if the Logitech doorbell reads < 200 Lux. Otherwise it’ll flash the living room lamp to indicate an arrival.

Secure ShellFish for iOS is wonderful. Its shortcut functions allowed me to create a Shortcut that shows all journals written “On This Day” from my SSH server. Slick.

Installed Logitech Circle View Doorbell Chime-Kit and Hardware Doorbell Chime

Why did I decide to install the chime-kit and doorbell chime after I installed the Logitech doorbell (and it worked fine)? Netatmo released their doorbell and in their FAQ they wrote this about why a chime is required (Logitech never explained but they require it despite their doorbell seemingly working without one):

The Smart Video Doorbell was specially designed to replace your existing doorbell and, therefore, to work with an existing wired chime. This chime is required in your installation because it creates a charge in the doorbell circuit. When someone presses the doorbell button, a switch closes the doorbell circuit causing electricity to flow through the circuit to activate your chime. Without a chime, when the switch closes the circuit, a short circuit would occur and cause damage to your Smart Video Doorbell.

After reading that, I decided to protect the doorbell investment by spending a little bit more time and $15 to install the chime-kit and hardware chime.

Installing the hardware chime and then the Logitech chime-kit in the garage was easy though I accidentally cut the transformer to doorbell wire; wire nut to the rescue. I did check to see if the doorbell would work with only the chime-kit installed and its switch set to no doorbell – it did. In fact, when I cut power to it, a green LED stayed lit up in the chime-kit above the switch, suggesting it keeps a charge like a hardware doorbell chime. However I don’t know definitively if that chime-kit charge would resolve possible shorting issues on doorbell press. With the chime-kit I can toggle the hardware chime to ring or not via the Home app — I have no idea how Logitech made that work. The chime-kit has a switch for analog chime, digital hardware, no chime, and analog chime.

So far the Logitech doorbell has been great with a perfect view of the front yard and super reliable notifications with videos. Video is pretty sharp and its HDR does work — the shaded porch and bright streetscape are all well exposed. It does well at night with just the almost-bug friendly amber porch light so I’ve disabled the doorbell light to keep light pollution to a minimum. That built-in light does not illuminate far so it is only useful when someone is at the door. So I wish I could set up an automation to turn on the extra light when it detects somebody at the door. I do recommend setting up Activity Zones on an iPad (easier to draw them on a larger video feed vs iPhone) to help minimize notifications. Turns out our street has more vehicle traffic than I realized. I’m very happy I patiently waited for a HomeKit Secure Video doorbell like this. If you think activity zones might limit what the HomeKit home hub detects, it seems as if when there’s motion detected in an activity zone, the HomeKit hub analyzes the entire scene for people, animals and vehicles.

Our data usage for uploads has gone down dramatically now that our Nest Outdoor IQ no longer has Nest Aware and is only useful for on-demand delayed “live” video feeds.

Logitech Chime-Kit at the top and the new hardware chime at the bottom. The included wire splices are nice.

Logitech Chime-Kit (top tiny box) and new hardware chime


Logitech Circle View Doorbell installed on cement fiber board lap siding, doorbell wire routed through a security door frame and then along the foundation, tucked out of sight between cement foundation and sheathing. I used foam as a spacer behind the straight mount to create space for the wire to come in through the side of the mount. The mounts are made for doorbell wire coming out of a wall, so creative thinking was necessary. Notice how the Logitech logo at the bottom is barely visible. Compare that to a Ring doorbell or the new Netatmo! I love that Logitech decided to not make their logo stand out.

Logitech Circle View

Logitech Circle View Doorbell Initial Thoughts

Got a Logitech Circle View doorbell. I haven’t mounted it yet but I’m already pretty happy with it after setting it up and testing it. It can power up using USB with 2A power. Logitech says it needs a hardware chime but it doesn’t! It indeed has HDR video for dealing with shadows and sun. It looks nice with a very minimal branding logo on it. The HomeKit Secure Video function works well. The night vision light (white rectangle on first photo) is unexpectedly very bright. Its straight mount (second photo) is made to sit flush against an exterior wall with the expectation that doorbell wires are routed through a hole in the wall. Since I don’t have an existing doorbell wire, and will be routing the wire externally, I’ll need to shim a gap behind the mount to pass wires through its side. The real effort will be in disguising the wires and installing the transformer on a new electrical junction box in the garage. I can’t wait to stop paying Google for an Outdoor IQ’s Nest Aware subscription that currently monitors the entrance.

Logitech Circle View Doorbell module without mountFlush mount with round rect screw holes and two tiny wire holes

Apple is successfully getting me to put HomePod Minis all over my house. Bought one, liked it for my smaller rooms, so I’m slowly adding more. They all have U1 chips and Thread radios. I hope Apple takes advantage of this new network of devices. So long, Sonos.

I installed a Lutron Caseta in-wall dimmer switch for the hallway today. Before it was wired as a 3-way so one switch is now a wired dimmer and the other switch is now a Pico remote (with adapter for switch box install). Real nice. Caseta is solid for home automation w/HomeKit.

wired in-wall dimmer switchPico renote installed at switch box for 3-way use

My New Markdown Editing and Preview Apps

MultiMarkdown Composer and Marked 2 fit my Markdown needs perfectly. One key item is that I can drag a photo into the MultiMarkdown window and it’ll insert the image syntax with relative paths. For some reason that feature I need is astonishingly rare on other editors I’ve trialed. MultiMarkdown Composer can be set to automatically launch Marked 2 for previews and proofing – real nice. It is a bonus that Marked 2 can easily preview MarsEdit in-progress posts too. I’m using the Pandoctor style in Marked 2 since that matches Pandoc output of my Markdown journalling files. However, I had to edit its CSS to remove paragraph indentations.

Automating Deselection and Unchecking of Twitter Interests - EvilTester.com

Automating Deselection and Unchecking of Twitter Interests - EvilTester.com: The final JavaScript works to automatically deselect Twitter ad interests, but I had to change the timer from 2000 milliseconds to 10000 milliseconds or 10 seconds per uncheck to avoid Twitter Over Capacity errors. The process is taking forever but isn’t invasive at all so this Safari JavaScript console automation can go all week for all I care. By Twitter’s estimation, I am interested in everything in the universe. Including things that greatly raise my blood pressure. Ugh.

From the above website but milliseconds modified from 2000 to 10000. Paste and run in your browser’s JavaScript dev console when on the Twitter ad interests page:

var timer=100;document.querySelectorAll(
"div > input[type='checkbox']:checked"
).forEach((interest) => {

macOS Big Sur TimeMachine and Bootable External Drives

If you have any bootable APFS containers on an external drive, macOS Big Sur will not allow you to assign any of the containers on that drive to TimeMachine. I had to delete my SuperDuper! volumes, but SuperDuper! doesn’t work yet on Big Sur anyway. Here goes another reorg of my external drives! Hope I don’t need to buy another. But dang TimeMachine on an SSD is incredibly fast.

I tested my journaling workflow in Big Sur on a secondary Mac and it worked. So I couldn’t help myself and, despite SuperDuper! not being ready for Big Sur, I installed Big Sur on my production machine. I’ve zero complaints so far.

I accidentally trashed my Windows 10 Virtual Machine and thought it was a total loss with no backup. Two weeks later I realized I had a SuperDuper! clone of my MBP as I… prepared to update the clone. Phew and glad I remembered!

For today and a while after the election, Twitter & Instagram apps are removed from my devices. So far I’m avoiding their web counterparts. Instead, let’s enjoy some tiny coyote bush flowers!

On iPhone 12: I love the telephoto lens so I’ll wait for the 2.5x camera or better to migrate down into the iPhone Pro from the Max. The Max is a nonstarter for my small hands. My 11 Pro already pushes my limits. As for the super wide angle lens, I use that more than I expected.

My typical workflow: here’s a thing I need to do. Hm. That seems more difficult than expected. What’s easier than that? And easier than that? No, that’s silly and overcomplicated. Easier than before that? Can I live with that? Probably. Not what I wanted but A-OK.

VMware Fusion 12 Player

It is pretty awesome that VMware Fusion Player is replacing VMware Fusion Standard and Player is free for personal use. This is weird to me since I never expect a company to stop asking for money for great software. Now, it seems, I can upgrade VMware Fusion 11 Standard to VMware Fusion 12 Player for free and not miss anything. So weird! I guess VMWare wants to focus on business users and don’t want to cater to end-users like me. That would make sense as I will no longer be paying them money for their software. Well, this is pretty cool at this point in time.

Upon a recent update to VMware Fusion 11.5.5, sound began crackling in Windows 10. For some reason

sound.virtualDev = "hdaudio"

was missing from my .vmx file so Windows 10 was using VMWare’s generic audio drivers. Added that line into the .vmx file and all is well as now Windows is using its High Definition Audio device drivers. Thanks to this AppleVis post for giving me the idea.

Follow up: I just noticed that this AppleVis post reported nearly the same issue I had and the same fix. Apparently this may be known to be an issue at VMWare.

Keep MacBook from Sleeping with Lid Down

The MacOS app Amphetamine is pretty slick. As promised, it keeps my MacBook Air awake even if the lid is closed and there is no external display attached. So now I can run it as a part-time file server (via SFTP and Secure ShellFish for iOS). At least, that’s the plan. Since it is running on a laptop, I really appreciate the audio alert it’ll give if I unplug the MBA while Amphetamine is keeping it awake. Now that MacOS 10.15.5 has battery aging management, now is the time to try this out.

My goal is to somehow simplify things by no longer needing an aging QNAP NAS and using a single platform. I love the idea of having a spare laptop but also actively using it and getting more value out of it.

I finally got around to messing with iStat Menu's Time menu and I’m sold. Having a calendar and events embedded in the clock is lovely.

Upgraded to 16" MBP ❤️

Since 2010, I have always had a 13” Mac laptop — now I’m on a 16” MacBook Pro and I love it. I upgraded from a 2018 MacBook Air.

I waited for the new 13” MBP. The new 13” MBP had the necessary Magic keyboard but didn’t satisfy in terms of evolution: its screen was not 14” as rumored; it has the same thermal system; the same speakers; and the same mic. However, the latest 13-inch MBP has slightly better single thread CPU performance than the base 16” MBP I got. Finally, it seemed as if the latest 10th gen Intel chips that might work for the 16” wouldn’t provide too much of a performance boost (no wonder there’s so much interest in ARM). And I might be waiting a while for that. Assuming the 16” ever gets a refresh before the surmised ARM revolution.

What did I want? I really wanted the wide color gamut of the MBP since I’m a prolific photo taker and editor. In addition, I really wanted a laptop that will last beyond three years (like my first ever 2010 13” MBP, RIP)— even if ARM becomes a thing. A laptop that has enough CPU cores for ARM emulation, if needed (though I suspect for a few years  apps will be delivered as dual Intel-ARM binaries).

I use x86 Windows 10 in VMWare and on my 2018 MacBook Air, it was nearly unusable. So the 100% base 16” MBP seemed like a good fit. 

So without a solid evolution of the 13”, the 16” began to look pretty nice. 

Now, my Windows 10 VM can take over two of six cores and four gigs of ram without any noticeable system impact. Also, it is now apparent 16 gigs of ram really is the sweet spot for my use cases. And it is awesome to use a 16” screen on my lap wherever I want. For basic things, like writing to my blog in MarsEdit, it never gets warm enough to notice. Oh, and yes, photos look so very good and editing on this 16" screen is a dream. I’m uh also taking a liking to the Touch Bar.

For the Touch Bar, I just wish I could enable the expanded control strip without losing app-specific controls. For example,  if I’m in an app with Touch Bar support, it should show the app’s controls with a shrunk control strip. However, if I’m viewing just the desktop, the Touch Bar should immediately show me the expanded control strip — I don’t want to press the <.

Why must Apple hide three finger drag on their touch pads under Accessibility? It’s my favorite touch feature of the touch pad.

Fruit Tree Irrigation: an Experiment

For several years I’ve watered my fruit trees using a Generation 2 Rachio controller and their irrigation method called “Flex Daily”. This method relies on many variables, a few of which I can only make good guesses at. For example, my soil’s Available Water Capacity from the U.S. Soil Survey.  Flex Daily on Rachio is really designed for watering lawns, and I don’t care about lawns. I water fruit trees with unevenly spaced emitters. So the other advanced zone variable that’s not easy to determine due to my needs is the Nozzle In/Hr setting.

Here is a formula I use to convert from my drip emitters GPH to In/Hr:

(96.25 * Q * 0.0167) / A = PR

Where Q is Gallons Per Hour (GPH) and A is, in the case of trees, drip line or canopy area. 0.0167 changes GPH to the needed Gallons Per Minute (or divide by 60).

Rachio’s Flex Daily method worked fine for the past few years, though it seemed to water too much in a day and too infrequently causing regular water stress in certain trees. I figure that’s because Flex Daily relies heavily on the AWC and root depth. It then waters to what it expects is the root depth.

Recently, in preparing for this irrigation season, I learned about a daily tree watering model from the University of California’s Center for Landscape and Urban Horticulture. I had always wondered what model local orchards use, and I bet it is this one because I have often seen the almond orchards watered daily. But with Rachio’s Flex Daily, it was every 3-5 days. According to the Center for Landscape and Urban Horticulture, deep watering of trees can actually be disadvantageous as water can leach nutrients to a depth where roots would never reach them. They also write that when using drip emitters, depth of watering isn’t as important for trees as the volume of water they actually need. I assume from this that the bulk of tree roots that take up water are shallow.

With Rachio’s Flex Daily, I had the root depth set to 8 inches for my trees. According to tree (crop) evapotranspiration (ETc) needs, it’d attempt to water to that root depth. But my settings would have to be perfect for that to work right — especially the Available Water Capacity. I’d also have to be reasonably certain about my tree root depths, which I am not! I doubt my settings are good enough for the watering depth to be accurate, especially as soil is not homogenous. Was this Flex Daily method watering well beyond the tree roots? Without digging some deep holes I’d never know. So the Center for Landscape and Urban Horticulture’s daily watering method for drip immediately appealed to me. All I need to know, for this method, is the tree’s drip (canopy) area and the tree’s Plant Factor (or its daily water usage):

 Gallons = ETo × PF × (R× R × 3.14) × 0.623

Where ETo is the reference evapotranspiration (figured from grass), PF is the Plant Factor or Crop Evapotranspiration coefficient, and R is the radius of the tree’s canopy. 0.623 is the conversion to gallons. ETo * PF results in the inches of the plant’s water use.

To get the water needs of my trees, I use the Irrigation Training and Research Center’s California Crop and Soil Evapotranspiration (PDF) guide. For my Reference ETo Zone, I use the Typical Year table to find my tree type, and then find the inches/month for my trees. I can use the above formula to calculate the amount of gallons needed per tree and then calculate, based on the total GPH of emitters under the trees, how long I need to water them. Of course, it is key to divide the monthly ET by that month’s number of days in order to get the average day’s water use.

The following image is extracted from the California Crop and Soil Evapotranspiration book. I’m interested in the monthly values for the bottom four rows. If you divide a tree monthly average by the grass reference ETo, you can get the Plant Factor or evapotranspiration coefficient. Divide the value for a tree on a given month by the days in that month to get the tree’s average water use in inches per day.

Zone 12 Crop Evapotranspiration Example

If all my trees were the same age and the same maturity, trees of the same kind (e.g., stone fruit or citrus) would have the same GPH per tree. They are not. So to get the same Nozzle In/Hr at each tree, I have to balance the emitters in each irrigation zone. For example, in my Stone Fruit zone, my mature and stingy apricot has emitters that total 12 GPH while at my much younger, prolific but severely bark beetle damaged Lapins cherry tree, has 2 GPH’s worth of emitters. But because the apricot’s drip line area is about 78.5 square feet and my cherry’s drip line area is 12.56 square feet, their inches/hour balances out to 0.246 in/hr for the apricot and 0.256 in/hr for the cherry. Close enough! So in this case, I can run the zone for nearly 18 minutes in April and both trees will (hypothetically) get the amount of water they need on a daily basis. This, of course, assumes the soil is suitably well draining and water can soak down some depth into the root zone. For the most part, this is the case for my trees.

So by balancing a watering zone’s trees to have similar inches/hour, I can figure the amount of time needed to water the zone:

Gallons per Day / Gallons per Hour * 60 minutes per hour = minutes per day 

(phew; the dimensional analysis would make more sense if written symbolically)

And, I can be as granular as I want at calculating the water need. For now, I’ve calculated water needs for each month using my trees’ average monthly water use. I have setup Fixed irrigation schedules for many different months using the Rachio Gen 2 controller for almost every month (if months seem similar in water use for a zone, I use one Fixed schedule). Each schedule has the month’s average ETo in the name, So when evapotranspiration regularly matches a set schedule, I’ll switch to that schedule (assuming the phenology makes sense; some trees have higher water use during certain parts of the season). I no longer need to use Flex Daily. Each zone has its own watering time based on its daily water needs. Rachio will still skip irrigating if enough rain happens, but none of the Flex features are in use now. I started this daily irrigation regime on April 22. It’s too early to say how the trees are responding, so I’ll have to report back on this big experiment.

Rachio Fixed schedules that I’ve created to suit ET and tree phenology.

.Rachio Fixed ET Schedules

I can never remember brackets or parentheses for Markdown links!

With [Watchsmith](https://apps.apple.com/us/app/watchsmith/id1483088503), I get a hamburger when my move/exercise/stand goals are met.

Apple delayed shipment of 2020 MacBook Air. Understandable. Buyer’s remorse came fast and furious so I canceled. I’ll keep mashing those butterfly keys for a while longer.

I’m experimenting with [Meteobridge Templates](https://meteobridge.com/wiki/index.php/Templates) and Siri Shortcuts so Siri can tell me about the weather just by pulling data off the local network data logger. Works pretty good!