About Brad

All-around tough guy.

Pest-a-cator rubbish, at Menards!

I heard some scratching behind a corner in the basement ceiling, so I figured I’d check to see what Menards sells. They had a silly Pest-A-Cator 2000 Electronic Rodent Repeller in-stock, so I grabbed one. I was curious what was inside the box and what guarantees the manufacturer made.

The manual inside appeared to be some word salad that the device is a phase shifter for the electricity in your house. Seemed like a fancy phenomenon to me, so I decided to research it and see if there was any truth to it.

Brief enforcement history…

From 1985 through 1997, FTC brought law enforcement actions against six companies that manufacture devices like the Pest-A-Cator 2000. In 2003, the Pest-A-Cator was part of a docket launched by FTC; however, the ensuing consent order shows the sales restrictions only last for 20 years, which have now lapsed, hence why I was able to find a Pest-A-Cator on a Menards shelf. More FTC info on Charles Patterson, here.

Science, please help me!

Seems EPA (Publication No. EPA 340102-80-001) and USDA have done some research on these devices and the results are anything but favorable.

I found more along the way that was also not favorable toward these products, but the links above are the highlights. Why a company like Menards carries products like this is frustrating. Maybe I’ll ask them more about it later and this post might be a spring-board for bullet points. For now, I am returning the Pest-A-Cator 2000 and will start to look into cameras to figure where the little critters are getting in.

VirtualBox and Changing Drive UUID

Occasionally I test software in a Windows XP virtualization environment and if the software goes bad with an environment, I need a quick way to recover by purging the environment’s drive and replacing it with a copy: probably the quickest way is to duplicate a virtualized environment’s .vdi file and, should testing go awry, replace the compromised .vdi with the pre-compromised original copy.

Sometimes I simultaneously test two environments or .vdi files. Since the .vdi are copies of each other, VirtualBox sees them with the same UUID and doesn’t allow you to set up the second environment until the .vdi files have differing UUID. To get around this change change your copied .vdi’s UUID, by using Terminal.app, before you attempt to set up the new/second environment. To change the UUID, use the following steps:

  1. Open Terminal.app
  2. Navigate to the folder where you have a .vdi file you’d like to change the UUID on
  3. Execute the following command in Terminal.app while replacing “WinXP_2.vdi” with the name of your second .vdi file:

    VBoxManage internalcommands sethduuid WinXP_2.vdi

After changing the UUID, you can now continue setting up a second virtualized environment that is linked to the .vdi changed above.

Corrupted iPhone Backup Repair and Recovery!

My iPhone XS Max 64 GB has been running out of storage space for a year-plus. My ghetto workaround is to erase and restore the iPhone from a backup – this process recovers ~5 GB of storage space post-restore. This is not a permanent fix as the iPhone slowly recaptures the saved space over the next few months – my own stupid fault for being a cheap bastard with storage space when I bought the XS Max 4 years ago… This morning while restoring my iPhone from a local backup saved on on my Mac, an alert erupted: “Could not restore the iPhone because the backup was corrupt.” Ay. Sadly, I had no current iCloud backup and, saved locally, only much older iPhone backups. I know Apple software throws up similar, somewhat bogus, messages for Time Capsule errors that I’ve fixed in the past, so I began searching the web for potential fixes to my iPhone’s backup. My search discovered lots of apps that propose extricating backup data for a fee, but few seem to actually repair a locally saved iPhone backup. At least until I found the macOS software application “Decipher Backup Repair“, reviewed below.

I appreciated a video message from Kelly Wilkerson, one of the app’s co-developer’s; however, I wanted to hear experiences from an independent user and not someone ranting on a Reddit forum, so I’m pitching in my review here. I have no affiliation with the company other than now paying for a license to operate Decipher Backup Restore. From my limited usage, the app is easy to use and effective: it finds backups on your machine and tells you if there are errors within them before anything is repaired. From its initial scan, DBR noted that my locally saved backups had errors going back 3+ years. I gave the app permission to repair my iPhone’s most recent backup, from a couple hours ago. DBR fixed the errors and let me restore my iPhone from a newly created backup archive – sweet! The software is $30 and provided good value for my time, as I didn’t want to spend time setting up my phone from scratch again.

