Race Report: Spokes Duathlon Tramore

One of my new years resolutions is to blog more and race more. So here’s both. I’ll try blog about every race this year.

First Up: The Facts

Table below includes first place, and “friendly” rivals. As you can see I’m at the bottom, so the only way is up.

Pos.	No.	Time		Name
1	445	45.23		Martin Kirwan
6	498	47.46		Tadhg Cronin
13	394	50.21		Paul Ogle
26	412	52.22		Brendan Murphy
32	431	52.56		Aidan Bourke
42	408	53.41		Conor Blackett
77	407	57.22		Tomas Breen

Full results and report here.

The Opinion Dribble

The duathlon consisted of a 3k run, 16k bike and 3k run. Standard enough distance, and perfect for those getting into the sport. Although I raced last year, this was my first duathlon (have done triathlons and aquathons), so I was unsure what to expect. Running is my weakness currently, so 2 runs legs in 1 race is two too many for me. My goal this year is to improve my running speed and enjoyment, so bring on the challenge.

First run

3k being relatively short, I decided I wanted to push the pace to faster than I would do 5k. This meant trying to get down to 4:00/km which to some is slow, but I usually run around 5:00/km. I managed to keep focused on the first run and came in just under 12 minutes. Sweet. Happy out with that. Now onto the bike.


Last year I gained a lot of confidence on the bike, so knew what my limits were for 16k. Was full of energy coming out of T1 and passed a lot of people in the first k. Then slowly ate away at the pack for the first 8k. Started to meet people above my level at that stage so only passed 1 person on the second half of the bike. Didn’t catch Blackie, which is what I was hoping for, closed the gap on a lot of the better runners tho. Still feeling good coming into T2 (wait for it…). The bike was under 30 minutes, but not much under. The same bike route for the triathlon in Tramore last year was faster for me. I’ll have to blame the wind there.

2nd Run

Legs hits the ground off the bike. Jelly!! Bike racked, helmet off, trainers on. Jelly!! “Run through it mossy, get the rhythm going”. Jelly!! Experiencing jelly legs is normal enough, and in a Triathlon I can handle it. My swim is strong, and bike is good, so when coming onto the run in a good position I expect to lose a lot of places for the rest. The duathlon is different, first run is okay, and I need to catch up a lot on the bike, so the second run still feels like I should be trying to catch up.

No joy. Jelly!! I think it took about 1k to shake off the jelly legs and get the legs moving, but it wasn’t enough to get a good pace. The Second run was 14 minutes.

To summize

Happy with my running progress from training over the winter. A lot to do, but getting the early season races in is worthwhile to see how base training is going. Another duathlon this sunday in Naas.

Launch: JBallz Lake Balls and Golf Accessories

I helped my brother launch a new site last week. The site is developed with osCommerce. It was tough to customise the design and simplify the buying process, but we did the best we could and the site is quite functional now. Take a look if you’re interested. Your comments (positive or otherwise) would be appreciated.

jBallz Lake Balls and Golf Accessories
jBallz Lake Balls and Golf Accessories

JBallz Golf has been established with the aim of supplying Premium Brand, High Quality lake balls and Accessories, to golfers at all levels. All golfers will agree that they have a preferred ball. A ball that suits their swing, their approach or even chipping and putting feel. In addition to this golfers will also perhaps choose balls that suit their budget. Lake balls give all golfers the opportunity to select their preferred ball and order them from Jballz Golf in the qauntity they require, at greatly reduced prices.

Our lake balls are retreived from Lakes and streams on courses within Ireland and the United Kingdom. We work full time clearing waterhazards on selected courses. The balls are then put through a cleaning process and sorted by condition, Brand and Model.

Jballz Golf accessories and training aids are selected from the ranges of products from approved and branded manufacturers. We currently supply PGA Tour merchandise and Links Choice. Our aim is to provide accessories at affordable prices which aid golfers on the course, from Gloves, ball retreivers and tees, to training aids for use at home, Driving and chipping nets, swing and grip training, putting aids. Check out our current stock, if we dont have what you want contact us and we can advise and possibly arrange supply of your requirements.

This years resolutions: Check

Put some resolutions up in January . Time flew to be honest and it’s been quite around the blog since. I guess I was busy getting on those resolutions. Some were vague, and some were solid. I think I’ve made a good crack at them all, so let’s recap. Resolutions:

  1. Complete at least 2 Triathlons
  2. Become a stronger, better surfer
  3. Direct my career and improve my professional visibility
  4. Enjoy taking the risks, and earning the rewards.

