Monday, August 10, 2009

Importance of Rudiments

I used to march in the Newark High School Marching Band. Yup! A band dork! I played in the drumline. My freshman year I played Quads, my Sophomore, Junior, and Senior year I played snare drum. I remember coming up from middle school and knowing very little about the drums, and music in general really. I struggled reading sheet music and I barely knew how to do a drum roll.

The first thing I learned the summer before my freshman year "at band camp" was the importance of the percussion rudiments. A rudiment is a simple pattern set of stick combination that are meant to practice stick control. Think of it as the vocabulary for drummers. In order for a non drummer to appreciate the importance of rudiments, just watch this video of the Blue Devils warming up. Be sure to pay close attention to their sticks and hand movements (link):



This is an example of rudiments at their best!

My favorite rudiment is the paradiddle, hands down. It is nothing more than RLRR LRLL RLRR LRLL RLRR LRLL, over and over. In high school, I understood the importance of rudiments, but didn't really "appreciate" them. I just knew I had to know them. However, as a drummer sitting behind a drumset, my knowledge of rudiments has really given me the ability to play complex grooves with very little effort. The faster you play them, the groovier they sound. It is also true that the faster you play them, the easier they are to play honestly. I remember the process of learning them and recall how difficult they were to learn. Not only that, but when I would have to also march to a steady beat, my sticks would just get tied up.

Anyway, I saw that video today from the drumfunny twitter feed and it too me back about 12 years.

Sunday, August 09, 2009

Hartford Fair Models

Jennifer took the girls up to the Hartford Fair yesterday and they got their pictures in the local paper (link).

and


Apparently they are the poster children for the Hartford Fair, because we've also heard that they are in the commercial for the Hartford Fair this year as well. Needless to say, Jennifer and I have been watching Channel 10 and Channel 4 religiously so that we might see the girls on TV.

Tuesday, August 04, 2009

Jennifer's House Fettish

I love my wife. I do. I love her so much that it only makes sense that I recognize her problem with real estate. :) She has been looking for "the perfect house" since we met 13 years ago. I give her all the credit on every house we have ever lived in. She has hand picked the houses that we've lived in over the years. From the renovated garage in the back of an alley, to the german cottage style house by a trailer park. From our dead-end dream home in town, to our country home out here in the sticks. All of the credit goes to her, and she knows that I know that because I tell her all the time. I don't know where I'd be living without her knack for quality living.

So I guess the real question is: What makes a perfect house?

This answer would be different for almost everybody that you ask. Some might say "open floor plan", while others might say "nice view" or "central air" or "downtown". To me however, it has nothing to do with the location, structure, or subtle amenities inside. The perfect house is the one I'm in right now, at any point in time. As they say: "Home is where the heart is". I understand that now that I'm older and have children. I believe that I would be just as happy in a 1 room hut down by the river with a dirt floor and no mortgage; as long as I had my Jennifer and our girls along with their simple child-like innocence to keep us company all day.

So again: What makes a perfect house? You do. The only reason I know this is because I grew up in the perfect house. My parents are strong-willed and family-valued people. There were times when my parents had to choose to downsize and move my sister out of our current school district and away from our friends, or stay and fight to keep what was theirs. In hind-sight the actual house had nothing to do our happiness. Sure it helped, but the happiness was derived from the fact that we were all together.

While I feel like we are raising our family in the perfect house, my wife is convinced that there is another place out there that is screaming our name. If she feels this way, then by golly I'm gonna follow her because she is my home. A new house with different surroundings won't change that. Her latest find is about 5 miles up the road and is about 50% more expensive than this place. I love my wife. I do. :)

Saturday, August 01, 2009

Burning River Shout Outs

As I stated in the first paragraph of my last post, I've been pretty busy and haven't been keeping up on my blog roll.

However, I just wanted to give a quick shout out to all my running friends that have been training for and will be running 2009 Burning River 100 Mile Endurance Race this weekend. I wish them the best of luck and know they're going to have a great race!

Go Kimba!

Go Mark!

Go Michelle!

... and anybody else I'm missing! :)

Tuesday, July 28, 2009

Serializing Objects to Json in ASP.NET MVC

I've been working like crazy lately, and haven't been doing much blogging at all (reading or writing). I have a slew of blogs that I want to catch up on. I've barely checked my twitter lately, but reading my blog roll has completely fallen to the way side. The good news is that I've been learning a lot of jQuery, ASP.NET MVC, Linq, and overall enterprise application architecture in a very short period of time! This means that I have a brain full of geekiness just dying to get out.

Building this type of application is really a totally new type of programming for me and has really been putting my brain (and whiteboard) through the some long nights. Over the last few weeks I've really been able to see it all come to light. I'm shooting at a moving target (so to say) and there are changes that pop up along the way that change the system at it's core, where I'm forced to change how objects are constructed and so forth. While I could go on and on about the application I'm working on and all of the problems I've been faced with recently, the topic for this post is strictly related to how easy it is to serialize server side objects to the client.

Problem
I needed a way to represent server side memory objects as client side javascript objects. I have a set of div tags that need to be represented on a canvas (another div) and the user needs to be able to interact with them. Most importantly, I didn't want to re-invent the wheel entirely in javascript by creating all new classes and so forth.

Solution
Json.

Example
Let's say I have an object called "Person" that has a few properties and a collection of PhoneNumbers.

Person
  • Name
  • Address
  • City
  • State
  • Zip
  • PhoneNumbers[]
PhoneNumber
  • Type
  • Number
Now to the meat! In order to serialize these objects to Json, simply create a nested class (ie. a class that is defined within the parent class) that inherits from JavaScriptConverter:

class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Address { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
public IList PhoneNumber { get; }

public class JsonSerializer : JavaScriptConverter
{
// override SupportedTypes, Serialize(), & Deserialize()
}
}

class PhoneNumber
{
public string Type { get; set; }
public string Number { get; set; }

public class JsonSerializer : JavaScriptConverter
{
// override SupportedTypes, Serialize(), & Deserialize()
}
}

Inside the 'SupportedType' member, simply return a new enumeration of the parent type. For example the SupportedTypes member inside Person.JsonSerializer would look like this:

get { return new[] { typeof( Person ) }; }

Inside the 'Serialize' method, simply cast the obj parameter to your type, and then begin setting each property like so:

var result = new Dictionary();
var person = obj as Person;
if (person == null)
return result;

result["Name"] = person.Name;
result["Age"] = person.Age;
result["Address"] = person.Address;
result["City"] = person.City;
result["State"] = person. State;
result["Zip"] = person.Zip;
result["PhoneNumbers"] = person.PhoneNumbers;

return result;

Inside 'Deserialize' do the same thing, only backwards (not covered here)... In order to take advantage of the Json data, let's initialize a PersonViewModel class. This class will be used by our View pages. Here is a quick example of what this class might look like:

class PersonViewModel
{
public PersonViewModel(Person person)
{
Person = person;
Json = string.Empty;
}

public Person Person { get; private set; }
public string Json { get; set; }

}

This class will be initialized by an Action method on our Controller class. Inside that method is where I initialize the Json property. In order to serialize our data to Json, we need to register our custom JavaScriptConverters with an instance of the JavaScriptSerializer. Let's do that now!

User calls:
http://mywebsite/Person/Edit/123

This will call the 'Edit' action on the PersonController; this will be where all of the things glue together.

public ActionResult Edit(int personID)
{
var person = _repository.GetPerson(personID);

var converters = new List();
converters.Add(new Person.JsonSerializer());
converters.Add(new PhoneNumber.JsonSerializer());

var serializer = new JavaScriptSerializer();
serializer.RegisterConverters(converters);

var viewModel = new PersonViewModel(person);
viewModel.Json = serializer.Serialize(person);

return View(viewModel);

}

Inside the Edit view, we can now simply use a server tag to initialize a variable to be used by the page (in javascript notation). Here is the best part!!

