The Taylor's

If you're here, you're lost!

Adding Bootstrap IntelliSense to Visual Studio Code

Thanks to this tip on StackOverflow, here is how you add Bootstrap IntelliSense to your Visual Studio Code project.   It’s a bit tedious, so hopefully there will be a Bootstrap extension in the future that will automate all of this.

  1. Install the HTML CSS Support Extension as an extension to VS Code.
  2. Add Bootstrap to your project.  If you’re using Node Package Manager (NPM):
    npm install bootstrap@3
  3. Go to File -> Preferences -> Settings in VS Code and select Workspace from the USER SETTINGS dropdown on the right.  Add and save the following code:
     "editor.quickSuggestions": {
     "comments": false, // <- no 24x7 IntelliSense in comments
     "strings": true, // but in strings and the other parts of source files
     "other": true
  4. Inside your project’s .vscode folder, create a new file called resources.json.  Add the following code to that file:
        "css": {
            "style": [
  5. Restart VS Code and enjoy the IntelliSense goodness!

Nuget Package Manager -4048 Errors on Windows 10

If NPM is throwing unexplainable errors, try temporarily disabling your anti-virus application.


I installed the latest Nuget Package Manager (NPM) on my Windows 10 PC and had nothing but problems with getting the simple install command to work.   No matter what I did, I’d get new and more bizarre errors that all seemed to be related to file permission issues (i.e., failures with file renames, making directories, etc.)  I was  running the NPM commands in a PowerShell window as an administrator.

Multiple mysterious errors when trying to run a simple ‘install’ command with NPM

After beating my head on this issue all day, I found out I could disable the WebRoot anti-virus application on my PC that was installed by our network admin.  Once I did that, NPM started working as expected.

Linsys WRT3200ACM Router

Linksys WRT 3200ACM WiFi Issue

After taking delivery of my new-to-me (refurbished) Linksys WRT 3200ACM router, I was excited to see how fast my wireless network would be when compared to my very old D-Link wireless router.  It didn’t take long before the air was let out of my balloon, unfortunately.  For reasons I couldn’t understand, it seemed that all my wireless devices were now ridiculously slow in loading web pages that once worked just fine.  Not what I expected from a $300 wireless router.

The Symptoms

The bulk of the devices on my home network are Windows 10 devices, including two Windows 10 phones (Yeah, I know).  Having just recently updated all devices with the latest Windows updates, I thought for sure that Microsoft had introduced a defect that was causing all of my devices to take forever to load web pages.   In addition, I couldn’t even access certain URLs such as!

Mobile applications, such as my weather app, were also loading slowly because most of them fetch their data from a web service somewhere on the Interwebs.  If I was only having issues on one of my devices, I might’ve suspected the unique device, but since the slowness issue seemed universal across devices, I was very suspect of my new router.

The Solution

After many hours of searching and playing with settings on the router, simply disabling IPv6 on the router seems to have done the trick.  I found this tip from another frustrated WRT3200ACM owner on the Linksys forums.  While some Internet Service Providers support IPv6, including my ISP Spectrum Cable, it’s apparently not a standard across the entire Internet and so “user beware”.

It’s probably a bit soon for me to declare the Linksys WRT3200ACM router as the perfect router, but now that I got past this little hiccup, I am very happy with the router.

Tips for a Reliable Zwift Experience

I’ve been using Zwift for several months and have had my fair share of application crashes, but I think I’ve resolved them after a bit of trial-and-error.  Here is my list of tips for having the most reliable Zwift experience.  Note that you should only consider the following tips if you’re having issues… if you’re not, then ride-on!

Plugin Your Laptop’s Power Supply

Most laptops try to conserve power when they aren’t plugged-in to prolong battery life.  Give your laptop all the power it needs to run Zwift by plugging in the power cord.   That’ll also save you from getting towards the end of your ride and then having to stop riding to plugin your laptop because your battery is dead.  Your smart trainer needs power anyway, so it’s not like you can create a cord-free environment no matter what you do.

Note that there is now a “Laptop Battery Saver” option in the Zwift settings as well. If you’re computer is hard-wired to power, select the “Off – Max Speed” setting.

Use a Wired Secondary Display

If you’re projecting Zwift to a TV or second monitor, use a wired connection instead of a wireless one (like Miracast).  I think this was the reason Zwift kept crashing on me.  I project Zwift onto a TV using Intel WiDi, which is similar to Miracast, and after about an hour of riding the screen would freeze even though the sound was still going.  I recently purchased a long HDMI cable to hard-wire my laptop to my TV and I haven’t had any Zwift lock-ups since.

Use Zwift in Windowed Mode on Second Display

When Zwift runs in full screen mode, it will always display full screen on your computer’s screen and you can’t drag it onto another display.  As a result, you end-up setting-up your computer to duplicate the display onto a secondary monitor or TV.  I can only assume that running Zwift on your computer and a secondary monitor requires more resources of your computer for no real gain.  Instead, change Zwift’s “Screen Mode” setting to “Windowed” so you can drag it to your secondary monitor or TV.  This also gives you the advantage of being able to open other applications on your main display.  In my case, I open-up Pandora via a web browser on my main display and listen to music while riding with Zwift on my secondary display.

Use Wired Internet Access

This might not be an option for many since it’s unlikely that your Zwift rig is setup near your Internet router, but if possible, hard-wire your computer to your network instead of using Wifi.  Hard-wired access is always faster than Wifi and isn’t as subject to temporarily losing a signal.

Configure Your Computer for a High Performance Power Plan

If you’re using Windows, you can adjust the power plan settings so that your computer can use as much power as it needs to make the game run well.  I recommend starting with the “High Performance” power plan and modify it as you see fit.  Note that a high performance power plan typically assumes your computer is plugged-in to a power source, not running on batteries.  Here’s how to configure a power plan in Windows 10.

Ensure Zwift is Using the Right Graphics Adapter

Most laptops don’t have secondary graphics adapters, so this may not apply to you.  However, PCs and high-end laptops might have secondary graphics cards, like a NVidia adapter for example, to handle intense graphic needs.  Make sure that when Zwift runs, it is using the graphics card you want it to use, not which ever one Windows picks.  On my laptop, there is a NVidia application in the toolbar that has a link that states, “Customize which applications use the GPU.”  I have it set to always handle Zwift.

Configure Zwift for the Appropriate Screen Resolution

In the Zwift application settings, you can set the “Game Resolution” to 576p, 720p, or 1080p.   Don’t select a setting that is higher than your hardware can handle because that will just make your PC work harder for no benefit.  For example, I’m projecting Zwift onto an LG 720p TV.  I could set Zwift to display 1080p, but that won’t do any good because the TV won’t be able to display the increased resolution.

Ensure Your Comptuer Hardware is Up to the Task

If you’re projecting Zwift onto a new 4k TV and you’re expecting flawless performance, super high resolution graphics and high frames-per-second, your computer better be a pretty new, top spec high-end machine ($$$$) as well.  Don’t expect a 10 year old el-cheapo computer to be able to handle pumping-out hours of high resolution graphics without melting down.  (Note that Zwift won’t display at 4k yet, but you get the picture…)

Although I’m not sure of how much it will help Zwift, it doesn’t hurt to increase your laptop’s memory to as much as it can handle (or you can afford) and perhaps upgrade to a solid-state hard drive (SSD) instead of a standard hard drive.  SSD prices have come way down over the past few years and my experience is that they do boost performance significantly.

Ride on!

Source Control Explorer “Object reference not set to an instance of an object”

As a programmer, seeing the error message “Object reference not set to an instance of an object” is pretty common and pretty annoying.  What’s even more annoying is when you get that error when simply trying to get the latest source code from your Team Foundation Server within Visual Studio, as shown below.

Source Control Explorer Error

At least in my case, this error resulted from the primary hard drive on the TFS server being completely full.   TFS 2015 recommends at least 50 GB of free space be available on the drive where TFS is installed.

Microsoft TFS ActivityLog.AgentScope.xml Error

Over the last weekend, our TFS 2013 server decided to stop building projects for no apparent reason.   No one had changed any software on the TFS or build controller servers and the only evidence of a problem was the following message in the “Diagnostics” log file for each build:TFS Error MessageAfter spending hours searching for solutions to this problem and finding nothing, I finally figured-out the cause of the issue.   The primary hard drive on the TFS server (not the build agent) was completely full.   After sending a request to our infrastructure team to add more storage to the primary hard drive on the virtual server that hosts our TFS implementation, the builds started working again.

My Zwift Island Rig

My Wahoo Island Rig

When training indoors with the Zwift software, the main route is called “Zwift Island”.  As such, the term “Zwift Island Rig” has caught-on as a way to describe one’s setup for using Zwift.  Technophobes might may find using Zwift a bit of a challenge as it does involve considerable technical expertise to get it running smoothly.  My Zwift rig is hardly pretty to look at, but it works for now and is a work-in-process as I learn what works and what doesn’t.

It’s my opinion that the best Zwift setup is the one that involves the least amount of work to get it working.  If it takes a half an hour to get setup before each ride, that’s way too long and will be a discouragement to training.   The only part of my rig that requires setup is getting Zwift started on my laptop and then wirelessly projecting it to my TV.

I purchased a refurbished Wahoo Kickr with 10-speed cassette from Wahoo Fitness which brought the price down below $1k.  Since my custom-built Trek ION cyclocross (CX) bike has the Ultegra 10-speed components group, I opted to use it for my training bike.  I have a Shimano 105 11-speed cassette in case I want to put my road bike on the trainer, but my CX bike is configured for a more comfortable up-right riding position.   Since there is no wind resistance to worry about in indoors, riding up-right like a giant parachute won’t affect my training results.

CycleOps Sweat Catcher Bike Thong

My rig is setup in my basement where it is typically about 60° F all winter long.  Although that is a tad cool when I first start riding, it only takes a few minutes before I wish it was colder.  I have a cheap box fan nearby to keep cool and have it within an arm’s reach while reading to crank-it-up as I start to get hot.  The fan is also to my side to maximize the surface area the breeze cools on me versus having the fan straight in front of me.

I use the CycleOps Bike Thong Sweat Catcher to protect my bike from the corrosion caused by dripping sweat.  It has a nice pocket in the front for holding my TV remote and mobile phone.  Since my basement floor is concrete and I don’t really care what happens to it, I don’t have anything under my bike.  However, it’s recommend that some kind of mat be put on the bike if protecting the floor is of concern as sweat and chain oil can get on the floor.

Wahoo RPM Cadence Sensor

My cyclocross bike doesn’t have a cycling computer or related sensors, so I opted to purchase the Wahoo RPM cadence sensor to provide cadence data to Zwift.  The sensor is attached to a strap on my right shoe as shown above as opposed to being strapped to my bike’s crank arm.

Without a cadence sensor, I found that Zwift would attempt to calculate my cadence, but typically calculated it to be much faster than it actually was.  This created issues when using Zwift in workout mode.  Zwift would cause the Kickr to apply a lot of resistance to maintain the workout’s desired wattage because it thought I was riding at approximately 95 RPM.  The reality was that I was pedaling much slower, likely around 65 RPM’s.   This became a big problem when I was running out of gears and my legs were getting tired.  I don’t like grinding my gears at low RPMs because I want to preserve what is left of my knees.

Lenovo ThinkPad W520 and Samsung Galaxy Tab4

Zwift requires a computer with a decent graphics card and considerable processing power.   Although my 2012 Lenovo ThinkPad W520 laptop is a bit dated as far as technology goes, it is capable of running Zwift without much problem.  Unlike lower priced laptops, it has a dedicated NVidia graphics card that is pretty much necessary for smooth Zwift operation.  I have the NVidia software configured to always run the Zwift application using the NVidia card and not the onboard Intel HD 3000 graphics card.   Running Zwift using the onboard Intel graphics caused Zwift to crash because the graphics processor couldn’t keep-up.

Unfortunately, I’m a Microsoft Windows 10 nerd living in a Apple/Android world.  Even though the main Zwift application runs on a Windows PC, their mobile application only runs on an Apple or Android device.  It’s not necessary to run the mobile application in order to use Zwift, however, the mobile application makes it easier to perform interactive tasks like giving other riders a “Ride On!” notification, taking turns in the course, and a host of other social features.

The Wahoo Kickr Fitness application is also only available on the Apple and Android platforms.  It is used for updating the Kickr’s firmware and for performing “spindown” calibration tests.  To ensure my Kickr doesn’t get too far out-of-whack over time, I opted to purchase a Samsung Galaxy Tab4 tablet to run both the Zwift and Wahoo mobile applications.  Because it’s considerably larger than a phone, it makes working with the Zwift and Wahoo mobile applications relatively easy when riding.

Suunto ANT+ Adapter

In order for the Zwift software to wirelessly detect the Wahoo Kickr and Wahoo RPM cadence sensor, I’m using the Suunto Movestick Ant+ Mini USB Adapter.  Aside from plugging the USB dongle into my laptop and letting Windows install a driver, there wasn’t anything else necessary to get it to work.

To project the Zwift application onto a larger screen, I use my laptop’s Intel WiDi wireless display capabilities to project to the Microsoft Wireless display adapter that is plugged into my LG television.   Although projecting to my TV is nice, I’m pretty sure I’d be just as content with riding on Zwift using just my laptop screen.   However, mounting my very heavy laptop in front of my bike at a location I could reach it would involve purchasing some kind of podium or the like.

My current rig works quite well as is, but there is always room for improvement.   Some thoughts on improvements include:

  • My television is mounted too high on the wall to be comfortably viewed for any length of time while riding.   (However, if I lower it for indoor riding, it’ll be too low for watching while doing other exercise in my basement.)
  • Although the box fan was a cheap cooling solution, it hardly moves any air.  I’ll likely look for a pedestal fan with a bit more horsepower in the future.
  • I ‘d like my tablet mounted on my bike’s handlebar so it’s easier to type group texts and interact with Zwift.
  • Using a large computer monitor and hard wiring it to the laptop instead wirelessly broadcasting to my TV might help speed-up the setup time.

If you have any questions about my Zwift rig or need some assistance in setting up your own, please leave a comment.

Fighting Indoor Cycling Boredom

Every year the same thing happens:  I’m usually in pretty good cycling shape by the time fall arrives, only to have the cycling season come to an abrupt end once Daylight Saving time hits and I’m cast into cold and darkness for the next 6 months.  I tell myself, “I’m going to ride my indoor training this winter so I don’t have to start over again in spring.”  I start riding my rollers a few times and those few times become less and less with each passing week to the point where I’m typically not riding at all by January.   Then that first warm spring day comes a few months later, I get on my bike, my legs don’t work and my butt is sore for the rest of the month as I try to get my legs back.  Ugh.

Why does this keep happening, despite my best intentions?  Because riding indoors is mind-numbingly boring.   Not only that, most bicycle trainers don’t come remotely close to simulating real-world conditions, adding to the misery created by staring at my basement walls for hours on end while sweat drips out of every pour.  Some local bike shops have indoor trainer rides, like Wheel & Sprockets Training Hub, which I can only guess would be a bit more fun than suffering alone, but I know me and I won’t want to pack-up my bike and trainer and then drive to my local bike shop every time I want to work-out.

Not looking forward to riding my rollers again this year but not wanting to lose all the fitness I had gained over the summer, I started looking for alternative trainers this fall.  Maybe a fluid trainer might somehow magically make me want to ride indoors again?   Or what about a new “floating” roller system?   While there are a lot of options these days for indoor cycling trainers, almost all of them fail at the same thing:  Keeping one’s mind entertained while one’s body is exercising.

While there are a lot of options these days for indoor cycling trainers, almost all of them fail at the same thing:  Keeping one’s mind entertained while one’s body is exercising.

If you stare at the Internet long enough, you eventually find what you’re looking for.  In my case, I searched for a pretty long time before I stumbled across a new type of trainer that not only appealed to the cyclist in me, it appealed to the technology nerd in me.  That new type of trainer is the smart trainer.  A smart trainer takes the decisions regarding resistance away from the rider and gives it to software that can vary the resistance to simulate riding in the real world.

The most popular of the current smart trainers is the Wahoo Kickr.  After reading countless reviews of the Kickr, almost all of them very positive, I began wondering what all the fuss was about.  Wahoo Kickr TrainerThe “fuss” is all about the fact that using the Wahoo Kickr along with software like Zwift suddenly turns one’s uber-boring indoor training session into an interactive video game.  The Zwift software controls the Kickr and presents you with a virtual world to cycle in, either by yourself or with hundreds of people around the world.   Bingo!  An indoor training solution that incorporates mind-stimulation!  I could feel my wallet starting to come out of my pocket.

However, as exciting as it may seem to have an indoor trainer that creates a virtual environment, this technology doesn’t come cheaply.  I originally started my new trainer search thinking a $500 trainer was ludicrous and ended up purchasing a refurbished Wahoo Kickr for almost $1,000.  What?!?!   Have I gone mad?   What if I don’t like it just like I hated all my other trainers!?!?!

In the two months I’ve owned the Wahoo Kickr and have been riding on Zwift, I really like the combination.   I almost find it hard to believe that I want to ride my bike indoors now.  The header image is a screen-capture of “virtual me” on Zwift.

In my next post, I’ll show my “Zwift Island rig” (i.e., how I have my bike setup to ride on Zwift).  It’s by no means pretty, but involves quite a bit of technology that I’ll explain for those who are thinking about preventing boredom this winter.  I’ll also explain why I’m starting to think the hefty price tag of the Wahoo Kickr is justified.

Disable “Press and Hold” in Windows 10 for Wacom Tablets

I’ve been using a Wacom Intuos 2 tablet for many, many years and Wacom has stopped creating drivers for it quite a while ago.  Due to the high cost of Wacom tablets, I’ve been trying to get the most out of my investment by trying to keep the tablet working with each new Windows operating system update.    So far, that’s been relatively easy to do.   However, in Windows 10, I started having this pesky issue of the “press and hold” feature in Windows causing the equivalent of a right-click to happen every time I pressed down the pen tip.  Fixing this issue is easy, but finding the setting to fix it in Windows 10 is not!

To begin, right-click on the Windows start icon in the task bar and select the Control Panel option.  You’ll see the Control Panel window:


In the search textbox on the upper-right corner of the Control Panel, type the search term Pen Settings.  This will open the Pen and Touch window:


Click the green Pen and Touch link to reveal the available options:


Now select the Press and hold option in the Pen actions section, then click Settings….   The Press and Hold Settings window will open.   Uncheck the Enable press and hold for right-clicking option:


You should now no longer having the annoying right-click menu show-up every time you touch your pen to your Wacom tablet.  Whew!

Bicycles and Headphones Don’t Mix

I know this topic has been hashed and rehashed all over the Internet, with each side claiming they know best.  However, I don’t think there really is a debate… wearing headphones while riding your bicycle in a public space is dumb.  Plain dumb.

I spent my Saturday morning riding a local rails-to-trails trail and encountered a higher number of trail users than normal.  As a well-seasoned cyclist who knows “trail etiquette”, I always announce, “On your left!” before overtaking a slower pedestrian or cyclist.  Being a holiday weekend as well, I reminded myself to be extra-patient with others using the trail because experience has told me that many people don’t know trail etiquette and if I assume they do, I’ll likely crash into them.

As I was approaching the end of my ride, I quickly approached another cyclist who didn’t have a very predicable line (I.e., he kept moving all over the trail).   He had a decent bike and didn’t appear to be a novice cyclist, but he sure did ride like one.   My first, “On your left!” warning seemed to be completely ignored.   A little louder and a little closer, “On your LEFT!”   Still nothing.   It was at that point I noticed he had a rear-view mirror mounted on the left drop of his handlebar.  “Surely this guy knows I’m coming and is just being a jerk?” I thought to myself since I assumed the rider had an audible (my warning) and visible (his mirror) notification of a quickly approaching rider.   However, instead of moving right, he started moving left and right into my path.  

I gave one final “ON YOUR LEFT!” within five feet of the rider and it was at that time I noticed he had ear buds in his ears and clearly still did not hear me.   Knowing that there was no possible way I could give this guy advance warning (or any warning for that matter) of my approach from behind, I passed him on the left with what was only a few inches of trail left before I would’ve falling off the trails steep shoulder.   As I squeezed-by the rider with only inches to spare, I obviously startled him as he exclaimed, “Whoa!  Sorry!!!”  

I’m sure this rider had no ill intentions, but he’s also not the first person I’ve encountered in my 25+ years of cycling who was completely oblivious to the world around himself.  When I first started riding as a kid, portable headphones didn’t even exist so they weren’t an issue and perhaps that’s one reason I’ve never been tempted to ride with them.

Your ears are your first line of defense for encroaching danger that you cannot yet see.   Disable that sense, and you’re opening yourself up to all sorts of dangers that will be less courteous than I am.

Powered by WordPress & Theme by Anders Norén