Do you really want me as a customer?

  • Don’t make me log in or create an account just to place my order.
  • Don’t make me do a password reset just because I haven’t logged in and I’ve forgotten my password.  If you absolutely insist on doing a password reset, do this instead:
    • Take my email and password + repeat password, regardless of whether I have an account under that email address currently or not.
    • Send a confirmation link to my email address.
    • Process payment once email has been confirmed.
    • I still insist that, unless you are a BANK, you do not need me to confirm that I am associated with some arbitrary identity that you have established in your system.
  • Recognize all of the common phone number representations. I should error out on
  • Don’t ask me to enter the +4 part of a zip code.
  • If your address lookup or data feed includes the +4 part of a zip code, it should match a 5-digit zip code without making me confirm or recalculate shipping.

Everything in math comes down to calculus

Everything else is a generalization. Take, for example, the formula for the area of a rectangle:

In reality, this is the result of the equation:


Where the length of the rectangle lies along the y-axis, and the width along the x-axis

See? Isn’t that simple, and a much more accurate representation of the area of a rectangle?

I thought so.

Strength exercises and struggles with any form of cross-training

I talk with a lot of fellow gym rats at work and, with the exception of a few runners, running is generally viewed as some form of punishment. Runners can even get a t-shirt or bumper sticker to reinforce this notion.

To me, running “easy” is like a walk in the park. Even running long slow distances is rewarding, in the same way that getting so wrapped up in an exciting work project that you forget to eat lunch is rewarding. There is something about the slow, steady effort and the moderate intensity persistence that’s required that is its own reward.

On the other hand, I have entire categories on this blog called “i hate cycling” and “not fond of elliptical”. (The truth is, the intensity of my feelings about elliptical are an extreme understatement.) To be fair to the objects of my distaste, those feelings are born from attempts to get aerobic exercise while injured and are as much an expression of frustration as anything.

Okay, it’s not just frustration.

I’ve hit speed bumps in the 2 years since, but I’m still more faithful to running on a bad day than any other form of exercise on a good day. During injury, I usually can keep focus on strength training or cycling, just to have something to do. All other times, I get complacent, lazy, don’t have time, etc…

I also cannot quantify the benefits of any of these other exercises. With running, I have races, and I even have a pretty good handle on food/weight/mileage balance.

Since wrapping up physical therapy, I’ve dropped back from 3 days/week of strength training to averaging about 1 day.

I’ve decided to slightly up the intensity and shorten the duration in the hopes of getting more strength training per week as a result. My intent is to get enough intensity to make the workout feel worthwhile, but not take so much time to make it hard to schedule into my day.  As a result, I’m looking at fixing reps at 30 / 1 set per exercise, and have added 5 lb. ankle weights or dumbbells where I could.  Before, I would add an extra rep per session, and occasionally reset back to an easier level.  I’m really hoping consistency will help raise my “mental stake” in keeping the strength exercises going.

Example Log:

8:00 PM : 00:08:47


  • 30 pushups on dumbbells
  • 30 L side leg raises
  • 30 R side leg raises
  • 30 L inside leg raises
  • 30 R inside leg raises
  • 30 Leg Raises, each leg
  • 30 Hip/Knee Flex alt leg
  • 30 Alt Leg Supine on Ball
  • 30 Hip Bird Dog on ball
  • 30 20 lb curls, each arm
  • 10 wall squats +5 lb dumbbells

Switching focus away from the marathon for a little while

I’ve had a combination of really good marathon experiences and really bad marathon experiences at this point.

The race day experience doesn’t bother me too much. The marathon is a challenging distance to run well, because little problems early on (and even 24 hours before) multiply over the 26 mile 385 yard distance:

  • Blisters start before the halfway point.
  • Lack of proper fueling or hydration shows up between miles 15 and 20.
  • Unseasonably warm weather usually takes it’s toll for the 8-10 minute miler about the time you hit mile 20-23.
  • Eating the wrong thing that morning becomes exponentially nasty with every mile you’re out on the course.

The problem is, I’ve had 3 bouts with injury, including one that occurred within 7 weeks of this year’s Chicago marathon. There’s an aggressive mileage target that I want to hit (80-100 miles per week) for the performance that I want out of my marathon. The mileage itself is not an issue: I’ve successfully run 80+ mile weeks before with only the expected fatigue. The problem is scheduling that mileage into my routine.

I end up injured because I stubbornly stick to my mileage target on weeks that I don’t have the time to follow-through. That means that I:

  1. Stack too many runs in a day [triples with well over 20 miles total]
  2. Run too fast [within 10 seconds per mile of my marathon PR for every run]
  3. Start building up 5 or more miles per week at a time.