var person = <%= Model.Json %>;

$(document).ready(function(){
alert(person.Name + ' is ' + person.Age + ' years old');
});

Cool huh?

Monday, July 20, 2009

Hooked On Linq

For those that don't know what Linq is, read this:
LINQ is a set of extensions to the .NET Framework that encompass language-integrated query, set, and transform operations. It extends C# and Visual Basic with native language syntax for queries and provides class libraries to take advantage of these capabilities. - http://msdn.microsoft.com/en-us/netframework/aa904594.aspx

I've only mentioned it on my blog once a very long time ago, while I was attending CodeMash.

Well, I've been using it for a few months now (steady) and it's taken some time for me to really get used to it. I still find myself writing loops to find things inside lists, or else converting them to List so that I can use the Find() and Convert() functions freely. I've now convinced myself that Linq is my friend and I'm finally a huge fan of it. I've always been reluctant to Linq in my project because I felt like I was no longer "in control" of my collections and it added too much overhead.

Today, I found myself updating an old collection class with some new functionality and was able to shrink many of my methods down drastically using a single Linq query. In my case, I have a single collection class that offers multiple functions for extracting a subset of objects. For example, I might want to pass a parameter and only return a all objects whose member happens to match that parameter. Here is an example of one of the functions that I changed in my code to make it more readable:
public IEnumerable<PanelDefinition> FindByType(PanelType panelType)
{
foreach(var panel in this)
{
if (panel.Type == panelType)
{
yield return panel;
}
}
}
And I was able to rewrite it to this:
public IEnumerable<PanelDefinition> FindByType(PanelType panelType)
{
return from panel in this
where panel.Type == panelType
select panel;
}
To a non-geek, both snippets are very cryptic, I'm sure. However, to a geek (like myself) the bottom snippet is more "human readable"... or at least that's what we've been told anyway. :) Regardless, the second snippet has no squiggles or syntax rules to follow. Something else that's nice about the second snippet is that it's able to take advantage of all the framework niceties. I could go on and on about how cool and flexible Linq is, but go see for yourself if you're curious: http://msdn.microsoft.com/en-us/data/cc299380.aspx

Thursday, July 16, 2009

Present Like Steve Jobs

This is a bit corny, but very useful. I've done many presentations in my day, and it is not as easy as Steve Jobs makes it look.



Another good resource is a book called: Presentation Zen

Read it! It will show you ways to keep your presentations interesting. I never realized how many crappy presentations I've sat through until I read this book.

Wednesday, July 15, 2009

How to Become an Ultra Runner

What's with the Title?
I thought about naming this post "How to Enjoy Running", but decided on "How to Become an Ultra Runner" instead, because that's what I am today. I plan to talk about my journey and inject little tips along the way for anybody else that want's to start running (for whatever reason). The idea behind this post all started with a quiet and peaceful run today in the woods. While on my run I did a lot of reflecting and thought about how I got to where I was at that moment in time. Ever do that? While I was grinding on that thought, I realized how happy running makes me. I truly can't imagine life without running now. I thought about how I might answer someone who wants to know how (or why) I run so much. The "why" is easy, I do it because it makes me happy. The "how" is a little different, but it all started with a single step.

Why Ultra Running
My outdoor activity of choice is running long distances. However, there are oodles of outdoor activities that are just as addictive as my favorite sport (ie. kayaking, biking, swimming, hiking, or whatever). For me, I truly enjoy being outside and huffing and puffing across the earth. Therefore, my examples all include the sport of running. I would love to hear your journey or "how to" examples of getting into another addictive sport.

The first section of my post will be broken down like this:
  • Starting from Scratch
  • My Mission
  • We are Born to Run
  • How to Enjoy Running
Once that I finish rambling about theory and our purpose, I then get into the "how to" section. Which is more or less just me telling you what I did along my journey, sprinkled with what I would have done differently:
  • Getting Started
  • Sticking With It
  • Challenge Yourself
  • Reap the Rewards
Starting from Scratch
So, I've been "recovering" since my last race, and maybe even recovering a little too much. :) I've basically taken the last 2 weeks off of running and I'm now back to starting from scratch on a training plan. I can't believe how easy it is to gain weight. I know I've gained about around 5 pounds or more just from eating crap food. I've been living on hot dogs, beers, cake, pop, burgers, chips, you name it... I've injected a few healthy choices along the way (fruit smoothies - my fav, salads, yogurts, oreo's... oh wait). However, healthy food simply isn't a major part of my daily routine like it probably should be. I've always offset my eating habits with my running addiction. Honestly, I'm excited about getting back onto an actual training plan now. I get to enjoy the whole process of transforming my body back into running again rather than maintaining a running body. It's more fun when starting from scratch, especially when I have the luxury of time on my hands.

Lucky for me, I can probably pick up and be trained for a marathon a lot quicker than someone who's never ran before. Therefore, I don't recommend going outside and start running 5-7 miles a day with 10 mile long runs on the weekends right away. Doing so would put you down and out for a long time with some nasty injuries. I totally remember my early running addiction days. I remember my first mile was so painful and I literally hated it. I forced myself to stick with it and eventually I started looking forward to them. If I had to do it all over again, I don't know if I would have done it differently. I have always been one to learn from my mistakes. :)

My Mission
While on my run, and pondering all the things that led up to my running addiction. I decided it was only fair to share with others, the series of events that got me there. Perhaps reading my story would influence someone else to take similar steps to a happier life.

I feel that the key to a happy life is knowing that I am in control of what I will and will not do. We are all blessed with the ability to make simple decisions every day. Thousands of them! By making these little choices, you are creating your own reality, or deciding your our own destiny... Wait, this post just got waaaay too deep...? Just bare with me for a few more sentences please.

Begin Deep Thought
Disclaimer: My religious beliefs are just that... my religious beliefs. It's my blog.

Over the years, I've realized that I am in charge of my future. If not "in charge", then I can at least redirect it everyday towards a happier life. I live everyday knowing that today is the first day of the rest of my life... Every single decision counts! If I don't like how something is going, I change it. One decision at a time; it's really that easy. We all are capable of doing this.

Nobody is a victim! If you say "I can't do that because [insert excuse]", then you are absolutely right... [the excuse] has prevented you from even trying. Therefore you can't. However, if you say "Hell, I can do that!", then you are also right! Understand that it is up to you to decide how to react to a challenge; you will always be right.

If you are a person of faith, then you know that you have your God on your side to help you in your new journey. If you are a person of science, then please go watch "What the Bleep Do We Know" to understand that the human body is constructed of an amazing series of circuits (feel good vs. feel bad).
End Deep Thought

Still with me? Good... So, I wondered how I could help others find their knack to get healthy and realize how happy they will (in turn) become. While I'm by no means "healthy"! I can say that I'm much healthier today that I was 3 years ago though and I attribute most of that to running.

We are Born to Run
Human beings are built to walk (and run) on two legs. A vast majority of the human race is born with 2 legs and can walk effortlessly. The best part about running (to me) is that it's as easy as walking. Running requires very little preparation to get started. Just change a walk into a jog and there you go! You're running! Literally. If you can walk with no effort, then you can run with very little effort. I can't think of any other sport that is so convenient and easy to get started as running is.

You can run anywhere. By anywhere I mean... anywhere. Also, by anywhere, I (personally) mean anywhere outdoors. I would definitely suggest running outdoors as opposed to inside. Running inside on a treadmill or around a track is nice in worse case scenario's (ie. storms or late at night). However being outside in nature (including storms and late at night) is what really does it for me, and has kept me motivated to stick with it for these last 3 years. I feel sorry for the people inside the YMCA as I run by the gym and see rows of people running on treadmills staring at a "community television" worrying about how fast the person beside them is going. :( If only they would unplug and get outside!! They too might see that they are missing a lot. I would choose to run 5 miles in the pouring rain outside rather than 5 miles on a treadmill in the air conditioning any day!

