Monday, March 07, 2005

Bike Hooks

I think one of the banes of existence for suburbian families is the existence of bikes. The mobility of them is good for your children, but the storage of them tends to be a pain. With several bikes to store and limited storage space, I faced a dilemma. On the one hand, I want to encourage my kids to use their expensive bikes. On the other hand, I want them out of the way (okay, out of my way).

So, there I was, putting up a 2x4 in my garage, attaching it horizontally over my head (though I used a step ladder), with bike hooks appropriately screwed in so that I could hang the bikes out of my way. Of course, my kids couldn't get them down themselves, but they were out of the way (so you can see how my priorities were set right from the start). Being a novice (if that) handyman, I figured it was a fairly simple task: attach a 2x4 to a wall (since I didn't want to attach the hooks directly to the wall, for various reasons) with the hooks attached to the 2x4. Pretty simple, even for me (this is like asking someone who doesn't know how to cook to boil water, I thought).

Now, the question of what I would use to attach the 2x4 did come up, but was quickly resolved, since I'm a screw kind of guy (as opposed to a nail or glue kind). It's a pre-disposition, I guess, but I didn't think it that big of a deal, since I felt that the screw would hold the wood better, hence giving me an overall better solution. Did I mention that I was a novice at this? So, I bought a bunch of large screws (well, there's the 1 1/2 of 2x4, about a half inch of drywall, and then some extra to actually hold it in place inside the backing stud, so you can imagine how big these screws were), got on the step ladder, held up the 2x4, and started the first screw (okay, I also used a cheap stud-finder and made the appropriate marks).

For those that are more experienced with this sort of thing, you've probably already figured out what I did wrong. For those that aren't, here's the clue: I stripped every single screwI put in (assuming that I was able to get it in, since I wasn't able to, in many cases). After a lot of cursing, yelling, and other childish things, I finally stepped back, grabbed a bike, and threw it up there (fortunately, it actually held).

I remember telling this story to someone about my frustration with this simple project. They kindly pointed out that I should have pre-drilled the holes before starting the screws. Oh. Right. Of course. I knew that. I was a little embarrassed.

There's an inter-relationship between tools and the materials they work on. Knowing your tools isn't enough. You have to understand how they interact with different materials, how those materials interact with each other, and how to work around the inherent weaknesses in the tools, the materials, and your ability to use them. Screws are an acceptable method of hanging 2x4s; a nice power drill is acceptable to screw them in; assuming the screws were embedded within the studs, the bikes could hang for many years. But, pre-drilling the holes in the 2x4 helps the interaction between two materials: screws and wood.

How often, in programming, do we discover a new "tool," an API, framework, method, idiom, or whatever that appears to make our lives a little easier? It's great. We want to try it out. How many projects were hurt because we didn't understand the relationship between that new tool and our existing ones? Did they interact well? What effect does it have on maintenance? If the files containing our code, our configuration, and our data are considered "the material," and the idioms, APIs, frameworks, etc. are our tools, how well do we know how they interact and work together?

The simple use of a tool with a particular material is not enough. A screw, a 2x4, and a power drill don't automatically define failure. They can be used together for an easy success (or an embarrassing failure). I think it's important to stop and analyze what it is we're doing before thinking that there's a simple answer and jump right in. Sometimes, we may find ourselves skipping the obvious, thinking the answer too quick and easy.

I ended up tearing down those bike hooks. I put up shelves, instead. Now the bikes are more easily accessible to my kids, but are still in the way. Even a seemingly simple solution to a problem may still be a ladder up the wrong wall. But that's a lesson for another day.

1 comment:

Anonymous said...

http://www.racorinc.com/products.fx?id=104