Spam Calendar Appointments

Lately spammers seem to be coopting a feature in Gmail, and other email platforms, where a calendar appointment is automatically entered into a user’s calendar. To prevent these appointments from automatically appearing through your Gmail account, watch my demonstration to disable this feature or follow the instructions below:

How to configure Gmail to only allow appointments from known senders.

      Log into your calendar at https://calendar.google.com
      Click the settings icon/settings menu.
      Scroll to “Event Settings”.
      Change the contextual menu from “Add invitations to my calendar – From everyone” to “Only if the sender is known”.

I hope this helps!

Blind Hem and Bernini B 350

I picked up a new suit to match my sister-in-law’s color swatch and the pants came as 38-inch lengths. Those would probably be too short Big W, but they are too long for me. And for suit pants, a blind hem is needed.

Going in, I was somewhat unaware that a regular sewing machine would struggle with this task, but there are ways to overcome it. This video is by far the best of ones that I watched and on my first try applying my new skills it worked for my pants:

Pants with blind hem, playing 6th fiddle.

Happy day with Tina, Wes, Talia, Jamala, and Voke!

Many thanks to Aspiring Gent for making this easier. And for whatever reason, it hurt my brain trying to think about what I was doing and how it would work, but trust the process that Aspiring Gent lays out – it works.

Inkscape and Default Document Size at Startup

I’m really liking Inkscape. I wanted to customize it on macOS to make its default document a letter document in portrait (Inkscape ships with the A4 as the default). To make this change:

  1. Open Inkscape and create a new document.
  2. Set the Canvas Size:
    • Go to File -> Document Properties (Shift + Cmd + D).
    • Under the Page tab:
      • Set Units to in.
      • Choose Letter from the preset list, or manually set:
        • Width: 8.5 in
        • Height: 11 in
  3. Save the Document as a Template:
    • Go to File -> Save As.
    • Save the file as default.svg to a temporary location like your Desktop.
  4. Move the Template to the Correct Folder:
    • Open Finder and navigate to:
      ~/Library/Application Support/org.inkscape.Inkscape/config/inkscape/templates/
    • If the folder doesn’t exist, create it manually.
    • Move your default.svg file into this folder.
  5. Restart Inkscape:
    • When you launch Inkscape again, it will use your customized default.svg as the starting document — now with a Letter-sized canvas.

WordPress and Safari Blues

Seems Safari’s cache is corrupted on my Mac, several of the WordPress admin pages look like this:

Corrupted Safari cache when viewing WordPress Admin page.

Corrupted Safari cache when viewing WordPress Admin page.

To get around this issue, I’m temporarily using Microsoft Edge, which seems to work fine.

I tried erasing Safari’s cache for my schwie.com domain and then quit/restarted Safari:

Go to Safari > Settings > Privacy and click Manage Website Data.
– In the search bar, type the name of your website.
– Select it and click Remove.
Restart Safari and check the WordPress admin panel
– Close and reopen Safari to ensure the changes take effect.
– Revisit your WordPress admin panel to see if the changes are now reflected.

But the above instructions didn’t seem to resolve the issue in Safari. More aggressive action with Safari may be necessary, but I’m reluctant to try it now.

pyHanko and macOS

I’m trying to be better about digitally signing .pdf documents that I author as a professional engineer. And without needing to pay Adobe to use Acrobat. Enter pyHanko, which does not have a user interface. With a little fussing it works well.

First, open Terminal.app and execute the following command to create a certificate and private key:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 3650

When prompted, I entered:

Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Minnesota
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Barr Engineering Co.
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:Bradford Schwie
Email Address []:bschwie@barr.com

Next combine the above generated cert.pem and key.pem into certif.p12 with this command:

openssl pkcs12 -export -out certif.p12 -in cert.pem -inkey key.pem

Verify the certificate.p12 contains a certificate and key with this command:

openssl pkcs12 -info -in certif.p12

Finally, create a .pdf with command:

pyhanko sign addsig –field Sig1 pkcs12 input.pdf output_signed.pdf certif.p12

pyhanko sign addsig –field 1/70,400,390,350/Sig1 –style-name default pkcs12 input.pdf output_signed.pdf certif.p12

I could probably do more fussing with the signature appearance, but it took a fair amount of effort and this was before Liam bailed me out – thank you! Hopefully others find this as helpful as I do.

BatteryOptimizer_for_Mac and Intel MacBook Pro