How to Enjoy Running
This was the hardest part! I never ran in high school. I literally hated running! The first time I ever ran at my own free will was while I was attending my freshman year at Bowling Green. I only ran as a means to lose weight, but not because I enjoyed it. It worked very well, and I dropped 60 pounds in about 4 months. At that time I was only running 1 mile everyday and I pushed myself to run it faster and faster every day. As the weight came off, running became easier and required a lot less effort. People were starting to notice that my weight was coming off, and I liked that. However, I still didn't look forward to my daily runs.

Three years ago, I was up to a pudgy 230 pounds, and I decided it was time to do something about it. I started running again. It sucked! I hated it! My side hurt, I couldn't breath, and my entire body ached after I was done. In hind sight I should have started off slower, but at the time all I knew to do was tuck my head and pound as fast as I could until I reached 1 mile. The more I did it, I began to realized that I didn't have to go balls out fast. I also discovered that once I slowed down, I was able to go a lot farther and for a longer period of time. Eventually, I was starting to look forward to my runs. I found that after a while I was no longer running to stay fit; I was now running because it was fun, and it genuinely made me happy.

Running had become my own personal time. I let my mind become my sanctuary for meditating and thinking about whatever I wanted to. (Maybe I should have put the 'Deep Thought' brackets around that last sentence? :)) Honestly though, I am able to think about so many things and have solved so many problems while running. I contribute a lot of my sanity to running. I've solved many computer problems in my head while running, I've constructed large computer systems in my head while running, I've made lots of huge decisions while on runs as well. When my household gets stressful (trust me, it does), I put on my running shoes and go run. I find it's best to run in the woods with no iPod for maximum results. :)

I find that I get more joy by running outside in the elements. There is something about being out in the open air (hot, cold, windy, muggy, it doesn't matter) that just makes me happy down to my core. I take in so many sights and I've experienced so many different climates on my runs. I remember running in Novosibirsk (Siberia) in sub-zero temperatures with Scott through the Botanical Gardens. I also remember running in gale force winds here in my home town on a stormy summer night. Running in the rain is my favorite, and sloshing through wet snow in the winter time puts a smile on my face. Day or night doesn't stop me either; I purchased a head lamp and now don't have to rely on the sun to see when running. I've ran in blue jeans before, I've ran barefoot around the back property before too. No outside force can stop me from running. Injuries tend to slow me down, but I'm learning how to prevent them as well as I journey through this sport.

For me, the only way that I was able to enjoy running was to just do it... a lot. Once I figured out how to run, it became fun.

Getting Started
If you are still reading this, then you are thinking one of two things:
  1. Luc is stupid. I should stop reading this.
  2. How could I become a distance runner?
Luckily for you, I thought of a system on my run today that I'd like to share if you are thinking #2. :) If you've never ran a step (on your own free will) in your life then you should do this.
  1. Find a place where you are absolutely comfortable.

    If you would feel totally ridiculous running in public for whatever reason, then I don't recommend running in a crowded area (duh). I know first hand that it was kind of embarrassing for me at first. I would feel like I was jiggling all over the place when I ran. After a while I didn't care (and rightfully so), but being in a private area where I could experiment with my stride, and not worry about what I looked like helped me build my self confidence as a runner a lot.

  2. Go Slooooooow

    This is where I screwed up! I tried to run a fast first mile. For some reason, that is what I thought "running" was all about. Instead I should have done a walk, jog regiment and progressed to a steady "run". Here is what I would recommend having gone through the pain of my first run:

    - Walk for 1 minute
    - Jog for 10 seconds
    - Walk for 1 minute
    - Jog for 15 seconds
    - Walk for 1 minute
    - Jog for 20 seconds
    - Repeat... until I span 1 mile.

    Eventually you'll be able to jog a mile without stopping. When you get to that point, try jogging two miles. Feel free to walk whenever you need to. Don't ever feel like you can't walk. Believe me, there is plenty of walking at ultra running events.

  3. Run every other day. No matter what!

    This will force you to give "running" an honest effort. You will hate running at first; trust me. Your feet will hurt, your body will ache, you will experience side cramps, you will get blisters, you will stink, etc... Stick with it! Soon it will become easier and more enjoyable. I promise!
Sticking With It
This is the last step in my (awesome) Getting Started plan above. It is also the key element to becoming a runner. Whether you start running to get fit, or you just want to see why I like it so much, keep at it! You will get fit, and/or you will see why I like running so much. There is a lot of challenges that get in the way when picking up a new habit. The only way to appreciate running is really to give it an honest attempt. If you run every other day for 2 full months and still hate running, then stop running and try something else. Running is not for you.

However, I know that after 2 full months of sticking with an "every other day" running habit, you will begin to look forward to your run days, and dread your rest days. I did and still do.

Challenge Yourself
If you are one to push yourself in order to make something feel worth while (like me), then it may be a good idea to sign yourself up for a 5k road race (3.1 miles). You don't have to "run" a 5k, but I did. I decided that if I was going to sign up for a running event, then I was going to train for it and run it! My first 5k was an extremely rewarding experience. I will never forget how scared I was at my first road race. I didn't know what to expect. I just showed up with my family and put all of my humility on the line. I'll never forget how proud I was to cross that finish line though! For a measly $25, I attended a public "running" event and finished it. That $25 turned my life around.

After running my first 5k, I was hooked on the sport of running. Just pushing myself into unfamiliar territory is what did it. I wasn't afraid to be known as a runner anymore. I was able to be around other runners and I actually had something in common with them now. Running was no longer something that only "fit people" did, and it took a simple 5k road race to prove that point to me.

Reap the Rewards
As running became easier, I began running more and more. I signed up for more 5k's that first year and they too were becoming easier and easier. Running a 5k on a weekend became a normal thing to me. I was building a collection of running t-shirts, medals, and plaques. I was also beginning to lose a lot of weight and people were starting to notice. My race times got better and better and my energy was through the roof. I had become more happier in 4 months simply by sticking with it.

Eventually I realized that I liked running so much, that I started running longer distances and for longer periods of time. I signed up for a 20k trail run and then a 1/2 marathon road race. Eventually I was running marathons, and now I'm running ultra marathons. What's next? Even I'm not sure...

Conclusion
Please don't let my current distances fool you... I still push myself out the door every time I need to run. I do take comfort knowing that after mile 2, I'm in my element. I still treat my ultra marathons is the same as I would have treated a 5k 2 years ago. It took the same process to get to these distances and I still get the same jitters as I got at my first 5k.

You can't just go out the door and run 50 miles one day. You have to start somewhere. For me, it was a painful 1 mile stretch of blacktop. I would have never guessed it would have put me where I am today. Who knows where you'll end up in 3 years... It is really up to you. If you aren't happy where your at today, start to change it by making your first "change" decision.

Monday, July 13, 2009

What's Been Going On

I haven't blogged in a few weeks. I've been pretty busy around here. July is always a crazy month for us; Jennifer and Jazzy's birthday's are both in the first week of July. Toboso yard sales also take place in the first week of July, so there is a lot of preparation and planning that goes in to all of these events. This year, a new element was added with the wedding of a very good friend. So in the mix of all this chaos, I decided blogging wasn't a priority when I turned on the computer. :)

So what's been going on..
  • Jen turned 30
  • I got stranded in Cleveland
  • Training for Fall races
  • Jen gets injured while shopping
  • Yard Sale!
  • Jazzy turns 6 years old
  • Mike and Kelsey get married
  • Lizzie and Jazzy get a new swing set

Jen's Big Surprise
This year was Jennif'er's big "3-0". She turned 30 and I had to get her something cool. I had considered throwing a big surprise party for her a few weeks before. She warned me not to do it, and after considering all the hassle and work of it, I had to figure something else out. Therefore, I asked her best friend, Crystal, to take her out for a night on the town while I had my best friend, Tyler, come over and help me rip up the carpets in the living room. There was some beautiful hard wood floors underneath them, and Jennifer and I have been talking about doing it for years.

The day came for Crystal to take her out and get some drinks... I had kept my cool all day and pretended like I was going to be working all night while she was out. In reality, I had Tyler coming over around 7:30 - 8pm so we could get started on this EPIC project. We would have about 3 - 4 hours to get the carpet ripped up and move all the furniture back before she would walk in the door. Needless to say, she came home at 12 midnight totally unsuspecting anything and just fllllllipped out!! She saw the floors and just giggled and cried for about 5 minutes. It was priceless. I kicked ass this year, and she claims it's her best birthday ever! :) The next day, I invited all of her friends and our family over for cake and ice cream. I loved it! She was happy and I'll remember my feeling when she saw that floor for the rest of my life. I have NO idea how I'm gonna top this next year. :)


Bachelor Party in Cleveland
The next day, (ie. July 3rd) - I woke up and immediately headed up to Cleveland for my good friends' bachelor party at an Indians game. I had the entire weekend figured out: I was supposed to go up to the baseball game on Friday night, party down at the bars, sleep, then come home and enjoy fireworks with the family at my cousins for the 4th of July. As it turned out, I get up to Cleveland a full day early! The whole way up I wasn't able to get a hold of anybody in the party. I got to the hotel and there were no reservations... I got to the game, and still couldn't find anybody, so some super nice dude at the ticket desk gave me a free ticket to go in and find my party. He could clearly see that I was distressed because I was like 30 minutes late to the game and missing my buddy's party.

After getting into the game and finding the "help desk", some one was able to find that the tickets to my party weren't until "tomorrow night". It all made sense at that point (nobody answering their phones (ie. still at work), no reservations at the hotel, and no tickets to get into
the game. Therefore, I was forced to drink beer and eat hotdogs at the game, and then get a room in the Cleveland ghetto... by myself. The next day, I drove around Cleveland aimlessly waiting on "the crew" to show up, so I could do it all again. :) It turned out to be a pretty fun (but expensive) weekend. :)

