Skip to content →

diego.org Posts

The $12 Bike Tool That Can Save You Hundreds: Why You Need a Chain Wear Indicator

If you ride your bike a lot—commuting, gravel, road, or mountain—your drivetrain is quietly wearing out beneath you. Most of that wear starts with one part: the chain.

The good news? There’s a cheap little tool that can dramatically cut your maintenance costs:

👉 Park Tool CC-3.2 Chain Wear Indicator Amazon

It usually sells for around $11–$16 depending on the shop.  

And used right, it can easily save you hundreds of dollars over the life of a bike.

Why “Chain Stretch” Matters (and Why It’s Not Really Stretch)

Chains don’t literally stretch like rubber bands. The pins and rollers wear down over time, which makes the distance between links slightly longer. That tiny elongation means:

  • The chain no longer meshes perfectly with the teeth on your cassette and chainring.
  • Load gets concentrated on the leading edges of teeth instead of spread evenly.
  • Over time, the cassette and chainring teeth get “shark-finned” and worn out.

worn chain is cheap to replace.

worn cassette and chainring? Not so much.

Meet the Park Tool CC-3.2

The Park Tool CC-3.2 is a simple “go/no-go” gauge:

  • One side measures 0.5% elongation
  • The other side measures 0.75% elongation  

For modern 11–12 speed drivetrains (like SRAM GX Eagle), most mechanics recommend replacing the chain around 0.5% wear to protect your cassette. Older 8–10 speed systems can usually go a bit further, up to around 0.75%.

How it works:

  1. Hook one end of the tool into a link.
  2. Try to drop the opposite end into the chain.
  3. If the 0.5% side drops in cleanly on an 11/12-speed chain → time to think about a new chain.
  4. If the 0.75% side also drops in → you’ve waited too long; the cassette is probably already wearing.

That’s it. No math. No measuring. Just “keep” or “replace.”

The Economics: SRAM GX Eagle Example

Let’s put some real numbers on this using a SRAM GX Eagle 12-speed drivetrain, a super common “mid-pack” group set.

Approximate street prices (US):

PartApprox. Price (USD)
Park Tool CC-3.2 chain checker$12–$16
SRAM GX Eagle 12-speed chain$35–$45
SRAM GX Eagle XG-1275 cassette$220–$255
SRAM GX Eagle direct-mount chainring$40–$50

(Of course, prices vary by shop, sale, and region—but these numbers are a realistic ballpark.)

Now let’s look at two riders over 3,000 miles of riding.

Rider A: Uses a Chain Checker, Replaces Chains Early

Rider A checks their chain regularly. On a modern 12-speed drivetrain, a chain can often go roughly 1,000 miles (give or take—conditions matter) before hitting 0.5% wear if it’s cleaned and lubed reasonably well.

So over 3,000 miles, Rider A might use:

  • 3 chains × ~$40 each ≈ $120

Because the chains were replaced before they got too worn, the cassette and chainring stay in good shape and don’t need replacing yet.

Total drivetrain wear cost for 3,000 miles: ~$120

Cost per mile:

  • 120 ÷ 3000 = 0.04 → about 4¢ per mile

Rider B: Never Checks Chain Wear, Waits Until It Skips

Rider B just rides. No checking. Eventually, the chain gets so long that:

  • Shifting starts to feel rough
  • The chain skips under load
  • The cassette teeth are visibly hooked

At that point, you usually can’t just slap on a fresh chain—

the cassette is worn to match the old chain, and a new chain will skip.

So Rider B ends up needing:

  • 1 new chain ≈ $40
  • 1 new cassette (XG-1275) ≈ $240
  • Possibly 1 new chainring ≈ $45

Total: ~$325

Now do the same cost-per-mile math over those 3,000 miles:

  • 325 ÷ 3000 ≈ 0.108 → about 11¢ per mile

The Bottom Line: 4¢ vs 11¢ per Mile

  • Rider A (with a $12–$16 chain checker): ~4¢ per mile in wear parts
  • Rider B (no checker, just rides it into the ground): ~11¢ per mile

There is also a higher likelihood that the chain will break before the 3000 miles, causing this expense earlier.

Even if the exact numbers shift a bit for your terrain, weight, and riding style, the pattern is clear:

Replacing chains early is dramatically cheaper than replacing chains + cassette + chainring later.

And that $12–$16 Park Tool CC-3.2 pays for itself the first time it saves your cassette. After that, it’s just making you money.

How to Use This Tool in Your Routine

