somewhat daily mutterings

/Cycling New Chain and Cassette for Colnago (SRAM Rocks!)

I think I mentioned in one of my Colnago build-up entries that I'd put a new chain on an old cassette. What I didn't mention was why. I'd kind of trashed the chain that came with the drivetrain by putting it into the wrong "saddle" when I used the chain tool to break the chain in order to install the front derailleur. So, I had to install a new chain that I happened to have on hand (originally intended for the Serotta). Of course, in mounting the new chain I used the wrong saddle again (how stupid can one person be?). However, I didn't completely trash the chain and it seemed to be OK once mounted.

After a couple of rides it became obvious that the old cassette (titanium Dura-Ace cassette, that is) had to go. The chain was skipping more and more. So, last weekend I went to Performance Bike Shop and bought a new Ultegra cassette and mounted it. That took care of the chain skipping problem, but there was another problem lurking.

After another fifty miles or so, the drivetrain started producing a series of clicking sounds when I turned the pedals, no matter how lightly. However, I couldn't recreate the sound with the bike on the stand. So, I tightened the cranks and the chainring bolts and re-lubed the chain. Still, with the clicking, oy vey! It finally hit me that it might be the tortured chain from the original install, so I replaced it today with a new SRAM "PowerLink" chain. Oh, how sweet the sound of silence!

Let me say right here and now that I intend to use SRAM PowerLink chains on the rest of my bikes when the time comes for replacement. Not only is it a tool-less install/deinstall (except for breaking the chain to the right length during the initial install, of course), the chains are packaged "dry". That is, they don't come covered in a primordial goop that is impervious to degreasers and which attracts every piece of dirt within a 50-foot radius like the Shimano chains do. Double-plus good!

Of course, the new cassette and chain added yet another $70 or so to the total outlay for the build of this bike. "The gift of Dura-Ace" was an expensive gift, after all.

Posted: Sat Aug 28 20:58:41 -0700 2004

/Programming Some Funny Computer Science Quotes

I particularly like the Perl ones.

Posted: Tue Aug 24 07:54:07 -0700 2004

/Meta Major Site Refactoring

I mentioned in a previous entry that I'd incorporated a wiki into the site. Well, actually, the wiki has nearly become the site. Almost all my old static pages have been replaced with wiki pages, which should help me keep that sort of content fresh and consistent. The one remaining problem was that my weblog had always kind of had an independent visual and navigation style, which had always bugged me, and this continued once the wiki was installed.

So, tonight I refactored my CSS, revisited my weblog templates, and pulled everything together both navigationally and stylistically, albeit in a fairly boring way. That's OK, it's the content that counts, right? Uh-oh, I'm in trouble then.

I'm happy with the results, for now, and love the fact that the transition between wiki and weblog is fairly seamless.

Posted: Mon Aug 23 20:56:46 -0700 2004

/Cycling Inundated on Commute

I've ridden in rain. I've ridden in hard rain (the 2003 TOSRV comes to mind). But yesterday took the cake because it was a ride in hard rain, deep water, and backed-up traffic. Denver was hit with a huge storm right about the time I left for my commute home. "Damn the torpedoes", I thought, and proceeded to ride home anyway. When I hit the Cherry Creek bike path, I came to the sudden realization that the storm drains on Speer lead to outlets on the trail. Thus, I passed many giant pipes spewing forth dirty street water, and rode through puddles 6-8" deep a number of times. Naturally, after the first deep puddle crossing, my shoes were filled with water. I kind of let this big deep puddle thing freak me out a little, and so went to street level as soon as possible. I headed home on Downing, which seems so much narrower when it's packed with traffic. I'm not a rider that is nervous in traffic, but I was nervous yesterday evening.

