The Day America Died


America died on November 5, 2024. The undercurrent of hate and vitriol that was exposed in 2016, has grown into a malignancy that has metastasized throughout this country.

The ideas of equality, and fairness, and democracy are gone. They’ve been replaced by fascism, misogyny, xenophobia, and hatred. That there are so many people in America who want this, is truly disheartening.

In the 1930s the rise of fascism in Germany and Italy resulted in people immigrating to the United States. In the 1940s, America, along with rest of the allied countries, defeated fascism. Now, less than 100 years later, America is the epicenter of a new fascist power.

This is not the dawning of a new day, this is the sun setting on 248 years of a democratic republic, and the beginning of a night of terror.

I am grieving for my country, for the place where I grew up, and the place I was proud to call home. I am grieving for the millions and millions of people whose lives will be damaged or destroyed by this new regime. I am heartbroken.


Apple Universal Control Failure Modes


When Apple announced Universal Control, their feature that lets you control multiple Apple devices with a single keyboard and trackapd (or mouse), I was quite pleased. For years I had been using Synergy with mixed success. Having this feature built into the operating system would surely make it better. Right?

Below is a list of some of the ways Universal Control fails. For these descriptions Host computer is the one that the keyboard and trackpad are paired to via Bluetooth. Guest computer is the machine being remotely controlled.

Any of the following failure modes can happen multiple times a day. It’s frustrating to continually have to open Settings and reset the control. When it was a third-party app it was somehow easier to take the problems, after all, the third-party didn’t have 100% control. Apple does have 100% control and yet this feature fails constantly.

Host Momentarily Loses Guest Connection

While working on the Guest computer, the Host will momentarily lose the connection, which moves the insertion point back to the Host. When this happens in the middle of typing something on the Guest, you can end up with extra inputs to whatever gained focus on the Host.

How can it lose the connection when it is actively being used?

Solution: Briefly open the Displays panel in Settings on the Host computer.

Guest Won’t Let Go of Connection

Sometimes you can’t get the cursor/pointer to return to the Host; the Guest has captured it. Often times you can no longer see or find the pointer.

Solution: Open the Displays panel in Settings on the Guest computer. Sometimes on the Host computer as well.

Host and Guest Won’t Connect

From time to time Universal Control just stops working altogether. This is perhaps the most aggravating failure mode, as it usually requires restarting one of the involved computers.

Solution: Usually opening up the Displays panel in Settings on both the Host and the Guest and disabling Universal Control on both, then reactivating it, is enough to get things working again.

Alternate Solution: Restart the Guest computer.

Order of Displays Changes

To be fair, I believe this has happened only one time, and it may have been something I did. In any event, I have had the situation where the orientation of the Host and Guest computers gets changed in the Displays panel of Settings. When you got to access the Guest computer you can’t get the pointer to cross over from one screen to the next.

Solution: Open up the Displays panel in Settings, and rearrange the displays.


Harrison Ford Endorses Kamala Harris



Acoustic. Mostly


I’ve been playing the cello for almost 15 years now. It’s an entirely acoustic instrument, but (for me at least) there are several electronic bits that go along with the cello.

Tuner

I use the TonalEnergy tuner app on my iPhone. It’s my tuner, my metronome, and a drone generator, all in one. Since the app keeps the phone on, I keep my phone plugged in while I practice. This allows me to spot check my intonation or practice with a click without interrupting my flow very much.

forScore and iPad Pro

I scan and create PDF copies of all my music. These are imported into forScore. forScore is a PDF viewer that has been customized for sheet music. You can add finger number, bow directions, notes, and text quickly and easily. Instead of carrying a bag full of bound music, I bring an iPad with hundreds of pieces of music.

I’m using a 12.9-inch iPad Pro, which nearly duplicates standard US paper size. Combined with forScore, it’s a perfect digital sheet music library.

Butterfly Bluetooth Page Turner Pedal

forScore has an incredibly neat feature where you can use facial gestures to turn the page forward or backward. You can choose between winking, nodding, or pursing your lips to the left (backward) or right (forward). I’m only able to wink one eye, so I can’t go back a page with winking. The lip pursing or nodding is too easy to accidentally do, which isn’t useful, especially when performing.