Running??
I was pretty good with my running last week. I ran Monday, Tuesday, Wednesday, and Thursday. They were all short mileages (2 - 4 miles), but they were enough to get me back out and running agian. I need to start training for my fall race line up. I'm doing the Indian 60k Trail Run, Columbus Marathon, and a new Bobcat Trail marathon. I think I'm going to sign up for the Mohican 50 miler again next year if I don't find a fun 50 miler this fall / winter. I gotta figure out my stomach issues with this 50 miler so I can attempt the... No I'll save it for a later post. :)

Anyway, I've been trying to watch my diet as I prepare for these ones so I can actually lose some weight and run easier and with less effort. Jen hates my new diet! :) Typically when she gets too much food, she'll give me what she can't finish. Now she's forced to either finish it herself or throw it away. The other day she ordered a huge Angus Swiss burger meal from McDonalds and I got a friggen Fruit Parfait and a water. It goes without saying that I was pretty hungry later, but I'm learning to accept these pains and try to stay busy until they pass. :) We'll see what this week brings... It's harder to turn up junk food than I thought!!

Jen's Foot!
This last weekend, Jennifer had her first shopping injury. :) She was in Gabriel Brothers (her all time favorite store) shopping for some last minute items and the rest is history. It went like this, I took the girls to town with me to visit a buddy, then go get ice cream with my 3 girls. As we were wrapping up our adventure in town and heading back out here to the house, I get a call from Jennifer and she's very upset.

Here, she was shopping and a huge metal rack fell on her foot!! Not only that, but she was wearing flip flops and it was a direct hit on the bridge of her foot (yeah, the soft part). Ouch!! When the girls and I showed up, it looked pretty nasty and she was clearly in a lot of pain. We spent the remainder of the evening in the Zanesville hospital getting her foot taken care of. She now walks around with a cool limp and has a sexy, hospital-blue boot to show for it. :) She was even more upset because the next two days were both big days that we've been planning for all spring. :(

Yard Sale & Jazzy's Birthday Party
Friday morning, we all woke up early (after a 2 hour nap on my part) and setup our driveway for the annual Toboso yard sales. Jen was hobbling around, I took a personal day from work, and people were strolling in and out all morning / afternoon. Jennifer couldn't move fast, so she had me and her sister to help her.

As the yard sale was dying down I busted out my cousins' inflatable water slide because Jazzy was having her 6th birthday party tonight. It went great, we had so many people show up to celebrate it with her and it was so good to see her smiling and having a good time. The party died down around 10pm and we got them all ready for bed. Jen and I had an early morning...

Mike and Kelsey's Wedding
A good friend of ours (the bachelor from last weekend) was getting married in Cleveland the next day (Saturday). Jen and I had to get the girls to her moms, then drive to Cleveland before 3:30pm. We arrived around 2pm and was able to just relax for a while. The wedding was absolutely beautiful and we had a great time. Mike and Kelsey are a damn cute couple and I wish them years and decades of pure happiness. It's free and we all deserve it, especially them!!

Jen and I partied like it was nineteen ninety nine. She hobbled around on her boot all night and I hobbled around on a slurred speach. :) We were able to meet up with some old-school friends and we just had a great time! We got about 6 hours of honest sleep then it was up and at'em with the alarm so we could head back home for one final project...

New Singset
Jen and I had a date to meet a guy in Hilliard to purchase a very nice swing set from a fella on Craigslist. It was an absolute steal at $100!!? Jen offered him $120, because it helped lock in our "bid" and also was still a hell of a steal. These things typically go for around $600 or more. Needless to say, the swingset is sitting out in our yard right now just waiting to be put back together. That sounds like a good Tuesday or Wednesday project. :)

Til next post.. I'll be relaxing....

Friday, June 26, 2009

Buckeye Outdoors Plugin Update

If you are a user of BuckeyeOutdoors.com, then you should know that there is a new update to the SportTracks Plugin. Ben and I met last night and fixed many of the problems that have been reported by users over the last couple of months.

Last night's fixes include the following:

Timeout Issue is Fixed
There were many cases where a user would try to sync a workout and the program would throw an exception that says it timed out. This was fixed.

Invalid Category is more forgiving now
We had a slew of users reporting errors to the list that said the category was Invalid. You would get this error when you would use a category that was not recognized by BuckeyeOutdoors.com. For example, if you had a category inside SportTracks labeled "Hiking"; this is not a valid category on BuckeyeOutdoors and would throw an error.

When this would happen, it would throw a very unforgiving error that would stop the entire sync process and force you to fix it before moving on. Now, you simply get a red X with an error message, but the sync will still continue to process the other workouts.

Start Date Configuration
There were problems displaying the correct StartDate configured by the plugin. While the underlying value may have been set correctly, the display would always show a different date. This issue is now fixed, and the display will always show the correct StartDate that you configured using the plugin settings page.

Overall Plugin Refactor
It should also be known that I updated the underlying architecture of the plugin quite a bit to allow me to begin adding unit tests. For those that don't know what this means, it basically means that I'll be able to catch bugs in the plugin much sooner and much easier. :)

To get the latest version of the plugin, read this post on the ZoneFiveSoftware.com forums. Or you can simply watch this video tutorial: BuckeyeOutdoors Plugin Walkthrough

Sunday, June 21, 2009

Mohican 50 Mile Race Report

Let me start by saying that I had an overall great experience in my first attempt at the Mohican 50 mile trail run. Great race, great volunteers, poor course markings, yet overall awesome experience! Unfortunately, this race goes down as my first DNF (did not finish)! I made it a little over 38 miles and had to drop out. I ran for 11 hours, 21 minutes, and 15 seconds. I got to experience some of the highs, and some of the lows of this awesome sport of ultra running. I've heard that the longer the distance, the more extreme the high's and low's are; I experienced it first hand.


