Excellent

January 10, 2005 at 9:26 pm

Note that you’ll have to speak the title using a Jeff Spicoli voice (as performed by Sean Penn in Fast Times…). Or perhaps from Bill and Ted…

I’m spending the week becoming a more excellent developer, in a five-day course for developers. “Excellence” has been a big hit since Tom Peter’s 1982 smash hit In Search of Excellence (which was followed by “A Passion for Excellence” in 1985, and then, finally, with “A messy divorce from Excellence” in late 1989).

Classes like this can be hit or miss – they’ll cover a lot of ground that you’ve seen before, but this one has a lot of audience participation, and it always brings up a few topics of interest.

Interestingly, I sat next to a guy that used to work in the same building as I did back at Boeing Computer Services in the late 80’s, though we never met.

Fred and his 5.2 Madone

January 10, 2005 at 8:10 am

Last fall, I wrote a post about being an aspiring Fred, where a “Fred” is someone with more bike than rider. Apologies to anybody named “Fred” – I’m not the one who coined the term .

I had gotten tired of my LeMond Tourmalet, whose decidedly midrange components have seen better days, and whose main claim to fame is “heavy”.

I rode bikes made of steel and titanium, but it was the carbon fiber Trek that I fell in love with. It’s certainly not as live of a feel as the metallic bikes that I rode, but it doesn’t feel mushy either. Just sort of muted, a marked opposite to the Litespeed TI bike I rode (their entry-level bike, to be fair), which was a bit springy. I was either going to buy the 5000 or the 5200, the chief difference being that the 5200 comes with full Ultegra (Shimano’s second-best line of bicycle components), and that 5000 comes with some Ultegra, some 105.

My first Fred post got a comment from SeanB, where he pointed me to Trek’s ProjectOne website. On this site, you can choose a model, a paint job, and then customize parts of the bike. You can choose color, saddle, wheels, component group (to varying degrees based on the bike), seatpost, bars, etc. When you order, you can specify a stem and crank length as well.

I first test rode the 5200 in 58cm (the frame size), doing some hills outside of Greggs. I found two things – that I loved the feel, and the 58 was too small for me. They ordered in a 60, and I rode that, and it was pretty much perfect. I decided to go the project one route, did my customizing, and had them order the bike. As part of their model year switch, Trek is changing their line, and the 5200 is being replaced by the 5.2 Madone, which is just like the 5200, except it has the fin behind the seat post (for improved aero above 23 MPH, I have heard). Oh, and it’s about $150 more expensive, though that also corresponds to the change from a 9-speed cassette in the rear to the new Ultegra 10 speed cassette, so it’s not just the frame change. Coupled with the triple up front, that gives me 30 different gear combinations (brief aside – you can’t really use all 30. First of all, there’s lots of overlap, and second, if you ran the large ring on the front and the large on the back, the angle could lead to noise, wear, or even chain breakage. But more speeds gives you more chance to find the exact one you want).

 

The paint job is the project one “Deep South” motif – bright red with some yellow accents on. I’d considered getting “Pave Flambe”, but it was a little too muted for my taste. Notice the flowing curves of the carbon fiber frame.

The bike arrived in good condition, except that it came with a carbon seatpost (I wanted aluminum because I sometimes run a seatpost rack, and carbon seatposts don’t hold up to that), and Gregg’s had put a 2″ x 3″ silver sticker right on the bottom of the downtube. The seatpost will get re-ordered, and the sticker came off fairly easily.

Unfortunately, it’s been cold and wet here, so I haven’t been able to go on a real ride yet, but I did go out on Saturday for 5 or 6 miles. I’m not sure how fast it is, since I don’t have a computer yet, but it’s definitely faster on the flats, and felt really nice on the one hill that I threw at it.

On, and here’s a picture of “Fred” next to his bike. The shorts are normally black/silver, but the retro-reflective fabric really shows up in the flash. Oh, and what were they thinking with the blue bar tape? I can handle the saddle being blue, but blue bars on a red bike?

Coping with Burnout…

December 12, 2004 at 9:47 pm

In a comment, Todd wrote:

http://blogs.msdn.com/ericgu/archive/2004/12/09/278797.aspx#278985

I have a few thoughts.

First, it takes a while to get burnt out, so you can’t expect to get un-burnt-out in a week.