So I bought a Bluetooth foot pedal. Two big buttons, one for forward, one for backward. After only a few days practice, it has become second nature to use.

Hearing Aids

For several years now I’ve been wearing some kind of hearing enhancement. About a year ago I got a pair of Jabra Enhance hearing aids. These have four different modes: normal, music, restaurant, and outdoor. On normal mode my cello has an odd echo effect. Switching to music mode eliminates echo.

In Practice

When I go to practice or play I first plug in my iPhone and open the TonalEnergy app. My phone goes into a clamp on a flexible stalk fastened tomy music stand. Next I flip on the foot pedal, and turn on my iPad Pro and open forScore. Finally I use the Apple Watch Jabra app to select the music mode for my hearing aids.

After all of that, I’m ready to play my acoustic instrument.

NS Design electric cello

For bonus points I also have a 5-string electric cello from NS Design. This gets plugged into a Peavey bass amp. Then everything is electric.


Kamala Harris for President


I voted for Kamala Harris and Tim Walz for President and Vice-President.

Even if I didn’t appreciate the policies and promises the Harris/Walz campaign is espousing, I would have cast my ballot for them. The alternative is a fascist, hate-filled, twice impeached, serial rapist, and convicted felon, who is surrounded by a circle of sycophantic enablers who view him as a means to unchecked power–for themselves, and who view ordinary people as serfs who should be grateful for any table scraps that fall their way.

I voted for Kamala Harris because I want the vision of America that has lasted for 248 years to continue.

I voted for Kamala Harris because I want our democracy to continue.

I voted for Kamala Harris because I happen to think she will be an incredible President.

I voted for Kamala Harris because I don’t want to live in a fascist dictatorship that hearkens back to Nazism.

I sincerely hope that you have, or will, vote for hope, equality, democracy, decency, and the promise of what American can be.

I hope you vote for Kamala Harris and Tim Walz.


Neovim Lazy Lock File


The Lazy plugin manager for Neovim makes use of a lock file to track the current version of each plugin. The file, lazu-lock.json, is a peer to the init.lua file at the root of my configuration.

Between my personal laptop, work laptop, virtual admin workstation for work, and two or three other personal machines, I have multiple active installations of my Neovim configuration. MacOS and several flavors of Linux make up the operating systems involved.

I’ve been using Git and GitHub to manage my “dotfiles” for years. Any time I setup a new machine I create a new SSH key and copy it to GitHub, then I clone my dotfiles repository, and finally run my install script. Neovim, Git, tmux, bash, and several other configuration files are copied or linked into place.

Until a day or two ago, the Neovim configuration included the Lazy Lock file. However, every time I’d update the plugins on one machine, it would create merge conflicts on the other machines. The easiest way to resolve the conflicts was to delete the lazy-lock.json file, and then run a Lazy Sync to recreate it.

It occurred to me that having the same exact version of plugins on each machine wasn’t important. I was re-running the sync process already, to clean up the merge conflicts, why not just run it as needed? I’d still have the same plugins installed, but the exact version may differ slightly.

This has made running a Lazy Sync have less mental overhead (no more worries about merge conflicts) and it has made pulling the latest version of my dotfiles to a machine quicker and easier.


Timezone Weirdness


A nicely humorous look into the weirdness that are time zones.


Water Heater


Raise your hand if you hear George Carlin saying, “hot water cooler or cold water heater”

Sometime between a late morning shower on Saturday and a Sunday morning shower, we lost our hot water. Trying to relight the pilot light didn’t work. So we called the plumber. It was mid-afternoon before we managed to make contact with the weekend on-call plumber. After explaining the situation to him, he said it was likely the gas control valve, a part he couldn’t get until at least Monday.

On Monday I called the plumber and requested someone come look at it and let us know what needed to happen. When the dispatched learned the brand name of the unit (Rheem) she audibly groaned. Turns out it’s a “big box” store brand, and parts are hard to come by.

The plumber came and said it was either the gas control value or the pilot light assembly. He left to try and find parts. Late in the afternoon I called and spoke some more with the dispatcher. They might be able to get the parts by Thursday or Friday. Both would be approximately $350, and there would be a 2 hour ($89/hour) labor charge.

When I asked what the cost of a new water heater would be, she said $1750, installed. Our non-functioning heater is 14 years old. After talking it over, we decided to get a new one installed. I called a left a message on their after hours voice mail requesting an installation.