To sum it up, I screwed up the Purple loop, ran into some nasty stomach issues on the Orange loop and the cutoffs beat me at the Grist Mill. If I had enough time to gather my stomach at the Grist Mill, I might have finished this race and had a different blog entry. As it turns out though, I got to experience defeat on my first attempt at the 50 miler. I must say that DNF's suck... bad. Especially since I wanted to conquer this distance so bad. I'm actually kind of glad that I got this over with early in my ultra running experience (the DNF, not the 50 miler). I'm already very hungry for my next attempt!

Here is my story (if you're interested):

Start (5 am)
I made sure everything was packed and organized in my tent the night before. After the quick dinner and runners meeting the night before, most all of the runners went to their tents and tried to get some shut eye for the 5am start. It was pouring down rain and very dark. I was actually kind of excited to start with a terential downpour; it adds to the fun in my book. I threw off my head lamp, strapped on my hydration pack, and threw a poncho on and headed to the starting line. By the time the race started, the rain had left and it was looking like it was going to be a beautiful day.

Landoll's Castle (6:15 am)
Shortly after the race started, it was obvious that the rain was not returning, so I took the poncho off around mile 2 and tied it to my back pack; it was now dead weight. The first 10 miles were all road miles. It was actually very easy and enjoyable. I blew through this first aid station with a few drinks of water, a fig newton and some pretzels. One thing I forgot to pick up were some bandaids... wet shirts & bare nipples don't mix. They really bothered me for the next 5 miles, but nothing I've not experienced before.

Rock Point (7:30 am)
After the relaxing 10 mile run on the roads, I arrived at Rock Point and it was (finally) time to enter the forest. I grabbed a cup of gatorade, filled my water bottle with ice water, grabbed a few more pretzels, a fig newton and on I went into the woods. It felt soo good to be sloshing through the mud finally. There were a few slippery spots through here. It had rained most of the night and all of the front runners had really souped up the trail by this point.

South Park (8:30 am)
By the time I got to SouthPark aid station I was feeling amazing! It was about 15 miles into the race, and I had zero complaints. I dropped off the poncho and made some small changes to my hydration pack to make it less noisy and lighter. It worked and I was jamming onto the next aid station. There was a little river crossing and I made sure I got my legs nice and wet. I even stopped for a second and wiped off all the mud that had been sloshing up onto my shins. This was where the feet would be wet for the remainder of the race. This next section of the course had some killer hills and they really wore me down. I was staying strong through here, but the quads were really getting a work out through here.

Fire Tower (9:30 am)
I arrived at the Fire Tower aid station with open arms. A little boy met me on my way in and was assuring me that there was lots of food and water and that they had everything I would need. I thought it was great and I thanked him big time. :) I was feeling the hills from the last section, but overall felt great. My feul was spot on, I was taking my S! Caps religiously and my hydration was great also. I was in and out of the Fire Tower real quick and anxious for some downhills to the Covered Bridge.

The sun was out and in full force now. However, that's the beauty of trail running; it's all hidden above the trees. :) It was already muggy from the morning rain, but with the sun out in full force now, it started to get pretty intense. Everything was just "thick" and sticky. My clothes were completely drenched and I had rung out my sweat band about 10 times by now. No worries, I knew it was gonna be a hot one, so I'm not complaining by any means, just stating facts.

Covered Bridge (10:15 am)
This is where things went horribly wrong!!

I arrived at the Covered Bridge and was about an hour ahead of the cutoffs. I didn't think to much about not finishing this race at this point. It wasn't even in my train of thought. I knew that if I ran into some problems, I had a nice buffer to work things out and get moving again. The key to ultra running is to "keep. moving. forward." I was prepared for whatever that meant.

This next section was a very easy 4 mile loop through some crazy terrain. If you don't believe me, see for yourself:

Ascending Little Lyon Falls


Descending Big Lyon Falls

video
Courtesy of Nick's Blog

Anyway, I've done the Purple loop a few times before and while I got lost once, it was a pretty easy loop. I headed up to Little Lyon falls and climbed the crazy root system. The whole way there, people were passing me on there way back saying how pissed they were and warning me that there were NO course markings on this loop. I was confident that I've done it before and would have no problems finding my way... I was wrong. After I climbed up Little Lyon Falls, I turned left thinking that it was the correct way. I saw a few runners up a head of me and thought, cool I'll just hang with them. As I was running up to them, other runners were gathering from a SEPERATE path. Everyone was bitching that the course markings were gone. I didn't even think to stop there, think and turn around. Instead I hung with them. It wasn't until I had descended Big Lyon Falls and was heading back to the Covered Bridge that I realized that I didn't even run by the dam or do any of the road section. By this point, I was about 1/4 of a mile from the Covered Bridge.

When I got there, I spoke up and told the aid station captian that I screwed it up and asked him what I should do. By no means was I wanting to cheat this race. I could have very easily moved forward and nobody would have ever known, but "homey don't play dat". I told the guy that I would rather do it right and said that I'd just do the entire Purple loop again. That meant, climbing the root system and all. Whatever!! I asked him about the cut offs and he told me that I was 10 minutes ahead of the cutoffs by this point. I thought, "Ok, no big deal, I'm still in this...".

Shortly back up the Purple loop, I ran into Mary Anne Ramirez, an ultra walker from Texas. Again, the whole way up we kept hearing other runners complaining about the lack of markers. I vowed to stick with Mary Anne and show her the way now that I realized where I screwed up. I truly truly enjoyed her company. However, we (power) walked the whole loop. Typically, I would power walk up hills, jog the flat sections and run downhill. This was all new to me and it felt like we lost a lot of time walking. Regardless, I made a great new buddy on the trail and I know that I helped her through there. If I had to do it all again, I would have done it exactly the same way. Things happen for a reason, and I feel I was supposed to meet her on this section so we could tough through it together. Thanks for your great company Mary Anne!