I guess the whole “marathons disrupt a runner’s progress” line of thinking finally got to me. (See: The Marathon: A Race too Far?)

I’ve completed 7 marathons so far, and I’ve only had a consistent 16 week training period for 3 of them.

  1. My first one was a 4:34 PR in Outer Banks, NC [My first marathon, ever]
  2. The second one was a 3:39 PR at Flying Pig.
  3. The third one was a 3:32 PR at the Indianapolis Monumental Marathon.

The others? I came off of injury or ran 4-6 weeks after another marathon. Two of them were extremely hilly marathons:

  • 4:42 at Hatfield-McCoy six weeks after a 3:39 PR at Flying Pig (I also vacationed the week before and had sore leg muscles when I start).
  • 4:32 at Flying Monkey coming off of 6 weeks of injury.
  • 3:49 in Memphis after a 3:32 in Indianapolis–the second marathon wasn’t hilly and I was still in good shape.
  • 4:24:50 in Chicago after injury within 7 weeks of the race and 86’F high downtown.

So far, it appears that the recipe for the greatest chance of success is having at least 16 solid, consistent weeks of training. Also, after running the marathon, my running takes a huge step backward for at least a month. To get to where I want to be for marathon training, I think I need to back off the focus on the marathon.

So, instead, I’m going for some INSANELY lofty goals for my current ability–basically, race paces below 7 minutes for all races up to the half.

  • A 19 minute 5k
  • A sub-40 10k
  • A sub-70 10 miler
  • A sub-90 half

I can do 5k training plans in increments of 4 weeks, and even the half in 12 weeks. I can also race a 5k every weekend without really risking injury if I run easy the rest of the week.

Don’t think that I’m giving up on the marathon; I have a ticket that I need punched for the NYC marathon next year.

What should I do with this existing desktop?

I have a mostly custom built desktop, and want to replace it with adequately current hardware, but no real plans for gaming.

  • The IDE Hard Drives are going out.
  • On the existing desktop:
    • Windows 2000 is installed, but I rarely boot to it.
    • Ubuntu 9.04 is installed.
  • I have a SATA 250 GB drive that works perfectly fine, but which I have from another system which I upgraded to 2 x 500 GB.
  • The Antec case is a fairly nice, but dated, mid-tower ATX case.
  • I think the power supply handles SATA power.
  • The existing motherboard only supports IDE, up to a 3.06 Northwood core processor.
  • I currently do not have *any* Windows 7 installs.

I also have a Dell Desktop which is our main desktop in the home:

  • Windows XP
  • 3 GB of RAM
  • 2 x 500 GB SATA hard drives
  • 2.16 GHz [E6400?] Core 2 Duo processor
  • iTunes, media, and photos are on this box.

Some interests:

  • Windows 7 64-bit would be nice to play around with.
  • Would still like to end up with a Ubuntu install somewhere.

Some options that I’ve thought of:

  1. Upgrade the custom build (that’s a mobo/processor and ram minimally, even if integrated video)
  2. Get a recent refurb desktop, replace the Dell with it, and replace the custom build with a Dell
  3. Buy a Mac desktop, move the Dell downstairs.

Chicago Megathon, er… Marathon Race Report

Let’s get the gory details out of the way.  My time was a 4:24:50. I was hoping for a sub-4.

The Chicago Marathon was on my list of marathons that I wanted to do.  While New York has the five boroughs and the Boston Marathon has the prestige, Chicago is the flat, speedy marathon of high performance times.

Never mind the fact that, 3 years ago, the Chicago Marathon was also the site of a marathon cut short by near 90 degree temps.

Pre-race, the porta-potty line an hour prior to the event was as bad as the worst I’ve ever experienced, at the Kentucky Derby Festival Marathon this year [although that was 30 minutes before the start].  Considering the crowd for the Chicago Marathon was about 3-4 times as large, I can understand the wait.

The porta-potty line in the Finish area an hour prior to marathon start

An even bigger problem occurred after I had gotten through the porta-potty line and started heading toward the start line area.  There was a wall of people trying to get around the fencing set up for the start corrals.  At some point, within a few feet of the nearest entrance point, a line of people formed going in the opposite direction.  It turned out that they were streaming out of the exit and that the entrance was a few feet further.  However, there was a mild sense of panic and for a few moments, I thought I was going to be in the middle of a soccer-fan-style stampede.

After about 15 minutes of pushing forward, I managed to get behind the 4:30 marathon pacers.  I don’t know if they intended to be there, as I saw an assortment of other pacers for paces from 3:30 to 5:30 within sight range through the dense crowd.  Bad move on my part for not investing time and effort in a seeded entry–I had a 3:32 and a 3:49 marathon time that I could have used.

