Custom BMW Z4 M Coupe bike rack hitch receiver

First of all, a BIG Thank You to u/Michael9218 over at It was his hitch solution that looked the most simple and robust to me, and the one which I modeled mine after. His solution also places the hitch higher off the ground than others I have seen, so less chance of bottoming. The other nice thing about this mod is that you can remove it and simply replace the lower grille to go back to stock if you ever need to. The grille part appears to still be readily available and runs about $75.

I used the same receiver tubing he used from eTtrailer, and will pair the hitch with a 1up Quik Rack to carry around my mountain-bike-shaped golf clubs! Unlike some other racks, the 1up rack doesn’t rely on a hitch pin to hold the rack in place – which is necessary for this solution – and is also one of the lightest racks around at less than 30lbs.

Here’s how I made mine:

First, I found the center of the grille, then measured slightly wider than 1-5/8” for the cut (the receiver tube is 1-5/8″ wide). I used a Dremel cutting tool to cut the sides of the grille hexes, then a hacksaw blade (by itself) to cut the top and bottom free. The masking tape was placed to protect the paint while using the hacksaw. I also had to shave off the bottom of the grille using a utility knife to be flush with the bumper plastic to fit the receiver tube as it was be pretty tight vertically. There’s a good amount of plastic material there, so if you only cut away what you need, the grille will still be intact and one piece.

I then inserted the receiver tube to gauge where it would meet the supporting beam and used a level to position it. I had to fold the heat shields on each side of the charcoal canister out of the way, and also remove the black rectangular brace that holds the skid plate (not pictured) to get enough room in there.

Next, I started taking some measurements. I marked the position of the front brace on the receiver tube and also took some measurements at the rear of the tube to determine the placement of the rear braces.

I then realized I had this thing called a 3D printer(!), and I could model the whole thing up at 1:1 scale to do a proper test fitting. 15 HOURS later…the printer was done! (I went a bit overboard on the supports!)

A little super glue and my mock up was ready for a test fitting!

To fit the hitch into the space, I had to disconnect the lower hose of the charcoal canister, then angle the receiver tube up and into the bumper grille hole (you’ll need to bend/push out the bumper a bit to do this, but it is very flexible), then pivot the hitch back up and around the support beam, making sure the hitch’s front brace is in front of the rear bumper plate.

Once the dummy hitch was in place, I leveled it, took some final measurements, and spec’d it all up for my metal fabricator. I was initially going to try and weld this myself, but having had no prior experience, I chickened out at the last minute (after buying everything from HarborFreight!) and took it to a local metal shop. They were pretty psyched to get a life-size model!

2 weeks later and it was done!

I used 1/4″ plate for the front brace (likely overkill), and the rear braces are milled to get the correct thickness – and more importantly – the distance between the two arms that I wanted. The idea was to have them fit snugly around the support beam, and to eliminate any side-to-side play once they were bolted together.

I then primed and painted the hitch:

Fitting was the same as with the dummy hitch: Angle in the receiver tube into the grille hole first, then bend the bumper out so you can squeeze the front brace in front of the bumper plate, then slide the rear arms up and around the support beam, in between the hoses of the charcoal canister.

I then inserted (and glued in place) a small piece of composite shim above the rear of the receiver tube and leveled the hitch. The shim allows for slight adjustment of the forward position as well as angle of the hitch. It also removes any vertical play from the rear of the hitch, while also relieving any unnecessary stress to the support beam at that contact point (I also slightly filed down the top edge of the rear tube to reduce the sharpness of this contact point).

I used an M8x1.0x70mm bolt and a couple flat washers above the rear arms, which secured the arms tightly around the support beam to keep it all in place. One more level check.

In order to install the front brace bolts, you need to remove the rear bumper. This is surprisingly easy and there is a good write up on how to do this at Pelican. Note: I did find that removing the rear wheels makes the access to the wheel well trim fasteners a lot easier.

Once removed, I checked the level of the hitch one more time to make sure it didn’t get nudged while taking off the bumper cover, then used a punch to mark the drill points in the steel bumper plate. I started with a small 2mm bit, then a 4, 6, and finally 8mm bit.