How I’ve done so far:

  1. I completed 3 Triathlons: Velvet Strand, Clogherhead & Tramore. Tramore being the highlight for me this year as I got to finish with a lot of cheers from family and friends, and felt like a bit of a ledge that day, as most of them had never seen me compete in a race before. Major ego boost resulted. I also completed 2 aquathons (Howth), a sea swim (Snamh Fada), a 10k run (Pheonix Park), 2 Runamuck challenges (4.5k obstacle and 9k obstacle course – more fun run than race really). My times for most of these were middle of the pack, and I learned I have a lot of work to do with my running. Mostly I have learned to enjoy training and competing and the buzz of finishing negates any pain while training or racing.
  2. I have done a good bit of surfing this year, and spent some time becoming more confident on my shortboard (6’6″ fat boy flyer). Had some great sessions recently that have helped a lot, and winter will bring more of that.
  3. I moved job in april. I am working with Dovetail and very happy in a small company where we can focus on building software and forget the politics that large organisations can get stuck in.
  4. Every so often I watch Yes Man. It reminds me what is important and to say yes to more things. I believe I have done this a lot more this year.
  5. Not on the original list, but I got engaged in August, so that was a nice bonus to top off a year of mixing it up. And I am still engaged, woot!

Overall it was great to write down some goals for the year, as it gave me motivation to achieve them. I have more for next year, but will leave them for another post.

The Social Network

I’m a very easy person to inspire. I can get inspiration from a lot of sources, people I know, movies, books, blogs, ideas. Most of my inspiration comes from true stories rather than fables. Fables being ideals rather than having actually happened.

Facebook LogoThe Social Network was a good movie, and quite inspirational. Cutting it down to the basic story, Mark Zuckerberg codes the beginnings of facebook in a few weeks, and it spreads quickly through major colleges. The initial idea was simple and he executed the basics and got it out there quickly. There was no long term plan, just an idea and the drive to build and launch quickly. This is a great way to look at any personal/professional projects.


Iterate, the first iteration being launch, then iterate continuously. Forever. Evolve the product with the user-base, and make sure it stays relevant. An idea is just that until it’s real.

Anywho, after watching videos on Lance Armstrong I get an overwhelming urge to get on my bike and ride. Coming back from the social network, I want to crack open an IDE and start coding like a boss. Most of my ideas are (probably) shit, but I’ll never know unless I launch. 2011 goal #1, launch a site. There, it’s written down now. I have to do it.

BTW, my earlier post on goals for this year (written in January), there’s a post coming to see how I’ve done with that shortly. Stay tuned.

p.s. I promise I’m back blogging more consistently from here on in. At least for the winter months.

p.p.s. The blog is now on wordpress.

Hey WordPress, wanna live in my earth home? Thanks!

Got an email from blogger a few weeks ago. They are no longer supporting FTP based blog publishing, which is a shame. I blog using this practice, and will either need to host the blog here on blogger (with dns pointing at them) or move to another tool.

I already use WordPress on my technical blog, so I think that’s what I’ll go to. Now … how do I easily move over 250 posts, and their comments to a new platform?

Seesmic Web – A quick review

Really loving the seesmic web application. The user interface is clean, can grow and so easy to use. It seems so original yet all the elememts fit with current patterns.


The top and left navigation work really well together. They are uniquely different but compliment each others roles in the app. The top has been left very simple, with only 3 buttons, 1 of which is a really intuitive refresh (ajaxy) button. The buttons are connected, and make you feel like they are tabs, which is what you achieve when clicking as they switch between 2 interfaces.


The epicentre is made up of “windows”, which can contain any kind of content, timeline, searches, #tags etc. Although I would have liked to be able to see a single users tweets, but can’t seem to do it (just found a tab called updates under the user profile area, but would like to see it in the epicenter, as then I can watch multiple users without officially following them).


The search area is great. You can have multiple search results “windows” in the epicentre. Handy for watching topics of interest.

I have found client apps are good, but become out of sync when using across work and home machines (mac at home, windows at work). I really love this interface, as it give me everything the twitter web app gives me and more.

Visit Seesmic.

New Years Resolutions

