I currently have my Orbea Avant on the trainer. This is my long-distance bike and I use it for Century rides and day trips. I recorded a video a short while back showing how much the frame flexes when the bike is used on the trainer and this has me worried about wear and fatigue.

I've decided to put together a trainer bike that will stay on the trainer full time.

Enter my first bicycle, a Schwinn Circuit hybrid that went through a host of upgrades. This one has rotten ergonomics but most of the parts are low mileage.

An eBay Diamondback Century 1 frameset, a new headset and a smaller 9-speed cassette and we're ready for a build.

The intent here is to use good-enough components to get this into a workable training bike with the intention of not using it on the road. So to that point, old and used parts are ideal.

As I'm sure you're aware, it's winter time. It's cold, it gets dark early and the roads are covered in snow, ice and gravel. I don't enjoy riding much below 50F, so it's time to move the cycling season indoors. To do that, I decided to buy a trainer.

I'm new to the whole indoor trainer thing so I sat down and thought about what I expected for indoor training. My requirements included having the ability to connect to software remotely, have the trainer manipulate resistance automatically, and the ability to ride virtual routes including videos and workouts. I wanted the trainer to be controlled by virtual ride software so that resistance changed throughout the ride.

Once you start down the research path, you'll discover dozens of good smart trainers. I had originally considered Kinetic's Rock and Roll as I liked the idea of swinging the bike side to side in a sprint. But after some research, I decided it didn't support all of the connection protocols I wanted. Eventually, I chose CycleOp's Magnus trainer. Specifically, I liked that it supports both ANT+ and Bluetooth connectivity. I asked for that Magnus trainer for Christmas and my sweet wife got it for me. We found a sale at REI and was able to get one under $500, including the front wheel stand.

I set up the trainer in my basement and attached my Orbea Avant. I installed a Vittoria training tire and a Cycleops front riser stand. To keep cool, I stuck a box fan on a table I had laying around.

To run training apps, Netflix, Youtube and other applications, I decided I wanted a dedicated PC so I bought a used one on eBay (more on this in a moment). I set up an older Dell LCD monitor and sound bar on an old laptop stand my wife had in the basement. It put the monitor in the right place and gave me a surface for the keyboard and mouse. Here's the general setup:

My previous experience with indoor training included riding the exercise bikes at various hotels during travel. Those were mostly LifeCycle bikes with the riding interface that allows you to ride along video routes while the program changes resistance. I wanted a similar experience from my trainer.

My original thought was to use an application called Rouvy. Rouvy lets you ride virtual routes which are filmed by riders and are available from all around the world. I liked that idea.

After about 40 miles miles on Rouvy, there were a few things that really detracted from the experience. Several of the ride videos are filmed using cars, not bikes, so they are out in traffic, at a high vantage point, and moving at speeds I wouldn't ride in real life. This distracted me enough to keep me from getting my head in the game. Rouvy also seemed to have issues controlling my smart trainer's resistance. Small changes in % grade would result in large changes in resistance which I found frustrating.

A friend of mine who is an avid cyclist recommended Zwift. I looked into it and after reading several reviews, thought I'd give it a try. Zwift is an online game, if you will, that connects to your smart trainer and controls resistance to match what you ride within it. It features a video-game like environment where you and a host of other riders ride can ride around. Within this environment, you see those other riders, along with their nationality, power specs, current mileage and position. You can ride freely within this environment, access a workout, join a group ride or even accept a challenge (like, say, burn 10k calories in a month, or take on an elevation goal). This social aspect really makes Zwift appealing.

After verifying that my trainer would work, I signed up. There is a membership fee of $14 per month. After joining Zwift and starting a ride, you're greeted with your [customized] avatar standing roadside with one pedal clipped in. Start riding and your avatar starts too. This avatar matches your cadence and away you go. As you ride along, other riders zip past, their name and nationality displayed alongside thier avatars. Gain speed and you too, pass other riders. When you near another rider, the program encourages you to close the gap. Those faster riders motivate you to ride faster to keep up.

If you choose to ride a loop, Zwift will challenge you, including sprints and other in game challenges. In game rewards open up new features and avatar customization, as you'd expect with any video game and these keep you motivated. As you zip through the Zwift world, you are drawn in and forget that you're in a basement or garage. The challenges and other riders give you a varied ride and make the whole thing fun. You push it and no longer notice the work or the pain or the sweat.