I used a pair of M8x1.25x35mm bolts, with steel washers on each side, and nylon locknuts. The final result is a very solidly-mounted hitch with no play whatsoever.

Replace the bumper (don’t forget to reconnect the lights!) and the job is done!

Here’s how it looks with the 1up Quik Rack installed.

SIM Unlock hack for any Google Pixel phone (no root)

This hack will SIM unlock the physical SIM slot in Google Pixel phones. If your Pixel is locked to a cellular carrier, this hack will circumvent the network lock and allow you to use your phone with the carrier of your choice.

Note: I do not take any credit for this hack. It was discovered over at XDA, but the information is a bit discombobulated and spread across dozens of pages, so here it is in a concise and easy to follow process.

How to do it

1. Download the latest Netguard APK from github and copy the apk onto a USB flash drive:
2. Remove the SIM card from your phone. Factory Reset your pixel to erase everything.
3. When setting up the Pixel once it reboots, DO NOT connect to WiFi or insert any SIM card. Skip through the setup wizard so you can start using your Pixel; you can set up everything you need to later.
4. Use the included QuickConnect USB-C adapter in your Pixel box to connect your USB drive to the Pixel.
5. Navigate to the Files app, and locate your USB drive. Install the Netguard apk (you will need to allow permissions for the Files app to install).
6. Launch the Netguard app. Turn ON Netguard by toggling the switch next to the NetGuard logo on the app’s homescreen (top-left). Then, in the app’s Settings > Advanced Settings, turn ON Manage System Apps
7. Return to the Netguard Homescreen. Locate the following apps and tap the Wifi and Cellular icon next to each, to DISABLE them (will appear Red once disabled):

Carrier Setup (there are 2 of these)
Device Setup

8. Disable battery optimization for Netguard. Open the Pixel Settings > Apps > See all Apps > Netguard > App battery usage. Select Unrestricted.
9. Further restrict system apps from the Internet: Open the Pixel Settings > Apps > See all Apps. Select the Kabob menu (3 dots) and select Show System.

Find the following apps and under Mobile data & Wifi for each of them, deselect (turn off) Background Data:

Carrier Setup (x2)
Device Setup

9. You can now connect to your Wifi network and insert any SIM card. Note: the eSIM will still be locked to the original carrier only. After a few minutes of being connected to Wifi, the Pixel Setup wizard will prompt you to set up your new Pixel, and you can then restore from another device or cloud backup.

Some notes:

The unlock will continue to work after reboots and monthly security and Android system updates (I’m using the latest Android 14 now). But if you ever do a Factory Reset, you will lose the unlock and have to repeat the process.

I’ve used this method on several locked pixels and all are still using other carriers than they were locked to. Also, it only has works on Pixels.

Also, I would recommend NOT updating Netguard once it is up and running and successfully blocking network requests from the aforementioned system apps. I haven’t, and it continues to work just fine. The reason is I didn’t want to risk Netguard lapsing during an update and letting the system apps through and locking the phone.

PALM Phone PVG100 replacement sim tray w/ Warranty

Palm Phone PVG100 Replacement SIM Tray

  • 3D printed SIM tray for the Palm Phone model PVG100.
  • Printed on an 8K SLA printer using ABS-like Tough resins for durability.
  • Note: This is an extremely thin part (as thin as 0.69mm in places!). While it will serve its intended purpose perfectly, it is NOT recommended if you are the kind of user that swaps SIM cards on a daily basis! Use it with care and it will likely last you the life of your beloved Palm Phone.
  • All trays are fully-tested for fit and functionality before shipping.
  • Improved, easier ejection methods vs the original tray (see below)
  • Does NOT provide waterproof sealing
  • a SIM Eject tool is included 
  • FREE shipping in USA!
  • 1 YEAR replacement warranty! If it breaks, send me a photo of the broken tray along with your order details and I will send you a replacement free of charge.

This tray was modeled and designed from an original Palm Phone sim tray. The design was refined over many, many iterations and offers two easy and robust methods for removal: 

Pry Method

Pull Method