I did notice a couple things that concerned me; however, DBR’s team was super responsive and resolved my concern, spoiler alert: I just needed to be patient and encrypt/password protect backups. My Home Screen and Lock Screen had black backgrounds before restoring with DBR’s repaired archive, but after the restore the backgrounds turned gray – about 10 hours after the restore, I noticed that the black backgrounds had once again returned. Also, my iPhone was running hot right after the restore. DBR’s team told me that I should wait for the iPhone to complete its iCloud/Music/Photo syncing and, sure enough, they were right. After restoring from an Advanced Repair (one of DBR’s routines) later in the evening, I went to bed with the iPhone feeling hot; by morning the iPhone was back to operating at it’s usual comfortable to touch temperature. I also noticed open Safari tabs on my iPhone from before the restore were suddenly missing after restoring. Steve from DBR’s crack team informed me Apple doesn’t include open tabs in backups unless a backup is encrpyted/password protected – darn, this is my fault again, I’ve avoided encryption/password protections as I didn’t want to deal with a corrupted encrypted backup in the case of a disaster, but it seems DBR could help me handle this too. On a related note, maybe I should give in and finally enable FileVault?

Post-restore, data saved on my iPhone shrunk from ~60 GB to about ~56 GB, so it seems I need to get serious about getting a newer iPhone with more data storage or delete more data from my existing device. Either way, my silly strategy of backing up and restoring to free-up space should end – I’m costing myself time and money and others are having to bail me out.

Final thoughts: DBR repaired my local backup, my iPhone was restored with all data that was salvageable, and DBR’s team was super responsive throughout the process. Thanks, Decipher Tools!

Rohloff 8201 Grip Shifter Replacement

My Surly Pugsley’s grip shifter (part of Rohloff 8200 shift assembly) has been difficult to turn since I installed it 3 years ago. I thought the problem was mostly in the gearbox, but after attaching an 8mm wrench to the gearbox I found that the required moment turn the Pugsley wasn’t that much more than what was required to spin my Big Dummy’s Rohloff gearbox, which shifts like butter. I’ve been tolerating the general performance since I installed the grip shifter on the Pugsley, but the last couple months performance declined and more energy was required to turn the shifter until it ultimately failed last week. Seems the blame lies in two areas, the shifter’s design and its cable housing, the latter may be rusting and getting a bit salty.

The grip shifter’s failure seems to be two issues; one was that its internal shifter stop tore through and the second issue is that the rubber o-ring fighter shifter revolutions and needed lubrication. I called Propel in NYC and Send It Bikes in NV hoping for an extra replacement 8201 grip, but neither has gotten back to me with available stock from Rohloff – Propel quoted $130 ditch the 8200 and switch over to Rohloff’s newer 8190 shifter and shift assembly. I’m stubborn and don’t want to let go of my existing 8200 just yet, so I paid $7 US for a new part design. The part is designed by an engineer, DEHUUK_DESIGN, who allows end users to print a replacement grip on a 3d printer. Sweet! As my good friend Joe has told me in the past: “Engineers will save the world.”

Below are a few notes on the new part’s design, I’ll update this post later as my experience with it continues:

1. DEHUUK_DESIGN’s design is Rohloff 8201 grip shifter, which is part of a Rohloff 8200 shifter assembly. I printed the design at the University of Minnesota (thanks, Liam!) using an i3 MK3S that was fed black PLA filament through a 0.4 mm nozzle. The quality looks great after its supports easily peel off and cable races cleaned up with electronics tweezers paired with a gentle prying motion. Water soluble supports may make this process easier, but it’s not terrible as-is.

2. The DEHUUK_DESIGN replacement grip, between the numbers and the first cable race, is missing a third race that would contain a rubber o-ring I mentioned above. The missing third race is unlikely a deal-breaker, but this is where the parts design begins to diverge from Rohloff’s design. It may be a good divergence, since the lack of an o-ring is one less item to fail; however, dust and dirt may encounter less resistance making it to the grip shifter’s other races. Below is a picture that shows the new grip (top) missing the third race and the old grip (bottom):

3. The above picture shows DEHUUK_DESIGN’s part a bit shorter than the old grip shifter, this is because someone at the U’s makerspace lab stopped the printer before the job finished, argh… I will try to reprint the grip shifter again later.

I dry installed the shortened part on my Pugsley and it seems to fit great, but I have yet to install the cables and turn it under force. Expect more updates here…

Toro 38170 Powerlite CCR starter recoil rope replacement

To do complete the repair described above take the top cover off the 38170, then take its bottom case off. The right wheel has a bracket mounted to the frame by two bolts, completely remove at least one of these bolts and loosen the other, doing this allows the wheel mount bracket to rotate out of the way while removing the recoil starter cover. Finally, remove four bolts securing the recoil starter’s frame to remove it and its surrounding cover from the motor.