Zwift can connect to a trainer, cadence sensor, speed sensor, power meter and heart-rate monitor. I use the trainer for cadence and speed and a Wahoo TICKR for the heart rate monitor. The trainer and monitor both connect through ANT+.

  • Connecting Bluetooth devices requires a smart phone to act as a translator between the device and Zwift. This is an important consideration if your trainer doesn't support ANT+.

Because Zwift is a video game, it requires video game type hardware if you want a really good experience. I run it on a dedicated PC, an old HP 8300 (i5-3750) that I bought on eBay for about $140. I've upgraded the memory to 16GB, installed an SSD and upgraded the graphics card to a Geforce GTX 1050. This setup lets me ride in 4k high definition and the graphics experience and frame rates are fantastic. I've added Bluetooth and ANT+ dongles to support my trainer, a heart-rate monitor, and a pair of wireless headphones and the experience is seamless.

Of course, you can run it on your phone or iPad at lower resolutions, too.

So if you're stuck in a place with a winter climate, I highly recommend both the Magnus trainer and Zwift.

While having the house painted, the painters noted some rotten trim on the octagon window on the front of the house. Since painters are painters and not necessarily carpenters, I asked them to paint around it, expecting I would repair and paint the window myself.

I set aside half-day on a Saturday in November with the intention of replacing the trim. A few minutes into trim removal, I realized that the entirety of the lower portion of the window was rotten. Ugh. This is going to take more than some trim paint.

The first thing I did was remove the rotten trim. Of course, I broke the window glass in the process. Damn. This was done by cutting the caulking and prying the trim loose using a wonder bar.

Once the trim was gone, I noted that the bottom of the window was also rotten. A previous owner had installed a piece of Plexiglass on the inside of the window and sealed it in place using clear silicone caulk. I suspect that moisture built up between the glass panels and slowly rotted out the wood.

I removed the rotten sections of window casing using a vibrating saw. Because this window is octagonal, the pieces interlock to a degree that pulling them using a hammer wasn't feasible. Cutting them allowed me to then pry them upward and remove them. Here's the window with all of the rotten wood removed. Note that I'm leaving the top three pieces of casing in place.


This is about as far as I needed to go with demolition. First step was to replace the lower casing. For this, I measured the width of the remaining casing. In this case, 6". I then ripped a piece of #1 pine down to 6". Because this window is an octagon, each piece meets the next at a 135 degree angle. I cut three pieces of the 6" stock to 22.5 degrees and tested the fit. To my surprise, they were consistently 9 3/4" long and all slid in place.

I used Gorilla Glue's polyurethane glue to glue the new pieces in place. To do this, I moistened both sides of the joint and then applied a thin layer of the glue. Polyurethane glue uses moisture to cure and so that's why you wet the joints. I then installed the new casing pieces and used shims to press the joints tightly together. I finished this by driving finishing nails through the casing into the framing.


To secure and seal the new glass, I added some door stop molding to the inside of the casing. I glued the molding to the casing using the polyurethane glue and secured it with brads. This will give me a surface to push the glass into, allowing me to seal it. As with the casing and trim, these pieces were cut to 22.5-degree.


Well this cured, I cut the shims off using my vibrating saw and took on the task of making new trim. Given the style of our home, a passive solar house from the early 80's, I didn't want to do anything fancy with the trim. Not even brick molding. So I used some more of that #1 pine stock and ripped it down to 3". I then cut 8 pieces at 22.5 degrees.

To hold the trim pieces in place, I applied a bit of polyurethane glue and then used my brad nailer with 18-gauge, 1 1/4" brads. I shot the brads into the casing.


I let this all cure overnight, mostly because I ran out of daylight. The next morning, I fabricated rails and stiles from 3/4" #1 pine. I ripped this down to 3/4". I chose this measurement to give me some strength and to give me a thicker look to the panes. The stiles and rails were then secured to another 3/4" piece of pine and the whole thing secured to the casing with glue and brad nails.

I cut pieces of glass into the four diamond shapes and pressed them into the new stiles/rails, securing them with a small amount of DAP glazing. This glazing gives a bed to hold the glass and seals out the weather. I then ripped some length of the 3/4"x3/4" pine with a 45-degree chamfer and installed it on the outer side of the window pane to finish the outside of the window. Here's the result, with a bit of primer:


I finished the window by caulking all seams and openings and then painted it brown to match the rest of the trim on the house. I think it looks pretty good.


After painting our Passive Solar home in a modern scheme, the house numbers we had, which admittedly were temporary, really didn't fit the style of the house. My wife suggested maybe some larger house numbers would look nice.

I initially searched for pre-made numbers but only found a few and they were expensive. So I then thought I'd design some in AutoCAD and have them water cut from Aluminum. But that approach wasn't much cheaper.

Then I decided that cutting them from plywood would be the best alternative. Here's how I made these house numbers.

I have a couple of old Dell Hybrid Studio machines. These are a very small form factor desktop machine that uses laptop components and very little power. They have C2D processors and only support 4GB of ram per Dell's specification.

BUT, the machine will support 8GB of memory. I've used PC2-6400 laptop RAM in 4GB chips to achieve this. Since these have 2 ram slots, you need two (2) of the 4GB chips.


Inside the BIOS, the system reports the 8GB of memory but indicates only 3GB is usable.


Once in Windows, however, the system reports the 8GB in full. I've used Intel's testing utility to load the memory beyond 3GB and it has used the full 8GB.


So if you have one of these and you want to improve performance in Windows 10, an 8GB memory upgrade will work and the system performance will improve dramatically. If you pair that with a T9500 CPU (which also works quite well), you'll notice remarkable performance improvements.

I'd mentioned earlier that we had a company come out to paint the house. Well, it's done. Our experience with that company was mostly good though we had some concerns with professionalism. I won't talk about those here.

The good news is, the house is painted and we like the way it came out. The bad news is that the painters found some rot. I'll share the fix for that rot in a subsequent post when I find time to write it up.

The blue tone we chose, Sherwin William's Distance, is more blue than we'd anticipated. And the Urbane Bronze, more blue too. But we lucked out; both colors go quite well together.



It's time to repaint the house. Yeah, that fun exercise. While we only bought this house a year ago, it needs paint pretty badly. And while we didn't notice this at the time of the sale, its become quite evident now.

I don't have the time to tackle a paintjob so we decided to farm out the work. I mean, I could start it, but honestly the house would be in a state of painting for the next five years and that isn't so cool. So like I said, we're going to paint someone else to do it.

  • The big decision is who. Who will paint it? Once that's said, the second big decision is what. What colors will we use?