When I got home, I did my usual apres-rain-ride routine of rinsing the bike off, drying it, and applying WD-40 to the chain to clear out the water. This time, however, I also removed the seatpost and turned the bike upside down to see if any water had gotten into the frame (didn't seem to). I left the seatpost out overnight, just in case. I'm wondering how my hubs and bottom bracket fared. I may pull the BB this weekend just out of curiosity.

Posted: Thu Aug 19 19:45:02 -0700 2004

/Meta I've Installed a Wiki

I've finally gotten around to installing a Wiki for the more static/stable parts of my site. I've found that my static HTML files tend to get very out-of-date, and a Wiki seemed to be just the ticket. Of course, with hundreds to choose from, it was a tough decision. I opted for simplicity, and am using UseMod Wiki.

I've started writing new content, and am slowly porting content over, but a lot of parts are still on the garage floor. Eventually, I'll put redirect headers in the old HTML content and I'll be rocking with Wiki and Weblog.

Posted: Tue Aug 17 20:35:41 -0700 2004

/Programming/Java Abstracts Submitted to SD West

My boss has been pressuring me (in a good way) to submit abstracts to some technical conferences. In particular, he really hammered on me to submit to SD West. I did so just before the deadline, in true Mike fashion. Here are the abstracts I submitted:

IoC Containers - What's all the Hubbub?

Inversion of Control (IoC) Containers have really captured the development community's attention in the last year or so. What do these so-called lightweight containers have to offer your project? Better designs featuring loose coupling and testability, just for starters. By the end of this session you'll have the understanding you need to put a lightweight container to work in your project.

Spring into Action

"Lightweight" Inversion of Control (IoC) Containers have really captured the development community's attention in the last year or so. One such "lightweight container" is the Spring Framework. What does the Spring Framework have to offer your project? Better designs featuring loose coupling and testability, just for starters. See how Spring has been put to practical use on a real project. By the end of this session you'll have a basic understanding of how to put Spring to work in your project.

Strangling Legacy Code

In the Summer of '04, Martin Fowler published an entry to his "bliki" proposing a pattern called, vividly, "StranglerApplication" ( Fowler describes how a new system can grow "around the edges of the old", eventually overtaking and replacing it. In this session you'll learn pragmatic approaches to putting this pattern into action from a practitioner who's been there, is doing that.

Posted: Tue Aug 17 20:35:20 -0700 2004

/Cycling Colnago Build-up, Phase IV

Let's just make a long story short and say I finished up the build this weekend. I actually rode the bike today, on a 40-miler, with no catastrophes. The bike handles great and is stiffer than I expected (like the Serotta was a few months ago. I was however, riding with a hack. To understand that, you have to read the long story.

colnago side view

Colnago, side view


  • Having gotten the bushing for the front derailleur from the bike shop, I prepared to hook up the derailleur. I had tried hooking up the rear derailleur earlier in the week, and impatiently had gone ahead and mounted the chain to see it in action. Of course, this meant that I had to break the chain to put on the front derailleur. This, I screwed up mightily. I don't know what came over me, but I put the chain into the wrong "saddle" in the chain tool, and proceeded to bend the thing all out of whack. What a mess.
  • Mounted front derailleur and installed new chain. Of course, this is a new chain on an old cassette, but my boss must not have put many miles on this casette, because it doesn't skip nearly as much as I expected. Just a tick here and there every few minutes/miles. I can live with it.
  • Now, I set about adjusting the front derailleur. This went relatively smoothly, except that the derailleur body wouldn't sit at the right angle to the chainrings. So, I used a very special repair technique to fix it: I bent it into submission. Adjustments here went pretty smoothly.
  • Hooked up the rear derailleur and tried to adjust it, again. Had lots of trouble. All the trouble, it turns out was related to this cable-hanger thingy on my chainstay. It's too big for small SIS cable, which slips right through once enough pressure is applied (which explained my problems with adjusting the indexing), and too small for the larger 4mil cable. I ended up using the larger 4mil cable and cutting the housing away, leaving about 5mm of exposed housing wire. This housing wire acted as a ferrule of sorts that fit into the cable hanger. Once this hack was snugged up, it was fairly stable and gave reasonable shifting, but I knew I needed a real fix.
  • Mounted the seat on the lovely Thomson seatpost.
  • Wrapped the bars. Most beautiful job I've ever done. This was my first time with Deda bar tape - I like it. Of course, I wrapped the bars before double-checking the brifter lever position. Luckily the levers aren't too much lower than I normally like them, and I could scoot them up a bit, even with the tape on. I rotated the bar a bit higher than I normally keep it, to get the levers even more to what I'm used to.

At this point, the bike actually is a bike, rideable and all. I test rode it around my neigborhood, and my first impressions were that it wasn't as nimble as I'd assumed it would be, and didn't turn as tightly as I'd expected. However, it rode fine no-handed, and with the history that this bike seems to have (the top tube is a mess), that was good news.


  • While riding this morning, I took note of a few adjustments that I needed to make: scoot seat back .5", lower bars 1.5cm, tighten cranks again, tighten pedals again. I made these adjustments as soon as I returned from the ride.
  • Went out in search of the proper part for the rear derailleur cable hanger, and other niceties. After a couple of trips, I had exactl what I needed.
  • Re-installed another set of front/rear shift cables (the ends of the ones I'd just put on days ago were frayed). This time, I used a plastic inner-housing-like material (one of the other niceties I picked up) routed through the BB shell cable channels to save wear and tear on the frame, and to get smoother shifting. On the rear I used the nifty ferrule to properly install the final loop of housing at the derailleur.
  • Adjustments went quickly and smoothly this time. The bike is, dare I say it, done.
colnago side view

Colnago, front 3/4 view

Posted: Sun Aug 08 16:31:24 -0700 2004

/Cycling Colnago Build-up, Phase III

I continued building-up my Colnago today by setting up the brakes and rear derailleur (partially).

  • First, I "fished" the new rear-brake housing through the top tube. I accomplished this easily by feeding a brand-new (long) rear derailleur cable first through the new housing, and then through the piece of old housing the previous owner thoughtfully left for me. I then pulled the old housing out, keeping tension on the cable to pull the new housing through. Easy.
  • Next, I fed the rear cable through. I came to learn that I probably should have just cut the housing to fit before feeding the cable in. As it was, I had to "un-feed" the cable to cut down the housing, which was a little fiddly, but no big deal.
  • Finally, I set up the rear-brake. This turned out to be a little bit of a pain because there is quite a bit of play in the brake assembly, so it was hard to get it, and keep it, centered. I also discovered that the rear wheel had a pretty bad blip in it, so I had to true it. Having the brakes off center actually helped with the truing :-).
  • Moving on, I set up the front brake, which went quickly and easily, except that my housing cuts kept leaving nasty burrs in the spiral lining. I had to cut a number of times before getting a relatively clean cut that I could then clean up.
  • Next up was the rear derailleur cable. I had hoped to use the cool little Dura-Ace gear-position doodad that sits in line with the shift housing. However, I didn't have a long-enough piece of the fancy narrow shift cable housing that would fit in the end of the doodad. So, I left the doodad off and used regular housing, cut to size. Having fed the cable down through the bottom bracket and through the bottom-mounted chainstay braze-on, I was met with a minor challenge. As we all know, a piece of housing must loop up from this braze-on to its place on the derailleur. However, the braze-on's hole was a little too small for the thicker housing I'm using. I got past this by using some of the fancy narrow shift cable housing, which did fit into the braze-on's hole. The housing is now looped appropriately, but I haven't snugged down the cable yet. That's the next step, when I continue my build-up.

Posted: Sun Aug 01 20:01:34 -0700 2004

Thanks for visiting! Send comments to Mike Thomas.