Tuesday they called and said they could install the new heater Wednesday afternoon.

Today the plumber came, and in about 90 minutes, drained and removed the unit, and installed the new one. Since our house was completed in 2010 there have been a couple of code changes. First, an expansion tank is now required. This protects the main tank from expanding and contracting each time the burner comes or or goes off. The second change is a carbon monoxide detector requirement.

We both enjoyed a shower about an hour after he left. We had been making due with heating water on the stove using our stew pot, and mixing it with cold, and pouring it over each other. This worked surprisingly well. A real, hot running water, shower was nicer though.

I was impressed by the confidence and skill the plumber displayed. When I asked he said he was working through his apprenticeship. He knew what he was doing, and worked steadily. He cheerfully answered my questions and genuinely seemed to enjoy his job.

If the new unit lasts 14 years, it will cost us about $125 a year. Excluding water and gas, of course. Worth every penny. This was a good homeowner experience.


Consequence


In the aftermath of the Presidential election in 2015, I learned that one of my co-workers–a man whose technical ability and knowledge I respect, a man whose friendship I appreciate–had voted for Donald Trump. I was gobsmacked. He explained that he didn’t like that Hilary Clinton was a lifetime politician.

It took some time to come to terms with the idea I was friends with someone who had voted for Trump. We work at different places now and my contact with him is sporadic. Our friendship has withered.

On the eve of this year’s Presidential election, with the same person once again running for President–someone who was impeached twice, who is a convicted felon, who is a convicted sexual predator, someone who disseminates, and lies, and stirs up hatreds and discontent, someone who wants to tear down our country and end the Constitution–I can’t help but think about my colleague who is smart, educated, intelligent, and genuinely nice, but who voted for chaos and mayhem rather than sanity and reason.

I am once again struggling with the knowledge that a friend of mine would vote for Donald Trump. And I am wondering who else I know that is either not voting or who is voting for the Republican candidate. This year’s election boils down to one, and only one, issue. Do you want the rule of law and a representative democracy, or do you want a fascist dictator and a Christian nationalist state?

This year I don’t think I’ll be able to forgive someone I know voting for the later. It will be hard to accept someone sitting out or voting for a third party candidate as some form of “protest”.

In one week we find out if the 248 year long experiment in democracy called the United States of America continues or if it implodes into darkness and tyranny.

I am afraid and I am hopeful.


reMarkable Return Remarkably Poor


I’ve tried to write this posting several times. Two things are at play here. First, the reMarkable tablet is something I’ve been aware of for several years and have wanted to try. Second is the frustration at a drawn out and semi opaque return/refund process.

In my previous posting I talked about why the reMarkable Paper Pro wasn’t right for me. The device itself is superb, the niche it fills isn’t one I need filled. For nearly $800 it needs to fit better into my lifestyle. Having desired it for so long, only to find out that it really isn’t what I need, was a letdown.

Returning it for a refund started out easily enough. reMarkable sent me a label, and I was able to put the tablet, marker, and folio case back into their original boxes, and fit those boxes back into the outer shipping box it was delivered in. The nearest DHL location was about 25 minutes drive away. It only took four days for the package to return to Hong Kong.

The returns section of the reMarkable website claims a 10-15 business day turn around for the refund. They say that credit card refunds may take longer, all other forms of payment are immediate refunds. It took 21 calendar days (16 business days) for the package to be reviewed by reMarkable, so the 10-15 business day refund clock only started yesterday.

There is a status page, but, until yesterday, it showed the package as scanned, but not delivered. Yesterday I finally got an email indicating that a refund had been issued, and that “It can take approximately 10 days to appear on your statement”. Amazon has not only spoiled us with overnight or two-day delivery, but it speedy refunds for returns. All the returns to Amazon have been credited to my card the same day I drop off the package. Waiting three weeks for the refund to even be issued, seems like an overly long time.

While I was disappointed that the reMarkable didn’t suit my purposes, I wasn’t unhappy. The frustrations caused by the lengthy return process have somewhat soured me on reMarkable. Whether they are doing the shipping and returns themselves, or (as I suspect) they have a third-party fulfillment center doing the shipping and initial return acceptance, if they want to work in the global market, they will need to up their game.