For me, there have been a few things that have worked well:

  1. Change the situation that led to your burn out. In my case, it was mostly job-created. If you can’t address the root cause, it’s hard to get better.
  2. Make a list of the things that you haven’t been getting done that you’d like to get done.
  3. Work at the list, slowly.

So what other advice can you give?

Design up-front vs. along-the-way

December 1, 2004 at 9:36 am

I had a discussion at lunch yesterday about the right way to do design.

Waaaaaay back when I was in school – when Van Halen’s “Jump” was at the top of the charts – we were introduced to the Waterfall Model of software development. (aside – it Royce’s model was iterative, but it was rarely discussed that way – the typical discussion broke the whole project down into phases).

Anyway, the waterfall model (and some other models as well) have distinct phases. In waterfall, you first collect requirements, then you design, then you implement, etc.

I’ve never found that to be very workable. As Field Marshal Helmuth von Moltke said, “No plan survives contact with the enemy” (actually, what he said was, “No operation plan extends with any certainty beyond the first encounter with the main body of the enemy” (though he likely said something like “Kein Betrieb Plan verlängert mit jeder möglicher Sicherheit über dem ersten Treffen mit dem Hauptkörper des Feindes hinaus” (or at least that’s what he would have said if he spoke English and used Babelfish…)))

That doesn’t mean that you should have a design, it just means that you should expect your design to change along the way as you learn more. But without spending time on design, you are likely to make some errors of architecture that will be difficult or costly to fix.

And just going off and starting coding would not have been tolerated by Tony Jongejan, my high school programming teacher.

At least that’s what I used to think. These days, I’m not so sure, for most applications (see caveats later).

The problem is that, unless you’ve already built such a program (some of which is codified in the prototyping and “build one to throw away” schools of thought), you rarely have enough information to make informed choices, and you won’t have that data until you actually write the code.

I think that you’re far better off if you focus on building clean and well-architected (at the class level) code that has good unit tests, so that you’ll have the ability to adapt as you learn more. It’s all about the resiliency of the source to the change that is going to come, and letting the code evolve to do what it needs to do.

Caveats? Well, there are a few.

If you’re in the library business, you will at some point have to put a stake in the ground and ship the thing, which will severely constrain further modifications. Your library may also be used in ways you didn’t imagine.

I think the right way to solve that is with a little design up front, a lot of prototype use, and then a good review process before you ship it.

So what do you think? What amount of design is right before coding?

Holiday light time…

November 28, 2004 at 9:11 pm

After hosting Thanksgiving at our cabin (and going up to Stevens Pass for fun, where there was a total of 3″ of snow on the ground (9″ now) – not quite enough to start skiing), we came back Saturday morning to put up our holiday lights.

I wrote about the system last year, so I’m not going to repeat myself.

I’d hoped to have time to get another electronic system added to the mix, but that’s unlikely to happen given the amount of time left. I’ve added a few “globe balls” from last year, and I’m going to be adding about 350 LED lights to one of the trees, but that’s about it.

I really like the LED lights, but I’m amazed at how hard they are to find. Lowes had a few boxes for about a week, and I haven’t found them anywhere else yet. They are pricey (more than $10 per string), but they are rugged, will last forever, and use less than 10% of the energy of the miniature bulbs. They also have a clearer color than standard bulbs, and when you compare them to commercial quality strings, they aren’t that expensive.

My current system uses two dedicated 15 amp circuits. On the left one, I have about 2200 lights (not all are on all the time because of the animation), and on the right one, about 1800 lights (also not on all the time). At 1/2 watt each, that means I’m pulling 1100 watts on the left and 900 on the right. While I’m not worried about tripping any breakers (yet), I do have to keep calculating how much power I’m using. LEDs use so little power that you really don’t have to worry about power use – you could put over 35,000 LED lights on a single circuit.

The microcontroller-controlled lights all have built-in clocks, so they repeat on a 24-hour cycle once you turn them on. The rest of the lights run off of common appliance timers, which are waterproofed in high-tech white plastic kitchen garbage bags. Those have worked well over the years, but I have a couple of box-mounted timers that will feed outdoor outlets for the future – that will make things a fair bit easier to set up.

Halloween Circuitry

October 31, 2004 at 5:26 pm