My place in the open start area, after pushing through. Behind 4:30 pacers.

When the race began, I found myself waiting for 20 minutes to cross the start line.  Again, considering the size of the field, not a big surprise.  What was a big surprise, however, was the race course having so many 90 degree turns in the first few miles of the race.  In many crowds like this, I have to work to avoid walking.  In this one, I had to work just to avoid coming to a dead stop at the turn.

Much of my first half of the race was spent jogging at a 10-12 minute pace and sprinting to get through openings as they came available.  This resulted in a 9:30 average pace for the first 5k splits and about a 9:00 average pace towards the half.

Water stops were awful.  Of course, they were two blocks long.  The ground was tacky for the first half and slippery for the second half.  Not a surprise, but 2 blocks of this every 1.5 miles is far more annoying that a half block every mile.  With the size of the crowds and the number of inexperienced marathoners, there was a lot of taking fluid and walking down the middle of the course while drinking.  I’m not the best at etiquette, but I try to avoid obstructing traffic as much as possible.

The first block was Gatorade, which meant that I always took it at a stop.  The Gatorade was a very thick mix.  Toward the halfway point, I started desperately looking for the water, and then later, started taking whatever cups of fluid I could get.  The heavy mix of Gatorade turned my stomach by mile 20, and I started having stomach cramps.  It seemed like I had a choice between dehydrating and stomach cramps from the Gatorade.

The heat was not much of an issue.  At least, not on its own.  Yes, it was roughly 83’F downtown when I finished, and downtown temps were on their way to tying the record temperatures by the end of the race day.  The larger issue is that there is so much sun exposure on the course, and Chicago did not live up to its “Windy City” reputation that day.  The air was stagnant and the sun was glaring.  The stomach cramps, heat, and sun wore me down by mile 20, and by mile 23, I was timing run/walk intervals just to keep moving as fast as I could bear.

I fared better than most.  The last two miles were littered with stretchers with exhausted runners who needed medical attention.  I finished, trekked the 1/2 mile to the end of the finish area, and started in on the Gatorade Recovery drink.  I tried to sit and recover some, but the sun was too hot to even sit down in.  By the way, heat and a Gatorade drink with whey protein?  That’s like getting saltwater in the middle of the desert.

The finisher’s medal seems to be way more of an ad for the sponsor than a medal for finishing.  I respect that the sponsor deserves ample credit, but I’d also like ample credit for finishing.  The whole medal seems to pay homage to the Bank of America logo:

Bank of America Chicago Marathon Finisher's Medal

Lessons and recommendations:

  1. Don’t ever run a big city marathon [20,000+ marathoners] again.
  2. If I do run a big city marathon again, get a seeded entry.
  3. If I do run a big city marathon again, but don’t get a seeded entry, jog it without regard for time.
  4. For this area, I would recommend the Indianapolis Monumental Marathon instead.  The money you save can go toward a hotel next to Lucas Oil Stadium that’s within 1 mile of the start.  Two nights in downtown Chicago + race registration would buy you 3 nights + race registration and maybe even tickets to a Colts home game.

Pre-race gear check for #CM10

Gear laid out for the 2010 Chicago Marathon
  • Mizuno Wave Rider 12 with 388 miles on them (I chose better stride over Saucony with fewer miles)
  • Powersox
  • Timex IM stopwatch
  • OBX Marathon running hat — it’s gonna be a warm one tomorrow, and salt and contacts don’t mix.
  • FuelBelt bib holder – got shorted on safety pins in racing packet.
  • 5 Powergel gels in a gel holder
  • iPhone 4 running case + headphones in case things fall apart and I need the entertainment.
  • Blue Nike tank
  • Nike Livestrong running shorts
  • Nexcare bandages
  • Racing bib
  • D-tag on right shoe with d-tag holder clip.

Haskell resources

In order to reclaim some of our programming mojo that has waned from years of maintenance programming and meetings, a couple of us programmers decided to go and try to learn a completely new language–Haskell.

I think this expedition was spurred by a blog post titled Great resources to learn Haskell. I’m as much a math geek as I am a computer geek–I competed on my high school Math Team–so a functional programming language is a natural fit for my hobbyist interest.

Resources that I’ve used so far:

Learn You a Haskell for a Great Good! is an entertaining introduction to Haskell that reminds me a lot of Why’s (Poignant) Guide to Ruby, but without the comic strip story telling.

Haskell for C Programmers is a online book that resonates well with me, because of my deep roots in C programming.