Covered Bridge Again (12: 30 pm)
By the time we got back to the Covered Bridge we were about 10 minutes behind the cutoff and we both had a lot of time to make up. I was up to the task, because the next section is my favorite; the Orange loop. I loaded up on calories at the aid station, pounded some gatorade, and filled my water bottle with ice water, and began my jog across the Covered Bridge. This entire "Purple Loop Experience" took me about 2.5 hours. :(

I had one goal at this point and it was to make up for lost time and get back to "running". The first section of this loop is mostly up hill switch backs, so I power walked up them. By the time I got to the flat sections, I was pretty winded. I decided to do some fast walking for a while, but focused on keeping my pace around 15 minute miles until I can get enough energy to start jogging again. By this point, I had around 28 mile behind me and I was starting to hit the wall hard. I was in the woods and didn't think anybody was behind me, since I was already behind the cutoff. I was wondering if I was going to be able to finish this thing. Around this time, a runner by the name of Tim Harmon came up behind me and helped me take my mind off the pain. He and I talked for the next 4 - 5 miles and it helped me a lot. I began jogging the flat sections and downhill sections. He stuck with me each time I had to walk a bit, and I really appreciated his company. We just talked and talked the whole time and it helped a lot. I told Tim that I was good if he wanted to jam ahead. He did and said he wanted to get that medal. I didn't blame him and bid him farewell. If you're reading this post, thanks for sticking with me, Tim! :)

Hickory Ridge (2:15 pm)
I arrived at Hickory Ridge feeling... ok. I wasn't down and out for good, but I was still working my way out of a nasty slump. When I was gathering calories and talking cut off times with the aid station crew, I saw Mike sitting off to the side waiting for a ride back to the camp ground; he had dropped. He seemed ok with it, so I didn't feel too bad for him. Great job on a stellar 50k Mike! However, I must admit that this gave me a little bit of motivation to pick up the pace; I did not want to lose this race! I chugged two quick cups of warm (almost hot) Pepsi, at a banana chunk and grabbed a bag of M&M's to go. Amazingly my wall had been broken and I was running again. I felt great! I was running the flat sections, power walking the hills like nothing and keeping my pace very quick. I never did catch up with Tim, but I could tell that I was right on his heals.

After Hickory Ridge, my stomach was pretty touch & go. I was fine as long as I didn't think about putting anything in it. As soon as I would consider taking another S! Cap or even drinking water, I would get a sour feeling. I just kept moving forward and ignored my stomach. Mistake. Around 4 miles after the Hickory Ridge aid station, I realized that I had to do something because I was sinking back into a funk very fast. The sun was hot above the trees, which meant that it was very muggy and the sun would pound down on me between all the clearings. The next section to the end was all roads, which meant all sun, which meant all heat... which meant, I needed to hydrate now.

I decided to force a Honey Stinger into my belly and about 4 ounces of hot water. About 1 mile later I began an extremely violent vomiting fit. I stood in the forest with my hands on my knees vomitting and heaving louder than I've ever puked in my life. It almost sounded too dramatic to be beleivable, but it was 100% real and it was not fun at all. I felt like falling over and just passing out. Instead I made my way over to a tree and just propped myself up against it for a few minutes. My eyes were watering and my stomach hurt from all the contracting. All that time I had made up earlier was shot and the cut off times were back to haunt me. I knew I would be fighting the clock all the way to the end now.

After my pukefest, I forced water into my system again because now I REALLY needed it. Amazingly, my stomach accepted the hot water this time and it actually helped. I felt a little better by this point. I knew not to try to put any more Honey Stingers in my belly or anything solid though. My stomach was still sour, but I was able to move forward. Forget running, I couldn't run or jog at all. At this point, I was restricted to power walking. The thought of hopping up and down made me want to... well, you know.

Instead of forcing more water down into my stomach, I poured the remaineder of my water bottle over my head and was just shufflying my way to the Grist Mill aid station (3 miles away) in hopes that they could "fix" me and send me on my way.

Grist Mill (4:15 pm)
When I arrived at Grist Mill, I was completely spent. I literally fell onto the first thing that I could sit on. I put my head down and mumbled that I needed some help. The aid station crew was AWESOME!! They got me some Pepsi and put a bag of ice on the back of my neck while I was just sitting there drooling (gross, yes... sorry). Oddly, the place where I sat was directly under the sun, so the guys had me move into the shade. After about 10 minutes I was still feeling pretty bad, and I was about 30 minutes behind the cut off at this point. The remaining 13 miles of the race was all road miles under the sun...

I had to drop.

In hind sight, I would have probably done a few things different, but I'll keep all that all to myself and use it for my next attempt. :) I had a great experience and I'm not afraid to run the 50 miler again; I'm actually excited to run it again, and beat it.

If you enjoyed my story, or were grossed out enough by my story to want more, then please read some of my other running buddy's stories: Kim, Mark, Nick, Rob, Don, Mike P, Michelle, Mike, Ed, Marryann, many others... :)

Thursday, June 18, 2009

Alice In Chains

September is going to be a great month!! Not only is Pearl Jam releasing a new album, but I've just learned that Alice In Chains is also releasing a new album! I'm a huge fan of both bands, so I am ready for fall!

The big change for AIC's upcoming album is their new lead singer: William DuVall. This doesn't thwart my excitement in anyway! Jerry Cantrell is a huge part of Alice In Chains' vocal sound anyway, and I have heard that DuVall sounds a lot like Lane Staley. I just love the music that this band puts out, and it wasn't "just" the lead singer. Don't get me wrong, we'll all miss Lane Staley, but I'm sure that the guys picked up William DuVall for a reason.

Man, it's hard to believe that it's been 14 years since their last album! I feel old now.

Release Dates:
  • Pearl Jam - September 22nd
  • Alice In Chains - September 29th
Mark you're calendars!

Wednesday, June 17, 2009

The Love of My Life


While the title may sound cliche, it's true. Jennifer and I are celebrating our 9 year anniversary today. This picture was taken while we were hiking with our girls at Flint Ridge State Park a few months ago. It was a happy day, just like all of the other 3,286 days I've spent with this ring on my finger. I'm a lucky man, and I realize it more and more everyday.

Happy Anniversary Babe!!
Posted by Picasa

Tuesday, June 16, 2009

Four More Days

Four days and counting until the 20th Annual Mohican 100 Trail Run!! Though, I'm only running the 50 miler this year, it's great to be a part of this ultra tradition. I've been tapering for way too long now and I almost feel like I'm untrained after all this non-running. I'll get a few miles in today and a few more Thursday, but nothing too strenuous; I want my legs to stay uber fresh for my race.

The plan for Saturday is to just put one foot in front of the other until I cross the finish line. I'm going to pack everything with me in my CamelPak. This will include a change in socks, my calorie bars, my S! Caps, and various first aid supplies for the dreaded bloody nipples, blisters, chaffing, etc... My goal is to not mess with a drop bag if possible. I had considered packing a drop bag to hold an extra pair of shoes for the final road section, but I think I'm just going to trust the ol' ASICS for the full 50 miles. My biggest fear is that the change in the sole contour that late in the race would be more of a problem than a luxury. I don't know though, my mind may change as the date inches closer(?). For now the plan is to go out light and come back even lighter.

I truly can't wait!

Dear Microsoft Installer,

If you can't install yourself on my machine because there is an earlier version conflicting with your setup, then please tell me this up front. It is very frustrating to tell me about this after I have already waited 45 minutes going through the various steps, including a reboot. This has happened to me too many times, and I feel it's time to speak up.

Sincerely,
Luc

Thursday, June 11, 2009

Full Body Experience - XBox 360 Video Games

Too cool! I saw a retweet from Scott Hanselman on my twitter feed and had to share this!

It's simply amazing; especially when the guy breaks out an old game using his hands and feet to drive the car. The technology being used understands all the movements of driving, just like you would if you were mimicking driving a car to a friend.



This could add a whole new element to "air drumming"! That's what I'm most excited about I think. :)

The Dreaded Taper

This is my second week of tapering and I usually dread these times because I want to be out running. However, I gotta say it's kind of worked out OK this time. Last week, I got real busy with work and haven't really had time to get out and do any long runs. This last Sunday I forced myself out the door after a long crazy weekend and got in a meezly 6 miles. Tuesday I did 5 miles quick miles and yesterday I did a very (very) slow 3 miles just to get the blood flowing. I'm scheduled for a 7 miler today and will probably do it later this evening. Tomorrow, I'm going to do an easy 5 and then just relax and do no running over the weekend.

Next week, I plan to do two early runs in the week and then let the legs fully rest until Saturday... where I will be putting 50 long miles on them. I ain't scurred either! I'm actually excited to see how bad it's going to hurt. As my Dad says, "I must be a glutton for pain." :)

Good luck to all of my friends that will be running the full 100 miles!

Pearl Jam - Got Some

Conan O'Brien's first show featured Pearl Jam as his musical guest. Talk about a hell of a way to start things off, Conan!! Anyway, I watched this the night they performed it and it sounded very chaotic to me because I didn't know the song. However, they clearly rocked it out of course. Luckily I recorded it on my DVR and then I watched it like 4 or 5 times afterward to really appreciate it and allow it to ferment in my brain. It worked and I truly can't wait for their album to be released this fall.

Hope you enjoy it as well:

Wednesday, June 03, 2009

To Bing or Not To Bing, that is my Google Search

I saw today where Microsoft is really pushing a new ad campaign for their new search engine name in hopes that it will be the next verb for searching. As it stands now, when I need to find something, I just "Google it". That seems to be the words I hear from others as well. Google has literally become the word to use when you need to find something.



