Friday, December 30, 2005

Java Schools

Joel has a very good article on the quality of students produced by schools that primarily teach Java. I couldn't agree more. I interview quite a few people and when I see a resume covered with Java buzzwords I get afraid. I get even more afraid if I don't see some kind of solid experience with C/C++.

I have found that people coming from "JavaSchools" or just a very Java oriented background tend to think through the language rather than theoretical abstractions. For example, they will talk about using a HashMap or TreeMap to solve a problem rather than a hash table or red black tree. If you try to dig in and get them to tell you how to implement a TreeMap, their head usually explodes.

Now, there are a lot of interesting, difficult topics to discuss about Java and that is where I usually like to take the discussion. For example, how does Java manage memory? Most people quickly proclaim: garbage collection! How does garbage collection work? Blank stare. Sometimes I feel lucky if I get through a discussion of what the stack and heap are. I don't understand why people aren't curious about how the environment in which they are developing works..

Another phenomenon I've seen with these folks is framework overload. Whatever the problem is, there is a framework to solve it. Setting up a website? J2EE, Struts, Faces, they shout! That's great. Having a robust toolbox at your disposal is a good thing, but too often I find that people haven't thought about if it is the right tool for the job, or even considered the weaknesses of the tool. Oh, you want to use J2EE? That's cool, what are it's downsides? More blank stares..

The lesson here is pretty simple. Learn the fundamentals and stick to them. Implementations will come and go. Frameworks will come and go. The theoretical foundations you (hopefully) learned in school will hold true for a long time (if not forever) and will serve you regardless of trendy language of the day.

Tuesday, December 27, 2005

Off Season Training

Conventional wisdom says that off season training is usually made up of long hours at low intensity. There is usually little to no high intensity work during the off season since you are working on building an aerobic foundation for the coming season.

Last season I worked with one of the coaches from Carmichael Training Systems and followed a program very similar to this. This season I've decided to save some money and go it alone. Joe Friel's Cyclist's Training Bible is a great tool for the do-it-yourselfer since it pretty much lays out a classic program day by day. For the last two months I've been following a program similar to Friel's in which I've been building my aerobic base by increasing my training hours each week for 4 weeks and then falling back to a rest week and starting over.

During this time I've also been incorporating regular core workouts using the Cyclo Core DVDs I mentioned in a previous post. My abs have always been a weak spot and these DVDs have really helped strengthen that area, though my hamstring flexibility could still use some work.

As I head in to the second half of my base training I figured I'd stick with the typical program, continuing to put in lots of base hours. However, recently the creator of the Cyclo Core program started offering a winter training program which challenges the norm and suggests that perhaps you don't need huge base miles. Instead, this program replaces long hours on the bike with some higher intensity work (very focused workouts instead of long, mindless hours of riding) and lots of core exercise.

I have to admit, I am very intrigued by this idea. Long hours on the bike get very boring since my rides are pretty much always my commute. In addition, riding in the cold rain gets old quickly and I find myself looking forward to core workouts. Cycling oriented yoga can be quite fun! So here, in the middle of my winter training I'm totally confused about what to do. Should I go with the old standard or try something new and risk my fitness for next season? At this point I think I'm going to try to combine the two ideas. I'm going to make more time for core workouts (more than the twice a week I currently put in) and still try to get some solid riding time from my commuting. If it doesn't work out, oh well.. at least I won't be bored to tears all winter.

Sunday, December 25, 2005

Great Customer Service

First off, Merry Christmas! There, I said it. I hope I didn't offend anyone.

Anyway, I had another great customer service experience the other day. I've been using a set of cycling specific workout DVDs called Cyclo-Core. The creator of these workouts started offering off season training programs recently. Since I was very happy with his DVDs I decided to purchase one of the training programs, which are offered in beginner through advanced skill levels. Based on the program descriptions I couldn't figure out if I needed the intermediate or advanced program so I dropped him an email. The next morning I found a voicemail on my cell phone from the creator offering his advice on which program to choose.

I was very impressed. Not only did he answer my question quickly and personally, he took the time to call me when I didn't even give him my phone number in my email. He probably had to go back to one of my orders to find my number. Good stuff.

While this may seem like a shameless plug, I will say that the workouts are great and are definitely worth looking at if you want to add some variety to your training program.

Sunday, December 18, 2005

Training with Power, Part 2

In my first post I mentioned that heart rate tends to lag behind power output. I found a great example of this from a recent ride last week. During one of my commutes last week I decided to push it on a short hill. The graph below shows the result. The yellow line shows my power output, which immediately shoots up to over 800 watts (this sucks btw, a pro sprinter can push 1500 watts). Notice though that when my power output peaks, my heart rate is still climbing, and continues to climb after I have stopped the interval.

Also notice in the data block at the bottom of the graph are some stats about the ride (this view is a zoom). In particular, notice the energy expenditure for the ride was 1723 kJ. This is about 1723 calories (actually probably a bit more). Using this information I know I probably need to consume 1700 calories in additional to my daily requirement of around 2000 (maybe 2200 or so). Personally I don't really count calories and I highly doubt I eat 3700 calories on these days. I have a feeling I probably over eat on my lower intensity days since my weight hasn't really changed.

I can also take this 1723 figure and add it to my total for the week. Training cycles usually call for increasing the training load each week for about 3 weeks and then taking a recovery week. By keeping tracking of my energy expenditure I can make sure I am pushing myself further each week. It is more accurate than simply counting the number of hours ridden every week.

A Trip to Hell

