<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Damien Carbery - Website Development</title>
	<atom:link href="http://www.damiencarbery.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.damiencarbery.com</link>
	<description>Grow Your Business Online - Web sites to boost your business</description>
	<lastBuildDate>Mon, 30 Jan 2012 22:20:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Tom Brennan Memorial 5k &#8211; 1 January 2012</title>
		<link>http://www.damiencarbery.com/2012/01/tom-brennan-5k-2012/</link>
		<comments>http://www.damiencarbery.com/2012/01/tom-brennan-5k-2012/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 11:40:34 +0000</pubDate>
		<dc:creator>damien</dc:creator>
				<category><![CDATA[Race Reports]]></category>
		<category><![CDATA["phoenix park"]]></category>
		<category><![CDATA[running]]></category>

		<guid isPermaLink="false">http://www.damiencarbery.com/?p=939</guid>
		<description><![CDATA[A great flat course and a good time (19m10s) for minimal training. I picked up the pace for the second lap and easily passed 7 or 8 people.]]></description>
			<content:encoded><![CDATA[<p>19m10s. 62nd (11th M40) out of 288 finishers. Splits: 3:53, 3:52, 3:57, 3:44, 3:44; Average: 3:50.<br />
<a href="http://connect.garmin.com/activity/138429522" title="My race data from my Garmin 305.">Garmin data</a></p>
<p><div id="attachment_945" class="wp-caption alignright" style="width: 160px"><a href="http://www.damiencarbery.com/wp-content/uploads/2012/01/tom-brennan-5k-2012-1.jpg" rel="shadowbox[sbpost-939];player=img;" title="Tom Brennan 5k 2012 - first lap"><img src="http://www.damiencarbery.com/wp-content/uploads/2012/01/tom-brennan-5k-2012-1-150x150.jpg" alt="On the first lap of Tom Brennan 5k" title="Tom Brennan 5k 2012 - first lap" width="150" height="150" class="size-thumbnail wp-image-945" /></a><p class="wp-caption-text">On the first lap of Tom Brennan 5k</p></div>I did two 5k training runs in the week before the race. I had done only one other training run in December. Not ideal, but that has been the story of 2011.</p>
<p>I headed down to the Phoenix Park at 10am as the race instructions said to collect the race number an hour before the 11am start. It turned out that I didn&#8217;t need to go that early but it let me do a good warm-up.</p>
<p>As I cycled past Farmleigh I saw the OPW flags. The direction they were blowing meant that the wind would be behind us for most of the course.</p>
<p>I collected my race number and souvenir technical t-shirt and then cycled the course, primarily to kill time. Then I parked my bike and changed into my running shoes. I kept my wind-proof cycling jacket on as the wind was quite cold. I then did a slow jog of one lap of the course. With the cycling jacket on, it warmed me up considerably.</p>
<p>Then I got into my race gear &#8211; long sleeved shirt with sleeveless Nike Pro base layer and my new Nike shorts (with zip pocket) and Skins half shorts under them &#8211; and jogged to the start line. Despite the wind along Furze Road, the start line was in a very sheltered area, with a forest blocking the wind.</p>
<p>The race started bang on time. I crossed the line about 5 seconds after the gun and took the first few hundred metres quite gently. I took the first corner very wide as it was quite tight (approximately 135 degrees!) and was comfortable as I passed the 1km mark at 3m53s.</p>
<p>Right after the 1km mark a very young boy was cheering us singing &#8220;Run faster, run faster, you can&#8217;t catch me I&#8217;m the gingerbread man!&#8221; You had to smile.</p>
<p>Even at this early stage I felt that I was running at a pace that I wouldn&#8217;t be able to maintain for the remaining 3.5km. We then turned onto the footpath beside the still dug up Chesterfield Avenue.</p>
<p><div id="attachment_946" class="wp-caption alignright" style="width: 160px"><a href="http://www.damiencarbery.com/wp-content/uploads/2012/01/tom-brennan-5k-2012-2.jpg" rel="shadowbox[sbpost-939];player=img;" title="Tom Brennan 5k 2012 - on first lap"><img src="http://www.damiencarbery.com/wp-content/uploads/2012/01/tom-brennan-5k-2012-2-150x150.jpg" alt="" title="Tom Brennan 5k 2012 - on first lap" width="150" height="150" class="size-thumbnail wp-image-946" /></a><p class="wp-caption-text">Turning onto footpath</p></div>Then we took the sharp right turn back onto Furze Road for the second lap and were welcomed by the strong wind.</p>
<p>The trees on the left of the road provided welcome shelter from the wind though it came back with a vengeance when we passed those trees at the end of Furze Road.</p>
<p>I surprised myself by picking up the pace for much of the second lap, passing about 7 or 8 people.<br />
I was relieved to turn onto Furze Road for the final stretch. As I had a reasonable gap ahead of those behind me I didn&#8217;t really push it to the finish line.</p>
<p>I finished in 19m10s, only 15 seconds off my PB of 18m55s (and that was on a tough, hilly course). This course is perfect for a PB and I could probably break the PB if I trained properly and pushed myself a little.</p>
<p>The results list my time as 19m16s &#8211; there wasn&#8217;t chip timing and I didn&#8217;t start at the front.<br />
It was cool to <a href="http://www.youtube.com/watch?v=QGc4EK7OHGE" rel="shadowbox[sbpost-939];player=swf;width=640;height=385;" title="Finish line video - go to 2m00s to see me finish.">see myself finishing on the finish line video</a> (go to 2m00s).</p>
<p>PS The reason I say that the first corner is 135 degrees is because the course was a right angled triangle shape. So, the internal angles total 360 degrees and one corner is 90 degrees, therefore the remaining two are a combined 270 degrees and approximately 135 degrees each.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.damiencarbery.com/2012/01/tom-brennan-5k-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jigsaw Financial Solutions</title>
		<link>http://www.damiencarbery.com/2011/11/jigsaw-financial-solutions/</link>
		<comments>http://www.damiencarbery.com/2011/11/jigsaw-financial-solutions/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 10:59:13 +0000</pubDate>
		<dc:creator>damien</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.damiencarbery.com/?p=927</guid>
		<description><![CDATA[Lorraine Cooke availed of the Blacknight Solutions Getting Irish Business Online offer where she got a free .ie domain name and hosting for a year. She quickly realised that the home made site did not look very professional. I suggested a number of WordPress themes and she settled on one and we quickly got it [...]]]></description>
			<content:encoded><![CDATA[<img width="618" height="364" src="http://www.damiencarbery.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2011/11/jigsaw-financial-solutions.jpg&amp;w=618&amp;zc=0" alt="Jigsaw Financial Solutions" /><p>Lorraine Cooke availed of the <a href="http://www.blacknight.com">Blacknight Solutions</a> <a href="http://www.gettingbusinessonline.ie/" title="Free .ie domain and hosting for a year">Getting Irish Business Online</a> offer where she got a free .ie domain name and hosting for a year. She quickly realised that the home made site did not look very professional.</p>
<p>I suggested a number of WordPress themes and she settled on one and we quickly got it up and running. It is leaps and bounds more professional than what she had. As Lorraine receives more recommendations she can easily add these to her site.</p>
<p>I extracted a few <a href="http://www.jigsawfinancialsolutions.ie/category/testimonials/" title="Testimonials of Lorraine's work from her LinkedIn profile.">testimonials</a> from her <a href="http://ie.linkedin.com/pub/lorraine-cooke-qfa-flia-tmiti/20/3a3/4a" title="Clients recommended Lorraine's taxation work">LinkedIn recommendations</a>.</p>
<p>As Lorraine has an <a href="http://www.facebook.com/JigsawFinancialSolutions" title="Jigsaw Financial Solutions Facebook page">active Facebook page</a> with more than 25 likes, it was eligible for a nice url (&#8220;Vanity URL&#8221; as Facebook call it). I guided her through the short process of <a href="http://www.facebook.com/JigsawFinancialSolutions" title="Jigsaw Financial Solutions Facebook page">claiming her short url</a>.</p>
<p>Initially Lorraine told me that she would like that posts to both her web site be duplicated on her Facebook page. As the process for this requires significant setup, and she doesn&#8217;t plan to post very frequently, I encouraged her to dual post manually. This gives her full control over what is posted to Facebook and how it appears. The goal is to drive people from Facebook to Lorraine&#8217;s web site.</p>
<h3>Technical Details</h3>
<ul>
<li>WordPress</li>
<li>StudioPress Genesis Framework</li>
<li>PHP</li>
<li>CSS</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.damiencarbery.com/2011/11/jigsaw-financial-solutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Easily add debug information to your WordPress header</title>
		<link>http://www.damiencarbery.com/2011/10/easily-add-debug-information-to-your-wordpress-header/</link>
		<comments>http://www.damiencarbery.com/2011/10/easily-add-debug-information-to-your-wordpress-header/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 11:29:05 +0000</pubDate>
		<dc:creator>damien</dc:creator>
				<category><![CDATA[Web Dev]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.damiencarbery.com/?p=900</guid>
		<description><![CDATA[Using a WordPress action you can include PHP global variables in your html without having to modify any theme files.]]></description>
			<content:encoded><![CDATA[<p>When working on PHP based sites I frequently include the PHP global variables as a comment in the html. For security reasons I only display it for my IP address.</p>
<p>In a few WordPress themes that I have developed I have modified the header.php file to include the same code. After some recent WordPress coding using filters I examined ways to see the global variables <em>without</em> modifying the theme files. This is exactly what WordPress hooks, filters and actions were created for.</p>
<p>The obvious choice was to use the add_action() function to call my function in the header area (use the wp_head action hook). The plugin can be installed in the <a href="http://codex.wordpress.org/Must_Use_Plugins">Must Use Plugins</a> directory (named &#8216;mu-plugins&#8217;) so that one doesn&#8217;t even have to log into the dashboard to enable it (though I note that this method has <a href="http://codex.wordpress.org/Must_Use_Plugins">some caveats</a> but they are not a problem for this).</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
add_action( 'wp_head', 'mu_debug_info' );

function mu_debug_info() {
  if ($_SERVER['REMOTE_ADDR'] == '192.168.1.1') {
    echo '&lt;!-- Server Debug Info from mu-debug-info plugin.';
    echo &quot;\n\$_SERVER: &quot;; var_dump($_SERVER);
    echo &quot;\n\$_GET: &quot;; var_dump($_GET);
    echo &quot;\n\$_POST: &quot;; var_dump($_POST);
    echo &quot;\n\$_SESSION: &quot;; var_dump($_SESSION);
    echo ' --&gt;', &quot;\n&quot;;
  }
}
?&gt;</pre>
<p>The next step is to create an options panel in the dashboard to allow setting of the IP address. The code can be expanded further to include more WordPress variables.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.damiencarbery.com/2011/10/easily-add-debug-information-to-your-wordpress-header/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dublin Simon Fun Run &#8211; 8 October 2011</title>
		<link>http://www.damiencarbery.com/2011/10/dublin-simon-fun-run-2011/</link>
		<comments>http://www.damiencarbery.com/2011/10/dublin-simon-fun-run-2011/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 10:19:14 +0000</pubDate>
		<dc:creator>damien</dc:creator>
				<category><![CDATA[Race Reports]]></category>
		<category><![CDATA["phoenix park"]]></category>
		<category><![CDATA[running]]></category>

		<guid isPermaLink="false">http://www.damiencarbery.com/?p=860</guid>
		<description><![CDATA[I ran a reasonable race with a decent time despite the tail end of a stomach bug and a week off training. I was also very lucky to get to the start line just in time - I couldn't have cut it any closer.]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_911" class="wp-caption alignright" style="width: 160px"><a href="http://www.damiencarbery.com/wp-content/uploads/2011/10/funrun-2011-finish-1.jpg" rel="shadowbox[sbpost-860];player=img;" title="Head down to stop the stopwatch"><img src="http://www.damiencarbery.com/wp-content/uploads/2011/10/funrun-2011-finish-1-150x150.jpg" alt="" title="Head down to stop the stopwatch" width="150" height="150" class="size-thumbnail wp-image-911" /></a><p class="wp-caption-text">Head down to stop the stopwatch</p></div>19m40s. 22nd out of 1342 finishers. Splits: 6:09, 6:38, 6:18, 0:35; Average: 6:21.<br />
<a href="http://connect.garmin.com/activity/119947568" title="My race data from my Garmin 305.">Garmin data</a></p>
<p>This race is normally 5 miles but, due to road works in the Phoenix Park, the normal route was unavailable and the distance was reduced to 5km. Initially I was disappointed but, as I was drained in the weeks prior, it worked out for the best.</p>
<p>I did 3 training sessions before the race, each 4 miles long. In the week immediately before the race I had a stomach bug and felt uncomfortably bloated so didn&#8217;t do any training. My wife&#8217;s maternity leave ended so fitting in any running would have been difficult anyway.</p>
<p><div id="attachment_912" class="wp-caption alignright" style="width: 160px"><a href="http://www.damiencarbery.com/wp-content/uploads/2011/10/funrun-2011-finish-2.jpg" rel="shadowbox[sbpost-860];player=img;" title="Head still down"><img src="http://www.damiencarbery.com/wp-content/uploads/2011/10/funrun-2011-finish-2-150x150.jpg" alt="" title="Head still down" width="150" height="150" class="size-thumbnail wp-image-912" /></a><p class="wp-caption-text">Head still down</p></div>I wasn&#8217;t 100% on the morning of the race but well enough to make it through 20 mins of running. </p>
<p>I was late leaving home (only 23 mins before the start time!) but it meant that there was no queue at the baggage tent. I jogged to the nearby start area and entered the start area. The webbing on the side only went back about 20 metres so I entered there and easily made my way up the side toward the front. I got reasonably close when the starter gun went. Wow, I cut it close!!</p>
<p>I very quickly passed a good few people, while doing about 5m30s/mile pace. After about 250 metres I nearly ran into the back of a guy who stopped running without moving off the road. It was almost like nearly running into <a href="http://www.damiencarbery.com/2011/08/irish-runner-5-mile-2011/" title="Irish Runner 5 mile – where I nearly ran into Kathryn Thomas">Kathryn Thomas</a> in the Irish Runner 5 mile in July when she&#8217;d stopped running after a few hundred metres. I later saw a photo the start and the guy was on the front row! He finished 666th in 32m50s. He was passed by a LOT of people!! Mmmm.</p>
<p>As we passed the Magazine Fort, before the 1 mile marker, I was passed by a kid about 12 years old. I passed him in the final 800 metres and he finished only 4 seconds behind me. Impressive running.</p>
<p>Early on the Kyber climb I was easily passed by another guy. He was flying up that hill like it was flat.</p>
<p>When we turned onto the familiar duathlon run course I caught one or two more runners. Right at the last corner, at the 3 mile mark, I passed a guy on the inside. Unfortunately he had the speed to easily catch me before the finish line.</p>
<p>It was an enjoyable race where the strong winds didn&#8217;t seem to affect things. Although my time is 45 sec off my 5k PB, I am happy with it, especially considering my stomach issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.damiencarbery.com/2011/10/dublin-simon-fun-run-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding keywords to your WordPress menu</title>
		<link>http://www.damiencarbery.com/2011/10/adding-keywords-to-your-wordpress-menu/</link>
		<comments>http://www.damiencarbery.com/2011/10/adding-keywords-to-your-wordpress-menu/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 21:22:25 +0000</pubDate>
		<dc:creator>damien</dc:creator>
				<category><![CDATA[Web Dev]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.damiencarbery.com/?p=898</guid>
		<description><![CDATA[Yet another WordPress filter provided the ability to use a regular expression to add to the title parameter of the WordPress menus. Potentially good for SEO.]]></description>
			<content:encoded><![CDATA[<p>A few months ago I saw a WordPress based site for a photographer where all the menu items had SEO keywords in the <em>title</em> attribute. The intent was to improve SEO for the site though posts that I have read say that the <a href="http://www.seomoz.org/ugc/link-tilte-attribute-and-its-seo-benefit">attribute is not used by search engines</a>.</p>
<p>After using a filter to <a href="http://www.damiencarbery.com/2011/10/enhancing-display-posts-shortcode-plugin/" title="Enhancing Display Posts Shortcode plugin">tailor the post display</a> on the 4tec home page and another filter to <a href="http://www.damiencarbery.com/2011/09/howwoo_pagination-filter-saved-my-hide/" title="How woo_pagination filter saved my hide">fix the woo_pagination error</a> on the Irish Triathlon site I looked into a filter for the wp_nav_menu() function.</p>
<p>From the <a href="http://codex.wordpress.org/Function_Reference/wp_nav_menu">wp_nav_menu function page</a> I got the <a href="http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/nav-menu-template.php">source file</a> for the function. There are 10 filters in the code. After a bit of experimenting I found just the right filter &#8211; <a href="http://core.trac.wordpress.org/browser/tags/3.2.1/wp-includes/nav-menu-template.php#L95">walker_nav_menu_start_el</a>.</p>
<p>So, after a little bit of regular expression coding, my menu items had lovely titles.</p>
<p>The next step is to expand this into a plugin where the extra title text is set in the admin area.</p>
<pre class="brush: php; title: ; notranslate">// Append some text to the title attribute in menu links.
add_filter( 'walker_nav_menu_start_el', 'wpb_nav_menu_item', 20, 4 );
function wpb_nav_menu_item($item_output, $item, $depth, $args) {
  $extra_title = 'EXTRA BIT';

  if (strpos($item_output, 'title=')) {
    // Append $extra_title to the existing title text.
    return preg_replace('/title=\&quot;([^\&quot;]*)\&quot;/', 'title=&quot;\1 - '.$extra_title.'&quot;', $item_output, 1);
  }
  else {
    // Create title text made up of menu text plus $extra_title.
    return str_replace('href=', 'title=&quot;'.$item-&gt;title.' - '. $extra_title.'&quot; href=', $item_output);
  }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.damiencarbery.com/2011/10/adding-keywords-to-your-wordpress-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enhancing Display Posts Shortcode plugin</title>
		<link>http://www.damiencarbery.com/2011/10/enhancing-display-posts-shortcode-plugin/</link>
		<comments>http://www.damiencarbery.com/2011/10/enhancing-display-posts-shortcode-plugin/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 21:04:33 +0000</pubDate>
		<dc:creator>damien</dc:creator>
				<category><![CDATA[Web Dev]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.damiencarbery.com/?p=834</guid>
		<description><![CDATA[At Sun Microsystems I enjoyed submitting build fixes to the GNOME community. And I got a nerdy trill seeing my name in the ChangeLog files. After using the Display Posts Shortcode in the 4tec site, I submitted a patch to enhance that plugin.]]></description>
			<content:encoded><![CDATA[<p>When I worked at Sun Microsystems I was in the GNOME team. I regularly submitted <a title="312 bug reports to GNOME's Bugzilla." href="http://tinyurl.com/6l7hatt">build fix patches to the community</a>. I always got a bit of a nerdy thrill when a new version of a GNOME component would come out and <a title="Example of my name in the the ChangeLog in the pango module." href="http://svn.gnome.org/viewvc/pango/trunk/ChangeLog?r1=1777&amp;r2=1779">my name would be in the ChangeLog file</a>.</p>
<p>When I was developing the <a href="http://www.damiencarbery.com/2011/10/4tec/" title="4tec strategic counter game - Connect 4 in another dimension">4tec.ie web site</a> recently, the client wanted the latest posts to be on the home page. The home page would be a static page so making it a blog format would require modifying the theme&#8217;s files, something I wanted to avoid.</p>
<p>I found a cool plugin, <a title="Plugin homepage for the Display Posts Shortcode plugin." href="http://www.billerickson.net/shortcode-to-display-posts/">Display Posts Shortcode</a> that would display posts via a shortcode. Unfortunately the html it produced made it difficult for me to style and the post thumbnails were not being displayed. Thankfully the author, Bill Erickson, provided a filter that allowed me change the html.</p>
<p>As I current use WordPress almost exclusively, I am always interested in contributing to the WordPress community in some way. Every now and again I look at the <a title="WordPress bugs that have patches and need testing." href="http://core.trac.wordpress.org/report/13">WordPress bug tracker</a> to see if there are simple bugs where the patch needs testing or see if I can enhance a plugin in some way.</p>
<p>After I finished the 4tec.ie site I had an itch to enhance the <a href="http://wordpress.org/extend/plugins/display-posts-shortcode/" title="Display Posts Shortcode plugin">Display Posts Shortcode plugin</a> to allow users specify different list types (it defaults to an unordered list). Like a good citizen, instead of just suggest the change, I developed a patch that the <a href="http://www.billerickson.net/shortcode-to-display-posts/" title="Information page for Display Posts Shortcode plugin">plugin owner</a> could review and test, and hopefully use.</p>
<pre class="brush: php; title: ; notranslate">--- display-posts-shortcode.orig.php	2011-10-05 01:37:32.000000000 +0100
+++ display-posts-shortcode.php	2011-10-06 10:57:08.221000000 +0100
@@ -39,6 +39,7 @@
 		'image_size' =&gt; false,
 		'taxonomy' =&gt; false,
 		'tax_term' =&gt; false,
+        'list_type' =&gt; 'ul',
 	), $atts ) );

 	$args = array(
@@ -74,7 +75,29 @@
 	$return = '';
 	$listing = new WP_Query($args);
 	if ( $listing-&gt;have_posts() ):
-		$return .= '&lt;ul class=&quot;display-posts-listing&quot;&gt;';
+        $container = 'ul';
+        $post_container = 'li';
+        switch ($list_type) {
+            case 'ol':
+            case 'ordered':
+            case 'ordered_list':
+              $container = 'ol';
+              $post_container = 'li';
+              break;
+            case 'none':
+              $container = 'div';
+              $post_container = 'div';
+              break;
+            case 'ul':
+            case 'unordered':
+            case 'unordered_list':
+            default:
+              $container = 'ul';
+              $post_container = 'li';
+              break;
+        }
+		$return .= '&lt;' . $container . ' class=&quot;display-posts-listing&quot;&gt;';
+        $post_count = 1;
 		while ( $listing-&gt;have_posts() ): $listing-&gt;the_post(); global $post;

 			if ( $image_size &amp;&amp; has_post_thumbnail() )  $image = '&lt;a class=&quot;image&quot; href=&quot;'. get_permalink() .'&quot;&gt;'. get_the_post_thumbnail($post-&gt;ID, $image_size).'&lt;/a&gt; ';
@@ -88,13 +111,14 @@
 			if ($include_excerpt) $excerpt = ' - &lt;span class=&quot;excerpt&quot;&gt;' . get_the_excerpt() . '&lt;/span&gt;';
 			else $excerpt = '';

-			$output = '&lt;li&gt;' . $image . $title . $date . $excerpt . '&lt;/li&gt;';
+            $output = sprintf('&lt;%s id=&quot;post-%d&quot;&gt;%s%s%s%s&lt;/%s&gt;', $post_container, $post_count, $image, $title, $date, $excerpt, $post_container );

 			$return .= apply_filters( 'display_posts_shortcode_output', $output, $atts, $image, $title, $date, $excerpt );

+            $post_count++;
 		endwhile;

-		$return .= '&lt;/ul&gt;';
+		$return .= &quot;&lt;/$container&gt;&quot;;
 	endif; wp_reset_query();

 	if (!empty($return)) return $return;
</pre>
<p>Bill and I exchanged a few emails about my patch. He wanted to just provide a filter to allow a user change the tags. As filters require PHP development skills I told him this and encouraged him to provide shortcode arguments too as these could be used by someone without PHP experience.</p>
<p>Bill then released version 1.6 with a new shortcode argument (&#8220;wrapper&#8221;) and two new filters. While the code is very different from my patch (it&#8217;s very elegant) it essentially achieves the same result and I am happy to have nudged Bill in that direction.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.damiencarbery.com/2011/10/enhancing-display-posts-shortcode-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>4tec</title>
		<link>http://www.damiencarbery.com/2011/10/4tec/</link>
		<comments>http://www.damiencarbery.com/2011/10/4tec/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 20:06:43 +0000</pubDate>
		<dc:creator>damien</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.damiencarbery.com/?p=841</guid>
		<description><![CDATA[Liam didn't like the Joomla CMS that the 4tec site was running on. His friend, and client of mine, Brian recommended WordPress. I simplified the site and encouraged Liam to expand the information about the game. And he beat me when we played the game.]]></description>
			<content:encoded><![CDATA[<img width="618" height="349" src="http://www.damiencarbery.com/wp-content/themes/bigfeature/library/timthumb/timthumb.php?src=/wp-content/uploads/2011/10/4tec.jpg&amp;w=618&amp;zc=0" alt="4tec" /><p>Liam Dunne is a Belpark triathlon club mate of Brian Crinion&#8217;s. Liam was very familiar with Brian&#8217;s <a title="Irish Triathlon – Revamp" href="http://www.damiencarbery.com/2011/08/irish-triathlon-revamp/">IrishTriathlon.com site</a>. When Liam wanted to revamp the <a title="4tec Strategic Counter Game - Connect 4 in another dimension" href="http://www.4tec.ie">4tec</a> web site Brian sent him to me.</p>
<p>The <a title="4tec Strategic Counter Game - Connect 4 in another dimension" href="http://www.4tec.ie/">4tec.ie</a> site was running on the Joomla content management system but Liam simply didn&#8217;t like it. Brian encouraged Liam to use WordPress.</p>
<p>The <a title="4tec Strategic Counter Game - Connect 4 in another dimension" href="http://www.4tec.ie">new site</a> has the same look as the previous one (with some simplifications of the html) though it has a focus on the <a title="4tec strategic counter game schools competition" href="http://www.4tec.ie/index.php/schools/">schools competition</a> that Liam will be running. In order to improve on the previous site I encouraged him to include as much information about the game and he wrote up a very interesting page on the <a title="History of 4tec strategic counter game - connect 4 in another dimension" href="http://www.4tec.ie/index.php/history-of-4tec/">history of the game</a> and the inventor of the game wrote another on <a title="Strategy for playing 4tec - connect 4 in another dimension" href="http://www.4tec.ie/index.php/4tec-strategy-from-the-inventor/">strategy for playing</a>.</p>
<p>Liam even gave me <a title="4tec assembly instructions - connect 4 in another dimension" href="http://www.4tec.ie/index.php/game-assembly-instructions/">a copy of the game</a> when I first met him, right after easily beating me.</p>
<h3>Technical Information</h3>
<ul>
<li>WordPress</li>
<li>PayPal</li>
<li>ContactForm7</li>
<li>WooThemes/Canvas, child theme</li>
<li>Display Posts Shortcode plugin filter</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.damiencarbery.com/2011/10/4tec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More more more</title>
		<link>http://www.damiencarbery.com/2011/10/more-more-more/</link>
		<comments>http://www.damiencarbery.com/2011/10/more-more-more/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 07:50:20 +0000</pubDate>
		<dc:creator>damien</dc:creator>
				<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.damiencarbery.com/?p=808</guid>
		<description><![CDATA[I haven&#8217;t updated my Portfolio in almost a year. I have been very busy with a number of projects and the arrival of my second son. Some of the web sites include: PB3 Coaching Good Mood Food Amphibian King Irish Dark Native Honey Bees Dublin 15 Community Council Carpenterstown Educate Together I will write posts [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t updated my <a title="My portfolio of my web site development in Dublin 15 and surrounds" href="/portfolio/">Portfolio</a> in almost a year. I have been very busy with a number of projects and the arrival of my second son.</p>
<p>Some of the web sites include:</p>
<ul>
<li><a href="http://www.pb3coaching.com">PB3 Coaching</a></li>
<li><a href="http://www.goodmoodfood.ie/">Good Mood Food</a></li>
<li><a href="http://www.amphibianking.ie">Amphibian King</a></li>
<li><a title="Buy Irish Dark Native Honey Bees" href="http://www.irishdarknativehoneybees.com/">Irish Dark Native Honey Bees</a></li>
<li><a href="http://www.dublin15cc.com">Dublin 15 Community Council</a></li>
<li><a href="http://www.carpenterstown-et.com">Carpenterstown Educate Together</a></li>
</ul>
<p>I will write posts detailing each of those sites as I get time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.damiencarbery.com/2011/10/more-more-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How woo_pagination filter saved my hide</title>
		<link>http://www.damiencarbery.com/2011/09/howwoo_pagination-filter-saved-my-hide/</link>
		<comments>http://www.damiencarbery.com/2011/09/howwoo_pagination-filter-saved-my-hide/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 09:40:53 +0000</pubDate>
		<dc:creator>damien</dc:creator>
				<category><![CDATA[Web Dev]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.damiencarbery.com/?p=813</guid>
		<description><![CDATA[The Zeus web server that Register365 use on their shared hosting servers requires that index.php be in all urls. Some code doesn't expect this - woo_pagination is in that group, but it gave me a really easy way to fix it.]]></description>
			<content:encoded><![CDATA[<p>While doing some maintenance work on the <a title="Irish Triathlon – Revamp" href="http://www.damiencarbery.com/2011/08/irish-triathlon-revamp/">new theme for IrishTriathlon.com</a> Brian mentioned that the page links (Page 1, 2, Next Page etc) at the bottom of the home page did not work.</p>
<p>I tried it out and found that you get a 404 error when you click on any of the page links. They worked okay on the test site that we used (on my web hosting account here on <a title="Blacknight Solutions, web hosting based in Ireland" href="http://www.blacknight.com/">Blacknight</a>). More strange was that the page links worked in the category archive pages.</p>
<p>I then noticed that the home page links were missing the &#8220;<em>index.php</em>&#8221; part of the url that is required on Register 365 hosting because they use <a href="http://www.zeus.com/products/web-server">Zeus web server</a> (and its frustrating url rewriting scripting language).</p>
<p>I went trawling through the source code for the IrishTriathlon.com theme and into the WooFramework code and then deep into the WordPress source to see how they generated the page links. It got daunting quickly. I was dreading having to rewrite the code to work on Zeus web server (and have yet another reason to dislike it).</p>
<p>Then, right at the end of the woo_pagination function, I spotted a woo_pagination filter:</p>
<pre class="brush: php; title: ; notranslate">/* Allow devs to completely overwrite the output. */
$page_links = apply_filters( 'woo_pagination', $page_links );</pre>
<p>The source code comment gave me hope!</p>
<p>I did a little experiment modifying $page_links and then I tried using php&#8217;s <a href="http://ie2.php.net/str_replace">str_replace</a> to insert the missing &#8216;index.php&#8217; into the link urls. Woo hoo &#8211; it worked first time!! Phew.</p>
<pre class="brush: php; title: ; notranslate">// On the home page the Prev/1/2/3/Next links did not have 'index.php' in the url.
// This filter simply adds 'index.php' if necessary.
add_filter( 'woo_pagination', 'it_add_index_php_to_pagination', 20 );
function it_add_index_php_to_pagination($page_links) {
  return str_replace('com/page', 'com/index.php/page', $page_links);
}</pre>
<p>As some point I will determine if the root cause of the issue is related to the woo_pagination function or a WordPress pagination issue. I suspect the former.</p>
<p>The 3 lines of code required to fix this issue (I&#8217;m not counting the comment or closing brackets lines) reminded me of a joke when I was working on the <a href="http://www.dooyoo.co.uk/utilities/norton-commander/">Norton Commander for Windows</a> project back in 1996. One of the junior developers had an issue with the built-in editor. The senior developer helped him fix it &#8211; with 3 lines of code. So the junior dev always joked that &#8220;3 lines fixed my editor&#8221;. I guess you had to be there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.damiencarbery.com/2011/09/howwoo_pagination-filter-saved-my-hide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Half Marathon &#8211; 17 September 2011</title>
		<link>http://www.damiencarbery.com/2011/09/half-marathon-september-2011/</link>
		<comments>http://www.damiencarbery.com/2011/09/half-marathon-september-2011/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 12:29:31 +0000</pubDate>
		<dc:creator>damien</dc:creator>
				<category><![CDATA[Race Reports]]></category>
		<category><![CDATA["phoenix park"]]></category>
		<category><![CDATA["race series"]]></category>
		<category><![CDATA[running]]></category>

		<guid isPermaLink="false">http://www.damiencarbery.com/?p=790</guid>
		<description><![CDATA[Again my training was less than ideal but I managed to keep ahead of the 1h30m pace group and struggle to a 1h28m50s finish, 100 sec slower than last year. Leaves a good bit of room to improve on next year.]]></description>
			<content:encoded><![CDATA[<p>1h28m50s. 307th out of 6117 finishers. Splits: 6117 finishers. Splits: 6:48, 6:41, 6:40, 6:29, 6:43, 6:54, 6:45, 6:48, 6:57, 6:59, 6:53, 6:40, 6:50, 0:43; Average: 6:46.<br />
<a title="PDF map and instructions for 2011 National Lottery Half Marathon race" href="http://www.damiencarbery.com/wp-content/uploads/2011/09/map+instructions11_halfmara.pdf">Race map</a>; <a title="My race data from my Garmin 305." href="http://connect.garmin.com/activity/115699296">Garmin data</a>.</p>
<p>Like for the <a title="Frank Duffy 10 mile – 20 August 2011" href="http://www.damiencarbery.com/2011/09/frank-duffy-10-mile-2011/">Frank Duffy 10 mile race</a> in August I had all my gear ready a few days before the race. Despite no running for two weeks after that race (a combo of recovering, busy with work, getting ready for a holiday and the holiday itself) I did 4 running workouts and a long turbo trainer session.</p>
<p>My first training run after my holiday was almost 8 miles. It was a killer and my legs were very stiff for the next few days. The next training run 3 days later was a tough 12 mile run. Another 3 days later I did a draining 10 mile run (I had to stop a mile from home &#8211; I *never* do that!). As my legs weren&#8217;t recovering fully between those runs I did a long turbo trainer session 2 days later. Two days after that I did a fast 6 mile run. That left me with 2 full rest days before the half marathon.</p>
<p>I cycled to the start area by 9:45 (a little late) and jogged to the start area. I knew that the 1:30 pacers would be near the front of Wave 1 so I jumped in a few metres ahead of them.</p>
<p>When the race started I was able to get a reasonable pace quickly even though it was very busy. One guy in the middle of the road dropped his phone right after the start line and dashed back against the crowd to pick it up &#8211; dangerous! I soon heard the 1:30 pacers making their way through the crowd (i.e. those that should have started behind them). They were firmly informing people that they were coming through and those not keeping the pace should move aside. Within 30 seconds they were 20 metres ahead of me.</p>
<p>I slowly closed that gap and right after the 1 mile marker I moved onto the path and dashed ahead of them. People swarm around the pacers so there is a always space ahead of them (a sort of &#8220;calm before the storm/swarm&#8221; type thing).</p>
<p>My pace was reasonable for the first few miles. At the first water station at 2.5 miles I poured the water onto my back. I forgot to drink some so my mouth was a little dry. I find it very hard to drink from cups anyway.</p>
<p>I didn&#8217;t quite cruise up Wellington Road like I&#8217;d done in the <a title="Frank Duffy 10 mile – 20 August 2011" href="http://www.damiencarbery.com/2011/09/frank-duffy-10-mile-2011/">10 mile race</a>, but I got up okay. We turned onto Chesterfield Avenue (not the path as mentioned on the map) and I got water at about 5.5 miles (outside road to the Zoo). I drank it this time. The slight climb up Chesterfield Avenue didn&#8217;t seem so back, possibly because we got to see the race leaders as they doubled back on Chesterfield Avenue. There was some large gaps between the top few runners.</p>
<p>We ran around the Phoenix Monument roundabout and then back down Chesterfield Avenue before turning onto Lord&#8217;s Walk beside the zoo. That road is a bit of a drag, especially after the slight downhill of Chesterfield Avenue.</p>
<p>North Road was tough mentally as there was still over 5 miles to go. I got more water at the 9 mile marker. Just over 4 miles to go! I fell back a place or two after the double back at the top of Chesterfield Avenue but tried to hold my place after we turned onto Ordnance Survey Road where I knew that the road was flat or slightly downhill from then on.</p>
<p>I wet the lips at the final water station at 11.5 miles (same as first one at 2.5 miles). I was quite surprised to be passed by a good number of people while running down hill at a reasonable pace before the 12 mile marker.</p>
<div id="attachment_792" class="wp-caption alignright" style="width: 160px"><a href="http://www.damiencarbery.com/wp-content/uploads/2011/09/half-marathon-2011-finishing.jpg" rel="shadowbox[sbpost-790];player=img;" title="Finishing the Dublin Half Marathon 2011"><img class="size-thumbnail wp-image-792" title="Finishing the Dublin Half Marathon 2011" src="http://www.damiencarbery.com/wp-content/uploads/2011/09/half-marathon-2011-finishing-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">Eyes on the clock finishing the half marathon. Photo by Michael Debets.</p></div>
<p>The short climb up past St Mary’s Hospital was tougher than a month ago. I struggled on to the finish, unable to make a break with a guy who took off as we approached the finish line.</p>
<p>I finished in 1h28m50s (100 sec slower than my PB of last year). I was reasonably happy though surprised how much slower I was over last year.</p>
<p>Aside: I ordered a pair of <a href="http://www.chainreactioncycles.com/Models.aspx?ModelID=30195">Skins Compression Half Tights</a> a week before the race. I hoped to have them in time for post race recover but they took a whole week to get from Northern Ireland. Grrr.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.damiencarbery.com/2011/09/half-marathon-september-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