Our home is a passive solar home, built in the early 1980's. It has what I'll call love-hate architecture. There are parts I love, there are parts I hate (I'm speaking to you, octagon window!). Some previous owner (clearly) painted it a yellowish-uck and tealish green mess and I don't' like it. It makes me sad. Sad, I say.


The painters we chose, Peak Pro Painting (more on them later) uses Sherwin Williams paint. We needed their paint codes. Sherwin Williams has a really nice color application called Colorsnap Visualizer. It lets you explore colors, upload photos and colorize them in the colors selected.

On a flight from Denver to Minneapolis, I used my Surface Pro and Southwest's wireless to upload and colorize the photos. Here's what I came up with after a few iterations. Most notable, using two main colors for the stucco panels and painting the two garage doors different colors. Whoa, right?!


While the Colorsnap application is good for choosing colors, it's not great in representing the actual finished product. So once we knew the colors, I decided to use Photoshop and lay them out on photos of the house.

Using my Photoshopping mojo, I mocked up the paint scheme on a few photos of the house, showing different angles. The general theme: Brown panels on the center of the house, blue panels on the outsides and brown trim thrown in for good measure (holy brownsville, batman).

Here's how those came out:





These mockups were enough for us to choose colors. When all said and done, we went with Sherwin Williams Distance and Sherwin Williams Urbane Bronze for the main house colors. Urbane Bronze was used for all trim and the front door, Sherwin Williams Invigorate.


The painters started on the house late Sunday 11/26. Since I'm here in a hotel room in the great state of Minnesota, I'll have to hold off on sharing progress photos. But I promise to show off the finished product when do get home. Stay tuned boys and girls.


I have a Surface Pro 4 that I bought about 18 months ago. I travel frequently for work and I love its versatility. Its an I5 model with 8GB ram and a 256GB SSD. Not bad specs.

It's worked flawlessly until, well, last night. While using it for email, it began to get a screen flicker. I can best describe it as the screen moving up-and-down a few pixels. Only the bottom 2/3 of the screen does it.

I did some troubleshooting; new drivers, updated firmware, nothing fixed it. I noticed, too, it does it even on the Surface logo when starting up. Most certainly a hardware issue. And as best I can tell, not fixable. It's now a $2k paperweight, unless I want to use it as a desktop, which I don't.

This is disappointing. I'd taken such good care of it and it still looks new. It's never overheated, never been dropped; its in excellent condition. This is most certainly a design flaw.

After a series of Google searches, it seems to be a common fault that occurs between 12 and 24 months of usage. Reliability with these is such a problem that Consumer Reports recently added them to their do-not-buy list. Bummer.

With some more testing, I've noted that the Surface screen flickers at startup and when cold. But once it becomes warm, it stops and is normal until it cools down again. A thermal related glitch makes me think the problem lies with the hardware circuitry. Since the problem is not noted on an external monitor, it would seem its related to the control board for the Surface's LCD. I would say this is a manufacturing defect and one that reveals itself after a certain number of heat-cool cycles. Too bad that number seems to keep the problem from revealing itself until the device is out of warranty.

Microsoft, if you're listening, shame on you for not fixing this.

'Cause what else are you going to do on a Royal Enfield?


It was a cold, cold, well, okay, not super-cold, morning here in Boulder, and I had plans to meet my friend Ed in Fort Collins for a short day of geocaching on the motorcycle. I figured the cold morning didn't matter because as Ed put it, "the weather lady promised 60F by noon".


One of Ed's bikes is a Suzuki DR350. It's not fast but a lot of fun to ride slow. A perfect companion for my 500cc Royal Enfield, which is also slow, at least, by modern standards. With a top-speed, realistically, of somewhere around 65mph, its best suited for back roads.

  • Geocaching on a motorcycle is a hoot, especially with friends. It gives you a reason to get out and ride without the expectation of epic roads and adventurific travel. Perfect for slow bikes and casual days out with friends.

I suited up in my favorite Rev'it gear and headed north. The plan was to meet Ed at a small artisanal bakery in Berthoud called Rise at noon. What a nice place; if you ever find yourself in Berthoud, Colorado, around lunchtime, I highly recommend it, especially for the sourdough.

Anyhow, we had a good lunch, talked about home projects and family and work. Using Ed's iPhone and the GeoCache app. The first destination? The intersection of a couple of county roads and something that looked like the entry into a gated community. Let's do it.

Now, I am one of like, maybe 1000 people in the US who still uses a Windows Phone. The official Geocache app doesn't work on my phone. And the app pickins' are slim. But I found one, Geocaching Pro, which I like and which works every-bit as well as the official app. So if you're in my boat, give it a try.


A quick 15 minutes had us parked and walking around a neighborhood entry sign. This one had a camera and that always makes me nervous but we wandered around like we belonged and nobody came to see what we were up to. Hiding beneath the "I", I found the cache. A small pill bottle with a log and a few stickers. Ed snagged a Sponge Bob sticker, we noted our names on the log and picked the next location.


The day took us to a boat ramp, to a hiking trail and to an old nesting post out in the middle of nowhere. We followed the routes to half-dozen caches and then as the sun began to set and the temperature began to drop, decided to call it a day.


As I rode home, north-to-south, with the setting sun to the right, long shadows and the chrome of the Enfield gleaming, a smile ran across my face and I laughed to the wind. What a great way to spend the day!

If you've never geocached, I recommend it. And if you've never done it on a motorcycle, well, give it a shot.

After getting a bit of a Mac bug after my G3 and G4, I wanted something a bit more modern. After some research, I really liked the A1278 model and bought one (2.0 ghz Core 2 Duo, Late 2008) on eBay for a hundred dollars a few weeks back. It worked, had OSX El Capitan installed, and looked to be in pretty good shape with one exception; the seller noted that the keyboard was flaky. It came, looked good, and just like the seller said; the 7, u, k and , keys did not work.

I suspected that this was caused by spilled liquid corroding the traces on the keyboard and set out to replace the keyboard. This Macbook does not have backlighting and I thought it best to replace the keyboard with a non-backlit version (though now I wish I had purchased the backlit version as it isn't much more expensive).

So let's take a look at how to replace the keyboard on this thing. The general process for replacing the keyboard on this model is as follows:

Overall Process:

  1. Remove the bottom of the case
  2. Remove the battery, hard drive, fan and optical drive
  3. Disconnect the logic board connections
  4. Remove the logic board
  5. Pull out and replace the keyboard
  6. Reassemble

What you'll need:

  1. A new keyboard
  2. Replacement screws (trust me, buy these!) - I found them on Amazon as a set of 100
  3. Phillips #00 and #000 (PH00 and PH000) precision screwdrivers (to help you strip the heads off of those little screws
  4. A smudging tool
  5. Patience and cunning

And while you're at it:

  • Consider installing more RAM
  • Consider installing an SSD
  • Replace the processor thermal paste


My A1278 is a late-2008 model. iFixit had a guide on disassembly of it but not including the keyboard. I found a guide for the late 2010 A1287 and, with a few exceptions, it worked for disassembly of my 2008 version. iFixit guide for removing the A1278 keyboard. The guide says 1-2 hours; I think that's about right, moving at a slow, careful pace.

I won't give you the full disassembly process as iFixit does a great job of this. Instead, I'll add some clarification as needed.

I did use a muffin tin to hold the screws. It worked much better than trying to put them in bags or cups.

Removing those damned little screws:

As I suspected, this keyboard was exposed to moisture. Many of the itty-bitty (teeny-weeny) screws that hold in the keyboard were corroded with one down-right rusty. This added difficulty to an already difficult task.

Even with the right screwdriver, those little screws are a pain. I found them to be somewhere between PH000 and PH00 in terms of size, with the PH00 often being too big while the PH000 often too small and pointy. I found that placing either one of these screwdrivers into the heads of the screws, rocking them back and forth to seat them and then pushing downward while unscrewing helped. But I still tripped out half-dozen with three being particularly stubborn. Don't plan on reusing the old screws; life will be much better if you have new ones to install.

Cleaning things up:

As with everything I pull apart, I chose to clean up the parts while disassembled. I found the fan full of hair/fuzz, the logic board covered in dust and the keyboard liner (white plastic thingy) covered in crumbs and grime.

For the fan, I blew it out using compressed air. A ton of nastiness came out.

For the keyboard liner, I washed it carefully in my sink using hot water and dish soap. This part has adhesive on it and that adhesive was covered in crumbs. The hot water and soap removes the grim and, surprisingly, leaves the adhesive sufficiently tacky.

For the logic board, case, and other parts, I used a soft-bristled paintbrush to wipe the dust free. This removed the dust, fuzz, crumbs and cat hair.

Thermal Paste: While I had the logic board off, I decided to remove the heatsink and replace the thermal paste. The original paste was hard, dried up and generally nasty. I applied a think layer of Arctic Silver and put the heatsink back on. This should help with heat, especially with the cleaned fan.


While I'm at It:

I decided to upgrade the memory and install an SSD while I had the Macbook apart. Neither of these really required it to be this disassembled; it just gave me an excuse.

Memory Upgrade: I bought an 8GB (2x4GB) kit of Crucial 1066mhz DDR3L ram on Amazon. The ram is listed as copatible with 2010 through 2012 Macbook models but the specs are the same for the 2008 and 2009 versions. When I disassembled the A1278, I found it had a single 4GB module installed. I'd suspected it was 2x2GB. Had I known, I'd have saved some money and just bought a signle 4GB module. But I didn't. Anyhow, the memory popped in without issue and the system recognizes the full 8GB. If you happen to have an older A1278 and it won't recognize it or it runs like crap afterward there is an EFI firmware update that will fix the problem.

For the SSD, I used a Samsung 850 EVO. I took an image of the original hard drive using TransMac (on my Windows 10 PC) and saved that on my desktop. I then connected the Samsung SSD and used TransMac to format and image it. When done, I had a cloned drive, ready to install. If you do work on older Mac's and only have a Windows PC, I recommend you get a license for TransMac. I've used it dozens of times and it makes this sort of thing quick and painless.

Final Considerations:

With a couple of screwdrives, an hours worth of time and a spare computer with iFixit, you can replace your keyboard. The most difficult part was removal and installation of the tiny keyboard screws. But otherwise, disassembly and reassebly were straighforward and not particularly difficult.

On my A1278, replacing the keyboard did the trick and it's up and running, and running quite well. The SSD and memory upgraded made a noticeable improvement on boot-up though not much else that I can tell.