My iPhone 15 Pro Max caps charging at 80% thanks to Apple’s built-in iOS feature; however, the same built-in feature doesn’t appear for a macOS Intel MacBook Pro machine and we have a fleet of these. BatteryOptimizer_for_Mac to the rescue! I installed it on my macbookpro11,5 this afternoon and will let it run for a few weeks to see how it performs. Installation is simple with a single Terminal command (and some fussing in System Settings):

curl -s https://raw.githubusercontent.com/js4jiang5/BatteryOptimizer_for_Mac/main/setup.sh | bash

While there are many other open source options out there including some commercial options, they appear more focused on Apple-silicon based MacBooks.

** Update 7-4-2025 **

Using the command:

battery status

Produces:

07/03/25-15:11:01 - Battery at 78.8%, 12.083V, 27.3°C, no charging
07/03/25-15:11:01 - Battery health 109.3%, Cycle 103
07/03/25-15:11:01 - Your battery is currently being maintained at 80% with sailing to 75%
07/03/25-15:11:01 - You haven't scheduled calibration yet

As you can see, the battery is now hovering just below 80%. This utility appears to work and well at that.

Spotify Playlists

My kids love Spotify and I agree to keep a membership going for them. I could use it too Spotify and via its offline mode for RAGBRAI and other events where my devices don’t have wireless coverage, but I’m old school and prefer downloaded music files that I can see.

My kids offer me Playlists via weblinks so I can access the music via a web browser and many of these songs are also freely available on YouTube. Using a couple simple Terminal commands, these songs will get downloaded as lower quality formats (128 kbps) and my ears can’t tell the difference.

pip install spotdl
spotdl [insert Spotify playlist URL here]

Notes:

I had to use sudo before the first command, hopefully this is just my Mac and not applicable to yours.

For the Spotify playlist URL, just insert the link and don’t include the brackets as shown above. Get the URL through a web browser by logging into your account at spotify.com or use the URL to the playlist that your Spotify using friend gave to you.

You may need to install ffmpeg, consider brew for installing it. If additional ffmpeg errors persist, they may be originate from spotdl’s config file and its bitrate described here.

Within .spotdl and Terminal, I made a “music” folder with the command mkdir music, and then executed the spotdl command from there.

And if you want AAC files instead of mp3, something like the following command should work:

spotdl [insert Spotify playlist URL here] --bitrate 128k --format m4a

To update spotdl, run:

pip install –upgrade spotdl

(For above command, you may need to insert “su” in front of “pip”)

Sharing in OneDrive Without Recipient Notification

I always seem to fumble with sharing files in OneDrive and my recipients receive multiple notifications. This post is instructions for me to hopefully reduce that

1. Open barr.onedrive.com (this is my work, replace this address with a site/location where you typically access your own OneDrive files).

2. Click the name of the file you want to send, it will preview it in a window.

3. Tap “Share” in upper right corner.

4. Tap “Manage Access”.

5. Tap “Links”.

6. Tap “Share”.

7. In the “Add a name, group or email” field, type in the email address you wish to send a link to.

8. Click the three dots and choose “Send link in Outlook”.

These steps will likely change with future OneDrive revisions and before I next need to share a file, but at least these instructions might get me on a notification-free track.

EasyAccess and .ovpn file location

I wanted to find out where EasyAccess saved its OpenVPN files to on my iPad. Turns out they are here:

/AppDomain-com.weintek.EasyAccess/Documents/data/keys

I wanted to see if I could prompt my iPad (or Mac) to make EasyAccess connections outside the EasyAccess app, no luck yet, but I didn’t have time to pursue it further at the time. If I pick this up later, I’ll link to it from here.

Braun N2820 Type 3709 Toothbrush Repair

Tina said her toothbrush was having a hard time turning on. If she moved it around it would sometimes start, but not all the time. I found a guide on iFixit and decided to improve on it. While inside the toothbrush, I found a crappy solder lead that was the positive connection from the battery to the board. After heating the pad and flowing new solder to the board, it seems to be working well again.

Should the erratic button business continue, I will order a new button and pop it on, there’s easy access to the board for this repair. Also, I bathed the board in alcohol at the button, so that could be helping things too. Button replacement is also documented at iFixit.

For opening the toothbrush, I removed the head and then used a putty knife to pop the top off. It takes a little bit of muscle and the plastic will get dinged up, but it seems happy working again.