You don’t need to obsessively measure your chain every ride. But building a simple habit makes a big difference:

  • If you ride a lot (3–5x per week):Check every 2–3 weeks or roughly every 300–500 miles.
  • If you’re an occasional rider:Check once a month or after a few big rides.
  • If you ride in mud, rain, or dust:Check more frequently; grit accelerates wear.

A quick routine:

  1. Wipe down the chain (cleaner chain = more accurate reading).
  2. Drop in the CC-3.2 on the 0.5% side.
  3. Read the tool
    • If it doesn’t quite drop all the way in → keep riding.
    • If it drops in easily on a GX Eagle → order a new chain.
  4. Swap the chain before it reaches 0.75% wear.

Comments closed

How to Build a DeskHog

Want to build your own DeskHog but found the official project page lacking in instructions? I did too. Here’s the step-by-step guide I wish I had when I started—complete with photos, links, and tips.

Hardware & Files You’ll Need

From the project README:

  • ESP32‑S3 Reverse TFT Feather (Adafruit 5691)
  • (Optional) PKCell 552035 LiPo battery (350 mAh) Adafruit
  • 3D-printed enclosure, print: 3mf file

Printing the Case

I downloaded the .3mf file and imported it into my 3D printer software. The slicer recommended adding supports, which I did.

I used PLA+ at 0.2mm layer height

Here is what the print looked like:

The print includes 3 pieces:

  1. Bottom case
  2. Top case
  3. Keypad

After printing, I removed the supports and cleaned things up with a knife and sandpaper. The hardest part was getting the keypad to fit cleanly into the top case.

Here’s the final result after cleanup.


Assembling the Hardware


Attach the LiPo battery to the board.


Place both inside the bottom case.


Snap the top case on.


Connect the DeskHog to your computer via USB-C.

Setting Up the Firmware

1. Clone the repo:

git clone https://github.com/PostHog/DeskHog.git
cd DeskHog

2. Install the UV Package Manager (if you don’t have it)

I’m using UV package manager to make this process easier. If you don’t have uv install, here is how:

Install uv

curl -Ls https://astral.sh/uv/install.sh | sh

Or use Homebrew (macOS):

brew install astral-sh/uv/uv

Make sure it’s working:

uv --version


3. Create a Virtual Environment

uv venv
source .venv/bin/activate # macOS/Linux
python -m ensurepip

This creates and activates a fast Python virtual environment.

4. Install PlatformIO, which the project uses to build and flash the firmware:

uv pip install platformio

5. Flash the Firmware

Make sure you’re in the root project folder (where platformio.ini lives), then:

platformio run --target upload

This builds and uploads the firmware using USB (with Auto-DFU support).


6. Power and charge:

To power off: Hold the ● + ▼ buttons.

To power on: Press the reset pad.

Charging is automatic when plugged into USB-C.

What It Does Out of the Box

Once booted, you’ll see:

  • ProvisioningCard: Shows a QR code for Wi‑Fi setup
  • InsightCard: Displays PostHog data
  • FriendCard: A sweet ‘encouragement’ screen featuring Max the hedgehog

Connecting to Wi-Fi

Once powered on, the DeskHog shows a QR code for Wi-Fi setup. Scan it to connect to your network—just pick your SSID and enter the password.

From here you can select your network and enter your password. Once connected you’ll see 2 screens. A screen with: WiFi, IP, Signal, Version and API. And a FriendCard

Add PostHog Insights


Go to the IP address displayed on your DeskHog.


You’ll see the configuration page.


Enter your PostHog Team ID (or Project ID) and a read-only API key.


Add the Insights you want to display.

And you’re done! You now have your own fully functional DeskHog.

Final Thoughts

This was a fun weekend project. If you’re already using PostHog, it’s a nice little dashboard for your desk—and a conversation starter too.


Comments closed

Script to Download the Kensington Outlook

I recently put together a small Python script to automate downloading all the available Kensington Outlook newsletters from the Kensington Community Council website.

I wrote it because I enjoy reading the Outlook on my iPad. Until now, I had to go through the site and manually download each PDF. This script fetches all the PDF links from the site, downloads them to a folder on my Mac, and skips any files that are already downloaded. That folder is synced to my iPad, so I can easily read the latest issues offline.

You can check out the code here:

👉 github.com/dougdiego/py-download-outlook

Setup and usage instructions are in the README.


Comments closed

How to Disable the File Extension Change Warning on macOS

Have you ever encountered this pop-up when trying to change a file extension?

Are you sure you want to change the extension from “.txt” to “.md”?

If you make this change, your document may open in a different application.