Microsoft wants to get people using their service and have renamed their Live.com search to Bing.com. I visited it today and do like how they've mashed up their various services. For example, they're using local.live.com maps as their interactive mapping surface. Not sure why they didn't stick with live.com? Perhaps live.com is too abstract for the general public. Where as bing.com just doesn't make sense at all and makes people respect it more. After all, that is what we, the people, look for in a url isn't it? Amazon, Ebay, Google, Yahoo, Twitter, and so on... Before the internet, these words meant very little. Is Bing going to be the new everyday zany word for searching content on the internet? I'm gonna give it an honest try for a week and see if I like it.You should too.

Monday, June 01, 2009

Ultra Runner Daizi

Lizzie and Jazzy had a track and field day at school a few weeks ago and they had a blast. They participated in various events including the long jump, a softball throw, a few other events, and various running events (my favorites). Lizzie ran a 100 meter race and a 50 meter race, and Jazzy ran a 75 meter race. We took video of all of them and they did great! They were so proud to get out there and run in races "Just like Daddy". It was so cute to see them give it their all out there and I was extremely proud of them and enjoyed it sooo much!

Poor little Daizi was too little to participate in the events and had to hang out with Jennifer and I the entire day. When all the events were over, she was begging me to let her down (on the verge of tears) so that she could get down and run. This is what happened:



I think it's safe to say that (if she has the slightest interest), she is destined to be an ultra runner. :)

Trained

I’m as trained as I’m going be for my first 50 miler in 3 weeks. Yesterday, I met Nick up at Mohican for 30+ miles of hardcore hills (my longest training run ever). We met at 7am with no cars in the parking lot but ours, and off we went. Be sure to read Nick’s story about his experiences with the Mohican hippie’s. :)

MoRun20090531 We started on the Red / Green loop very slow and kept a nice steady pace up the hills. I’ve done part of the Red loop before and part of the Green loop before, but have never ran either loop the full distance. The Red loop is 8 miles and the Green loop is 13 miles. I’d heard rumors that the Green loop is the meanest of all the trails at Mohican. I was destined to find out just what that meant today.

What started off to be a very chilly morning, turned out to be an absolutely gorgeous day; perfect for running in the woods. I’d told Jennifer that I was going to be running most all day today, so there was no hurry to get back home like I usually do. The Red loop was pretty easy for the most part. My legs were still pretty fresh and my water and fuel intake was going well. By around 9:30 we had hit Rock Point and we started on the Green loop. Immediately I was loving it because this was all going to be “new trails” for me, and I love that!

I really enjoyed these loops. There were a total of (I think) 3 river crossings and the river was cooold each time we crossed. At one point, I had water up past the knee caps and it felt good to give the calves a nice ice soaking as I made my way across. I also got to see how big that darn hill is on the Green loop and… man! It was a big one. Apparently the 100 mile runners will have to make that climb twice; ouch.

Around 12:30, we got back to the covered bridge. 21 miles were in the bag and we just had another 10 or so to go before calling it a day. Both Nick and I had empty stomachs and were drained of energy. Therefore, we hoped in the Jeep and headed up to McDonalds for some gorging. On our way back, Nick drove me through the road sections of the 50 mile course and I couldn’t believe how much road we’ll be running on; ~20 miles. It helped to see the road sections, because I decided to bring my old Cascadia 3’s for the road sections since they are on some pretty rocky roads. I’m going to set a drop bag at the first aid station inside the forest and switch to my ASICS trail shoes. I’m going to set another drop bag at the aid station outside of the forest for my 10 mile road trek back to the finish line with fresh socks.

After we got back from McDonalds, we headed up the Orange loop (one of my favorites). Instead of doing the full 15, we did a 10 mile version of it to get in 31 miles. I finished the day around 4:30 and headed home for some yummy burgers on the grill that Jennifer had cooked. My legs were pretty sore the rest of the evening, which means that the run was a great training run. I gorged at the dinner table, chugged two huge glasses of rich chocolaty milk and then chilled on the recliner the rest of the night with Daizi while Jen ran to town for the evening.

Monday, May 25, 2009

26.2 Miles of Training Today

I ran a marathon today. Only it was a training run, not an actual race. I'm preparing for my first 50 miler next month at Mohican! Today was scheduled for a 22 mile run, but I turned it into a 26.2 mile run instead since my week was crazy with work and I missed a 4 miler earlier in the week.


Actually, there was a big (loosly) organized set of training runs at Mohican this weekend for all the runners, and I had planned on going up yesterday morning. I'd looked forward to it all week, but the way that my week unfolded, there was no way I was going to make it up to Mohican early Saturday morning. Instead, I just ran a nice 4 miler yesterday and then did my epic run today.

When I woke at 11:30 am, this morning, I knew that it would have been very selfish to take off out the door and miss the day with my girls, so I planeed to hang out with them til about 5pm then do my run into the night. As it turned out, I didn't get to spend much time with them anyway, because I went to a friends house to help her with a computer problem. I tried to take the girls with me, but Jennifer insisted that they were fine here at the house with her.

I took off out the door at exactly 5pm. With me, I had my Camelbak loaded with 2 liters of icy cold water, I had both of my water bottles full of Gatorade, and a whole bunch of calories in my pockets and in the backpack. From my house I went to Marie Hickey Trail (2 miles), and did a single loop around it including Oak Knobb Trail (2.5 miles), then headed back down the road (1.5 miles) to Canal Lock Trail (0.4 miles). After Canal Lock Trail, I ran to the Blackhand Gorge bike path (0.4 miles) and ran the entire 4.25 miles to the end. Along the way, I ran Quarry Rim Trail (0.6 miles) and Chestnut Trails (2.0 miles). By the time that I had gotten to the end of the bike path, my watch was showing 12 miles.

At this point, I was feeling fine. Both of my gatorades were empty, so I was just carrying empty water bottles, and my Camelbak was still about 1/2 full. The sun was on it's way down, so I stopped for a minute and pulled out my reflective gear and my head lamp since I was going to be going through some wooded trails on my way back through. I had lost my bandanna somewhere around mile 7 and I was going to back track a bit to see if I could find it laying on the ground. The headlamp got turned on about mile 15 as I was entering Quarry Rim trail again. I was very happy that I had remembered to pack my headlamp because it got D.A.R.K. once I got into the woods again.

From the bike path, I ran back to my house. My bandanna is lost, but I'm going to take a quick 2 miler back down to Canal Lock trail tomorrow to see if I can't find it. Anyway! Whatever!! So when I walked in the back door, my watch was reading 18.78 miles, which meant I still had 7.42 miles to go before I was done. I came in the back door and Jennifer warmed me up a quick cheeseburger that she had cooked on the grill, and filled up my water bottles for me. I love her! I was in the house for about 2 minutes total and started up the hill with 1/4 of a cheeseburger hanging out of my mouth. I grabbed my iPod while she was warming up my burger so at least I had some tunes to help the last few miles go by faster.

The remaining miles were all done around the loop that I keep nicely cut on the back of my property, and is strictly for running purposes. :) It's about a 0.18 mile loop, so I have to run around it about 6 times for a mile... Which, by my calculations, means that I ran in circles a lot. :) When I was done, I was (still am as of right now) pretty well spent. The entire run took me about 6.5 hours and I did a lot of (fast) walking towards the end. I know that today's run, including the fast walking, will prove to be very valuable on June 21st.

To sum this post up, today was the longest training run I've ever done. I feel kind of cheated that I don't have a shirt, a plaque, or a medallion to show for it, but that's part of the package I guess. :) Next weekend, I plan to go up to Mohican and run my first ULTRA training run. I'm looking to do 30 miles and then begin my 2 week taper for the race. I'm actually excited about running these long distances. You wouldn't beleive how much code I figure out in my head on these runs. :)

Monday, May 18, 2009

Running the Trails at Salt Fork State Park

Yesterday I met up with my running buddy, Kim at Salt Fork State Park for a trail run. We had a blast and only got turned around once. The agenda was to go out and do 18 miles then come home and relax. The day didn't quite unfold that way though. We ended the run with a nice, slow paced 14 miler and great trail fun instead. Kim posted an entry about the run as well, so be sure to check it out.