I managed to steal a bit of time in the past few weeks to build some circuitry for Halloween. I’d hoped to do something with pneumatics, but that didn’t happen, so we had to settle for a few smaller things.

I’m also using this as an opportunity to teach Sam how to solder.

We started with converting a typical “Home depot” motion sensor into an inline version. That’s pretty simple – take a extension cord, and wire in the motion sensor inline. A little heat-shrink tubing, and it was done. The motion sensor is hooked up to the power for an old boom box that I have, which is playing spooky music from my MP3 player. Come up the walk, and the music starts playing.

Te second project is a bit more elaborate. Right next to the front door, there’s a dummy with a pumpin head sitting in a chair. In his (its?) lap, there’s a bowl with a full-size Hershey’s chocolate bar, and a sign that says “Help Yourself”. If you do help yourself, the eyes of the pumpkin light up and a bell rings. This is all based on detecting somebody trying to grab the candy. I explored a few methods of doing this – there are some that use RF techniques to detect the change in capacitance as somebody approaches, but they’re notoriously finicky. I decided on an IR approach, and was lucky to find a site that sold the Sharp GP2D15 IR sensor. You’ve probably come across this sensor in the hands-free faucet in a public restroom. This sensor is very easy to use – it generates a signal when something comes within about 10″ of the sensor. The output of the sensor isn’t powerful enough to power a relay, so an added 2N2222 transistor does the amplification. That relay runs the bell, and there’s a separate solid-state relay that turns the eyes on.

Finally, I bought an Edirol UM-1X Midi interface. This connects to our Roland digital piano, and is used to play back spooky organ music (Bach, mostly) through the piano’s built-in Pipe Organ patch.

More bicycle test rides…

October 3, 2004 at 9:38 pm

I took advantage of the wonderful early October weather today to do some more test riding.

I’d plannd on going to Bicycle Center of Issaquah, but today was “keep people away from our businesses” day at Issaquah, so after spending 20 minutes in traffic and 10 minutes on my bike trying to get to the store, I gave up, and drove into Seattle to Greggs at Greenlake.

After doing the usual “what are you interested in dance”, the salesman pulled out three bikes for me to ride:

  • A Specialized Roubaix (Elite Triple, I’m fairly sure)
  • A Trek Madone 5.2 (Treks replacement for last year’s 5200)
  • A steel-framed Bianchi (apparently no bike shop has a nice Bianchi in my size to ride – this is the second shop that put me on a $1500 bike when I’m riding other bikes that are quite a bit pricier).

I rode the Roubaix first. After a short trip out and back when I re-discovered that the standard method for determining the proper seat height works poorly for me (felt like I was sitting on the seat tube), I headed out for a quick loop, up some hills. The Roubaix frame uses aluminum for most tubes, except for the fork (hard to buy a bike without a carbon fork these days), and the downtubes in the back triangle. This results in a frame that is very responsive – I could sprint very well, and it felt really good up a short hill. The problem is that the frame is pretty stiff, and – to me at least – leads to a ride that is harsh. Its not as bad as the ride of the all-aluminum bikes that I rode about 7 years ago, but it’s still enough to be objectionable. Sprinting perforance isn’t high on my list of requirements right now, so my overall rating wasn’t very high on the Roubaix. Better than my current bike, certainly, but too harsh.

I rode the Trek next. Trek is, as far as I can tell, one of the few manufacturers to bring the carbon fiber frame to the masses, and the bulk of the feedback I’ve heard has been quite positive. It is, however, about $800 more than the Roubaix, so it’s going to need to be pretty good. Unfortunately, Gregg’s only had it in a 58cm frame, and a 60 is closer to what I’ve been riding, but I took it out anyway.

I took it out on the same route as the Roubaix. It only took about a block for me to start smiling, and I continued smiling up the hill, down the hill, and then back up the hill on a different route. It’s not quite as stiff as the Roubaix was when sprinting, but the ride is incredibly good. All the low-level “road rumble” is soaked up by the frame, and the edges are taken off the harder bumps. For me, it seemed to climb about as well as the Roubaix, and I did the hill twice to see how it would do on th steeper stuff. The geometry is much quicker than the Roubaix, and while that means you have to pay more attention, it makes it more responsive, which I like.

With the exception of the price, there’s really wasn’t anything I didn’t like.