This warning can be helpful, but if you frequently change file extensions and find it unnecessary, you can easily disable it. There are two ways to do this: via the GUI (Graphical User Interface) or the CLI (Command Line Interface).

Disable via GUI

  1. Open the Finder
  2. In the menu bar, go to Finder > Settings…
  3. Click on the Advanced tab.
  4. Uncheck “Show warning before changing an extension

Disable via CLI (Terminal)

If you prefer using the command line, you can disable the warning using Terminal commands.

Disable the Warning

defaults write com.apple.finder "FXEnableExtensionChangeWarning" -bool "true" && killall Finder

Enable the Warning Again

defaults write com.apple.finder "FXEnableExtensionChangeWarning" -bool "true" && killall Finder

Check the Current Setting

defaults read com.apple.finder "FXEnableExtensionChangeWarning"

Reset to Default

defaults delete com.apple.finder "FXEnableExtensionChangeWarning" && killall Finder

For more defaults commands, check out: https://macos-defaults.com

Now you can change file extensions freely without interruptions! 🚀

Comments closed

Ford Transit Fuel Door Replacement

The fuel door on our 2021 Ford Transit broke. Unfortunately, it’s held together by a flimsy plastic piece, which makes it prone to damage.

When I took the van in for a routine service at the Ford dealership, I asked for a quote to fix the fuel door. They quoted me over $600, which included the cost of the door and painting it to match the van. Needless to say, I decided not to get it fixed there.

Later, I did some research online and found that replacement fuel doors could be purchased for around $50. I also came across an excellent video tutorial on YouTube  Ford Transit Fuel Door Replacement – YouTube  that showed exactly how to replace it.

Parts and Tools Needed

Here is what the door looked like:

The tools used:

Using the tools, I first unscrewed the T25 Torx screws holding the fuel door and surrounding panels in place. Then, I carefully used the trim removal tools to pop the panels off. The process was straightforward, and none of the clips broke during removal.

I positioned the new fuel door assembly in place, secured it with the Torx screws, and snapped the panels back on. It was a seamless fit, and everything went back together smoothly.

And screwed it in and snapped the panels back into place. The final result:

For those who prefer a seamless look, it’s possible to transfer the painted panel from the old fuel door to the new one. However, I liked the sleek black look of the replacement door and decided to keep it as is. I saved the painted panel in case I change my mind in the future.

The entire replacement process took just 10 minutes. By doing the repair myself, I saved over $550 compared to the dealership’s quote. If you’re dealing with a broken Ford Transit fuel door, I highly recommend tackling this repair yourself. It’s quick, easy, and cost-effective.

Comments closed

A list of books I read in 2024

Here is a list of book that I read in 2024

Comments closed

Electric Gooseneck Kettle – Fellow Stagg EKG vs DmofwHi

I’ve owned and used a Fellow Stagg Gooseneck Kettle for about 5 years now. It’s been a great kettle. Recently I wanted a kettle for my home office, so I could make tea while working. I didn’t want to spent $165. on a Fellow and started looking around. I was drawn to the DmofwHi Gooseneck Electric Kettle in Green. It was simple and beautiful. I spent some time researching it before buying for $39.99. Below are some thoughts on the two kettles.

DmofwHi Gooseneck Electric Kettle (1.0L)
Fellow Stagg EKG Electric Gooseneck Kettle (0.9L)

Comparison

FeatureFellowDmofwHi
Price$165$39.99
Capacity0.9L1.0L
Material304 stainless steel304 stainless steel
Watts1200 W1000 W
Temp. ControlYesNo
Temp. Hold60 min60 min
Auto ShutoffYesYes
Boil-Dry ProtectionYesYes
Spout Size0.7 CM0.8 CM
Prices as of 2023-12-18

Fellow Stagg

This has been a great kettle. It has lasted over 5 years with no problems. It boils quickly and pours precisely.

The spout size on the Fellow is way too narrow. You need super patience when pouring. This is OK when pouring a drip coffee and you want to be precise, but frustrating when pouring tea. I often find myself tilting too far and water comes out the top. I have to tell myself slow down.

It has features I never use through. I don’t ever change the temperature, expect by accident. At which point I need to find the manual to set it back to what is was. But others may want to dial in exactly the temperature.

DmofwHi

I’ve only been using the DmofwHi for about a month, but love it already. It boils quickly. At 1000 Watts, it will be slower than the Fellow. But I’ve never noticed.

I love how quickly it pours. And I’ve never spilt water out the top while pouring.

And I’d assume that being less complicated, there are less things to break over time.

Summary

The Fellow has been a great kettle. But the DmofwHi at a fraction of the price gives me everything I need. I would happily buy the DmofwHi again or give it as a gift.