This is a brand new decade. The last decade I was finishing School (High school) and entering college. I have much more control over my life now, and want to take it up a gear, in all aspects. I want to be physically fitter, work smarter, and become a better friend, boyfriend and sibling. This decade will be the best yet.

  • Complete at least 2 Triathlons
  • Become a stronger, better surfer
  • Direct my career and improve my professional visibility
  • Enjoy taking the risks, and earning the rewards.

All the groundwork is done, and I need to follow through on these to achieve my goals. I have a triathlon Ireland membership, and I have joined 3dTri. I have created a professional blog for technical posts. I have a good bike, and am now swimming twice a week.

I need to run more, and I surf as many weekends as I can. Living in Dublin makes getting into the sea more of a challenge, but I enjoy taking trips west, and when I get to my hometown of Tramore, surfing takes top priority.

Right, off for a lunchtime cycle with Al.

Multiple URLs for a single node in Umbraco

I am developing a public website for a client at the moment, and this is my first project with Umbraco as the CMS. On the outset, the community around umbraco is fantastic, and coming from a .NET backgound, I am getting used to it quickly. The fact that I’ve had a lot of interest in SEO and url rewriting helps too, because umbraco uses these concepts alot.

The admin interface is easy to use, and end users should have no trouble getting to grips with content editing and publishing. But like any system, the developer must keep it simple.

The challenge: To create a product line with multiple pages for each product (overview, details & contact form).

The solution: I could have easily create a node for the overview, then created 2 nodes below that for the details and contact form. But this would have required additional training for end users and left gaps for human error to occur, leading to additional product support. So I decided to keep it to a single node, and figure out how to create 3 pages from that node without confusing the user.

I posted a question on our.umbraco to see if anyone had any suggestions, and one answer got me on the right path, and after a little trial and error, I found a great solutions to (possibly) a common CMS problem.

The key to solving this problem is all in the XSLT for your navigation. Here is the full XSLT file for navigation:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
	xmlns:umbraco.library="urn:umbraco.library" xmlns:Exslt.ExsltCommon="urn:Exslt.ExsltCommon" xmlns:Exslt.ExsltDatesAndTimes="urn:Exslt.ExsltDatesAndTimes" xmlns:Exslt.ExsltMath="urn:Exslt.ExsltMath" xmlns:Exslt.ExsltRegularExpressions="urn:Exslt.ExsltRegularExpressions" xmlns:Exslt.ExsltStrings="urn:Exslt.ExsltStrings" xmlns:Exslt.ExsltSets="urn:Exslt.ExsltSets" xmlns:tagsLib="urn:tagsLib" xmlns:BlogLibrary="urn:BlogLibrary"
	exclude-result-prefixes="msxml umbraco.library Exslt.ExsltCommon Exslt.ExsltDatesAndTimes Exslt.ExsltMath Exslt.ExsltRegularExpressions Exslt.ExsltStrings Exslt.ExsltSets tagsLib BlogLibrary ">
<xsl:output method="xml" omit-xml-declaration="yes" />
<xsl:param name="currentPage"/>
<!-- Input the documenttype you want here -->
<xsl:variable name="documentTypeAlias" select="string('Product')"/>
<xsl:template match="/">
<!-- The fun starts here -->
<xsl:for-each select="$currentPage/ancestor-or-self::node [@level=2]/node [@nodeTypeAlias = $documentTypeAlias and string(data [@alias='umbracoNaviHide']) != '1']">
		<a href="{umbraco.library:NiceUrl(@id)}">
			<xsl:value-of select="@nodeName"/>
        <a href="{umbraco.library:Replace(umbraco.library:NiceUrl(@id), '.aspx', '/details.aspx')}">
        <a href="{umbraco.library:Replace(umbraco.library:NiceUrl(@id), '.aspx', '/enquiry.aspx')}">

This stylesheets find all products at the second  level (2 below homepage), then displays the product name with a link, and then displays 3 links below that to the same node, but explicitly defining which template to use. A simple example would look like:


To acheive this, you need 3 templates for your Document type, the default template (overview), and 2 other templates. The alias of this template is important as it relates directly to the url used above, so make it search engine friendly and pretty short.


The document type itself can then contain an array of fields used across the different templates.


And each template can then use the specific subset of content from the node.


This is a great way to improve the user experience for your content editors while keeping long reams of content pages out of your site.