Shipping and Handling

  • FREE in the USA. Ships within 24 hours.
  • Mailed in a plain envelopeNO TRACKING!
  • International shipping is + $3 USD. For multiple quantity orders I will refund additional shipping fees as I can mail up to 3 per envelope. Please allow 2-3 weeks for International delivery. No tracking!
Shipping Location

Back up photos from any device to Google Photos in Original Quality (for free)

By now, it may be common knowledge that you can use an original c.2016 Google Pixel to back up your photos and videos to Google Photos in Original Quality for free. While there are several posts and tutorials on how to set this up, in practice I found that some notable points were missing from them, namely how to deal with deleting the photos from your primary device once they were backed up from the Pixel. I’m an Android user so this is written primarily from that perspective.

Here’s how to sync/delete the backed up photos from your primary device and the backup pixel [Android]:

1. Install Resilio Sync on both devices. On the Primary device, Create Folder and select your Camera folder, located in /DCIM/Camera

2. On backup Pixel, tap Scan QR and scan the QR code from the primary device Camera folder you just set up to link the two devices

3. On the Primary device, turn off Backup. Take a few photos with the primary device to test the sync.

4. On the backup Pixel, in the Resilo app, you should see the new photos being sync’d

5. Force quit and re-launch Google Photos on the backup Pixel to force Photos to see the new backup directory. Allow it to back up the new sync directory.

And finally, here’s how to deal with removing the backed up photos from your primary device:

6. After the photos are backed up, use a file explorer program such a FX File Explorer to delete the photos from the primary device’s /Camera directory. You can’y use the ‘Free Up Space’ function in google Photos as it doesn’t think you have backed them up. You can also individually select each image and choose ‘Delete from Device’, but that will be pretty time consuming and may be a little confusing. Using a File app is much quicker and easier. On iOS, I believe you can just delete them from the [Apple] Photos app directly

7. On the backup Pixel, you can use the ‘Free Up Space’ function to delete the images that have now been backed up.

Some notes and observations:

– You can quit Resilio Sync on the primary device and start it up as needed to sync to the backup pixel.

– Unless you are taking photos and need to back up constantly, you don’t need to have the backup Pixel plugged in and On at all times. Just boot it up and sync as needed.

– The backup Pixel doesn’t seem to display all of the available directories that contain media for some reason. I have also seen the sync directory disappear on occasion, but once I start a sync and then relaunch Google Photos, it seems to pick it back up again.

Clearing Sunroof Drains on 2008-2012 Toyota Highlander

Here’s a quick fix for the super-annoying problem of the Highlander’s sunroof drains clogging and flooding your footwells!

This assumes that you have already done your best to clear the drains from the sunroof drains itself. there are lots of videos and posts online on how to approach this. What I did was just open the sunroof and fish a long and thin wire cable through each drain hole. They are located in the front corners of the sunroof, about the diameter of a pencil. The rear drainage holes aren’t really accessible from the sunroof, but can be cleared from underneath the car just behind the wheel wells (you’ll need to remove the plastic covering to access the drain tubes).

Here’s a few pics of how I cleared the main drain location. You’ll need to pull back the carpeting and cable housings to get better access. I used a combination of vigorously poking a thin cable through the bolt holes and also using a large syringe with flexible tubing to flush it out. Eventually I was able to get the main drain cleared.

To clear the additional drains, what you want to do is get under the car and locate the exit holes. I used a thin bottle brush (like the kind used to clean those stainless steel straws). Just shove it in each hole and twirl it back and forth to clear the exit holes out. Hopefully, you will see a bunch of water come out if your drain is currently full of standing water.

There are 3 exit holes on each side. Here are the approximate locations. You are looking for an obvious little bump along the pinch welds:

Hopefully your problems will be solved once you have cleared the exit holes! Depending on how level your car is, you may not see water drain out of each hole.

Now, get out your wet-vac and suck up as much water as you can. Then remove the floor mats to help the floor dry out. I used a space heater on a low setting and checked on it throughout the day.

2019 Pivot Mach 5.5 Large (post in progress)

