Repair: Nordictrack Audiostrider 990 Elliptical Wheels

Background

In 2009 I bought a Nordictrack elliptical exercise machine, model Audiostrider 990 (PDF link). As home exercise machines go, it's fine. It's uses variable magnetic resistance and it folds up fairly compactly. It also has two front wheels that it can be tilted on them and moved around.

The wheel design of the model I bought is flawed, however. Each wheel is made of somewhat soft plastic and rides on a steel axle, without bearings, and which has an hexagonal nut at the end. Over time, the nut and axle literally pulverize the wheels, as you'll see in the pictures below.

Rather than spend $25 on replacement wheels from Nordictrack, I bought replacements from McMaster.com.

Incidentally, I noticed that Nordictrack has updated the design of the AudioStrider 990 and now use a much smarter wheel and rolling system, perhaps because of complaints from users of the model I own.

Repair

The repair was simple, with the hardest part finding a wheel that would be just the right size and not too expensive.

After a bit of searching, I found the perfect set of wheels on McMaster-Carr (a simply awesome website).

Wheels:

Part Number: 2781T54

Description: Econo-Lite Polypropylene Wheel, Black, 4" X 1-1/4", 1/2" Axle, 275# Capacity

Price: $2.35 each

In order to keep the wheels I bought from rubbing on the outer cylinder, surrounding the axle, I placed 4 washers at the "front" of the axle, and another between the new wheel and the outer nut. The extra washer kept the wheels from moving laterally along the axle.

Lubricant:

The lubricant I used is called Sil-Glyde Lube Compound and works great. It's primarily for car and boat maintenance, but I've found many other uses such as lubricating wooden door hinges.

Pictures of the repair

Original Wheel
Original Wheel

Original wheel, before removal.

Left wheel
Left wheel

Left wheel, showing how the axle destroyed the wheel from within.

RIght wheel removed
RIght wheel removed

Right wheel removed, showing plastic dust from the axle grinding away inside the wheel.

RIght wheel damage
RIght wheel damage

Right wheel, showing damage inside.

Replacement wheel
Replacement wheel

Replacement wheel purchased from McMaster-Carr

Axle with washers and lubricant
Axle with washers and lubricant

Washers keep the new wheel from rubbing against the outer metal cylinder of the axle, and automotive grease keeps the axle lubricated to prevent binding and wear.

Completed repair
Completed repair

Completed repair, with outer washer to keep the wheel from moving laterally and the hexagonal nut holding everything in place.

Hiding XML in script tags

Background

A few years ago I created a simple Paypal form generation system for my wife, who runs her own business; a wellness travel company called Pravassa. The original version of the form generator used Flex as the display layer and XML files as the data/model. She edited XML files which dictated to the Flex form system I built what to display (prices, descriptions, etc).

When my wife updated her website to SquareSpace 6 (from versions 4 and 5), I decided to port all my form generation code to Javascript/JQuery/HTML 5/CSS 4.

Whereas before I used a Flex URLLoader object to load the configuration XML files, I switched to using JQuery's AJAX functions. And that's when I ran into a problem.

SquareSpace 6 websites use virtual docroots, where all the files loaded by website owners are converted to references and redirects to the actual file. This allows SS6 to, for example, automatically generate and reference different versions of images for display on different screen sizes (mobile site vs. desktop).

The only problem with the system is that it interferes with AJAX calls, when those calls are to files on your own site. The reason for this is that AJAX calls can only be made to the same domain, unless the sites involved support Cross Origin Resource Sharing (CORS). CORS is a kind of security model that allows different domains to make calls to each other.

SS6 rewrites all the URLs for files so that, to an AJAX call, they no longer appear to be on the same site. For example, if your SS6 site is "www.awesomesite.com", and you place an XML file under "awesomesite.com/myfiles/config.xml", when the file is requested, SS6 redirects the URL to "static.squarespace.com/878783783hsfsysfkhksfh/khwirykhfkhs/dfdf78d7f8.xml" or something equally ugly. Because the URL gets changed, "local" AJAX requests for files on one's own site fail silently or with a non-related error.

Since SquareSpace isn't going to support CORS anytime soon, I was forced to use a different technique to access the XML configuration files my wife uses for her website. By the way, I realize my need to load local files via AJAX is a somewhat specific use case, though I hope that SquareSpace either eventually supports CORS, or no longer uses redirects when users request files from their own file store. 

Solution

My solution was to embed the XML configuration files right on the page, hidden in a <script> tag. This is a hack, but it works, and it allowed my wife to continue adding forms to her website without having to learn a whole new way of doing things.

The basic idea is using a script tag without a type attribute, but with an id attribute. The id gives you a simple lookup via JQuery to access the XML document between the script tags.

Example Script tag:

<script id="form_config">
 <form_config>
<name>My Great Form</name>
 </form_config>
</script>

JQuery to access the value of <name>:

//Pulls the content of the script tag out as text.
var xmlDoc = jQuery('#form_config').text();

//Searches within the text (treating it as an XML doc)
var nameValue = jQuery(xmlDoc).find('name').text(); 

Making Steel Cut Oatmeal in the Microwave

Background

I never knew that I liked oatmeal until I tried the steel cut variety based on a recommendation from famed nerd-chef Alton Brown. For years I had only been exposed to rolled oats--what most people think of when they hear "oatmeal"--and didn't care for its bland, creamy-mushy texture.

When I made steel cut oats for the first time, I realized that the grain could have a nuttier, richer flavor and a texture closer to al dente pasta.

There are lots of discussions about the health merits of steel cut vs rolled oats vs instant, and various types in between.  Most everyone agrees that instant oatmeal is not worth eating, if you have any interest in the health benefits of oatmeal.

Yes, I'm glad for the health benefits, but primarily I like the mouth feel and flavor of steel cut oatmeal above all other varieties.

The problem with steel cut oatmeal is that it takes a long time to prepare (around 30 minutes). And while you're preparing it, you need to stir constantly to prevent boiling over, which is exceedingly boring.

This is where the microwave comes in.

Through exhaustive trial and error, I have a developed a non-patented technique for making the tasty, heart-healthy grain in the microwave in around 17 minutes and without requiring constant supervision.

You can skip down "The Recipe" if you don't want to read about underlying principles of my process.

Underlying Principles: Large Bowl + Microwave Cook Cycle Stacking

Most people who learn that I make oatmeal in the microwave ask me how I avoid boil-over, which is the main hurdle one must overcome when making oatmeal in the microwave. They have tried making microwave oatmeal only to end up with a sloppy mess.

There are two variables that must be taken into account when making oatmeal in the microwave: bowl wall height and heat.

Large Bowl:

The bowl issue is easy to address. Get a tall bowl and only fill it to about 1/3 capacity to allow for expansion. I found that bowls from asian-food restaurant suppliers, which are tall and primarily used for soups and noodles, to be ideal.

These bowls on Amazon are very close to what I got.

Microwave Cook Cycle Stacking:

The most common microwave usage is the standard, put something in, set a time, and when time's up, you take the now hot thing out of the microwave.

When you cook that way in a microwave, you're using the full power of the microwave for the specified amount of time, and for most things that's fine. In this mode, a 1200W microwave set to run for 1 minute delivers 1200 watts of heat for 60 seconds. Pretty straightforward.

Some people know that you can also vary the microwave's power, so that it delivers less heat over the specified amount of time. The way that microwaves do this is my turning the microwave generator on and off so that it averages whatever power setting you requested. What they don't do is lower their power output.  You can think of microwaves as light bulbs in this respect. Just as light bulbs come in set wattages (60w, 75w, 100w), microwave ovens are the same. The listed power is the amount of energy that the magnetron (the thing that generates the microwaves and heats your food) generates when turned on. As with a lightbulb, it's an all or nothing proposition. (For simplicity, I'm ignoring 3 setting lightbulbs :-))

For example, if you set the power on your microwave to 50%, it will turn on the magnetron for 50% of the time during the cooking cycle. The only real difference between manufacturers is how they split the time for different power settings during a cooking cycle (ex: using 5-second or 10-second increments, or some other scheme).

However, what most people don't know is that almost all microwave ovens you can stack at least two cooking cycles on top of each other. You're essentially telling the microwave, "Cook at full power for 30 seconds, and then at 80% power for 2 minutes".

This is useful because it allows you to be more nuanced with your cooking and that is exactly what we need for cooking oatmeal in a microwave.

I boiled over lots of oatmeal before I figured out the best settings for my microwave. With the bowl I chose, my microwave and aiming to get the fastest cook time possible, I stack 2 cycles:

  • 2 minutes, 30 seconds at 100% power.
  • 15 minutes at 40% power.

As you can (kind of) see in this video, at 40% power, the microwave cuts off long enough during cooking to keep the oatmeal from boiling over. You see the oatmeal heat up, reach the rim of the bowl and then retreat when the magnetron is temporarily turned off.

How do you stack cook cycles? Well, that depends on each microwave. On my microwave oven  (a Thermador 1100W model MBB) I type the following into the keypad:

  • 2-3-0
    • Two minutes, thirty seconds at full power (the default when all you do is put in a time).
  • "Cook Time" button
    • This button indicates that you're adding a second cook cycle.
  • 1-5-0-0
    • Fifteen minutes for this second cook cycle.
  • "Power" button
    • Indicates you're setting the power for the second cook cycle.
  • 4
    • On my microwave you can only indicate power in 10% increments. So, "4" means "40%" power.

Some readers might be asking why I don't just cook for 22 minutes at 40% power. Well, it's simply because I want to get my oatmeal as quickly as possible.

As always, Wikipedia is a great source if you want to learn more about microwaves.

The Recipe

Enjoy!