I next rode the Bianchi. It’s pretty close in the feel to my current bike, but with a harsher ride. Blech. Though the bike is only 4 pounds heavier than the Trek (22 pounds vs 18 pounds), it rides like it’s lots heavier. Though the fact it was my fourth trip up the hill may have been a factor, this time the climb was *work*, rather than fun. Given the price differential, it’s really not a fair comparison, but it did reinforce to me that I don’t want a steel frame.

So, that’s two more bikes off my “must ride list”. I’m getting a 60cm of the Trek to ride in a few weeks, and I want to ride the Giant before I make a final decision. If I do go with the Trek, I have one final decision to make. Trek has an option called “Project One” where you can, for a few $$$ more, customize a few things on your bike, including the paint job. For example, I could get a bike that looks like this:

My big surprise today was how much difference I could tell between the bikes.

Coming soon to a medicine cabinet near you…

September 16, 2004 at 12:36 pm

Let’s see… band aids… Motrin… Ah, here they are!

2004 Headwaters Century

September 12, 2004 at 8:58 pm

Today was the Headwaters Century. Last year, I rode the 66 mile variant, but this time I wanted to do the whole ride.

Alas, it was not to be. Whether it was being sick for a week, tailing off my training, or not staying hydrated, the first two hours was good, but the second were pretty miserable (even more miserable than riding in the rain during RSVP), so I skipped a 20 mile loop, totalling only 80 miles for the day. The 5th and part of the 6th hour weren’t much fun – I could only maintain about 15MPH on the parts where I could ride around 20MPH a year ago.

Well, there’s always next year.

Aspiring Fred…

September 12, 2004 at 8:47 pm

Fred
n.
1) a person who spends a lot of money on his bike and clothing, but still can’t ride

I decided a while back that my trusty old LeMond Tourmalet (named after a famous cycling climb often featured in the Tour de France, as most of LeMond’s bikes are) was holding me back. Specifically, despite me dropping a number of well-placed hints, it still weighs as much as it always did, a portly 29 pounds. The lightest pro bikes are around 6.75 kg (33.5 hectares to you and me), which is roughly half of what the Tourmalet weighs, and there are a number of bikes that weigh less than 18 pounds (1.25 parsecs).

So, it was off to a LBS (local bike shop) to see what was out there. I had a few requirements:

  1. It needed to have a compliant ride. My current bike has a steel frame (well, chrome – moly steel to be more precise), and such frames soak up bumps very well. Aluminum, on the other hand, does not, so it’s not really in the running. That leaves either steel, titanium, or the new star on the block, carbon fiber.
  2. It needed to have a better drivetrain. I decided that Shimano Ultegra was my target. Despite the name, Ultegra is not “the ultimate” component group for Shimano – that niche is occupied by “Dura-Ace” – but it is light, strong, and well engineered.
  3. It needed to come with a triple chainring up front. This is so that I have a “granny ring” to help get up those steep slopes. More talented riders would have only two chainrings, usually of something like 53 and 39 teeth. A triple might come with 52/42/30 teeth, which means that the lowest ratio is 30/39, or about 25% lower than the double option, giving 25% more torque.
  4. It needs to look cool. If you’re going to spend good money on a bike, you should at least like the looks.

I headed out to Samamish Valley Cycles to start my search. After a bit of discussion, we settled on two likely bikes:

  • A Litespeed Firenze, their entry-level titanium, coming in a bit under 18 pounds (13 KiloPascals).
  • A Bianchi with a steel frame, whose name escapes me.

I rode the Firenze first. It’s very light with a low moment of inertial (ie light wheels), and rides wonderfully, though there is a certain springiness. I liked it a fair bit, but unfortunately, it only comes in a matte finish. I’m all for the artistry of nice welds and good machining, but silver is my least favorite color for vehicles, so this is a non-starter for me. Litespeed does make the Solano, which is a bit stiffer, and comes with a nice yellow paint job. I’m not sure if it’s available with a triple or not, however.

The Bianchi was pretty forgettable. It rode like a slightly different version of my current bike – better, but not really better. So it’s not on my list.

My next bike to try is the Trek 5200. Carbon fiber frame, just like the US Postal bike, blah, blah blah. It meets all my requirements, so I’ll be trying to ride one in the next couple of weeks.