This means going to Babies R Us at the Southcenter Mall in the middle of the holiday season. It isn't normally something I would sign up for, but my son opted to time his growth into a car seat perfectly (thanks!).

I dread going to Babies R Us. The store itself is usually fine, but the staff is amazing unhelpful and lazy. I don't even think half of them like babies. I could go on and on about the terrible experiences we had at this place while stocking up on baby stuff, but I'll spare you the details. I will say that yesterday turned out to be more pleasant than I was expecting. Even though the malls were packed, we were able to get in very quickly and the gentleman that helped us select and fit a seat was really great. He seemed to know his stuff and was simply a nice guy.

But back to the negative.. does everyone else have bad experience there or is it just me? And why am I spending so much $$ on like a million varieties of chair? Infant seat, car seat, booster seat, high chair.. on and on... sigh.

Saturday, December 17, 2005

Training with Power

One of the must have items for cyclists these days is a power meter. Even though they still aren't cheap (~ $600-$3k) they offer a view into your training that a heart rate monitoring simply can't offer.

A power meter tells you literally how much power you are producing at any moment. It is a direct measurement of the amount of work you are doing. Where heart rate is influenced by many factors such as temperature, fatigue, etc, power is absolute. Your heart rate also tends to lag behind the amount of work you're performing. The classic example of this is climbing a hill. Even after you crest the hill and head down the other side, your heart rate will still be high.

Building a training program (and there are many ways to do so) allows you to be more precise about your training and gives you better insight into how fit you really are. Fundamentally, in a race if all things are equal, the person who can generate more power will win.

Power meters also help with gauging nutrition requirements and fatique levels. At the end of a ride you can look at the total number of kilojoules of energy expended during the workout. Through a bit of conversion, this correlates about 1:1 to calories and is much more accurate than the calorie estimates given by heart rate monitors. In addition, over the course of a training cycle you can calculate the total energy expended to know if you're really doing the proper amount of work.

On a somewhat related note, I was curious if I worked more during indoor trainer workouts so I looked at my total energy expenditure per hour for both indoor and outdoor workouts and found that I generally expend about 9-10% more energy inside.

Interesting stuff, eh? Want to run out and buy one? :)

Friday, December 16, 2005

Safe Cycling Tips #5

Tip #5: Drive your frequent routes

If you're going to be riding a certain route frequently, such as your commuting route, take the time to drive it and see what it is like from the perspective of a driver. This is particularly important if you're going to be riding at night. See a road from a driver's point of view can help you know the safest places on the road. As you drive the route think, if there was a bike on the road right now, where should it be so it doesn't get in my way?

Monday, December 12, 2005

Better late than never?

I finally got around to playing with links are on the right.

Friday, December 09, 2005

Safe Cycling Tips #4

Tip #4: Be careful in crosswalks

Sooner or later you're going to find yourself using a crosswalk. Even in pedestrian friendly Washington I've found them to be very dangerous. For some reason drivers wait patiently for pedestrians, but when you have a bike stuck to your ass you suddenly become invisible. So, make you any cars waiting for you actually are waiting. Make eye contact with the driver and don't make any assumptions that people are looking out for you.

Gmail Clips

Google just added a feature to Gmail that displays "clips" at the top of your inbox. These clips can be ads, RSS feeds or other stuff. Interesting concept, but I was very disappointed when I dug deeper and found it isn't integrated at all with Google's feed reader. Let me get this straight, I took the time to enter my feeds into your reader (ok, I just imported an ompl file) and over in Gmail you don't even give me the opportunity to select from those feeds? Suppose I think Clips is the greatest thing ever, now my amount of work is doubled.. I need to add a feed in two places. Forget it.

Wednesday, December 07, 2005

Safe Cycling Tip #3

Tip #3: Consider the left side of the right line

Huh? I was trying to come up with a catch title so forgive me. The idea of this tip is to consider the situation when deciding to ride on the left or right side of the right (often white) line on a road. I see cyclists constantly hugging the edge of the road and I don't believe this is always a good idea. I think they are afraid of getting hit from behind. In reality, the chances of this are small. You are much more likely to hit a car pulling out of a driveway, and the consequences of that could be devastating.

So, if I'm going down a hill with any reasonable speed I often pull to the left of the line and actually in to the lane. If doing this creates a situation where people can't pass me safely I often pull right into the middle of the line and establish my position in traffic. While going down a hill you'll often be able to go fast enough so people don't get too pissed at you. I do this so I won't smack into the side of a car at 30 mph if someone pulls out of a driveway and it has paid off.

On the flip side, when I'm climbing a hill I will often be on the right side of the line or even on the sidewalk if the road isn't safe enough. My reasoning here is that I'm going so slow I will be able to react to people pulling in and out of driveways.

So there ya go.. enjoy and be safe.

Tuesday, December 06, 2005

Another close call

I almost got nailed by a car, again. This time it happened on what I think is one of the safest parts of my commute. I guess you can't take anything for granted. Anyway, I was climbing a steep hill (10+%) on my way home and riding on the sidewalk since I was moving so slowly and traffic tends to fly up this hill. I have an insanely bright headlight and wear bright green and white clothes. Yet, given all of this, somehow, someone decided to turn into a driveway just as I was crossing in front of it. It happened so fast I didn't see it coming, but he stopped so close to me I felt the heat from the engine.

Grrr... why don't people pay attention...

Thursday, December 01, 2005

The World is Coming to an End!

Oh no wait.. it's just snowing in Seattle. Be calm people.. everything will be ok. I'm sure your giant SUV will handle the monsterous 1 inch accumulation.