I left the house at 6:15 am to meet up with Kim by 7am. As it turned out, the 40+ mile drive turned out to be a little over an hour and I was fashionably late. I made sure everything was ready by the time I got there (watch on, gel packs in pockets, sweat rag, etc..). That way I could just hop out and take off when the car was parked. As it turned out, Kim didn’t care, she was still getting ready anyway.

It was pretty windy and a little chilly starting off, but once we got moving it was absolutely perfect weather for running. About 1 mile into the trail, Kim stated that she left her Garmin on the car. She is so laid back; I would have spazzed out and sprinted back to the car in fear that someone would have taken it. She impressed me with her “eh… so what” attitude. :) She set it on her hood to let the GPS sync with the satellites and then when we took off, she forgot it. Luckily we had my Garmin so we could keep track of our mileage and time.

The first section was all bridle trails and there was a lot of mud. The feet got wet immediately and it was a lot of slow stepping through this section. It was a great way to start a long run (slow and muddy). Love it! After the bridle trails we made our way to the hiking trails. The ground was a bit more firm through here and it was mostly running through the woods.

Salt Fork trails are absolutely beautiful. We ran through some nice hilly areas and it was picture perfect scenery every way we looked. The best part was when we ran beside the lake. I had no idea Salt Fork Lake was that big. It helped that the skiers and speed boats weren’t out yet, as it really added to the vibe having a calm lake that early in the morning.

As we were making our way through the trails, we kept coming up on the “purple loop” which led us both to believe that there is a main jugular trail that goes through all of the little side trails. That’s a pretty cool feature if you ask me. It would allow us to eliminate all the road running and just stay in the woods. Maybe next time we could test that theory.

About 9 miles into our run, I needed to refill on my water bottle so we stopped at one of the campground restrooms. This is where entered our time warp. We started back down the road a little way and found a path, we were just chatting along and then all the sudden we both recognized a big rock. We stopped for a while and tried to make sense of it, but couldn’t… Then we started heading back up the hill and got to the road. Without knowing yet where we were, we kept heading the same direction (left). Then about 1/4 mile down the road, we realized that we were going the opposite way. Still unsure how it happened, we gave into our senses and turned around. Once we got back to the restrooms we realized what we did and continued on. It’s always an adventure with Kim! :)

I also learned on this run that there have been Big Foot sightings at Salt Fork. That got me looking into the woods a little deeper as I ran once I found that out. Apparently they have bigfoot conferences at Salt Fork once a year and people come from all over the country to talk about Bigfoot. Unfortunately, we didn’t see him… :P However, it was nice to know that we were in good company out there in the wilderness. :) At one point I think we ran across some bigfoot droppings at one point though. That or there was a huge (bigfoot sized) horse that really had to go…

Anyway, we had a great run and I got to run on some new trails. They were all new for Kim too, so it was a double win for the day. When we got back to the cars, Kim’s watch was still on her hood! The good news is that somewhere between 7am and 11:30am her GPS had synced with the satellites. :)

Having great company to run with helps the miles go by so fast. Before I knew it, I was running late back to my house to spend time with the girls. On my way out of the park, I pulled off 5 ticks! 2 were attached and 3 were working their way up my leg. My skin felt like it was crawling all the way back home, but when I got home and in the shower, there were no more.

Tuesday, May 12, 2009

Grass

Spring has sprung and the yard has been in shambles. Our yard seriously looked like a jungle until this past weekend. I got home from a week of traveling to an Amazon Rain Forest around my house. We had limbs hanging down to the ground. We had snakes in our grass, and our pets were covered in ticks. It's sad to admit it actually, but it was all true. It was too a point that the only mower that could make a dent in our yard was the bush hog. I hooked it up and went to town. It even bogged down a couple of times. :( I mowed as much as I could on Saturday and then saved the rest for the finish mower. It was so bad that we could have (honestly) bailed up our yard into square bails.

Anyway, I just got my finish mower back from "the shop" and it's as good as new again. I'm anxious to get back out there and work on the yard like a real yuppy American. It is so bad around here that when I went looking for my weed eater, I found it face down in a bucket of old car oil. :( Jennifer and I realized that we were made for each other. We are both so care free about everything until something needs done, then we stress out trying to figure out "why us".

To bring it all into perspective, we have a Ford Ranger with busted tie rods and a flat tire. We have a trailer with expired tags. We have a Honda Odyssey with no back windshield wiper and a busted door. I have a Honda Accord with a dinged up hood and all my "check engine" lights are on. I could go on, but I think I've made my point. Life here at the Hardbarger house is simply one crisis to the next. Whatever, I love it! Now it's time to go downstairs and get to work. Tomorrow is a new day and I'm gonna get that finish mower moving over the property.

If you've noticed that I haven't blogged in a while, it's because I've been busy. I haven't blogged or twittered in a while actually. Don't ask me about my training either; it's on the upswing this week too...

Wednesday, April 22, 2009

Over-Engineering by Default

When creating large systems, I tend to over engineer everything. I’m not sure why, but I hate casting parameters to their native type and I absolutely despise writing the same line of code twice. For some reason, I think that everything has to be generic and abstracted to the atomic level. I wish I could just tell my brain to settle on using ‘object’ sometimes and move on. Instead, I over cook basic concepts and the result is a fine-grained architectural nightmare.

Oddly, I tend focus more on the idea of over engineering my solution long after things have been working fine. Clearly I’ve recognized a pattern somewhere along the way, but it drives me crazy when I can’t lock it down to a solid set of patterns.

Today I struggled with something and considered multiple implementations. Each seemed to have it’s own pro’s and con’s, but nothing has jumped out as the “correct” solution yet... I’ve wasted pretty much a whole day today trying to work in some pattern with a base class template that accepted a generic <T>. I was noticing that certain classes always dealt with another type of class. I changed a lot of code to get it to work, only to run into a brick wall at the end. The main problem that I was overlooking was that my solution is a multi-project solution and there was 1 simple class that resides in a higher level assembly preventing the whole thing from gluing together.  :( I just couldn’t figure out a good way around it. I finally realized that I was spending way too much time on it. Worst yet, I wasn’t even really going to gain a lot from the change anyway, other than a big “cool” factor. Whatever! I’m going try to sleep on it and hope that it will come to me over night.

Another one of my big struggles after all these years of coding is deciding when to use an abstract base class and when to use an interface. This is another one of those things that I tend to rethink after my solution has been working for an extended period of time. Unfortunately, I’ve not found the golden rule for deciding when to use an interface and when to use a base class. I know that there is a lot of information on the web (here’s MSDNs’ idea), and pretty much every developer (except me) has their own “tricks” for determining. For me, it continues to be a struggle and I have to really think both concepts all the way through before deciding.

One trick that I use is by determining if an object has the characteristics of something, or if it actually is that something. I always try to figure out if my object (interface or class) has any shared logic or classes as well. If there is one thing that all instances should have, I try to engineer toward a base class implementation. Sometimes that doesn’t work, so I go back and try to code it as an interface. I’ll go back and forth with each until one makes the most sense. :( Clearly I’m missing something here... I should be way beyond this after all these years! This sounds like Programming 101 crap! I yell at myself each time I catch myself doing it.

Truth is that I do this all the time in my profession, and I hate it more and more. In the long run, I usually always get that glorious “AHA!” moment, but it’s always a long puzzling road for me... I guess I’ll keep over engineering everything until I smarten up a bit. (?)

Simple concepts should not require over engineering; it is a waste of time. Sometimes it works out great. But other times (like today) I wind up just making things worse and put myself back a few steps. I’m sure that I’m overlooking an obvious pattern here. If my dreams don’t show me the answer before tomorrow morning, I am going to simplify everything back to the basic that I had this morning. :(

Oh yeah, deadlines suck too!