Comments closed

Xcode must be fully installed before you can continue. Continue to the App Store?

Are you using Xcodes.app and Expo and seeing this error when trying to run the app in the simulator?

› Opening on iOS...
✔ Xcode must be fully installed before you can continue. Continue to the App Store? … yes
Going to the App Store, re-run Expo CLI when Xcode has finished installing.

The problem is that Xcodes installs apps with a version like: Xcode-15.2.0.app. Where the App Store installs it like: Xcode.app

All you need to do is let it know when you Xcode is with the following command:

sudo xcode-select -s /Applications/Xcode-15.2.0.app/Contents/Developer
Comments closed

Bike Shop Etiquette

Visiting a bike shop for repairs or maintenance is a routine part of a cyclist’s life. However, it’s not just about dropping off your bike and picking it up later. There’s an unspoken etiquette that ensures a smooth experience for both you and the shop’s staff. In this guide, we’ll go over some key points to remember before your next visit.

1. Clean Your Bike Beforehand

It’s basic courtesy to clean your bike before taking it in for service. A bike caked in mud or road grime can make the mechanic’s job more difficult and time-consuming. While bike shops are equipped to handle dirty bikes, they’re not a cleaning service. If you bring in a particularly dirty bike, be prepared to pay an additional fee for cleaning. A clean bike also helps the mechanic accurately diagnose and fix issues without dirt obscuring any problems.

2. Be Mindful of Shop Hours

Just like any other business, bike shop employees appreciate customers respecting their operating hours. Avoid bringing your bike in for service minutes before the shop closes. This doesn’t give the staff enough time to assess your bike and can lead to rushed or deferred service. Plan your visit with ample time for the staff to help you properly.

3. Know What You Need

Having a clear idea of what service or parts you need can greatly expedite your visit. If you’re unsure, that’s okay too, but try to describe the problem as best as you can. This helps the mechanic understand your needs and provide the right solution.

4. Patience is Key

Sometimes, the repair or service you need might take longer than expected due to various factors like parts availability or workload. Be patient and understand that the mechanics are working to provide the best service possible.

5. Trust the Experts

Your local bike shop staff are likely experienced and knowledgeable. Trust their advice and recommendations, even if it’s not what you initially had in mind. They understand bikes and can offer insights that might save you time and money in the long run.

6. Respect the Space

Remember that the workshop area is for staff only. It’s tempting to hover and watch the repairs, but this can disrupt the mechanics’ workflow and space. Feel free to ask questions, but also respect their workspace.

Following these simple guidelines of bike shop etiquette not only ensures a smoother experience for you but also shows respect and appreciation for the mechanics’ hard work. Happy cycling, and remember to treat your bike shop visits with the same care and respect you give to your bike!

Comments closed

Speedy Shoe Drying Tips for Cyclists

If you do a lot of winter riding, your shoes often come home wet or muddy. Cleaning those muddy shoes makes them wet. How do you dry them quickly, so you can get back on the trail (or road).

1. Grab a newspaper.
When it comes to quick shoe drying, the trusty newspaper is your best ally. It’s cheap and easily available. I usually get it from my neighbor.

2. Extract a single sheet.
Select a single page from the newspaper.

3. Fully unfold the sheet and crumple it into a ball.
Spread the sheet out, then crumple it into a compact ball.

4. Insert the newspaper ball into your shoe.
You can typically fit around three newspaper balls into each shoe.

5. Let it sit until the newspaper becomes wet.
Allow some time for the newspaper to absorb the moisture from your shoes.

6. Remove the newspaper when it’s saturated.
Once the newspaper feels damp or wet to the touch, take it out of your shoes.

7. Repeat if necessary.
If your shoes are still damp, repeat the process with fresh newspaper balls until they are adequately dry.

How long should you leave the newspaper in your shoes? The drying time depends on the initial moisture level. If your shoes are thoroughly soaked, the first round of newspaper may take anywhere from 5 minutes to an hour. For mildly damp shoes, leaving them overnight should suffice.

Additional Tips:

Consider Removing Insoles and Laces: In cases of extreme wetness, it’s advisable to remove the insoles and laces from your shoes. This allows for better airflow and ensures a more effective drying process.

Eco-Friendly Disposal: Don’t forget to dispose of your wet newspaper responsibly. Consider composting it to minimize waste and contribute to a sustainable environment.

With these practical steps and tips, you’ll be well-equipped to rapidly dry your cycling shoes and get back to your favorite trails or roads, no matter how wet or muddy they may be.

Comments closed