To replace the rope, I fully removed the recoil starter wheel from its spring assembly – this probably isn’t necessary, but I wanted to inspect it and make sure nothing was broken or bent. The spring on mine looked perfect and rewrapping it was easy following these instructions. To wrap new rope around recoil starter wheel, I looked down at the recoil starter wheel and, after inserted a new 5-foot section of rope and tying a couple knots through the hole in the starter wheel, I rotated it clockwise to get the rope on it. I then flipped the starter wheel over and pressed the spring and its metal shell/cup into the bottom side of the plastic recoil wheel. Be sure the spring’s ends are seated into the metal shell/cup, otherwise it won’t later wind up. I also intentionally broke off a piece of plastic from one side of the recoil starter wheel’s outer rim so that I could later insert a screwdriver and easily wind up the wheel when it is reinserted into the metal cover.

I believe I wound the recoil starter wheel 3 times counter-clockwise. After winding the spring up, I used the hole created by the broken plastic to feed the rope through the cover’s rope pull hole and it was tight, I only had a couple inches of slack. If three times winding seems too much for your spring, back off to only 2 times (I may have done wound it twice, I was distracted and forgot to jot down my count).

I’ll bring it out to test later today when I pick up some fresh gas. Surely the spark plug will need cleaning before it wants to fire. So much maintenance!

Update VPN Enabler

Similar to how I updated Cutedge Systems’ php, VPN Enabler for Monterey can also be updated to deprecate SHA1 and add support for SHA256 connections with supported VPN clients – the default is SHA1, which was blocked by most VPN software clients in late-2023.

To update VPN Enabler’s easy-rsa, we must update pkitool through these instructions:

1. Open Terminal.app and enter the following commands:

cd /usr/local/cutedge/openvpn/easy-rsa
sudo pico pkitool
*enter your password when prompted*

2. Press the control key and “w” and type in SHA1, then press the return key.

3. When the pico text editor brings your cursor to SHA1, change it to SHA256.


Find out where /usr/local/cutedge/openvpn/easy-rsa is. When you have its location, run:

*insert file path location* upgrade easy-rsa


Open the 5.0.1 OpenVPN Enabler app, click the Make Clean : Keys and Certs check-box, Restart the OpenVPN Server, and send the newly generated profile to all the OpenVPN clients.

As described here:

Cutedge and PHP upgrade

I’m running Cutedge Systems’ brilliant WebMon, Letsencrypt, and OpenVPN Enabler to turn my Mac mini back into a macOS Server-like machine – thanks, Bernard Teo and Bee Khim! My Apple mini is still on Monterey, I’m not quite ready to upgrade it to Sonoma with OpenCore Legacy Patcher, and I want to eke some more life out of it as-is; however, Cutedgesystems’ latest Letsencrypt for Monterey, version 3.0.4, is bundled with PHP 8.0.12 and WordPress/apache no longer fully works with this PHP version. In attempt to get Letsencrypt’s bundled PHP up to the latest 8.3.3, here’s what I asked brew to do:

1. Open Terminal.app
2. Execute the following command:

/opt/homebrew-cutedge/bin/brew upgrade php

The upgrade ran for over an hour on the aging mini, but eventually it completed and updated the apache webserver to now use 8.3.3. Apache and WordPress seem to be running fine so far and a previous error message I was seeing “the server unexpectedly dropped the connection” is now gone. YES!

Extra notes… Prior to running the upgrade PHP 8.0.12 was installed in these locations:


After executing the above command the 8.0.12 directory was replaced with this one:


And, curious, an 8.3 directory now sits beside the 8.0 directory:



I’ve relied on a “Perfect Glue” chart for identifying which adhesives are compatible with differing surfaces and it served me well for years, but Perfect Glue products are no longer available and it seems I’m in need of a more generic chart. I happened across this chart recently and will test it out:

AirPort Express/Time Capsule Power Supply Replacement

The above-referenced AirPort Express is known for faulty power supplies. Mine gave up the ghost a couple years ago and the stay-at-home orders gave me some extra time to fix it up. I used a mess of instructions here and here.

Ultimately this repair failed again, but my soldering skills and hot air machine skills have improved since then, I may give it another go at the board level… And a good friend has a Time Capsule that also has a failed internal power supply. If we open his again, we should consider a repair with these instructions. I’ll update this post later if we get it to work.

Cycliq Fly6CE Review

In November I Black-Friday gifted myself a Cycliq Fly6 Gen 3 tail light. The selection came after a recommendation from another Brad – thanks, Brad! This is my brief review.

