<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>unitstep.net</title>
	
	<link>http://unitstep.net</link>
	<description>the home of peter chng</description>
	<pubDate>Tue, 30 Dec 2008 19:37:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/unitstep" type="application/rss+xml" /><item>
		<title>How I bought a car to complete my first marathon</title>
		<link>http://feeds.feedburner.com/~r/unitstep/~3/498847405/</link>
		<comments>http://unitstep.net/blog/2008/12/30/how-i-bought-a-car-to-complete-my-first-marathon/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 19:37:22 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[Life]]></category>

		<category><![CDATA[asides]]></category>

		<category><![CDATA[exercise]]></category>

		<category><![CDATA[marathon]]></category>

		<category><![CDATA[running]]></category>

		<guid isPermaLink="false">http://unitstep.net/?p=631</guid>
		<description><![CDATA[
The following is a somewhat long-winded first hand account of my first marathon, which I completed earlier this year, but took some time to write about.
It was a usual Friday afternoon, the time of the week that I usually can’t wait for.  However, this Friday I was feeling a little bloated and slow having [...]]]></description>
			<content:encoded><![CDATA[<p class="image align-right"><a href="http://www.zooomr.com/photos/stygiansonic/6045060/" title="Photo Sharing"><img src="http://static.zooomr.com/images/6045060_c883fbce1c_t.jpg" width="100" height="75" alt="2008 PEC Marathon Medal" /></a></p>
<p class="note less">The following is a somewhat long-winded first hand account of my first marathon, which I <a href="/blog/2008/10/05/completed-my-first-marathon/">completed earlier this year</a>, but took some time to write about.</p>
<p>It was a usual Friday afternoon, the time of the week that I usually can’t wait for.  However, this Friday I was feeling a little bloated and slow having come back from a lunch buffet where I’d overindulged. </p>
<p>To work off this lethargic feeling, I decided to visit the gym after work – something that I only do infrequently on Fridays, being keen on getting home as early as possible in anticipation of the weekend.  I’m fortunate enough to have a workplace that has a gym onsite – but this also means any excuses I’d have for not going would only be made weaker.  </p>
<p>Dragging myself to the gym, I started into my routine.  In between reps and trying to catch my breath, I starting making some small talk with Brian, one of my coworkers, who was on the bench beside me.</p>
<p>“I don’t normally see you in here this time of day,” I said. </p>
<p>“I usually come in at lunch,” he responded.  “But a lunch meeting ran overtime today.”</p>
<p>“Are you working out to prepare for hockey?” I asked, referring to the recreational league that was starting in September.</p>
<p>“No,” he replied, slowly.  “I’m in here crossing-training for the <em>marathon</em>.”</p>
<p>That last word, <em>marathon</em>, set off a trigger in my mind.</p>
<p>“Oh, that’s great,” I replied, still trying to process that word.  “Which marathon is that?”</p>
<p>“<a href="http://www.pecmarathon.ca/">The Prince Edward County</a> one – it’s based out of Picton.  This will be my first marathon.”</p>
<p>I guess in the back of my head, I’d always wondered if I’d be able to one day complete a marathon, but never had the willpower or incentive to follow through on my closet ambitions.  For one thing, I didn’t have a car and thus didn’t have a means of a travel to even get to the race.  And, up until this point, I hadn’t known anyone who also had the same interest.</p>
<p>I went back into my workout routine, but my mind continued to wander.  Could this be my chance to finally run a marathon? Picton wasn’t that far away – it would be an ideal first marathon, not having to travel so far.  But, I needed more details.  When I got the chance, I interrogated Brian further.</p>
<p>“When is the PEC marathon,” I asked.</p>
<p>“It’s October 5th,” he replied.  “Why? Are you thinking of running it?”</p>
<p>Today was September 12th.  That put almost exactly three weeks between now and the race.</p>
<p>“Maybe,” I said, using that qualifier that far too often dominates my speech. “It depends,” I added, clarifying the issue no further.</p>
<p>“Well you can always run the half marathon, since they have both events.  Just to give you an idea, my wife and I have been training for the past 18 weeks for this,” he said, matter-of-factly.</p>
<p>My mind was now racing.  True, I could always just sign up for the half marathon, a task I was probably better suited to.  The problem was that I <em>knew </em>that I could do the half, but I didn’t know whether I could do the full.  It felt like something worth trying, but I knew I would be in for a tough time.</p>
<p>Before I go any further, I should indicate that I wasn’t a total newcomer to running.  Though I’d not run a race since high school when I was on the cross-country team, I’d been consistently running three times a week for the past several years, working my way up to 30 km (3 x 10km) per week.  So, while I was perhaps not in marathon-shape, I wasn’t completely without a chance.  But these situations are always the hardest to decide on – when you’re uncertain of your abilities. </p>
<p>I decided to take the weekend to think about whether this was something I wanted to do.</p>
<h3>Beginning Training – With 3 Weeks to Go</h3>
<p>That weekend, I decided to buy a waist belt water-bottle holder for running, on the advice of Brian.  He’d mentioned that typically in training for the marathon, you’d run at least two “long runs” of 30 km to prepare for the stresses of staying on your feet and moving for that duration.  </p>
<p>For the 10 km distances that I usually ran, I usually did not need hydration.  Additionally, at the time, I had a somewhat stupid and macho-like view that not “needing” water during a run made you tougher.  However, for a distance of 20 or 30 km, no amount of being tough was going to get you through that distance without some form of rehydration.</p>
<p>As it turns out, the Sunday that weekend was unseasonably warm, peaking at 27C.  <em>Perfect</em>, I thought, <em>a chance to test out my new water bottle and my toughness</em>.  I planned to run at least 20 km, and maybe more if I still felt good.  Looking back on my cocksure mindset, I can’t help but laugh at the outcome.</p>
<p>Things could not have been worse.  I started feeling extremely fatigued and worn out after only 12 km and had to stop at the 15 km mark and walk back.  Luckily, I had decided to run my standard 10 km loop, so I only had to walk back 5 km or so.  But my initial confidence (or perhaps, exuberance) had been destroyed.</p>
<p>I clearly did not know what I was getting into – I was dehydrated and sore.  Turns out the “drink only when you feel thirsty” rule did not work for me.  If I was to have any hope of completing the marathon at this point, I’d have to learn fast exactly what my body needed.  I spent the rest of day reading marathon training guides and tips, but all of them seemed to reinforce the fact that I should have been preparing for this much, much earlier. </p>
<p>Back at work on Monday, and still feeling a little sore, I resolved to try a long run once more on Tuesday.  Feeling as if it would provide more incentive, I officially signed up for the full PEC marathon that evening.  However, I still had one out: The signup page stated, <em>Feel free to sign up for either the full or the half knowing that we can easily move you from one to the other on race day.</em>  I like having backup plans.</p>
<p>On Tuesday, all I could think about was the long run that I would attempt after work.  Temperatures would be cooler then, and I’d have a better chance.  <em>If I can’t make 30 km, then I won’t even bother to try the full marathon</em>, I pledged secretly to myself. <em>Think of this as a qualification round: make it through this run and you earn the right to run the full.</em></p>
<p>Starting out at just past 5 PM, I took things very slow, since pacing was not one of my strong points.  The temperature was idea, being only 16 C for most of the run.  After the first 10 km, I still felt fresh, and in much better shape than on Sunday.  I slowly sipped at my water bottle full of PowerAde for the next 10 km, until I noticed it was gone by the 20 km mark.  By now, the sun had set, but strangely I was still feeling fairly good.</p>
<p>Up until this point, I had never run beyond 20 km.  I made the easy choice to continue on through the final 10-k lap.  As I neared the end, my confidence grew, despite the fact that I was feeling the onset of soreness in my legs.  When I finally reached the “finish”, which was the entrance of my apartment, I was beaming with excitement.  <em>I actually did it</em>, I thought.</p>
<p>I quickly reminded myself that this still didn’t mean I’d be able to make it through the full marathon.  Though I’d gone almost three-quarters of the way, I still had over 10 km to go for a full marathon, and almost anything could happen during that last 10-k, especially given my inexperience.</p>
<p>Furthermore, there was only two and a half weeks left – not enough time to get any more real training in.  From what little I’d read about marathon training, I’d understood that I’d have to slow things down and get rest before the race, especially in the week before.</p>
<h3>The marathon is only half the race</h3>
<p>Besides my lack of training, there was still one lingering problem in the back of my mind: How exactly was I going to get to the race?  I still did not have a car – chalk it up to laziness, but up until this point I hadn’t really had a need for one.</p>
<p>In a small city like Belleville, I could pretty much get anywhere by walking, biking or taking the bus.  And there were always friends that I snag rides off of.  I figured that this was a better alternative to owning a car that I would have little use for and having to fork over ridiculous amounts of cash for insurance that every male driver under 25 has to.</p>
<p>The marathon, however, was based out of Picton, a small town about 40 km outside of Belleville.  I’d definitely need motorized transportation to get there, otherwise getting there would be a (literally) a marathon itself.</p>
<p>My frugality had placed me in a tough situation.  I originally had thought that I’d be able to get a ride from Brian, my coworker, but I realized that I didn’t want to be a burden, after I learned he was actually a lot closer to Picton than I was.  If he were to pick me up and drive me to the marathon, he’d have to go way out of his way.  With the 8 AM race start time, there was no way I could be so unfair to ask him to get up even earlier to drive me, knowing that he’d already be getting up before 6 AM.</p>
<p>I decided that I’d have to get a car.  After all, I’d already passed the first test – making it through a 30 km run – and wasn’t going to let a logical problem get in my way.  Besides, I had already been planning on getting a car, but like running the marathon, had never had the incentive or willpower to follow through on it.  What could be a better opportunity than to have both situations provide mutual incentives for one another?</p>
<p>I started looking at cars that week. I quickly found myself in over my head, awash in inexperience – a feeling not to different from my current marathon-related experiences.  I had no idea what to look for in a car, and didn’t even really know what kind of car I wanted.  Hell, I didn’t even know where all the dealers were in Belleville.  </p>
<p>I approached this problem with how I approach most problems nowadays – by doing a search on the Internet.  I was quickly disappointed, as most of the dealers in Belleville did not have too much to offer in the way of used cars, and getting a new car was not an option – the only ones I could afford would be tiny econoboxes, not something that I’d want to pump so much money into.</p>
<p>I finally found a dealership out in Trenton that had decent prices, and on Friday, we headed out to the location.  They had a wide variety of mostly GM cars but the Chevrolet Impalas caught my eye.  I can’t say for sure what attracted me to them, but I’ve always wanted a decently-sized car that had enough power for even a subpar driver like me to merge onto the highway.  The fact that it’s considered to be family sedan should be seen as coincidence – unless there’s something I subconsciously desire at this point in my life, which I’m completely unaware of.</p>
<p>I took a few of them for a test drive and was impressed.  The ’07 models had decent fuel economy and didn’t have that many kilometers on the odometer.  But, more importantly, it would get me to the start of the marathon and back from the finish safely.  Never one for making rash decisions, I left, telling the dealer I’d think about it.</p>
<h3>More concerns</h3>
<p>On Saturday, another concern dawned upon me.  Up until this point, I had been running almost exclusively in the late afternoon and evening hours, with most of my runs occurring around 5-6 PM.  The marathon, however, was to begin at 8 AM sharp.  I had never run any real distances that early, and from experience, I knew poorly my body responded to such drastic time changes.  I resolved to get up early on Sunday (something I’d also rarely done) and go for a run.</p>
<p>As it happens, I was only able to get out the door by 9:30 the next morning.  However, I was able to complete the 20 K distance in about 1h 40m, on track with what I was aiming for.  Filled with confidence, I resolved to get a few more “early morning” runs under my belt before the big day.</p>
<p>I was, however, starting to get cold feet about the whole car purchase thing.  Sure, it was something I’d been looking into for some time, but was I moving too quickly?  I’d read that some people had spent weeks and months looking for a good used car, and here I was, rushing headfirst into the whole ordeal just as I was with the whole marathon thing.  There were just so many things I didn’t know or wasn’t aware of.</p>
<p>There had to be a first time for everything, though.</p>
<h3>Transitioning</h3>
<p>On Tuesday, I managed to crawl out of bed before 6 AM in order to get a morning run in.  I’d read in <em>Runner’s World</em> that not eating before a long distance race was a big no-no.  That was not good news for me, as I never eat before running because I tend to take longer to digest food than most.  The “30-minute rule” was more like a 1 or 2-hour rule.  Furthermore, I was not a big breakfast person.  These two habits put me at a distinct disadvantage in terms of pre-race fueling.</p>
<p>To remedy this, I decided that waking up, eating a substantial (for me) breakfast of cereal, eggs, yogurt and fruit before going out for a 10 K run was the solution. You’re probably beginning to see a pattern here: My way of “learning” to do things is a fairly brute-force method that consists of seeing whether I’m capable of performing the task I’m trying to learn.  But hey, we learn from our mistakes, right?</p>
<p>Perhaps.  I sure didn’t feel like I was learning while trying to complete the run that day.  “Suffering” was probably a better description.  Simply put, I hadn’t given myself enough time for the food to settle and I could feel it sloshing around with every step.  It was uncomfortable and I almost felt sick at several points along the way, having to stop and walk for brief periods.  I came back from that run exhausted, and it had still taken me far too long.  I wrote a brief sentence in my log book: <em>DO NOT EAT TOO MUCH BEFORE RACE.</em></p>
<p>That evening, I convinced my friend to drive me back to the car dealership, determined to close out the deal and come away with a car.  I took a few more Impalas for a test drive and finally settled on one that was priced a bit lower than the rest, but had a few more kilometers on the odometer, to allay some of the guilt I was feeling over rushing the purchase so much. With much hesitation, I signed my name to the contract and put down the deposit – I finally had a car! Or rather, <em>would have</em> one very soon.  My friend drove me back home and I thanked him extensively for being so kind to drive me around on my car search.</p>
<p>Tired after a long day, I quickly fell asleep.</p>
<h3>Getting ready for the big day</h3>
<p>The next two days were spent getting ready for being a first time car owner.  Being a male under the age of 25 has its benefits, but car insurance is not one of them.  The insurance agency offered through my company gave a discount of 10% if you chose to also get homeowners’ insurance alongside the car insurance.  Amazingly enough, this resulted in the bundle costing <strong>less </strong>than just getting car insurance by itself.  That should give you an idea of how much I’m currently paying.</p>
<p>On Thursday I again forced myself out of bed at 6 AM to go for another morning run.  This time was better, though I still didn’t feel as “normal” as I did during my beloved evening runs.  The marathon was feeling tougher and tougher as time went on.</p>
<p>On Friday I was finally able to pick up my car.  Driving was a surprisingly pleasant experience.  I never really liked driving all that much, which explains why I was able to hold off on getting a car for so long.  However, the drive home was soothing.  I vowed to only drive to work once a week, since I live unbelievably close to work, less than a 10-minute walk away from home.</p>
<p class="image">
<a href="http://www.zooomr.com/photos/stygiansonic/6013494/" title="Photo Sharing"><img src="http://static.zooomr.com/images/6013494_1c0a308920_m.jpg" width="240" height="180" alt="New car" /></a><br />
<span class="note">My new car</span>
</p>
<p>I decided to take the weekend off and drive down to Kingston to meet up with a friend for Homecoming.  I’m not a big party guy, but wanted to get a chance to see him before he left to go work out west.  I didn’t get much sleep that weekend but it allowed me to rest my feet a little, with only a week to go before the race.</p>
<h3>A brief taper</h3>
<p>Most marathon training schedules, as I had now learnt, specified the three weeks before the race as a “taper” period, where training winds down and resting increases in order to properly prepare the body for the rigors of running 42.2 km.  I had only learnt about the marathon three weeks before the event, so that forced me to be a little bit more than liberal with the recommended schedule.</p>
<p>There was now only one week left before the race and I didn’t feel fully prepared.  Just the past week, I had run about 60 km, spaced out over four runs.  The last week before a race you are recommended to run only short distances and stay off your feet as much as possible since training can’t do much for you this late in the game.  Having not followed any real training routine thus far, I figured disobeying a few more orders couldn’t hurt much more.  I decided to “keep limber” by going for two more 10 K runs, once on Tuesday and once on Thursday of that week.  I came out feeling quite good and with improved confidence.</p>
<p>Not that I didn’t realize that there were still a lot of things that could go wrong.  With what little actual training and preparation I had done, there were too many variables out of my control that could prevent me from finishing the race.  I justified this by telling myself that “trying my best” would be good enough, even though I knew I wouldn’t be happy unless I could make it.  Perhaps I just have an unconscious desire to make my own life difficult?</p>
<p>That Friday I drove to work and afterwards picked up some groceries, trying to stay off my feet as much as possible.  This was the first time I had driven to the grocery store, as I’d usually relied on walking or biking.  The next “first time” I experienced might not be so simple.</p>
<h3>Race weekend</h3>
<p>I decided that Saturday would be a monumental “day of rest” for me, even more than my usual lackadaisical approach to the weekend.  But there was still one procedural thing left to do: I had to drive down to Picton to pick up my race kit before the race tomorrow.  With my trusty new <a href="http://www.37signals.com/svn/archives2/garmin_nuvi_350_insanely_recommended.php">Garmin Nuvi 350 GPS</a> that I’d picked up on sale (even before I had my car), I was easily able to find my way there, despite my utter lack of directional skills.  The text-to-speech feature was level-headed and patiently directed me on every turn and the GPS unit easily recovered and recomputed the route after I managed to make a wrong turn.</p>
<p>After arriving at the Crystal Palace in Picton, which was the reception hall at the finish line, I gave myself a pat on the back for having found the place.  I have a notoriously hard time accomplishing what seem to be the most trivial of tasks to most other people, so I was happy that I was getting better at these things.</p>
<p>I proceeded inside to pick up my race kit and sign off my name on the registration list, but ran into some unexpected trouble.  </p>
<p>“I’m sorry, you’re not on the list,” said one of the race organizers, after I had told her my name.  My heart raced and my palms started to sweat – surely I had not forgotten to register? After all, my credit card had been charged the fee, hadn’t it? I stumbled to find the words to reply, but she thankfully filled the uneasy silence.</p>
<p>“I’ll try downloading the latest list from the website to check again,” she reassured me.  “I just have to find a Wi-Fi connection in here.”</p>
<p>The Crystal Palace was a nice building but one of the amenities it apparently did not possess was a proper Internet connection.  Instead, the organizers had to rely on a “borrowed” wireless connection from a nearby building in the event that they required Internet access.  The downside, of course, was that the connection was extremely shoddy and the organizer had to spend several minutes running around to all the different corners of the Palace in order to get decent reception. In retrospect it was an extremely comical situation, but I surely did not feel that way at the time.</p>
<p>After she finally managed to grab the latest copy of the registration list, she calmly explained what had happened.</p>
<p>“Oh,” she said, “here’s what happened: Your first and last name were reversed,” being careful and overly-polite in not pointing the finger at me.  As it turned out, I had transposed my first and last names in the online registration form, resulting in my official race name being <em>Chng PETER.</em>  I could feel myself blushing at the stupidity. (Though, in my defense, in <a href="http://en.wikipedia.org/wiki/Chinese_names">traditional Chinese</a>, family names are written before given names)</p>
<p>“Sorry about that…” I said, trailing off, not knowing what to say.</p>
<p>&#8220;Oh, don&#8217;t worry, this sort of thing happens all the time!&#8221; she replied, trying to soothe my battered ego with an obvious white lie.  It half-worked, but only because I was relieved that the ordeal was over.</p>
<p>With that, I quickly left and drove home, managing to avoid any further trivial troubles.  </p>
<h3>The Waiting Game</h3>
<p>The rest of the day was mostly a psychological waiting game, as I knew there was nothing more I could do to prepare and improve my chances of completion.  On the other hand, there were many things I could do to <em>worsen</em> my chances of success, and I wanted to avoid them.  But there were still some things that had to be done.</p>
<p>My mother had decided to come down tomorrow, so I’d have to go pick her up after the marathon.  This meant that I’d have to clean my apartment today as having an unclean apartment when mother arrived was actually more of a concern to me than finishing the marathon.  After that, I ran a short and slow 2 miles just to get into the right state of mind – everything went well.</p>
<p>After that, my plan was to settle into bed and begin a <em>Dexter</em> marathon, having recently acquired the first two seasons on the suggestion of a friend, only getting up to eat a nice big pasta dinner.  It worked out mostly according to plan, (I ended up liking the show a lot), but my big pasta dinner turned out to be just a little <em>too</em> big.  I ended up feeling bloated and worried about how this would affect my performance the next day.  I went for a 15-minute walk to try to ease off some of the bloat and anxiety.  It partially worked.</p>
<p>When I got home, I began to organize the stuff I’d need for tomorrow. Since I’d be getting up early and didn’t want to leave anything to chance (I’m notoriously forgetful in the morning), I meticulously set out the gear and items I’d planned to use. This included my favourite running shorts, shirt and socks. (Yes, I have a favourite pair of socks) I also decided to bring a thin pair of gloves in case my hands got cold, track pants and a hooded sweatshirt for staying warm before the race, since it was likely to be chilly so early in the morning. </p>
<p class="image"><a href="http://www.zooomr.com/photos/stygiansonic/6045055/" title="Photo Sharing"><img src="http://static.zooomr.com/images/6045055_adc0c639a6_m.jpg" width="240" height="180" alt="Race Gear, the day before" /></a><br />
<span class="note">My race gear</span>
</p>
<p>I also brought some water and chocolate almonds along just in case I needed to “top up” before the race.  I had previously tried this combination before a long run and it seemed to have worked well.</p>
<p>After double checking that everything was properly prepared and triple checking my alarm clock for the right time (set to go off at 4:50 AM), I went to be just past 11 PM.  	I couldn’t fall asleep until sometime past midnight, though.</p>
<h3>Race Day! (Finally)</h3>
<p>I had planned to wake up, or be out of bed, by 5 AM.  With this in mind, I had set my alarm for 10 minutes before, however the first time I remember opening my eyes when the clock was 5:06 AM.  Seeing the first ‘5’ digit startled me, and I jumped out of bed.  </p>
<p>I don’t remember turning off my alarm, but I assume that I must have “automatically” done this, since I’d consciously repeated the action so many times on so many previous days, which must have allowed me to perform it this time while in a sleep-like state.  Luckily, the error was within the margin I’d prepared for.</p>
<p>I wasn’t hungry and perhaps was still feeling the effects of last night’s meal.  So I ate my “normal” breakfast, which consists of instant coffee in a glass of milk and a smoothie made of a banana, frozen berries, yogurt and juice.  I like this breakfast because it’s simple and fast to make and it always goes down easy. </p>
<p>I was able to go to the bathroom and maintain my proper “schedule”, something that had worried me before.  I didn’t want to have to make a big “pit stop” during the middle of the marathon, even if they did have port-a-potties every few kilometers. With everything in order from the night before, I was out the door at just past 6 AM, and after a short half-hour drive to Picton, arrived at the corralling area just before 6:40 AM.  It was just before the crack of dawn, not something I normally witness, since I think I can count the number of times I’ve seen a sunrise on one hand, and that has included times where I’ve stayed up through the night. </p>
<p>The buses began leaving the corralling area soon after, to take people to the start line.  The bus ride was a daunting experience – it took nearly 30 minutes to go from the finish line to the start line, and it was taking a <strong>direct</strong> route, not the roundabout path that was the full marathon.  Looking at the scenery scroll by on that ride and realizing that you’d have to cover all of that and more in order to finish puts a lot of second-guessing and anxiety into your head.</p>
<p>When I arrived, I noticed that there had been four port-a-potties setup at the start line – and there was already a massive lineup to get access to them!  It was about 7:20 AM at this point, about 40 minutes before the start of the race.  Figuring that all those people couldn’t be wrong, I quickly picked up my timing chip and entered into the lineup despite my lack of an immediate need to use the toilet.  </p>
<p>This crucial decision proved to be the correct one as by the time I reach the front of the line, some 20 minutes later, I very much had a need to use the facilities, as standing outside in the cold morning for that long will have that effect on anyone. I also suspected that the coffee and smoothie I’d consumed earlier had also played a role.</p>
<h3>Starting the Race</h3>
<p>With about 10 minutes to go, I started into my pre-race routine.  Well, to be precise, I did not have a “pre-race routine”, since this was my first race but instead only had a list of things I planned to do based on what I’d read about other people’s pre-race routines.  </p>
<p>I did a few short strides to warm up and get the blood flowing and did a few basic stretches.  I didn’t stretch <em>too</em> much, as I’d read that stretching cold muscles wasn’t good, or at the very least, didn’t help.  I also munched down the few chocolate almonds I’d brought along so that I’d have a bit more energy to help stave off “the wall”, something I’d yet to experience but was not looking forward to.</p>
<p>With just about five minutes ago, a voice came on the loudspeaker advising us to begin moving towards the starting line to prepare.  I joined the throng of my fellow runners as we began to move towards the start.  I decided to stay towards the back of the pack, as I didn’t exactly know how fast I’d be going and didn’t want to get passed by a bunch of other more experienced runners.  And then, almost unexpectedly, the race began.  As I crossed the starting line, going at a pace that was almost forcibly slow, I thought to myself:<em> Oh well, it’s now or never.</em></p>
<h3>Making it through</h3>
<p>Moving at an initially slower pace than I thought necessary, I gradually sped up after the start.  Passing first kilometer marker, you can’t help by remind yourself:<em> One down, 41.2 left to go!</em> It was the sort of black humour that I reveled in.  </p>
<p>The first 10K went by quite easily. The only “trouble” I ran into was having to take a bathroom break at the 4K mark – thankfully they had port-a-potties setup every 2K, though I definitely saw people taking breaks in the bush when one wasn’t available.</p>
<p>During this first quarter of the race I caught up and passed both the 3:45 and 3:30 “pace bunnies”, which gave me quite a boost in confidence, as I was aiming to finish in under 4 hours.  However, this also made me wonder whether I was going too fast, so I kept at a fairly steady pace after passing the 3:30 bunny.</p>
<p>At the halfway point, around 1hr 43mins into the race, I still felt quite good; additionally, knowing that you’re halfway there gives you extra incentive to finish.  I had set my “point of no return” at 30K.  That is, if I could get to the 30K mark without too much trouble, I had decided that I would press on, no matter what the hardship, in order to finish.  At this point, it was looking like I’d be able to reach this milestone without much resistance.</p>
<p>However, between 20K and 30K was when I started to encounter the first signs of fatigue and soreness.  Thankfully, they were giving out energy gel packs at around the 20K mark, so I downed one of them, but not before making a sticky mess out of my hands.  (Definitely practice eating from these awkward packages <strong>before</strong> doing it during a real race)</p>
<p>I didn’t think I’d need the extra energy from the gel pack, as I’d be drinking Gatorade regularly along the course, but after the 30K mark my body really started to feel fatigued and I had to consume two more of the gel packs to keep going. </p>
<p>Beyond the 30K mark, you have two extremely conflicting feelings.  One is the realization that “victory” and completion is just over 10K away, while the other is the intense feeling of soreness and fatigue.  One is telling you to stop while the other is relentlessly pushing you to keep going.  It might seem a bit weird, but this is actually one of things about running that makes it so attractive, in my opinion.  Of course, it may not seem that way when you’re directly experiencing it in the first person.</p>
<h3>Finishing</h3>
<p>The PEC Marathon was thankfully mostly a flat course, though the most challenging (or annoying) aspect of it was the fact that it starts to get hilly <strong>after</strong> the 30K mark.  This gives the course that extra challenge it needs, as your body is close to depleted right at the point where things start to pick up.</p>
<p class="image"><a href="http://www.pecmarathon.ca/race/course/"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/12/pec-marathon-elevation-300x117.gif" alt="pec-marathon-elevation" title="pec-marathon-elevation" width="300" height="117" class="alignnone size-medium wp-image-647" /></a><br />
<span class="note">The PEC Marathon Elevation Profile</span></p>
<p>During this last part of the race, the course turns into a gradual slope that while not difficult, has a definite effect in helping to wear you down.  At this point, each kilometer was begin to feel markedly longer and I was soon passed by the 3:30 “pace bunny” that I’d passed earlier on, a sure sign that I was slowing down.</p>
<p>Then, at about the 37K mark, there is a fairly steep hill that rises close to 30m in less than a kilometer.  It was this hill that nearly ended my marathon hopes.</p>
<p>The hill was easy to spot.  Rounding a corner, it quickly comes into view and there is no missing it.  You have plenty of time to prepare for it, knowing full well how difficult it’s likely to be at this stage of the race.</p>
<p>With an iron mindset, I approached the hill with confidence, believing this was the last hurdle to overcome before the finish.  I managed to make it up to the top without stopping, but by that time my legs were feeling extremely tired and beginning to cramp.  This was where my lack of training was beginning to show.  If I had done more long runs, I’m sure I wouldn’t have been in such terrible shape, but as it was, cramping was a real issue that threatened to derail me.</p>
<p>I stopped at the top of the hill to stretch for a bit and tried to “walk it off”, but unfortunately this was only a temporary reprieve.  Contrary to the course elevation profile on the website, the remainder of the race after the “Death Hill” <strong>was not</strong> all downhill, as I was beginning to painfully learn.  Instead, it consisted of a series of rolling hills that by themselves were not much, but seemed like mountains in the condition I was in.</p>
<p>I could feel my legs on the verge of cramping up after every step I took going up those small hills.  I had to stop two or three more times again, to stretch and walk for a bit in order to prevent a catastrophe.  Thankfully, Picton was not much further on, and upon entering the town you realize that you are less than 2K away from the finish line.</p>
<p>At this point, I started feeling somewhat better, but perhaps it was just because the mental concept of completion was overcoming the physical pain of fatigue.  I pushed on, with the nice citizens of Picton cheering everybody on along the way, and as I rounded the final corner, the finish line banner came into view.</p>
<p>It’s hard to describe the feeling as you finally bring the finish line into sight, but it is best described as a combination of joy, excitement and relief.  Pressing onwards, I struggled not to look utterly exhausted as I crossed the finish, realizing that pictures were being taken.  </p>
<p class="image"><a href="http://www.zooomr.com/photos/stygiansonic/6045070/" title="Photo Sharing"><img src="http://static.zooomr.com/images/6045070_4a70c7dc2f_m.jpg" width="240" height="180" alt="2008 PEC Marathon Medal" /></a><br />
<span class="note">The PEC Medal given to all finishers</span>
</p>
<p>I managed to <a href="http://www.sportstats.ca/display-results.php?lang=eng&#038;racecode=44099&#038;first=&#038;last=&#038;bibnum=779">finish in a time of about 3hrs 32min</a>, a result I am more than happy with, considering I had real reservations about just being able to complete the marathon!  I now hope to eventually bring my time down to 3:15, so that I might be able to quality for the Boston Marathon someday.  </p>
<p class="image">
<img src="http://unitstep.net/wordpress/wp-content/uploads/2008/12/pec-marathon-finish.jpg" alt="pec-marathon-finish" title="pec-marathon-finish" width="256" height="384" class="alignnone size-full wp-image-649" />
</p>
<p>But more importantly, I was happy with the experience.  Running has been a central part of my life for the past few years, and I always have found that running manages to give you more energy than you put into it, a seemingly contradictory outcome.  Furthermore, it helps you to discover what you’re capable of and teaches you to push yourself, as every run is a new opportunity.  </p>
<hr/>Copyright &copy; 2009 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/unitstep?a=CLe8JF.o"><img src="http://feeds.feedburner.com/~f/unitstep?i=CLe8JF.o" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=rW8JxR.o"><img src="http://feeds.feedburner.com/~f/unitstep?i=rW8JxR.o" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=4CTmPc.o"><img src="http://feeds.feedburner.com/~f/unitstep?i=4CTmPc.o" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=uGKb7V.O"><img src="http://feeds.feedburner.com/~f/unitstep?i=uGKb7V.O" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=VJR34k.O"><img src="http://feeds.feedburner.com/~f/unitstep?i=VJR34k.O" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unitstep/~4/498847405" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2008/12/30/how-i-bought-a-car-to-complete-my-first-marathon/feed/</wfw:commentRss>
		<feedburner:origLink>http://unitstep.net/blog/2008/12/30/how-i-bought-a-car-to-complete-my-first-marathon/</feedburner:origLink></item>
		<item>
		<title>Driving Gloves</title>
		<link>http://feeds.feedburner.com/~r/unitstep/~3/492550261/</link>
		<comments>http://unitstep.net/blog/2008/12/22/driving-gloves/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 21:05:52 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[asides]]></category>

		<category><![CDATA[driving]]></category>

		<category><![CDATA[gloves]]></category>

		<category><![CDATA[mec]]></category>

		<guid isPermaLink="false">http://unitstep.net/?p=617</guid>
		<description><![CDATA[Ever since getting my new car back in September, things have been great.  That is, until things started getting colder.  Besides having to brush off snow/ice after every snowfall, the cold weather also makes driving more uncomfortable.
More specifically, holding a cold steering wheel after you&#8217;ve just spent the past few minutes outside chipping [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since getting my <a href="http://www.zooomr.com/photos/stygiansonic/sets/40154/">new car</a> back in September, things have been great.  That is, until things started <a href="http://www.cbc.ca/canada/story/2008/12/22/winter-snow.html">getting colder</a>.  Besides having to brush off snow/ice after every snowfall, the cold weather also makes driving more uncomfortable.</p>
<p>More specifically, holding a cold steering wheel after you&#8217;ve just spent the past few minutes outside chipping ice off of your car sucks.  Not having the benefits of a heated steering wheel (do such things exist?) I was left with the option of keeping my gloves on while driving, at least until the car warmed up sufficiently.  The only problem was that my gloves didn&#8217;t provide enough grip and thus driving wasn&#8217;t as fun.</p>
<p>So I needed a pair of gloves with enough grip to make them viable for driving.  As you may know, I&#8217;m a big fan of <a href="http://www.mec.ca/">MEC</a>, so when I was there the other day I spotted <a href="http://www.mec.ca/Products/product_detail.jsp?PRODUCT%3C%3Eprd_id=845524442617628&#038;FOLDER%3C%3Efolder_id=2534374302698971&#038;bmUID=1229979019137">these gloves</a>, which seemed to be exactly what I was looking for.</p>
<p class="image"><a href="http://www.mec.ca/Products/product_detail.jsp?PRODUCT%3C%3Eprd_id=845524442617628&#038;FOLDER%3C%3Efolder_id=2534374302698971&#038;bmUID=1229979019137"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/12/mec-windstopper-gloves.jpg" alt="mec-windstopper-gloves" title="mec-windstopper-gloves" width="250" height="186" class="alignnone size-full wp-image-618" /></a></p>
<p>The fit of the Windstopper N2S gloves was superb, and the grip more than enough for driving.  More importantly, because they&#8217;re so snug, you still have excellent finger dexterity for manipulating things like keys, dials and switches.  The only downside is that they&#8217;re not very warm, at least when it comes to the -25C experienced in Edmonton as of late.   If you&#8217;ll be outside for extended periods, I&#8217;d recommend wearing them inside of mitts.  However, they do a great job of protecting your hands from the cold of the steering wheel without sacrificing control. </p>
<hr/>Copyright &copy; 2009 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/unitstep?a=D2Ivo"><img src="http://feeds.feedburner.com/~f/unitstep?i=D2Ivo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=DExFo"><img src="http://feeds.feedburner.com/~f/unitstep?i=DExFo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=aT7Jo"><img src="http://feeds.feedburner.com/~f/unitstep?i=aT7Jo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=7NdGO"><img src="http://feeds.feedburner.com/~f/unitstep?i=7NdGO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=FxSfO"><img src="http://feeds.feedburner.com/~f/unitstep?i=FxSfO" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unitstep/~4/492550261" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2008/12/22/driving-gloves/feed/</wfw:commentRss>
		<feedburner:origLink>http://unitstep.net/blog/2008/12/22/driving-gloves/</feedburner:origLink></item>
		<item>
		<title>Handling mutable fields in Java</title>
		<link>http://feeds.feedburner.com/~r/unitstep/~3/485084292/</link>
		<comments>http://unitstep.net/blog/2008/12/14/handling-mutable-fields-in-java/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 02:11:27 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[tutorials]]></category>

		<category><![CDATA[mutability]]></category>

		<category><![CDATA[objects]]></category>

		<guid isPermaLink="false">http://unitstep.net/?p=604</guid>
		<description><![CDATA[In Java, a mutable object is one whose state can be altered after it has been instantiated.  An immutable object is one whose state is fixed after instantiation; that is, the data represented by the object cannot be changed in that object.  Perhaps the most well-known immutable type is the built in String [...]]]></description>
			<content:encoded><![CDATA[<p>In Java, a <em>mutable</em> object is one whose state can be altered after it has been instantiated.  An <em>immutable</em> object is one whose state is fixed after instantiation; that is, the data represented by the object cannot be changed in that object.  Perhaps the most well-known immutable type is the built in <a href="http://java.sun.com/javase/6/docs/api/java/lang/String.html">String</a> class; while there are methods on the String class that seemingly alter its state (such as <code>toUpperCase()</code> and <code>trim()</code>), in actuality these methods return a <em>new</em> String object if changes had to be made.  In this article I&#8217;ll discuss how mutability will affect how you expose private fields in objects.</p>
<h2>Pop Quiz</h2>
<p>Consider the following code fragment.  We create a <code>MapContainer</code> object, and then get the contained map, which is guaranteed to have a certain value associated with the key &#8220;today&#8221;.  We then alter the value associated with this key, using our <em>local reference</em> to returned map.  We then query the <code>MapContainer</code> object and get the contained map again.  What is the value associated with the key &#8220;today&#8221; in this map?</p>
<pre><code>final MapContainer mapContainer = new MapContainer();
final Map&lt;String, String&gt; map = mapContainer.getKeyValuePairs();

final String today = map.get("today");
assert null != today;
System.out.println(today);  // Returns the current date-time.

// Change the value using our local reference.
map.put("today", "tomorrow");

final Map&lt;String, String&gt; mapAgain = mapContainer.getKeyValuePairs();
System.out.println(mapAgain.get("today")); // What is output?</code></pre>
<p>Don&#8217;t waste too much time on this problem, as it&#8217;s a trick question.  The answer actually depends on the implementation of <code>MapContainer</code>.  Depending on how it&#8217;s implemented, the second output could be unchanged from the first <strong>or</strong> be changed to the new value of &#8220;tomorrow&#8221;.</p>
<h2>It&#8217;s all in the getters</h2>
<p>Let&#8217;s take a look at the code for <code>MapContainer</code>.  </p>
<pre><code>import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class MapContainer
{
  final private Map&lt;String, String&gt; keyValuePairs;

  public MapContainer()
  {
    this.keyValuePairs = new HashMap&lt;String, String&gt;();
    this.keyValuePairs.put("today", new Date().toString());
  }

  public Map&lt;String, String&gt; getKeyValuePairs()
  {
    return keyValuePairs;
  }
}</code></pre>
<p>We have a simple constructor that initializes the <code>keyValuePairs</code> Map and adds one value for the current date-time.  But the real &#8216;key&#8217; (no pun intended) to solving the problem is looking at the getter for the field.  As you can see, it simply returns a reference to the private field.  <strong>Under this implementation, a caller is able to alter the contents of the private field/Map even though no public &#8220;set&#8221; methods are available</strong>.  Why is this? For two reasons: In Java, objects are passed/returned by reference, and <code>HashMap</code> is a mutable object.  Thus using this implementation, the second output from our original code fragment is &#8220;tomorrow&#8221;, since the caller has altered the contents of the Map through the returned reference.</p>
<p>Furthermore, the original reference returned from the getter is not independent either; if some other code were to call the get method on the <code>MapContainer</code> object and make changes to the Map, those changes would also be reflected in the original returned reference!</p>
<p>How can we &#8220;fix&#8221; this? We simply have to ensure that the getter for the field returns a reference to a <em>copy</em> of the private Map.  This is easy since there is a <a href="http://java.sun.com/javase/6/docs/api/java/util/HashMap.html#HashMap(java.util.Map)">constructor for <code>HashMap</code></a> that accepts an existing Map.  Here&#8217;s the altered code:</p>
<pre><code>import java.util.Date;
import java.util.HashMap;
import java.util.Map;

public class MapContainer
{
  final private Map&lt;String, String&gt; keyValuePairs;

  public MapContainer()
  {
    this.keyValuePairs = new HashMap&lt;String, String&gt;();
    this.keyValuePairs.put("today", new Date().toString());
  }

  public Map&lt;String, String&gt; getKeyValuePairs()
  {
    <strong>return new HashMap&lt;String, String&gt;(keyValuePairs);</strong>
  }
}</code></pre>
<p>With these changes, the private Map cannot be altered by a caller and thus the second output will remain changed in our first code fragment example.</p>
<h2>To change, or not to change?</h2>
<p>It should be noted that sometimes you <em>may want to allow</em> callers to alter the backing data structure that you return from a get method.  For example, some of the data structures from the <a href="http://java.sun.com/javase/6/docs/api/java/util/Collection.html">Java Collection Framework</a> have getters that return references that can be used to alter the state of the original object.  A good example is the <a href="http://java.sun.com/javase/6/docs/api/java/util/HashMap.html#entrySet()"><code>entrySet()</code></a> method of the <code>HashMap</code> object. </p>
<p>But in my opinion, these examples are the exception rather than the rule.  In general, you do not want to allow callers to be able to alter the state of private fields directly since this violates information-hiding principles.  If there is some change a caller needs to make to your object, it&#8217;s best accomplished through a set method since this allows you to control the changes and prevents unwanted/unexpected situations.  If you do decide to allow callers to directly alter the state of private fields, it&#8217;s best to explicitly document this in the JavaDoc.</p>
<h2>Mutability and safety</h2>
<p>Note that in this example the field used was a <code>HashMap</code> object, which was mutable.  If the field consisted of an immutable object, like a <code>String</code>, you would not have to worry about making a copy before returning it.  This is because if the object is immutable, you do not have to worry about a caller changing its state because this is impossible to do!  This is why immutable objects are much easier to deal with in multithreaded/concurrent environments.</p>
<p>Note that mutability has nothing to do with the <code>final</code> keyword in Java, contrary to <a href="http://mindprod.com/jgloss/mutable.html">this definition</a>.  Simply marking a field as &#8220;<code>final</code>&#8221; will not magically change a mutable object into an immutable one.  As we saw earlier, whether an object is mutable or not depends entirely on its implementation, the details of which should be expressed in the JavaDoc for that class.  The <code>final</code> keyword only ensures that you cannot reassign that field/variable to completely new reference or object; it <strong>does not</strong> ensure that you can&#8217;t change the state of the object already referenced.</p>
<hr/>Copyright &copy; 2009 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/unitstep?a=sYOAo"><img src="http://feeds.feedburner.com/~f/unitstep?i=sYOAo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=a6PSo"><img src="http://feeds.feedburner.com/~f/unitstep?i=a6PSo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=1bjQo"><img src="http://feeds.feedburner.com/~f/unitstep?i=1bjQo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=HZvGO"><img src="http://feeds.feedburner.com/~f/unitstep?i=HZvGO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=LXmUO"><img src="http://feeds.feedburner.com/~f/unitstep?i=LXmUO" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unitstep/~4/485084292" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2008/12/14/handling-mutable-fields-in-java/feed/</wfw:commentRss>
		<feedburner:origLink>http://unitstep.net/blog/2008/12/14/handling-mutable-fields-in-java/</feedburner:origLink></item>
		<item>
		<title>A (Canadian) Coalition of the Willing</title>
		<link>http://feeds.feedburner.com/~r/unitstep/~3/472997370/</link>
		<comments>http://unitstep.net/blog/2008/12/02/a-canadian-coalition-of-the-willing/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 23:19:23 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[asides]]></category>

		<category><![CDATA[canada]]></category>

		<category><![CDATA[government]]></category>

		<category><![CDATA[cbc]]></category>

		<category><![CDATA[coalition]]></category>

		<category><![CDATA[election]]></category>

		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://unitstep.net/?p=585</guid>
		<description><![CDATA[
Or perhaps the title should be, A Coalition of the Willingly Stupid.  Canadian politics, normally a nice and relaxing reprieve from the politics to the south of us, has suddenly taken an unexpected ride on the rollercoaster, with talk of a &#8220;constitutional crisis&#8221; and &#8220;undemocratic seizures of power&#8221;. (You&#8217;d think this was an underdeveloped [...]]]></description>
			<content:encoded><![CDATA[<p class="image align-right"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/12/canadian-coalition.jpg" alt="" title="canadian-coalition" width="219" height="123" class="alignnone size-full wp-image-589" /></p>
<p>Or perhaps the title should be, <em>A Coalition of the Willingly Stupid</em>.  Canadian politics, normally a nice and relaxing reprieve from the politics to the south of us, has suddenly taken an unexpected ride on the rollercoaster, with talk of a &#8220;constitutional crisis&#8221; and &#8220;undemocratic seizures of power&#8221;. (You&#8217;d think this was an underdeveloped country ruled by a despot) It seems as though the <a href="http://www.cbc.ca/canada/story/2008/12/02/harper-coalition.html">opposition parties</a> are intent on removing the current Federal Conservative minority government from power, using any means possible.</p>
<h2>Non sequitur</h2>
<p>I, for one, am completely stumped at this move by the opposition parties.  Not because I am upset at what they are doing, or think it&#8217;s unfair, but rather because it makes no logical sense.  If politics is the pursuit of power, then what this coalition is doing is the exact opposite.  If they had any foresight, any long-term strategic plans they simply would not have put in the motion the events we&#8217;ve seen in the past few days.</p>
<h2>Assessing the situation</h2>
<p>This coalition may very well seize power; however what it has won in the short term will quickly be lost int the long term.  It is abundantly clear to me that this is nothing more than a coalition of convenience with a very singular purpose: To remove the Conservatives from power.  The mere presence of the Bloc in this three-way partnership confirms this.  Following this, it&#8217;s easy to see that the pact will break up soon after they form their government.  </p>
<p>Why is a breakup inevitable? For one, it&#8217;s clear that the coalition has no effective leadership, since it is being headed by Stéphane Dion, a person who is not even trusted to run his own party in the future! This fact alone is enough to worry me about the unity of the coalition.  Add the Bloc to the mix, and you have a recipe for disaster.</p>
<p>The long term effects of this are clear: Their support will erode and Harper&#8217;s support will increase as a result.  And thus, their plans to increase their power will have backfired on them.</p>
<p>For Harper, his options basically boil down to good and better.  He simply could not be in a better situation.  While he may likely lose the upcoming battle, he will emerge stronger and his party will be in a great position to obtain a majority in the future.  Now, I&#8217;m no expert on constitutional law, but these are the situations that I understand could happen:</p>
<ol>
<li>
<h3>Delay</h3>
<p>Harper could simply &#8220;prorogue Parliament&#8221;. (Yes, I learned a new word today) This effectively means his government could not be defeated in the current session of Parliament, and any no-confidence votes would have to wait until next year.  Harper&#8217;s Conservative government stays in power; this is good for him. However, I don&#8217;t believe he&#8217;ll do this.
</li>
<li>
<h3>Call the bluff</h3>
<p>This option, which is seeming <a href="http://www.cbc.ca/canada/story/2008/12/02/question-period.html">increasingly likely</a>, would see Harper allow the no-confidence vote to go through, knowing full well that it would allow the coalition to form the government, pending the Governor General&#8217;s approval.</p>
<p>I believe this to be the likely option because the Conservatives stand to benefit the most from it.  Under this scenario, the coalition would likely do an awful job of running Canada, and furthermore, would likely breakup, triggering another election in the not-too-distant future.  In this hypothetical election, Canadians would vent their frustration at the ineptitude of government by giving the Conservatives a stronger mandate, likely the majority that Harper so desperately craves.
</li>
<li>
<h3>Call an Election</h3>
<p>Alternatively, Harper could just ask the Governor General to dissolve parliament and call an election right now, but I don&#8217;t think he&#8217;d do that.  I&#8217;ve only included this option for the sake of being thorough.</p>
<p>An election right now would leave too much up to to chance, something no real strategy can allow.
</li>
</ol>
<h2>Grand Strategy</h2>
<p>Harper is no idiot.  In fact, he&#8217;s probably quite smart and adept at politics and strategy.  Whether you like him or his party&#8217;s policies, you cannot deny this.  The coalition doesn&#8217;t seem to respect or understand this, and has basically thrown Harper a dream scenario where he needs to do little to benefit.  He can try his best to keep his government in power during this current crisis, maybe even feigning a little, and then play the role of victim when the coalition dethrones him.  After their eventual downfall, he can make his glorious comeback.  The corresponding lack of strategic vision in the coalition is why they are doomed to fail.</p>
<p>I&#8217;ve voted Liberal during the past elections, but these sorts of actions leave me with little faith in the party, or the all of the opposition as a whole.   They seemed to be focused almost entirely on politics instead of the functions of government; not only that, they can&#8217;t even seem to get the &#8220;politics&#8221; part right!  There is a time for battle and a time for rest and recuperation.  Getting the timing wrong may still allow you to win the battle, but ultimately, you&#8217;ll end up losing the war.</p>
<p>Interestingly, a pro-coalition site has <a href="http://makeparliamentwork.ca/">already been set up</a>.  Strangely, the colours on the silhouette of the Peace Tower include those of the Green Party - perhaps this has something to do with the <a href="http://www.theglobeandmail.com/servlet/story/RTGAM.20081202.wPOLcoalition1202/BNStory/politics/home?cid=al_gam_mostview">Green Party&#8217;s expressed support</a> of the coalition?  Perhaps they too believe they can also benefit from this outcome, somehow? How strange for all <em>four</em> opposition parties to share the same misunderstanding. </p>
<hr/>Copyright &copy; 2009 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/unitstep?a=ppkbo"><img src="http://feeds.feedburner.com/~f/unitstep?i=ppkbo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=anbco"><img src="http://feeds.feedburner.com/~f/unitstep?i=anbco" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=UKfUo"><img src="http://feeds.feedburner.com/~f/unitstep?i=UKfUo" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=8onAO"><img src="http://feeds.feedburner.com/~f/unitstep?i=8onAO" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=2AdYO"><img src="http://feeds.feedburner.com/~f/unitstep?i=2AdYO" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unitstep/~4/472997370" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2008/12/02/a-canadian-coalition-of-the-willing/feed/</wfw:commentRss>
		<feedburner:origLink>http://unitstep.net/blog/2008/12/02/a-canadian-coalition-of-the-willing/</feedburner:origLink></item>
		<item>
		<title>Getting Feedback with UserVoice</title>
		<link>http://feeds.feedburner.com/~r/unitstep/~3/470702717/</link>
		<comments>http://unitstep.net/blog/2008/11/30/getting-feedback-with-uservoice/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 23:12:11 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[feedback]]></category>

		<category><![CDATA[social]]></category>

		<category><![CDATA[software]]></category>

		<category><![CDATA[usability]]></category>

		<category><![CDATA[user interface]]></category>

		<category><![CDATA[web2.0]]></category>

		<category><![CDATA[customers]]></category>

		<category><![CDATA[users]]></category>

		<category><![CDATA[uservoice]]></category>

		<guid isPermaLink="false">http://unitstep.net/?p=580</guid>
		<description><![CDATA[
When developing any application, getting proper user feedback during the early stages is essential if you want to have the application suit your customers&#8217; needs.  Often this is done with staged tests, but with web applications you can have the benefit of using an online method of retrieving your users&#8217; opinions. 
However, doing so [...]]]></description>
			<content:encoded><![CDATA[<p class="image align-right"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/11/uservoice.jpg" alt="" title="uservoice" width="180" height="48" class="alignnone size-full wp-image-582" /></p>
<p>When developing any application, getting proper user feedback during the early stages is essential if you want to have the application suit your customers&#8217; needs.  Often this is done with staged tests, but with web applications you can have the benefit of using an online method of retrieving your users&#8217; opinions. </p>
<p>However, doing so can be tricky.  If you want to get feedback, you can implement your own system for soliciting it, however, this takes up extra time that could be used to further develop your core web application.  Alternatively, there are some existing online services that can provide survey-like questionnaires to users, but honestly, these present more trouble to the user than they&#8217;re worth.</p>
<p>When I first started using <a href="/blog/2008/11/15/stack-overflow-is-a-great-community-and-resource/">Stack Overflow</a>, I noticed that the feedback service they had been using, <a href="http://uservoice.com/">UserVoice</a>, was an elegant and functional solution to this problem.</p>
<p>UserVoice takes care of the problem for you, by providing you with an easy-to-use comment and feedback forum.  (It can also be a place where users can submit bug reports, as well) However, it&#8217;s more than just a forum: By allowing users to &#8220;vote&#8221; on particular topics, it allows clustering of the most popular ideas/requests, thus bringing them to your attention the most.  It also helps prevent duplicate topics from being submitted, and is a great &#8220;Digg-style&#8221; way of using the &#8220;wisdom of the crowds&#8221;, as they say.</p>
<p>There are some drawbacks, of course.  If you&#8217;re using it to allow users to submit bugs, I wouldn&#8217;t rely on it as your sole bug tracker.  Instead, I&#8217;d use it to receive the reports, then parse through and verify them before adding them to a proper bug tracker (like <a href="http://trac.edgewall.org/">Trac</a>) where they can be better integrated into your development work-flow.  Furthermore, if you have a popular site, the feedback forums can still become deluged in too many requests/ideas, but that is a problem no matter what type of system you&#8217;re using for feedback.  And, as mentioned before, the voting system helps to bring to your attention the most popular ones so that you can further make a value judgment.</p>
<p>I&#8217;ve since <a href="http://runtrackr.uservoice.com/">launched a feedback forum</a> for <a href="http://runtrackr.com">RunTrackr</a>, my side project for the past little while.   I encourage you to give UserVoice a try, since it&#8217;s so easy to get started - you&#8217;re literally up and running inside of two minutes.  At a minimum, give their home page a visit - it does a great job of explaining the process in a simple and easy-to-understand manner.</p>
<hr/>Copyright &copy; 2009 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/unitstep?a=nBJln"><img src="http://feeds.feedburner.com/~f/unitstep?i=nBJln" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=IMZwn"><img src="http://feeds.feedburner.com/~f/unitstep?i=IMZwn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=o0bgn"><img src="http://feeds.feedburner.com/~f/unitstep?i=o0bgn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=V0wYN"><img src="http://feeds.feedburner.com/~f/unitstep?i=V0wYN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=JrHHN"><img src="http://feeds.feedburner.com/~f/unitstep?i=JrHHN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unitstep/~4/470702717" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2008/11/30/getting-feedback-with-uservoice/feed/</wfw:commentRss>
		<feedburner:origLink>http://unitstep.net/blog/2008/11/30/getting-feedback-with-uservoice/</feedburner:origLink></item>
		<item>
		<title>Google’s SearchWiki: Promote Search Results!</title>
		<link>http://feeds.feedburner.com/~r/unitstep/~3/461359691/</link>
		<comments>http://unitstep.net/blog/2008/11/21/googles-searchwiki-promote-search-results/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 01:13:01 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[google]]></category>

		<category><![CDATA[search engine]]></category>

		<category><![CDATA[social]]></category>

		<category><![CDATA[usability]]></category>

		<category><![CDATA[digg]]></category>

		<category><![CDATA[promote]]></category>

		<category><![CDATA[search]]></category>

		<category><![CDATA[searchwiki]]></category>

		<guid isPermaLink="false">http://unitstep.net/?p=570</guid>
		<description><![CDATA[Yesterday, Google launched its SearchWiki tools, which allows registered users to promote or remove entries from a Google search to further personalize results. This will allow users to customize and tailor the results to what they&#8217;re interested in, but it&#8217;s worthwhile to note that Google has probably done something similar with their personalized search histories, [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, Google launched its <a href="http://googleblog.blogspot.com/2008/11/searchwiki-make-search-your-own.html">SearchWiki tools</a>, which allows registered users to promote or remove entries from a Google search to further personalize results. This will allow users to customize and tailor the results to what they&#8217;re interested in, but it&#8217;s worthwhile to note that Google has probably done something similar with their personalized search histories, already offered to registered users.</p>
<p>A few things to note: Firstly, while the act of promoting or removing a search result seems very akin to Digg, the result is not the same.  The changes you make only affect your own search results, and Google is very clear on this.  However, it would be madness to believe that Google would not use the data gathered from this social experiment to further improve their algorithms.  You also have the option of adding your own results to further personalize your searches and there is an option for seeing what <em>others</em> have recommended/promoted or removed, providing for an interesting social experiment.</p>
<p class="image">
<a href="http://unitstep.net/wordpress/wp-content/uploads/2008/11/google-promote.jpg"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/11/google-promote.jpg" alt="" title="google-promote" width="417" height="288" class="alignnone size-full wp-image-571" /></a>
</p>
<p>Secondly, as this <a href="http://blogs.wsj.com/biztech/2008/11/21/google-no-longer-the-same-search-results/">WSJ blog notes</a>, this ability may annoy people who have used SEO tactics to improve their site&#8217;s placement in Google&#8217;s search rankings.  However, I find this complaint misses the point: Search is supposed to simplify people&#8217;s lives, and if they&#8217;ve promoted or removed a link it was because they found something to be more useful or irrelevant.  </p>
<p>This isn&#8217;t yet a &#8220;wisdom of the crowds&#8221; approach to search results, but its undoubtedly a step forward towards a hybrid approach that takes in more human input to determine the quality of results and their placement.  One can only hope it will improve with time!</p>
<hr/>Copyright &copy; 2009 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/unitstep?a=S5tAn"><img src="http://feeds.feedburner.com/~f/unitstep?i=S5tAn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=bWZRn"><img src="http://feeds.feedburner.com/~f/unitstep?i=bWZRn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=HRZJn"><img src="http://feeds.feedburner.com/~f/unitstep?i=HRZJn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=XzWjN"><img src="http://feeds.feedburner.com/~f/unitstep?i=XzWjN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=dwy2N"><img src="http://feeds.feedburner.com/~f/unitstep?i=dwy2N" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unitstep/~4/461359691" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2008/11/21/googles-searchwiki-promote-search-results/feed/</wfw:commentRss>
		<feedburner:origLink>http://unitstep.net/blog/2008/11/21/googles-searchwiki-promote-search-results/</feedburner:origLink></item>
		<item>
		<title>Stack Overflow is a great community and resource</title>
		<link>http://feeds.feedburner.com/~r/unitstep/~3/454496478/</link>
		<comments>http://unitstep.net/blog/2008/11/15/stack-overflow-is-a-great-community-and-resource/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 02:35:49 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[development]]></category>

		<category><![CDATA[programming]]></category>

		<category><![CDATA[software]]></category>

		<category><![CDATA[codinghorror]]></category>

		<category><![CDATA[jeff atwood]]></category>

		<category><![CDATA[joel spolsky]]></category>

		<category><![CDATA[stackoverflow]]></category>

		<guid isPermaLink="false">http://unitstep.net/?p=562</guid>
		<description><![CDATA[
When Stack Overflow publicly launched back in September, I registered immediately after learning about it from a coworker.  The product of Joel Spolsky and Jeff Atwood (among others), the site aimed to be a collaborative Q&#038;A site focused on programming and software development. You could ask questions or provide answers to any of them. [...]]]></description>
			<content:encoded><![CDATA[<p class="image align-right"><a href="http://stackoverflow.com"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/11/stackoverflow.png" alt="" title="stackoverflow" width="250" height="70" class="alignnone size-medium wp-image-565" /></a></p>
<p>When <a href="http://stackoverflow.com/">Stack Overflow</a> publicly launched back in September, I registered immediately after learning about it from a coworker.  The product of <a href="http://joel.spolsky.com/">Joel Spolsky</a> and <a href="http://www.codinghorror.com/blog/">Jeff Atwood</a> (among others), the site aimed to be a collaborative Q&#038;A site focused on programming and software development. You could ask questions or provide answers to any of them.  In their own words it was combination of &#8220;Wikis, Blogs, Forums, and Digg/Reddit&#8221;.  Furthermore, they made no attempt at <a href="http://stackoverflow.com/about">hiding the fact</a> that they were designed to be better than other questionable sites, such as Experts-Exchange.</p>
<p>Though I registered over two months ago I&#8217;ve mostly been lurking since, but have been most astounded by the rate at which questions - often complex and very specific issues - get answered.  Since the site allows users to rate/vote up other people&#8217;s answers, it provides an incentive for users to give good answers that will be recognized by others, gaining them points and increasing their &#8220;reputation score&#8221;.  In this sense, it&#8217;s like Digg, but with a global ranking system.</p>
<p>I finally entered to the fray, answering <a href="http://stackoverflow.com/questions/290585/javascript-menu-remembering-position">a question about JavaScript</a> the other day.  It was actually a chore to find an unanswered question that <em>I</em> could answer, so I happily typed out my reply and finished it as fast as I could.  This allowed to me to earn my first set of points! Neat! I am now hooked, and can easily see how the site and its concept has attracted such a passionate audience.</p>
<p>Another interesting aspect of the site is using it as a snapshot to see which topics are of interest in software development.  By browsing the <a href="http://stackoverflow.com/tags">tags page</a>, which lists the keywords most used by questions, it is easy to see that .NET topics (C#, ASP.NET) dominate the website, followed by Java and C++.  <acronym class="uttInitialism" title="PHP: Hypertext Preprocessor">PHP</acronym> and JavaScript were quite a bit behind.  This actually surprised me, given the prevalence of <acronym class="uttAbbreviation" title="Linux, Apache, MySQL and PHP">LAMP</acronym>-oriented development.  </p>
<p>But perhaps that&#8217;s because web development does not constitute a majority of software development.  Furthermore, the topics that questions are being asked about does not necessarily correlate with the popularity of the topic - in fact, an extremely popular and established language might not have very many questions posted since the majority of the answers to questions will likely be found by a Google search.  Nonetheless, the view of Stack Overflow provides an interesting <em>zeitgeist</em> into what&#8217;s actively being used.</p>
<p>I&#8217;ve also learned a bit from Stack Overflow beyond the actual content.  In particular I was interested in their use of the <a href="http://uservoice.com/">UserVoice</a> service to setup a community-driven <a href="http://stackoverflow.uservoice.com/">bug report/feature request</a> forum.  I have since <a href="http://runtrackr.uservoice.com/">done the same</a> for <a href="http://runtrackr.com">RunTrackr</a>.  The clean layout and easy to use navigation also provide some good examples of a simple but effective web UI.</p>
<hr/>Copyright &copy; 2009 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/unitstep?a=dZ2zn"><img src="http://feeds.feedburner.com/~f/unitstep?i=dZ2zn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=UI5Nn"><img src="http://feeds.feedburner.com/~f/unitstep?i=UI5Nn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=Vj6An"><img src="http://feeds.feedburner.com/~f/unitstep?i=Vj6An" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=r8ljN"><img src="http://feeds.feedburner.com/~f/unitstep?i=r8ljN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=g4NPN"><img src="http://feeds.feedburner.com/~f/unitstep?i=g4NPN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unitstep/~4/454496478" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2008/11/15/stack-overflow-is-a-great-community-and-resource/feed/</wfw:commentRss>
		<feedburner:origLink>http://unitstep.net/blog/2008/11/15/stack-overflow-is-a-great-community-and-resource/</feedburner:origLink></item>
		<item>
		<title>Subscribe to Comments for E-mail notification of replies</title>
		<link>http://feeds.feedburner.com/~r/unitstep/~3/446579428/</link>
		<comments>http://unitstep.net/blog/2008/11/08/subscribe-to-comments-for-e-mail-notification-of-replies/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 15:36:28 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[Colophon]]></category>

		<category><![CDATA[blog]]></category>

		<category><![CDATA[comments]]></category>

		<category><![CDATA[communication]]></category>

		<category><![CDATA[automattic]]></category>

		<category><![CDATA[disqus]]></category>

		<category><![CDATA[intensedebate]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://unitstep.net/?p=552</guid>
		<description><![CDATA[In response to the numerous comments received on my Acer Aspire One 6 vs. 3-cell battery comparison and subsequent full review, (thanks people!) I&#8217;ve added the popular Subscribe to Comments plugin to make dealing with responses easier.

Many of you posted questions in the comments, and having to keep checking back to see if anyone has [...]]]></description>
			<content:encoded><![CDATA[<p>In response to the numerous comments received on my Acer Aspire One <a href="/blog/2008/08/26/acer-aspire-one-6-cell-vs-3-cell-battery-comparison/">6 vs. 3-cell battery comparison</a> and subsequent <a href="/blog/2008/09/09/acer-aspire-one-canadian-review/">full review</a>, (thanks people!) I&#8217;ve added the popular <a href="http://wordpress.org/extend/plugins/subscribe-to-comments/">Subscribe to Comments</a> plugin to make dealing with responses easier.</p>
<p class="image"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/11/subscribe-comments.jpg" alt="" title="subscribe-comments" /></p>
<p>Many of you posted questions in the comments, and having to keep checking back to see if anyone has posted a reply can be tedious and time-consuming.  Instead, you can now subscribe to a comment thread when you post a reply; any subsequent comments will generate a notification that is e-mailed to you, keeping you up to date.  The e-mail will also contain a link to where you can manage all the threads you are subscribed to and remove yourself from any subscriptions, so you have full control over what e-mails you receive.  So don&#8217;t be afraid to use this feature!</p>
<p><strong>The feature is disabled/unchecked by default until you enable it</strong>.  This means it is purely an <em>opt-in</em> subscription, to prevent connotations of spam, which we all hate.  I have tried it out and it appears to be working, but <a href="/contact">let me know</a> if you have any problems.</p>
<h3>Future changes</h3>
<p>I had considered going with a third-party/centralized fully-featured commenting system like <a href="http://disqus.com/">DISQUS</a> or <a href="http://intensedebate.com/">IntenseDebate</a>, since they offered other nice things such as threading, replying and much more user control over things.  Additionally, the idea of your comments on one blog being part of your overall &#8220;identity&#8221; on the web expands the discussion and appeals to many active participants.  From what I&#8217;ve seen of DISQUS on other sites, it appears to be very appealing.</p>
<p>However, I wasn&#8217;t sure of what direction things would move in after moving to a third-party commenting system, or what would happen to comments stored there.  Recently, <a href="http://ma.tt/2008/09/intense-debate-goes-automattic/">IntenseDebate was acquired by Automattic</a>, the startup behind WordPress.com and the open source <a href="http://wordpress.org/">WordPress project</a>, which of course powers this blog.</p>
<p>Since then, IntenseDebate has become an invite-only service. (if only temporarily)  One would expect tighter integration with WordPress.com and IntenseDebate, but I&#8217;m not sure how this will affect the standalone WordPress with respect to whether IntenseDebate will work &#8220;better&#8221; with it than DISQUS.  I am going to wait a while to see how this all plays out before making a move, but I expect to move to one of these systems in the future</p>
<hr/>Copyright &copy; 2009 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/unitstep?a=DX6qn"><img src="http://feeds.feedburner.com/~f/unitstep?i=DX6qn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=BlR2n"><img src="http://feeds.feedburner.com/~f/unitstep?i=BlR2n" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=cmXgn"><img src="http://feeds.feedburner.com/~f/unitstep?i=cmXgn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=l8CMN"><img src="http://feeds.feedburner.com/~f/unitstep?i=l8CMN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=6tUuN"><img src="http://feeds.feedburner.com/~f/unitstep?i=6tUuN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unitstep/~4/446579428" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2008/11/08/subscribe-to-comments-for-e-mail-notification-of-replies/feed/</wfw:commentRss>
		<feedburner:origLink>http://unitstep.net/blog/2008/11/08/subscribe-to-comments-for-e-mail-notification-of-replies/</feedburner:origLink></item>
		<item>
		<title>Properly setting Axis Ranges and Data Scaling using the Google Chart API</title>
		<link>http://feeds.feedburner.com/~r/unitstep/~3/444929229/</link>
		<comments>http://unitstep.net/blog/2008/11/06/properly-setting-axis-ranges-and-data-scaling-using-the-google-chart-api/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 01:00:08 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[charts]]></category>

		<category><![CDATA[development]]></category>

		<category><![CDATA[fix]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[graphs]]></category>

		<category><![CDATA[images]]></category>

		<category><![CDATA[tutorials]]></category>

		<category><![CDATA[api]]></category>

		<guid isPermaLink="false">http://unitstep.net/?p=531</guid>
		<description><![CDATA[
The Google Chart API is a great way to dynamically create chart and graph images for any non-static data you might want to display to your visitors, such as stats for a runner&#8217;s training log.  
Although you can use your own server-side solution for generating charts, using PHP&#8217;s GD Image Processing Library or even [...]]]></description>
			<content:encoded><![CDATA[<p class="image align-right"><a href="http://code.google.com/apis/chart/"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/11/google-chart-api.png" alt="" title="google-chart-api" /></a></p>
<p>The <a href="http://code.google.com/apis/chart/">Google Chart API</a> is a great way to dynamically create chart and graph images for any non-static data you might want to display to your visitors, such as <a href="http://runtrackr.uservoice.com/pages/general/suggestions/39633">stats for a runner&#8217;s training log</a>.  </p>
<p>Although you can use your own server-side solution for generating charts, using <a href="http://php.net/gd"><acronym class="uttInitialism" title="PHP: Hypertext Preprocessor">PHP</acronym>&#8217;s GD Image Processing Library</a> or even a fancy chart library like <a href="http://pchart.sourceforge.net/">pChart</a>, this can increase the drain on your server&#8217;s resources.  Client-side solutions that utilize <a href="http://www.filamentgroup.com/lab/creating_accessible_charts_using_canvas_and_jquery/">the <code>canvas</code> element and jQuery</a> or <a href="http://www.maani.us/xml_charts/">Flash</a> can be very nice and easy to use, but may slow down the browser if there are a lot of charts.</p>
<p>Google Charts offers a nice trade-off; by using their service you offload the processing and bandwidth and get back a simple <a href="http://www.w3.org/Graphics/PNG/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="Portable Network Graphics">PNG</acronym></a> image, but you must learn to use the API.  Additionally, there&#8217;s also the risk that the service may throttle you, even if there&#8217;s no current usage limit.</p>
<h3>Problems specifying Axis Ranges - Data points are not changed!</h3>
<p>The API for Google Charts essentially consists of passing different query string parameters and their values and getting back a <a href="http://www.w3.org/Graphics/PNG/" class="ubernym uttInitialism"><acronym class="uttInitialism" title="Portable Network Graphics">PNG</acronym></a>-format image.  As a result of this, passing in parameters is a bit quirky, and information in the API guide is a bit sketchy in this respect.</p>
<p>One such example with quirky behaviour is properly setting the <a href="http://code.google.com/apis/chart/labels.html#axis_range">axis&#8217; ranges</a>, or scales, of a chart.  By default, all charts are set up on a 100&#215;100 grid.  It would seem that by changing the axis range, these values will be adjusted accordingly, affecting the position of any data points you&#8217;ve plotted.</p>
<p>But this isn&#8217;t the case; instead, changing the axis range with the <code>chxr</code> parameter <strong>only</strong> adjusts the position of any <em>axis labels</em> you might have, and <strong>does not</strong> affect the position of data points. Instead, data points will continue to be plotted as if they were on a 100&#215;100 grid.</p>
<h3>Illustrating the problem</h3>
<p>The following examples illustrate this point.  We plot a set of points, <code>{(10,40),(30,60),(50,70),(70,20),(90,40)}</code> using an <a href="http://code.google.com/apis/chart/types.html#line_charts">X-Y line chart</a>.  The first chart illustrates the points on the default grid of 100&#215;100. Because axis labels/positions have not been specified, the chart has been filled with default axis labels, which are values in the respective positions.</p>
<p class="image"><a href="http://chart.apis.google.com/chart?chs=500x500&amp;cht=lxy&amp;chd=t:10,30,50,70,90%7C40,60,70,20,40&amp;chxt=x,y&amp;chg=10,10&amp;chm=o,0000FF,0,-1,5,0"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/11/chart1.png" alt="chart on default 100x100 grid" /></a></p>
<pre><code>URL: http://chart.apis.google.com/chart?chs=200x200&amp;cht=lxy&amp;chd=t:10,30,50,70,90|40,60,70,20,40&amp;chxt=x,y&amp;chg=10,10&amp;chm=o,0000FF,0,-1,5,0</code></pre>
<p>In this case, the points are plotted in the correct positions.  (Points have been highlighted with <a href="http://code.google.com/apis/chart/styles.html#shape_markers">markers</a> for clarity and grid lines spaced 10 units apart)</p>
<p>However, if we simply change the axis ranges by specifying the <code>chxr</code> parameter to be <code>chxr=0,0,200|1,0,200</code>, the axis labels change, but the data points are not properly scaled:</p>
<p class="image"><a href="http://chart.apis.google.com/chart?chs=500x500&amp;cht=lxy&amp;chd=t:10,30,50,70,90%7C40,60,70,20,40&amp;chxt=x,y&amp;chg=10,10&amp;chm=o,0000FF,0,-1,5,0&amp;chxr=0,0,200%7C1,0,200"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/11/chart2.png" alt="chart without data scaling"></a></p>
<pre><code>URL: http://chart.apis.google.com/chart?chs=200x200&amp;cht=lxy&amp;chd=t:10,30,50,70,90|40,60,70,20,40&amp;chxt=x,y&amp;chg=10,10&amp;chm=o,0000FF,0,-1,5,0&amp;chxr=0,0,200|1,0,200</code></pre>
<p>This is further evidenced by the grid line spacing; though it&#8217;s still set to 10 units, the lines would appear to be 20 units apart in the above graph.  This means that internally, the chart is still using a 100&#215;100 grid.  So, how do we fix that?</p>
<h3>Plotting data properly with axis ranges</h3>
<p>The <a href="http://code.google.com/apis/chart/labels.html#multiple_axes_labels">documentation</a> would benefit from being clearer in this respect.  </p>
<p>In order to properly scale data, <strong>you must use <a href="http://code.google.com/apis/chart/formats.html#data_scaling">data scaling</a> whenever you adjust the axis ranges to non-default values.</strong></p>
<p>For the above example, since we have set both axis ranges to 0-200, we must set the data scale of both data sets (X and Y values) to 0-200 as well.  We accomplish this by setting the <code>chds</code> like so:</p>
<pre><code>chds=0,200,0,200</code></pre>
<p>The resultant graph is now as expected for the given data points:</p>
<p class="image"><a href="http://chart.apis.google.com/chart?chs=500x500&amp;cht=lxy&amp;chd=t:10,30,50,70,90%7C40,60,70,20,40&amp;chxt=x,y&amp;chg=10,10&amp;chm=o,0000FF,0,-1,5,0&amp;chxr=0,0,200%7C1,0,200&amp;chds=0,200,0,200"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/11/chart3.png"></a></p>
<pre><code>URL: http://chart.apis.google.com/chart?chs=200x200&#038;cht=lxy&#038;chd=t:10,30,50,70,90|40,60,70,20,40&#038;chxt=x,y&#038;chg=10,10&#038;chm=o,0000FF,0,-1,5,0&#038;chxr=0,0,200|1,0,200&#038;chds=0,200,0,200</code</pre>
<p>(Curiously, grid lines are still placed 10 units apart according to an &#8220;internal&#8221; 100&#215;100 grid.)</p>
<p>I couldn&#8217;t find anything clear in the documentation about this, but instead found some <a href="http://groups.google.com/group/google-chart-api/browse_thread/thread/4c3783b3a0dabe8/02842878d286f0c8?lnk=gst&#038;q=axis+range#02842878d286f0c8">helpful threads</a> on the Google Groups for their Charts API that aided me in figuring out exactly how this all works.</p>
<h3>Clear as mud?</h3>
<p>There are still some things I&#8217;m not clear about, such as what <em><a href="http://code.google.com/apis/chart/formats.html#data_scaling">data scaling</a></em> is actually supposed to mean, and why simply changing axis ranges does not properly scale data in the first place.  Additionally, the <a href="http://code.google.com/apis/chart/formats.html">data formats page</a> specifies numerous other ways of specifying data in more compact, encoded forms, but these formats do not seem to support data scaling.  Does that mean these formats are confined to a 100&#215;100 grid?  </p>
<p>I haven&#8217;t had the time to fully experiment with the API, but hopefully will have time to learn.  In the meantime, I hope you found this information useful.  If you have some information I haven&#8217;t presented here, please don&#8217;t hesitate to comment below!</p>
<p class="note less">Note: The information and graph images here reflect the state of the Google Chart API as of the date of publication. (2008-11-06)</p>
<hr/>Copyright &copy; 2009 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/unitstep?a=Jowtn"><img src="http://feeds.feedburner.com/~f/unitstep?i=Jowtn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=imxEn"><img src="http://feeds.feedburner.com/~f/unitstep?i=imxEn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=c5Kcn"><img src="http://feeds.feedburner.com/~f/unitstep?i=c5Kcn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=HaWFN"><img src="http://feeds.feedburner.com/~f/unitstep?i=HaWFN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=VrnGN"><img src="http://feeds.feedburner.com/~f/unitstep?i=VrnGN" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unitstep/~4/444929229" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2008/11/06/properly-setting-axis-ranges-and-data-scaling-using-the-google-chart-api/feed/</wfw:commentRss>
		<feedburner:origLink>http://unitstep.net/blog/2008/11/06/properly-setting-axis-ranges-and-data-scaling-using-the-google-chart-api/</feedburner:origLink></item>
		<item>
		<title>The Beatles are coming to Rock Band!</title>
		<link>http://feeds.feedburner.com/~r/unitstep/~3/437468470/</link>
		<comments>http://unitstep.net/blog/2008/10/30/the-beatles-are-coming-to-rock-band/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 23:40:45 +0000</pubDate>
		<dc:creator>Peter Chng</dc:creator>
		
		<category><![CDATA[Games]]></category>

		<category><![CDATA[beatles]]></category>

		<category><![CDATA[guitar hero]]></category>

		<category><![CDATA[music]]></category>

		<category><![CDATA[rock band]]></category>

		<guid isPermaLink="false">http://unitstep.net/?p=517</guid>
		<description><![CDATA[
After much speculation about an upcoming game, it has been confirmed that the Beatles will be coming to a game produced by Harmonix, the makers of Rock Band.  There is much to be excited about, besides the fact that this has to do with The Beatles.
Just the details, ma&#8217;am
Wired live blogged the event and [...]]]></description>
			<content:encoded><![CDATA[<p class="image align-right"><img src="http://unitstep.net/wordpress/wp-content/uploads/2008/06/beatles-rockband.jpg" alt="Beatles and Rock Band" /></p>
<p>After much <a href="/blog/2008/06/28/the-beatles-need-to-come-rock-band-or-guitar-hero/">speculation about an upcoming game</a>, it has been <a href="http://multiplayerblog.mtv.com/2008/10/29/rock-band-beatles-talk/"><strong>confirmed</strong></a> that the Beatles will be coming to a game produced by <cite>Harmonix</cite>, the makers of <cite><a href="/blog/category/rock-band/">Rock Band</a></cite>.  There is much to be excited about, besides the fact that this has to do with The Beatles.</p>
<h3>Just the details, ma&#8217;am</h3>
<p>Wired <a href="http://blog.wired.com/games/2008/10/live-blog-the-b.htmlplease">live blogged the event</a> and while much of it is tangential ephemera, there&#8217;s a good summary at the top.  The key points: The deal is exclusive, the game will be released during the 2009 holiday season, the game won&#8217;t be branded with the &#8220;Rock Band&#8221; name, and Giles Martin will be involved!</p>
<p>The lack of the &#8220;Rock Band&#8221; name was expected - The Beatles clearly didn&#8217;t want to dilute their trademark but from what I am guessing, the core gameplay will remain the same, with the &#8220;musical and visual journey&#8221; providing lots of trivia, information and history to placate rabid fans, such as myself.  (Think of it as Rock Band fused with <a href="http://en.wikipedia.org/wiki/The_Beatles_Anthology">The Beatles Anthology</a>)</p>
<h3>Not just a cash-grab</h3>
<p>Also surprising is Giles Martin&#8217;s involvement.  Giles, the son of Sir George Martin, famed producer of The Beatles, collaborated with his father to produce the 2006 <cite>Love</cite> compilation album that was also the soundtrack for the identically-named Cirque du Soleil performance.  I <a href="/blog/2007/06/11/the-beatles-love-2006-compilation-album/">quite enjoyed the album</a>, so I&#8217;m hoping some of that experience will brought over to the game.  I&#8217;m sure that George Martin would love to be involved himself, save for his age.</p>
<p>Coupled with the fact that The Beatles are known for resisting undue use of their trademark, I believe this will make the game more than just a cheap one-timer meant to empty the pockets of fans.  Harmonix, the developers of the original <cite>Guitar Hero</cite> and <cite>Rock Band</cite> also have a good track record for originality.  While <cite>Rock Band 2</cite> wasn&#8217;t too much of an improvement over the already great original, there&#8217;s no denying it&#8217;s not a good game.  (I have yet to write my full review of the game, but check out my <a href="/blog/2008/10/20/rock-band-2-unboxing-for-ps3/">preview</a> for more)</p>
<p>One point of interest that sure to be a sore wound for Activision is the fact that the deal is exclusive.  This means that there&#8217;s no possibility of The Beatles appearing in a <cite>Guitar Hero</cite> game, unlike other artists (such as <cite>Oasis</cite>) that have tracks available in both series&#8217; games. </p>
<h3>The Songs: What&#8217;s important</h3>
<p>From <a href="http://blog.wired.com/music/2008/10/beatles-version.html">what I&#8217;ve read</a>, the game will feature a variety of songs from their early days (<cite>Please Please Me</cite>) to their final days together in the studio. (<cite>Abbey Road</cite>).   Obviously, some songs are a natural fit (<cite>While My Guitar Gently Weeps</cite>) others would just not work with a game. (<cite>Revolution 9</cite>)</p>
<p>Wired is holding an <a href="http://blog.wired.com/music/2008/10/beatles-songs-o.html">online poll</a> where you can vote up the songs you&#8217;d like to see in the Beatles game.  I suggest you take part and voice your opinion, since Harmonix, the developers, are known to check Internet forums for feedback on what songs to include in upcoming games.</p>
<p>My <a href="/blog/2008/06/28/the-beatles-need-to-come-rock-band-or-guitar-hero/">personal preferences</a> have already been stated.  </p>
<h3>Changing the game</h3>
<p>A Beatles music game has real potential to be wildly successful.  Besides the fanatics (like myself) who are already in love with Rock Band and The Beatles, a properly-executed game will have potential to drawn in an older generation to video games, and at the same time, introduce the awesome music of The Beatles to a younger generation, that, for whatever tragic reason, has yet to appreciate the wide range of their abilities. </p>
<p>Even though the likely release date is over a year away, it&#8217;s safe to say that I&#8217;m excited.  Very excited!</p>
<h4>More Reading</h4>
<ul class="note less">
<li><a href="http://blog.wired.com/music/2008/10/beatles-announc.html">Apple Corp., MTV Announcing Beatles, Rock Band Deal</a></li>
<li><a href="http://blog.wired.com/games/2008/10/live-blog-the-b.htmlplease">Live Blog: Beatles, Rock Band Makers Team For New Game</a></li>
<li><a href="http://www.cbc.ca/arts/music/story/2008/10/30/mtv-beatles.html">Rock&#8217;s holy grail: MTV scores Beatles music for video game</a></li>
<li><a href="http://blog.wired.com/music/2008/10/beatles-songs-o.html">Which Songs Do You Want to Play in the Beatles Game?</a></li>
</ul>
<hr/>Copyright &copy; 2009 <strong><a href="http://unitstep.net">unitstep.net</a></strong>. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact <strong><a href="mailto:webmaster@unitstep.net">webmaster@unitstep.net</a></strong> for more information.<br/><span style="float: right;font-size: 7pt"><a href="http://blog.taragana.com/index.php/archive/wordpress-plugins-provided-by-taraganacom/">Plugin</a> by <a href="http://www.taragana.com/">Taragana</a></span><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/unitstep?a=EIKom"><img src="http://feeds.feedburner.com/~f/unitstep?i=EIKom" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=xKKIm"><img src="http://feeds.feedburner.com/~f/unitstep?i=xKKIm" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=qIhkm"><img src="http://feeds.feedburner.com/~f/unitstep?i=qIhkm" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=huzBM"><img src="http://feeds.feedburner.com/~f/unitstep?i=huzBM" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/unitstep?a=8bzLM"><img src="http://feeds.feedburner.com/~f/unitstep?i=8bzLM" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unitstep/~4/437468470" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://unitstep.net/blog/2008/10/30/the-beatles-are-coming-to-rock-band/feed/</wfw:commentRss>
		<feedburner:origLink>http://unitstep.net/blog/2008/10/30/the-beatles-are-coming-to-rock-band/</feedburner:origLink></item>
	</channel>
</rss>