I recently came across a pretty good deal on ebay for this Pivot Mach 5.5 frame and snagged it. It was sort of a shoot first, figure it out later sort of impulse bid, but 2 days later it showed up on my doorstep!

The Mach 5.5 has also been on my shortlist, so it was hard to pass up. The thing that was different about this frame from all of my other bikes is that it is a Large sized frame, and I’ve only ridden Mediums in the past. So it was sort of a leap for me to try a size up for the first time ever.

Before I swapped over the parts from my Spectral, I tried to get an idea of what the longer bike would feel like (and look like):

Pivot Cycles™ Mach 5.5 Red Satin Touch Up Paint Pen

If you ride a Satin Red Pivot Mach 5.5, and have some battle scars, I have a limited quantity of factory touch up paint pens available for sale.

Perfect Match Custom Acrylic Enamel paint pen custom mixed by MyPerfectColor – Brand New and never used!

Retails for $39.77 at – Buy here and save!

Touch Up paint is not available through Pivot! MyPerfectColor is Pivot’s recommended source. Limited quantity batch mixed on Feb 9, 2021 (shelf life of 18 months).
Includes prep and application instructions.

Get yours while they are available! SOLD OUT!

Free shipping in USA by USPS First Class with Tracking. Ships within 1 business day.

Pivot Mach 5.5 Paint Pen - Red

Pivot Mach 5.5 Paint Pen – Red



1993 GT Zasker LE (90’s Ridiculous Build)

This was my first “real” mountain bike.

TL;DR, I spent one summer back home after getting kicked out of college my freshman year for poor grades, so I got a job at a small bike shop and helped out as a sales/mechanic/whatever.

The shop sold GT, so I splurged and picked up this Zaskar LE frame, along with that omg-oh-so-sweet RockShox Mag 21 SL Ti fork with my employee discount.

Lots of purple-anno goodies in the build. Here’s what I can pick out from the photos:

  • GT Zaskar LE frame (16″)
  • RockShox Mag 21 SL Ti fork (63 or 80mm, can’t remember), with ODI clear stanchion booties
  • Selle Italia Flite saddle w/Ti rails and perforated leather(!)
  • Suntour XC-Pro MicroDrive crankset 175mm
  • Ringlé Moby seatpost
  • Ringlé water bottle cage
  • Mavic 217(?) rims with Wheelsmith DB spokes (I built these myself!)
  • Ringlé SuperBubba front hub, MachineTech rear (silent roller clutch!)
  • Continental XC tires (can’t remeber the model, but they were superlight and a bit skinny)
  • ControlTech stem
  • Syncros bar ends
  • Dia-Compe 987 brakeset
  • XTR rapid-fire shifters/levers

My project wishlist is to source all of these parts and rebuild this bike! I’ll probably end up spending 10x for these parts today. Stay tuned!

2018 Canyon Spectral CF 9.0 LTD

New bike time!

After barely a year with the Norco Range, I got a hit on one of my ebay searches for another bike on the wishlist. I’ve read great things about Canyon’s Spectral, but they’re very difficult to come by in the States as they are a German brand that didn’t have a U.S. sales outlet until late last year, when they launched their direct-to-consumer model in the U.S.A (similar to YT Industries).

A few emails back and forth with the seller, an offer was made, and the bike arrived a few days later!

The Spectral is actually the first, brand new complete bike that I’ve ever purchased! The only other bike I’ve bought new was actually just a frameset: my beloved ’93 GT Zaskar LE (post coming soon!).

This Spectral CF 9.0 LTD is their top-of-the-line trim for 2018, retailing for $7K(!). Even at that price it’s a relative bargain considering the spec sheet. I think a similar build from Trek or Specialized (or any dealer supported brand really) would probably top $10K!

It came oozing with FULL [Gooold!] Sram XX1 Eagle, Ultimate brakes, Enve m60 HV’s with Chris King boost hubs, and ultra-wide Maxxis DHF/Rekon 2.6 rubber. Not to mention Fox Factory suspension front and rear, a blingy Renthal cockpit, and a 150mm Reverb to complete the build.