The light arrived about a week after the order was placed. At purchase time, I also requested a rubberized outer body, additional bike mounts, and glass lenses. Speaking of the lenses, this morning while riding Pugsley and gleefully hopping off a path on to the U of M Transitway I heard the big lens pop out. At the time, I had no idea what the noise was, it sounded like a screw hitting the ground. I rode back to look for whatever had fallen, but I didn’t know I was looking for a glass lens, found nothing, and rode off to work. After arriving at work, I noticed the missing lens and recalled exactly where it fell out. I will go back in darkness tonight to try and find it, but my expectations are low that it will still be intact with the bus traffic this area sees.

Ok, back on topic… I am at a loss to think of a single bike product that performs perfect in all situations, seems we usually accept compromises of some sort and this is not to say this product is perfect or completely inferior. Here are some brief ramblings from the first 60+ days of usage.

Since installing and using this light, no motorists have cut it close while passing me during daily commutes, or at least not close enough where I wanted to review the saved footage. This could be because the light is impressively bright in day and night, so motorists may be keeping further away from me than they have in the past? The light stays illuminated for my entire 60-75 minute commute and I usually charge it at either end with a fast charger should my adventures go longer later.

During winter riding and really anytime the temperature drops to 32 F or below, the light must be turned on indoors (I believe Cycliq mentions this in their literature) or while the light is at this temperature. If you use the light outside for an hour at 31 degrees, briefly stop in a store while turning the light off and bringing it with, I find that it won’t turn on and stay on if it wasn’t given sufficient time to warm up. Due to this narrow band of temperature operation, I’ve found myself running errands on the way home from work and having to lightless the rest of the way, big bummer. In the future to stave off these operational disappointments, I may leave the light on in my pocket or resort to using Cycliq’s app to temporarily turn the lights off while leaving the rest of the unit on – I’m not a huge fan of the latter approach since my hands frequently go numb and messing with the light’s phone app is one more thing that adds complexity and takes time.

I haven’t spent a lot of time playing with the light’s video, but there is one gripe I want to air out. If you read the light’s manual, it says that you need to frequently re-format the memory card, presumably to write over stuck memory. I’m going to reach out to Cycliq’s tech support team and ask them what memory type they are using in the cards issued with the light. If they even know, I assume they will respond that the the microSD is TLC or QLC NAND memory and not the more reliable SLC NAND memory. If they respond that it uses TLC or QLC it will explain why they recommend having to frequently re-format the memory and this could have been avoided. I hope to report back on this in the future.

The rubber case is a must if you ride in conditions that are similar to Minnesota winters. The case isn’t perfect, but it admirably keeps 98% of the water and road grime off the light. It can be a bit fiddly to take off, but if you hold the light, from its small tag/cord, and upside down it is pretty easy to slide the cover on and off. If people want video of this technique, let me know in the comments and I’ll post it.

I wished I had purchased another one of the velcro mounts for easily moving the light between my Dummy and Pugsley, but I can still do this.

The lens are pretty easy to install and remove, see mishap above where this causes problems. Seems this could have been improved, but as-is it offers the option to easily wash lens, which you’ll need to do if you ride in messy conditions, which I do.

** 2-14-2024 Update **
My Fly6 GEN 3’s operation time has declined, now only operating for less than a minute before shutting off and despite the battery being charged to 89% or higher. Today I filed a support ticket with Cycliq, will update later how this turns out.

** 2-28-2024 Update **
Ashe at Cycliq helped me troubleshoot my light and the ultimate conclusion was that the on-board TLC memory gets corrupted and requires the user (me) to periodically reformat the device so that it can property charge up. Doing a reformat once again allowed me to charge the device to 100%, but this is giving me some bad vibes.

As an engineer, I’ve specified and constructed monitoring systems with onboard microSD memory; however, as I mentioned above, I now only do so with commercial-grade SLC or MLC NAND memory. TLC and QLC do not last long enough and this Cycliq device has TLC inside of it. I bet I cold make these problems go away by replacing the onboard TLC memory with SLC, but it won’t be cheap. Also, I worry that SLC may not be able to keep up with the higher write rate that accompanies 4k video.

** 7-15-2024 Update **
So, the light ran fine for another 4 months, but I noticed it’s taking longer and longer to charge it even though it remains mostly charged. It’s July in the northern hemisphere where I live, so most days the ample sunlight means I can ride without the light. Today I tried reformatting the TLC memory card using Ashe’s instructions and despite being on a USB-C fast charger all day now the light’s battery charge is stuck at 86%. More later…