Of course, I had to do what I do…and part all that shit out and swap in the XTR stuff from the Range. I’m a Shimano guy, what can I say?? Plus the parts on the Spectral were worth quite a bit, which I wanted to take advantage of and offset my costs as much as possible.

Here’s what I ended up with:

The only stock parts are the frame/fork/shock, Renthal cockpit, and headset! After much deliberation, I even swapped the enve m60/King wheelset for a set of the new enve m630’s (30mm internal) on DT 240s. They’re lighter (only 1420g!), wider (30 vs 24mm) than the HV’s they replaced, and also use my favorite DT 240s hubs! Don’t get me wrong, I love Chris King, but the 240s are way easier to maintain, are super smooth, and also come in my preferred centerlock rotor mounting interface! Who can knock on Shimano’s XTR Ice-Tech Freeza rotors! They’re the best and only come in centerlock!

So far, I only have a handful of rides on the Spectral, but man is it fun! It’s a little lighter than the Norco, but very flickable and super agile. It definitely climbs better, but I have missed the 160mm travel of the Range a few times here and there. But overall, I think the 150/140mm setup of the Spectral is very well-suited for most of the Bay Area trails I frequent the most. And thanks to the ShockWiz, I managed to achieve perfect 100 scores on both the Fox 34 and DPS rear shock.

The size Medium I have has a reach that’s the equivalent of a Large in the ’15 Norco Range. I am right on the edge of Canyon’s sizing chart between Medium and Large, and I think the Medium is perfect for me.

I also downsized the Maxxis 2.6 tires to my previous Schwalbe Magic Mary and Nobby Nic combo, which I like a lot. I’m not ready for 2.6 (yet)! I still have the tires, though, so maybe I’ll give them a whirl when the Schwalbe’s die.

Speaking of which, the Nobby Nic suffered a few pinch flats while on the Norco that have been bugging me. I scored some of the new Slime Premium Tubeless sealant at Sea Otter and had high hopes for the stuff, but have been totally let down by its performance. I haven’t been able to get the pinch flats or even tiny holes to seal up with the Slime, even after pushing in a few plugs on the larger holes. I’m really surprised. The rep at the booth had a nice demo and it looked very promising, with their long-lasting [tire] “lifetime” expectancy. I think the issue is that the Slime is kind of thick and doesn’t flow like Stan’s does, so it isn’t able to plug holes as quickly. On my last ride at Joaquin Miller, I was pumping my rear tire after each loop!

When I got home, rather than ditch a perfectly good tire, I decided to install a Cushcore tire insert into the rear (I had scavenged a set on a recent parts swap). Yes, it was as horrible as everyone says it is to install. But I got it in there! And while I was at it, I mixed in some Stan’s sealant with the Slime, and it plugged up my pinch flats instantly! Sorry Slime, I tried, but you failed me. I’m going back to Stan’s.

Current build: 27.42lbs incl. rear Cushcore insert and pedals…so probably 26.5 without? Not bad.

Anyway, that’s all for now. I’ll update later with some more ride reports…

2019 Updates:

In my quest to push this bike a little bit further, I swapped in the 2019 Fox X2 rear shock with the 65mm stroke (vs 60mm stock length). That increased the rear travel to about 152mm (best guess). The front got a similar upgrade with a 2019 Fox 36 Performance with 160mm travel and the GRIP2 damper.

Canyon also seems to think this bike can go bigger, as their 2019 Spectral LTD is now spec’d with 65mm stroke rears (for advertised 150mm rear travel) and 160mm front travel using a Fox 36 Factory fork.

I was also happy to discover that it is possible to mount a chain guide to the Spectral using an e-type guide. Canyon provides a special adapter to mount an e-type front derailleur to the rear chainstay:

My bike didn’t come with it, so I contacted Canyon and they sent me one. I installed a FUNN e-type guide, which says it’s not compatible with Oval rings, but it fits perfectly with my AbsBlk oval ring and works great:

Here she is in all her upgraded glory!

And for anyone trying to figure out how to mount ShockWiz to the X2, here’s how to do it:

Read more about this solution over at and rent your ShockWiz, too!