<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><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:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Jack McDade</title>
	
	<link>http://jackmcdade.com</link>
	<description>Designer, Coder &amp; Strategerizer</description>
	<lastBuildDate>Tue, 20 Oct 2009 03:48:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</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/jackmcdade" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Where I’ve Been</title>
		<link>http://feedproxy.google.com/~r/jackmcdade/~3/CYGOjUTfoGI/</link>
		<comments>http://jackmcdade.com/where-ive-been/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 03:48:10 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[addons]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[launch]]></category>

		<guid isPermaLink="false">http://jackmcdade.com/?p=310</guid>
		<description><![CDATA[It's clear i haven't posted much lately, so I thought I'd give my readers a glimpse of what I've been up to. SmoothFunction, Boomerang, Hendra Lauw, Webbies Without Borders, Build Guild and babies.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s clear i haven&#8217;t posted much lately, so I thought I&#8217;d give my readers a glimpse of what I&#8217;ve been up to.</p>
<p>With some incredible custom dev work by my SmoothFunction partner-in-crime <a href="http://twitter.com/tomjaeger">Tom Jaeger</a> (mad props to Tom, who doesn&#8217;t get enough recognition for his hardwork!), we&#8217;ve relaunched <a href="http://smoothfunction.com">SmoothFunction.com</a> with the major update (1.1) to our ExpressionEngine Email Marketing Module, <a href="http://smoothfunction.com/addons/boomerang">Boomerang</a>. Many great things coming really, really soon here.</p>
<p>I&#8217;ve launched <a href="http://www.hendralauw.com">HendraLauw.com</a>, an ExpressionEngine/FoxyCart site I designed and built for a phenomenal professional photographer (Hendra Lauw) in Singapore. FoxyCart transactions will be coming as soon as they support PayPal Standard.</p>
<p>The <a href="http://albany.buildguild.org">Albany Build Guild</a> is going strong, I&#8217;m working on putting together a non-profit organization, <a href="http://webbieswithoutborders.org">Webbies Without Borders</a>, and last but not least, my wife is 5 DAYS OVERDUE with our first baby. It&#8217;s been pretty busy! So stick around for all the great stuff to come, including a redesign of this site and some other surprises.</p>
<p>Stay tuned!</p>
<img src="http://feeds.feedburner.com/~r/jackmcdade/~4/CYGOjUTfoGI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jackmcdade.com/where-ive-been/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jackmcdade.com/where-ive-been/</feedburner:origLink></item>
		<item>
		<title>Baby Depot – Ghost Town Edition</title>
		<link>http://feedproxy.google.com/~r/jackmcdade/~3/a-abmeUtVlQ/</link>
		<comments>http://jackmcdade.com/baby-depot-ghost-town-edition/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 01:38:51 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://jackmcdade.com/?p=307</guid>
		<description><![CDATA[If you&#8217;re only interested in my designer/developer side, then feel free to ignore this post. Otherwise, sit in and enjoy the ride as I share my wildly unique experience shopping for baby furniture at Baby Depot. It won&#8217;t disappoint.
Ah, Latham Circle Mall. Never heard of it? That&#8217;s easy to believe. Never been? Even easier to [...]]]></description>
			<content:encoded><![CDATA[<p><em>If you&#8217;re only interested in my designer/developer side, then feel free to ignore this post. Otherwise, sit in and enjoy the ride as I share my wildly unique experience shopping for baby furniture at Baby Depot. It won&#8217;t disappoint.</em></p>
<p>Ah, Latham Circle Mall. Never heard of it? That&#8217;s easy to believe. Never been? Even easier to believe. It&#8217;s reminiscent of cactus kickin&#8217;, tumbleweed blowin&#8217;, gold-minin&#8217; towns of old after the posse rounded up the cattle and kicked the dirt off their spur-sporting, gold-toed boots and let the wild reclaim the land once more. When we opened the front door, a vulture screeched from the rafters. A lonely bum slept under the pretzel stand. He didn&#8217;t even look up. Storefront after abandoned storefront stretched as far the eye could see. Off in the distance a small amount of activity could be discerned revolving around an Old Country Buffet and movie theater. But it&#8217;s arguable that the people were, in fact, ghosts.</p>
<p>In the midst of this ghost town stood our destination: Baby Depot, nestled inconveniently inside Burlington Coat Factory. In case you&#8217;re wondering, yes, Burlington Coat Factory is still open, and no, it doesn&#8217;t just sell coats. Apparently.</p>
<p>We&#8217;re met with Quality Customer Service and Logical Planning Case Number 1: Baby stuff is upstairs, so all the pregnant woman have to travel further than anyone. Case Number 2: the up escalator is broken. We trudge up the narrow and precarious now-stairs, fully expecting to be blind-sided by zombies in this abandoned and disheveled store. The two female clerks at the front stare, apparently unaccustomed to visitors. I think one of them reached for the cash register manual, preparing for the worst.</p>
<p>We finally arrive at the top, our senses on heightened alert. We swear we&#8217;ve seen this exact scene in 28 Days Later.</p>
<p>Baby Depot. Nirvana. Or one would hope. We have a coupon and we&#8217;re determined to use it. Surpassingly, there is a fair amount of selection. We head towards the first aisle.</p>
<p>&#8220;Hello.&#8221;</p>
<p>A life-form appears from behind the baby registration desk. She&#8217;s short, old and talks out the side of her mouth like Holly Hunter. Except more annoying.</p>
<p>&#8220;Can I help you find something?&#8221;</p>
<p>We&#8217;re just looking. We tell her and make to move past. Mistake number one. Always humor the zombies, they might not attack.</p>
<p>&#8220;Well anything you see here we have on the floor but it doesn&#8217;t mean we have it in stock and if the price tag has a black dot right here it means it&#8217;s on sale and if the tag is red it means that the accompanying combo piece is half off the normal price but not a discounted price and if you find something you like let me know and I check the price sheet and see if we have any in stock and if we don&#8217;t have any we can order it for you and it will only take 12 to 14 weeks to get here and if we&#8217;re out and won&#8217;t be ordering more we can sell you the floor model but only if it&#8217;s not on the price sheet ok?&#8221;</p>
<p>Reeling from confusion we tried to process the manor in which we now would have to shop.</p>
<p>The only response&#8230; &#8220;Thanks!&#8221;</p>
<p>12 to 14 weeks would imply some poor Malaysian kid would be chewing the trees down to make the necessary lumber before crafting the crib by hand (well, by stub, since his boss chopped his hands off for taking a break to visit his 12 year old mother&#8217;s grave on the anniversary of her death), by candlelight, and subsequently fashioning a raft made of sticks and lashing them together with his little sister&#8217;s precious hair and kick-paddeling the item across the pacific ocean to San Diego where he transfers the crib to a turtle-cart, sending them across the country with a cripple leading the way. Best case scenario.</p>
<p>So we&#8217;re down to what&#8217;s in stock. Easy enough right?</p>
<p>We browse the aisles up and down, keeping a wary eye for surprises and trying to ignore the hair on the back of our necks, while we analyze the cribs for color, style and price. Surprisingly we found a set we quite fancied. A quick calculation for our coupon resulted in a potential match. Hearts quickly sunk however once we realized the next step. &#8220;Excuse me, miss?&#8221;</p>
<p>Pandora&#8217;s box opened. A mess unlike any seen before exploded before us.</p>
<p>&#8220;Oh you like this one? Great ok let me get the price sheet and write this down so i can check if we have any but i&#8217;m pretty sure we&#8217;re out of the combo-dresser but we might have the crib in stock okay i&#8217;ll be right back don&#8217;t go anywhere i&#8217;m getting the price sheet and then i&#8217;ll have to go downstairs and check the back to make sure we&#8217;re actually out because our computer usually is wrong ok price sheet time be back ok dont go anywhere!&#8221;</p>
<p>We were pretty sure there was a computer nearby and a barcode on the price tag, but apparently it doesn&#8217;t work that way. Simplicity is out the window. We&#8217;re at Baby Depot &#8211; Ghost Town Edition.</p>
<p>5 minutes later she arrives with a clipboard the size of texas and a pen that doesn&#8217;t work. 4 minutes later she comes back with a pen that does. 3 minutes later she comes back after checking the (apparently) mainframe computer. 2 minutes later we understood what she told us. They were out of stock.</p>
<p>&#8220;But let me check downstairs in the back the computer is usually wrong so i&#8217;m going to check anyway just in case so i&#8217;ll put the price sheet back and go check ok?&#8221;</p>
<p>We&#8217;re sure this will end well.</p>
<p>Waiting. Waiting. Waiting. There must be more than 2 floors to this place. Goblins are probably working some hand-cranked lift-system lowering this woman down a deep, dark shaft of darkness.</p>
<p>Then she was back. Yup, out of stock. We doubted she actually went anywhere.</p>
<p>Perfect opportunity to exercise some Dave Ramsey negotiation techniques. Let&#8217;s get a deal on floor model. It had a few scratches (hopefully not resulting from zombie-babies and therefore infected with saliva that would spell our inevitable and sudden doom) which meant possible deeper discounts.</p>
<p>&#8220;So can you make us a deal on the floor model? Let&#8217;s get down to brass tax.&#8221;</p>
<p>I never talk like that. Oh well. Game face is on, no turning back.</p>
<p>&#8220;Oh I don&#8217;t know if we can sell the floor model i&#8217;ll have to check the price sheet and if it&#8217;s on there we can&#8217;t sell it because it&#8217;s on the price sheet but if it&#8217;s not on the price sheet we can talk to a manager and see if there&#8217;s something we can do so i&#8217;ll go get the price sheet and come back and we&#8217;ll take a look at the price sheet ok?&#8221;</p>
<p>Again with the price sheet. We hoped it wasn&#8217;t code for &#8220;Fresh Meat in Aisle 19.&#8221; Time passes. We hide from sight just to be safe.</p>
<p>&#8220;Okay it&#8217;s on the price sheet so we can&#8217;t sell it i&#8217;m really sorry.&#8221; And she&#8217;s gone again. So much for hardball negotiations. We sincerely doubted the notion of a manager being in this store to make the call anyway. We sincerely doubted the notion of a manager existing at all. In fact, the only real possibility was a rogue vagabond hoarding gasoline in the warehouse and polishing his sawed-off shotgun in preparation for a potential rebel raid, but I digress.</p>
<p>We move on.</p>
<p>It seemed for moment that we were out of luck until we rounded the bend. Another set that struck our fancy. Poking, prodding, drawer-bottom slapping and crib-frame shaking resulted in a potential match. Same price. Here we go again. At this point we weren&#8217;t sure it was even worth the attempt, but we&#8217;re here and we&#8217;re armed with a coupon. Bring it on.</p>
<p>&#8220;Oh miss? Miss?&#8221; She wasn&#8217;t nearby this time. We trudge warily back to the baby registration desk. She&#8217;s training an underling. Our brains exploded at the thought that this woman wasn&#8217;t at the bottom of the totem-pole. We seriously had to re-evaluate everything we knew about, well, everything. From our 2 minute wait we quickly surmised that we wanted to deal with this new woman even less than the first. Repetition usually has effect on people&#8217;s cerebral cortexes, but not this woman. Was she a woman? We carefully looked for some red blinking lights in the back of her head.</p>
<p>&#8220;Excuse me? We do have one more we like, can you check that, whatchacallit&#8230; price sheet?&#8221;</p>
<p>When in Rome.</p>
<p>&#8220;Okay which one do you want?&#8221; She grabbed the price sheet before she left, thus shaving 7 minutes off this next experience. There was hope &#8212; people CAN change.</p>
<p>We stroll back to the new crib/dresser combo, inflated with a sense of hope. If only we knew how misplaced it was.</p>
<p>&#8220;Ah you like the Palisades model. It&#8217;s one of our most popular! I think we&#8217;re out of stock but let me look here in the price sheet&#8230;&#8221;</p>
<p>Why are we not surprised?</p>
<p>We watch as she writes the numbers down, consults her price sheet and subsequently heads back to the terminal for some sophisticated number checking. We look at each other and share that look. You know, &#8220;the look&#8221;. That&#8217;s right, something is happening here isn&#8217;t it? Something that we&#8217;re going to tell our children and our children&#8217;s children. Something epic is right around the corner.</p>
<p>5 minutes go by. We start browsing the shelves. Maybe we can dual-purpose this trip and let it not be in vain. 10 minutes. It was becoming unwise to remain in such an environment for much longer, lest we tempt fate.</p>
<p>We head back towards the desk. Just an aisle or two over we can hear voices. I tense up, preparing for the attack.</p>
<p>&#8220;When you stock this area make sure to look at the section you&#8217;re in and check the price sheet to make sure it goes there&#8230;&#8221;</p>
<p>There they are. Training is occurring again and it&#8217;s a sight to behold. The efficiency of this place is bordering on the Six Sigma.</p>
<p>I clear my throat. &#8220;Uh, excuse me?&#8221;</p>
<p>Our champion of inventory and customer service turns around and takes a few steps in our direction. She opens her mouth to say something we will never forget. A moment so priceless it cannot be described with just words, but I&#8217;ll try to do it justice.</p>
<p>Wait for it&#8230;</p>
<p>&#8220;Yes? Can I help you?&#8221;</p>
<p>A sunburst so bright we were temporarily blind detonated like the Death Star in the night. Our brains short circuited and reason went out the window. Time stopped. Hummingbirds wings were frozen in time, and somewhere, yes somewhere, a home-owner&#8217;s insurance commercial had some poor bloke suspended in air with a hotdog in hand and some ethnic minority about to teach us a lesson. Yes, it was the time between times, and she said just what you read. She sincerely and honestly just met us for the first time. Again.</p>
<p>*Cricket*</p>
<p>*Cricket*</p>
<p>&#8220;Uh, yes. You can. You were checking on the Palisades crib for us, you know, if there were any in stock?&#8221;</p>
<p>Realization hit her face like a freight train. Expletives hit the air like a bucket of cold water on a sleeping drunk. Her hands slapped over her mouth as quick as her eyes had sprung open wide and she fell apart in embarrassment. We looked around to see if anyone else was appreciating this moment as much as us. Nope. This moment was ours to enjoy. Ours to savor for eternity.</p>
<p>&#8220;I&#8217;m soo sorry! Oh my.. I.. I totally forgot!&#8221;</p>
<p>I blinked. No analogy or simile can do an event like this one justice, so I leave magnitude of the situation up to you to determine.</p>
<p>It&#8217;s at this point in the story where a few of you may start losing focus. You think the best has come and gone and the wrap-up will trail gracefully into a soft ending. Well you&#8217;re wrong. Wake up and pay attention, because the goomba and her goomblette don&#8217;t disappoint. Well, by disappointing in new ways do you find a new way for them to NOT disappoint. Victory in failure, one might say.</p>
<p>So back to the scene. Desolate wasteland of a department store manned by a very small handful of automatons (or possibly passive zombies with partial intelligence. The movies could have it wrong you know.) manning the helm. Shock and awe at the caliber of customer service. Awkward and Epic moment in time. And go.</p>
<p>A flurry of activity spewed into existence. Tweedledum initiated what appeared be instructions into the air. We assumed they were meant for Tweedledee, not because she followed them, but because there was no one else there. A few attempts later and Tweedledee looked up, taking her finger out of her nose. It&#8217;s time for them to show the world why they make the big bucks. It was fumble with the computer time.</p>
<p>&#8220;Just right-click there and click on print. No, right-click. The right one. Not the one you&#8217;re clicking&#8230; the OTHER one. No, the other one.&#8221;</p>
<p>We moseyed over to some nearby gliding chairs and sat down to enjoy the show. What ensued was a complete three-act play of insanity. Act I began with an introduction to their lack of knowledge, communication and computer skills. Act II presented itself in classic Shakespearian fashion: our main characters encountered an obstacle (the computer) that prevented them from achieving their dramatic need (checking inventory). They reached a low point.</p>
<p>Act III was the climax. After much struggle and tribulation, Tweedledum sent her counterpart down to the mysterious and arguably tangible warehouse. We sat and waited. Watched and giggled. We were honestly enjoying ourselves immensely at this point, no longer on edge or looking for attackers. We were fascinated that both people and a store could function like this.</p>
<p>The one problem with Act III was that it didn&#8217;t appear to have an end. Hours went by and no one came back. We quietly and carefully left. We thought about calling the police and putting in a missing person alert, but ultimately decided against it. There was little to no chance any one in this place was in fact, human.</p>
<img src="http://feeds.feedburner.com/~r/jackmcdade/~4/a-abmeUtVlQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jackmcdade.com/baby-depot-ghost-town-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jackmcdade.com/baby-depot-ghost-town-edition/</feedburner:origLink></item>
		<item>
		<title>Quickie ExpressionEngine Plugin: URI Prettify</title>
		<link>http://feedproxy.google.com/~r/jackmcdade/~3/yiu7GEpuzxw/</link>
		<comments>http://jackmcdade.com/quickie-expressionengine-plugin-uri-prettify/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 17:23:12 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[addons]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://jackmcdade.com/?p=299</guid>
		<description><![CDATA[wrote a plugin to take any string, such as {segment_3}, and strip out the "_" or "-" delimiters and set words to title case. Parameters exist to uncapitalize words such as "and", "for" and "the". Give it a try, it just might come in handy in a pinch.]]></description>
			<content:encoded><![CDATA[<p>I really don&#8217;t have a good place to post this stuff right now as a blog is hardly ideal for storing ExpressionEngine addons, but until I get my real site up, this will have to do.</p>
<p>I whipped up this little plugin because I kept getting pinned into a corner when using Categories. For example, if an entry is part of more than 1 category, Blue and Red as subgroups of a Colors parent group for instance, and you&#8217;d like to list all entries in the Red subcategory&#8230; well good luck.</p>
<pre class="html">
{categories limit=<span class="htmlAttributeValue">&quot;1&quot;</span>}{category_name}{/categories}</pre>
<p>This will give you &#8220;Colors&#8221;. Not what we&#8217;re going for. </p>
<pre class="html">
{categories limit=<span class="htmlAttributeValue">&quot;2&quot;</span> backspace=<span class="htmlAttributeValue">&#039;2&#039;</span>}{category_name} -{/categories}
</pre>
<p>Will give you &#8220;<strong>Colors &#8211; Red</strong>&#8220;, which will work, unless one of your entries is also in Blue. Since the categories are listed alphabetically, you end up with &#8220;<strong>Colors &#8211; Blue</strong>&#8221; even though your url is http://site.com/section/category/red&#8221;.</p>
<p>Well, why not just take the URI segment and case modify it to say &#8220;Red&#8221;? Easy enough, as long as your URI segments match the name. So I wrote a plugin to take any string, such as <strong>{segment_3}</strong>, and strip out the &#8220;_&#8221; or &#8220;-&#8221; delimiters and set words to title case. Parameters exist to uncapitalize words such as &#8220;and&#8221;, &#8220;for&#8221; and &#8220;the&#8221;. Give it a try, it just might come in handy in a pinch. Full documentation is in the plugin&#8217;s &#8220;Usage&#8221; area, which you can see in the Plugin Manager of your ExpressionEngine Control Panel, but here&#8217;s a quick example usage:</p>
<pre class="html">
<span class="htmlOtherTag">&lt;title&gt;</span>{site_name} | {exp:uri_prettify uncap_keywords=<span class="htmlAttributeValue">&quot;yes&quot;</span> keywords=<span class="htmlAttributeValue">&quot;and|to|the|milk&quot;</span>}{segment_1}{if segment_2} | {segment_2}{/if} {/exp:uri_prettify}<span class="htmlOtherTag">&lt;/title&gt;</span>
</pre>
<p>Download <a href="http://jackmcdade.com/addons/pi.uri_prettify_100.zip" target="_blank" onClick="pageTracker._trackEvent('Download', 'Addon', 'URI Prettify');">URI Prettify v1.0</a>.</p>
<img src="http://feeds.feedburner.com/~r/jackmcdade/~4/yiu7GEpuzxw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jackmcdade.com/quickie-expressionengine-plugin-uri-prettify/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://jackmcdade.com/quickie-expressionengine-plugin-uri-prettify/</feedburner:origLink></item>
		<item>
		<title>Interviewed on Repart-ee</title>
		<link>http://feedproxy.google.com/~r/jackmcdade/~3/DqEc1gqhz7o/</link>
		<comments>http://jackmcdade.com/interviewed-on-repart-ee/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 18:49:07 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[ExpressionEngine]]></category>

		<guid isPermaLink="false">http://jackmcdade.com/?p=287</guid>
		<description><![CDATA[Just a quick update for those who follow my blog but aren't up on Twitter (this news is so 2 hours ago). My interview with Dan Diemer on Repart-ee, the ExpressionEngine podcast, finally went live this morning.]]></description>
			<content:encoded><![CDATA[<p>Just a quick update for those who follow my blog but aren&#8217;t up on <a href="http://twitter.com/jackmcdade" target="_blank">Twitter</a> (this news is so 2 hours ago). My <a title="Repart-ee" href="http://repart-ee.com/podcast/episode_2/" target="_blank">interview</a> with<a href="http://twitter.com/diemer" target="_blank"> Dan Diemer</a> on <a title="Repart-ee ExpressionEngine podcast" href="http://repart-ee.com" target="_blank">Repart-ee.com</a>, the ExpressionEngine podcast, finally went live this morning. You can&#8217;t blame Dan though, we all commit to a personal project only to realize&#8230; wow&#8230; i have a lot of <strong>other</strong> things to do too. So kudos to him for picking the ball back up! This interview was a few months ago so a few things I speak on have changed since:</p>
<ul>
<li>I have since worked out some solid solutions to WYSIWYG editing in ExpressionEngine. I&#8217;ve created JM jWYSIWYG, which will probably (and already) be phased out as it&#8217;s parent project is too slow in making it stable. I&#8217;ve also created <a href="http://expressionengine.com/forums/viewthread/125927/" target="_blank">JM WYM Editor</a>, which was mentioned in the podcast. It&#8217;s not quite right in FF Matrix yet, but will be shortly.</li>
<li>I&#8217;ve now teamed up with Travis Schmisser to further develop the <a href="http://buildwithstructure.com" target="_blank">Structure Module</a>. Very exciting. I can&#8217;t say much, but there are some definitely cool things in the near future.</li>
<li><a href="http://smoothfunction.com" target="_blank">Boomerang</a> still isn&#8217;t out. That&#8217;s the same. Patience is a virtue, so thanks for waiting!</li>
</ul>
<p>That&#8217;s about it for now. Check it out, laugh as I tell about my first EE site build, and laugh at me for laughing at my own jokes. Seriously, who do I think I am?</p>
<img src="http://feeds.feedburner.com/~r/jackmcdade/~4/DqEc1gqhz7o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jackmcdade.com/interviewed-on-repart-ee/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jackmcdade.com/interviewed-on-repart-ee/</feedburner:origLink></item>
		<item>
		<title>Dealing with WYSIWYGs – Taming TinyMCE</title>
		<link>http://feedproxy.google.com/~r/jackmcdade/~3/cRC8TjYICaw/</link>
		<comments>http://jackmcdade.com/dealing-with-wysiwygs-taming-tinymce/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 04:06:55 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[TinyMCE]]></category>
		<category><![CDATA[wysiwyg]]></category>

		<guid isPermaLink="false">http://jackmcdade.com/?p=223</guid>
		<description><![CDATA[There are 2 main problems with the default install of TinyMCE. The first: it's ugly, bloated and unintuitive. The second: the code that might come out of it when clients take control. Let's get to work:]]></description>
			<content:encoded><![CDATA[<h2><em>&#8220;I hate most WYSIWYG editors. Why can&#8217;t they all be more like WordPress&#8217;s?&#8221;</em></h2>
<p>I&#8217;ve heard this, or something similar, many times. I&#8217;ve both thought it myself and said it aloud. It shouldn&#8217;t be hard, right? While designing and developing ExpressionEngine websites, i try to avoid implementing them at all costs. However, I&#8217;ve eventually had to spend enough time taming them that maybe we can be friends. Or at least not enemies. Oh and newsflash. Wordpress uses TinyMCE. They also have over 650 lines of javascript customizing it, but hey, nothing is keeping you from making your own tweaks.</p>
<p>There are two big players on the WYSIWYG scene. FCKeditor and TinyMCE. I&#8217;ll be focusing in on the later in this article. If anyone else has insights on FCKeditor, please post them in the comments. There are plenty other small ones, including jWYSIWYG (which <a href="http://expressionengine.com/forums/viewthread/114787/" target="_blank">i ported to ExpressionEngine</a>, but i digress&#8230; it has it&#8217;s own issues). Also worth noting, there are two main ways of implementing TinyMCE in ExpressionEngine. <a href="http://leevigraham.com/cms-customisation/expressionengine/lg-tinymce/" target="_blank">Leevi Graham&#8217;s Extension</a>, and the <a href="http://expressionengine.com/downloads/details/tinymce/" target="_blank">1st party extension</a>.</p>
<h2>The Problem</h2>
<p>There are 2 main problems with the default install of TinyMCE. The first: it&#8217;s ugly, bloated and unintuitive. The second: the code that might come out of it when clients take control. Let&#8217;s get to work:</p>
<p>The first step is customizing which buttons and features (including plugins) are on loaded. How this is done can depend on where the javascript is loaded (the tinyMCE.init() function), but the method is the same regardless. Parameters can be added inside the function which control what&#8217;s being loaded. I&#8217;ll show you what i use myself and then I can walk through what&#8217;s going on:</p>
<h2>Where We&#8217;re Going:</h2>
<div id="attachment_251" class="wp-caption alignnone" style="width: 310px"><a href="http://jackmcdade.com/wp-content/uploads/2009/06/clean_mce.jpg" rel="shadowbox[post-223];player=img;"><img class="size-medium wp-image-251" title="clean_mce" src="http://jackmcdade.com/wp-content/uploads/2009/06/clean_mce-300x130.jpg" alt="clean_mce" width="300" height="130" /></a><p class="wp-caption-text">Clean TinyMCE</p></div>
<pre class="html">mode : &quot;textareas&quot;,
theme : &quot;advanced&quot;,
skin  : &quot;thebigreason&quot;,
plugins : &quot;fullscreen&quot;,
theme_advanced_toolbar_location : &quot;top&quot;,
theme_advanced_toolbar_align : &quot;left&quot;,
theme_advanced_buttons1 : &quot;formatselect,fontselect,fontsizeselect,separator,bold,italic,underline,separator,justifyleft,justifycenter,justifyright,bullist,numlist,separator,link,unlink,image,separator,code,separator,undo,redo,fullscreen&quot;,
theme_advanced_buttons2 : &quot;&quot;,
theme_advanced_buttons3 : &quot;&quot;</pre>
<h2>Customizing Appearance and Theme: Parameters</h2>
<ul>
<li><strong>mode: </strong>This tells TinyMCE where to apply itself. If set to &#8220;textareas&#8221;&#8230; i think you get the idea. If you set it to &#8220;exact&#8221; you can target specific ids with the additional parameter -&gt; elements: &#8220;first_id, second_id&#8221;</li>
<li><strong>theme:</strong> If you want to get custom, set this to &#8220;advanced&#8221;. It&#8217;s as easy as that. There&#8217;s a &#8220;simple&#8221;, but you lose a lot of functionality.</li>
<li><strong>skin:</strong> Skins can be be created or downloaded by others that have done the same. They usually consist of a few css files, some images, and a bit of javascript. They&#8217;ll go in the /tiny_mce/themes/advanced/skins/ directory. I really like <a title="TheBigReason TinyMCE Skin" href="http://thebigreason.com/blog/2008/09/29/thebigreason-tinymce-skin" target="_blank">TheBigReason&#8217;s skin</a> &#8212; it&#8217;s clean and easy, utlizing the <a title="famfamfam silk icon set" href="http://www.famfamfam.com/lab/icons/silk/" target="_blank">famfamfam silk icon set</a>. Check it out</li>
<li><strong>plugins:</strong> There are number of cool functions to throw in here, from spellcheck and emoticons, to print and preview. <a href="http://wiki.moxiecode.com/index.php/TinyMCE:Control_reference">Take a look at the whole list of plugins</a>.</li>
<li><strong>theme_advanced_toolbar_location:</strong> Position the toolbar at the top of the textarea. Self explanitory.</li>
<li><strong>theme_advanced_toolbar_align:</strong> Left or right. Pick left. It&#8217;s better.</li>
<li><strong>theme_advanced_buttons1/2/3:</strong> The advanced theme, by default, has three rows of buttons. I myself prefer only one row, so I put all the buttons i want in the buttons1 parameter and leave 2 &amp; 3 empty to prevent the defaults from sneaking back in. <a title="TinyMCE buttons" href="http://wiki.moxiecode.com/index.php/TinyMCE:Control_reference" target="_blank">See the full list of TinyMCE buttons</a>. can be found here. Just separate them by commas and use &#8220;separator&#8221; if you want to break the icons up. Feel free to drop in my list and see if that works for you.</li>
</ul>
<h2>Cleaning Up The Rendered Code</h2>
<p>There are a few parameters here that can help you get more for less:</p>
<ul>
<li><strong>fix_list_elements : true </strong>&#8211; This option enables you to specify that list elements UL/OL is to be converted to valid XHTML. This option is disabled by default.</li>
<li><strong>f</strong><strong>orced_root_block : false</strong> &#8212; This keeps block level elements, such as &lt;strong&gt; from being wrapped with &lt;p&gt; tags, if you need to prevent that.</li>
<li><strong>invalid_elements : &#8220;b,i,span&#8221;</strong> &#8212; Set any html elements you want to prevent being written. Not a bad idea at all. Conversely, there is a &#8220;valid_elements&#8221; parameter. <a href="http://wiki.moxiecode.com/index.php/TinyMCE:Configuration/valid_elements" target="_blank">Look at the defaults</a> to see if you need to squash anything</li>
<li><strong>convert_fonts_to_spans : false</strong> &#8212; if you allow the user to set fonts, i would recommend this one, which prevents the depreciated font tag: &lt;font size=&#8221;3&#8243; face=&#8221;Comic Sans MS&#8221;&gt;. USE THIS.</li>
</ul>
<p>There are plenty&#8211;too many in fact&#8211;other parameters, but hopefully this will get you going in the right direction. <a href="http://wiki.moxiecode.com/index.php/TinyMCE:Configuration" target="_blank">Check out the full list if need be.</a></p>
<p>You can also customize the visual appearance of the redered in-editor code via the content.css file. You can find it here: tiny_mce/themes/advanced/skins/&lt;your skin name&gt;/content.css. Not a bad way to have your clients see a rough guess of what they&#8217;ll see on the site.</p>
<p>I plan on playing with creating my own theme(s) in the near future. We&#8217;ll see how that goes. If you&#8217;re ambitious, <a href="http://http://wiki.moxiecode.com/index.php/TinyMCE:Creating_Theme" target="_blank">check out the documentation</a> on that whole bag of apples.</p>
<p>Let me know if there is anything you&#8217;re trying to do in TinyMCE and maybe I can help you, and others, out. Hope this helps!</p>
<img src="http://feeds.feedburner.com/~r/jackmcdade/~4/cRC8TjYICaw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jackmcdade.com/dealing-with-wysiwygs-taming-tinymce/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://jackmcdade.com/dealing-with-wysiwygs-taming-tinymce/</feedburner:origLink></item>
		<item>
		<title>Optimizing ExpressionEngine Sites for Minimum Load Times [Part 1]</title>
		<link>http://feedproxy.google.com/~r/jackmcdade/~3/INdSnwqKEGU/</link>
		<comments>http://jackmcdade.com/optimizing-expressionengine-sites-for-minimum-load-times-part-1/#comments</comments>
		<pubDate>Tue, 05 May 2009 03:49:30 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://jackmcdade.com/?p=203</guid>
		<description><![CDATA[Load Optimization is a lot of little things added together for the greater good. When combined, page weight can be cut in half, or even more, with no change in functionality. Start with the lowest hanging fruit and move up to the more complex and more gritty as needed.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m going to focus on <a title="ExpressionEngine" href="http://expressionengine.com" target="_blank">ExpressionEngine</a> sites here, but most of these techniques can really be applied to nearly any website. While writing this i realized i should really break it into two parts. This first part will be most of the low-hanging fruit on into some mid-range optimization, while in part two i&#8217;ll get into more complex query caching, expires headings, content delivery networks, and Entity Tags (Etags).</p>
<p>Load Optimization is a lot of little things added together for the greater good. When combined, page weight can be cut in half, or even more, with no change in functionality. Start with the lowest hanging fruit and move up to the more complex and more gritty as needed. I&#8217;ve found that 2 or 3 &#8220;out-of-the-norm&#8221; techniques will get you 80% of the way to a superfast loading site. Standard 80/20 rule.</p>
<h3>I&#8217;ll break the modifications down into 3 categories:</h3>
<ol>
<li>Requests</li>
<li>Sizes</li>
<li>Queries</li>
</ol>
<p>Before I get into the gritty details, I&#8217;d first recommend a tool to benchmark and compare performance as you work through these tips. My favorite tool is <a title="YSlow" href="http://developer.yahoo.com/yslow/" target="_blank">YSlow</a>, a Firebug Addon for Firefox. It breaks your site down into a number of elements and grades you on a set of (mildly) arbitrary benchmarks. Great place to start. Compare your progress as you move forward. Find what gives you the best boost and try to replicate those changes on every site.</p>
<h2><strong>1. Requests</strong></h2>
<p>The more files you request (HTTP Requests), the slower your site load. In addition, the ORDER in which you request them and WHEN you request them can play a factor as well</p>
<ul>
<li><strong>Combine as many javascript functions/libraries/plugins as you can in a single include.</strong> I&#8217;m a huge offender in this category, sometimes with 8 to 15 javascript includes. Sites have to load these 1 at a time, in sequence. Try and keep it to 5 or 6 at max. Less is more.</li>
<li>If you can&#8217;t combine javascript, <strong>try loading them right before your closing &lt;/body&gt; tag</strong>. If they&#8217;re not needed for onLoad effects, at least your visitors won&#8217;t have to wait for the visuals</li>
<li><strong>CSS Sprites. </strong>Background images are a load-speed culprit . If possible, sprite (a technique where you combine a number of elements into one image and position them as needed) as many elements as you can. It takes a little while but it&#8217;s worth it. Check out YouTube&#8217;s <a title="Master Sprite" href="http://s.ytimg.com/yt/img/master-vfl93996.png" rel="shadowbox[post-203];player=img;" target="_blank">master sprite</a>. THAT&#8217;S optmization. There are many tutorials online for this technique, just Google &#8220;CSS Sprite&#8221; or &#8220;How to CSS Sprite.&#8221; You&#8217;ll survive.</li>
<li>I know a lot of people like to separate their CSS (style.css, layout.css, text.css, reset.css, ie6.css, ie7.css, etc&#8230;.) for organization&#8217;s purpose, but every request adds just a little bit to your load time. I<strong>t&#8217;s best to simply roll it into 1 to 2 main files</strong> (i like keeping a reset.css and 960.css combined for those applicable when using the grid, plus my main css sheet).</li>
<li><strong>Try using Google hosted <a title="Google Hosted jQuery" href="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js" target="_blank">jQuery</a>/<a title="Google Hosted MooTools" href="http://ajax.googleapis.com/ajax/libs/mootools/1.2.2/mootools-yui-compressed.js" target="_blank">MooTools</a>/<a title="Google Hosted Prototype" href="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js" target="_blank">Prototype</a> includes. </strong>Chances are people will have these cached from visiting another site and will save a request. At least it will save you bandwidth</li>
<li><strong>Caching. </strong>There are a number of different levels you can approach here. First and most straightforward is ExpressionEngine template caching. Once your site is out of development, turn caching on for all major templates that don&#8217;t change at a moment&#8217;s notice. My general rule of thumb is <strong>5 minutes for major templates</strong> (home page, first level landing pages, nav includes, etc) and <strong>60 minutes for less used templates</strong> (contact form, sitemap, etc). Secondly, if you have templates that just change too often, maybe you have {exp:weblog:entries} tags that don&#8217;t change often, such as an intro paragraph to a news section or something similar. <strong>You can actually cache your tags.</strong> Example:
<pre class="html">cache=<span class="htmlAttributeValue">&quot;yes&quot;</span> refresh=<span class="htmlAttributeValue">&quot;30&quot;</span></pre>
</li>
</ul>
<h2><strong>2. Sizes</strong></h2>
<p>I&#8217;m going to assume you&#8217;ve already optimized all your images. You wouldn&#8217;t be here if you were looking for that tip. (Save-for-web @ 100% <img src='http://jackmcdade.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<ul>
<li><strong>Minimify your javascript.</strong> This gets rid of any extra markup, whitespace, etc&#8230; to save precious kb. Check out the YUI Compressor (http://developer.yahoo.com/yui/compressor/) to get those bad boys down in size.</li>
<li><em><strong>Gzip your javascript files.</strong></em> This gives me awesome results everytime. Once i tried this i never went back. It can change depending on your server, but as long as you&#8217;re on a LAMP stack, this should get you close. You&#8217;ll need to have mod_deflate loaded in PHP for starters. Behond that, it&#8217;s really a simple .htaccess update. I prefer to set it up to gzip everything and exclude the files i don&#8217;t want compressed (images, zip and rar files, gz, etc&#8230;). This usually cuts my js file sizes in HALF. The following .htaccess info should be able to be dropped right in your site.</li>
</ul>
<pre class="xml"># Gzip Our Scripts
######################################################
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ \
no-gzip dont-vary
SetEnvIfNoCase Request_URI \
\.(?:exe|t?gz|zip|b<span class="xmlNumber">z2|</span>sit|rar)$ \
no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
# Just in case some noob is using an old browser...
######################################################
BrowserMatch ^Mozilla<span class="xmlNumber">/4 </span>gzip-only-text/html
BrowserMatch ^Mozilla<span class="xmlNumber">/4\</span><span class="xmlNumber">.0[</span><span class="xmlNumber">678</span>] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html</pre>
<h2><strong>3. Queries</strong></h2>
<p>Hopefully you&#8217;re doing this already, but disabling any parameter you don&#8217;t need in a {exp:weblog:entries} tag will help to speed up the query process and thus your site.</p>
<ul>
<li> <strong>My standard disable string</strong> is disable=&#8221;member_data|categories|trackbacks|pagination&#8221;.<br />
I usually leave category_fields and (of course) custom_fields out of there.</li>
</ul>
<p>I try to do all these tweaks on all my sites. So far, i&#8217;ve cut average load times from 4 seconds to under 1.3 seconds across the board. Simply by using these techniques. Give it a shot.</p>
<p>That&#8217;s it for part one! If anyting doesn&#8217;t work or you&#8217;d like to add your tips, feel free to comment and i&#8217;ll add your tips in (and give you credit of course). I hope it helps you.</p>
<img src="http://feeds.feedburner.com/~r/jackmcdade/~4/INdSnwqKEGU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jackmcdade.com/optimizing-expressionengine-sites-for-minimum-load-times-part-1/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://jackmcdade.com/optimizing-expressionengine-sites-for-minimum-load-times-part-1/</feedburner:origLink></item>
		<item>
		<title>Back on the Trail Again – Work and Play</title>
		<link>http://feedproxy.google.com/~r/jackmcdade/~3/Iz3s-j7Ss5g/</link>
		<comments>http://jackmcdade.com/back-on-the-trail-again/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 04:09:43 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://jackmcdade.com/?p=195</guid>
		<description><![CDATA[So my vacation has been over for two weeks now. I've settled back into the fact that I'll be working hard but have decided to try to play harder. It's spring time, fishing and golf have arrived, and the weather is amazing. Saratoga Springs in spring is a great place to be.]]></description>
			<content:encoded><![CDATA[<p>So my vacation has been over for two weeks now. I&#8217;ve settled back into the fact that I&#8217;ll be working hard but have decided to try to play harder. It&#8217;s spring time, fishing and golf have arrived, and the weather is amazing. Saratoga Springs in spring is a great place to be.</p>
<p>So now that i&#8217;m back, i&#8217;m laying down the trail on where I&#8217;m headed. I&#8217;ve launched a couple of sites at the ol&#8217; day job (<a href="http://fingerpaintmarketing.com" target="_blank">FingerPaint Marketing</a>) since I&#8217;ve been back: <a href="http://radiantpools.com" target="_blank">Radiant Pools</a> and <a href="http://lemerygreisler.com" target="_blank">Lemery Greisler</a>, as well as a small freelance site that had been kicking around for a while: <a href="http://visualplanetllc.com" target="_blank">Visual Planet</a>. All <a href="http://expressionengine.com">ExpressionEngine</a>. Some really great projects on the horizon including a revamp of our corporate site as well as some high-traffic medical and insurance sites. Good stuff.</p>
<p>Now for the main stuff. There&#8217;s a few great things coming down the pipe that may benefit more than just myself. I&#8217;ve joined forces with the guys from the <a href="http://buildguild.org" target="_blank">Build Guild</a> to officially start the New York Capital Region [Albany] Chapter of the Build Guild! This is pretty exciting as it&#8217;s a great way to get to know other web designers and developers in the area, network, swap tips and stories, and plain old have a good time with people who have like interests. The Albany Chapter will have the same focus as the original in Boston. So check out their site to see what&#8217;s in store. http://albany.buildguild.org will be coming soon.</p>
<p>Also I have some tricks up my sleeves with my ExpressionEngine work as well. I&#8217;ve been working on a quick site deploy framework and my partner in crime, Tom Jaeger, has been eyebrows deep in some custom addons as well. I know you&#8217;ve all been waiting to hear about Boomerang and Bullseye and whatnot, i promise&#8211; they will be released sooner rather than later! Keep an eye on <a href="http://smoothfunction.com" target="_blank">SmoothFunction.com</a> for more details.</p>
<p>And last but not least&#8230;</p>
<p>I&#8217;m gonna be a DAD! That&#8217;s right, my awesome and beautiful wife Jen (who is a web dev too, by the way) is carrying a little McBaby right now. She&#8217;s at around 15 weeks or so at this point, so another month or month and a half and we might know if it&#8217;s a little-Jack or a mini-Jen. <img src='http://jackmcdade.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>That&#8217;s all for now!</p>
<img src="http://feeds.feedburner.com/~r/jackmcdade/~4/Iz3s-j7Ss5g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jackmcdade.com/back-on-the-trail-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jackmcdade.com/back-on-the-trail-again/</feedburner:origLink></item>
		<item>
		<title>Day Eight – Bunratty to Galway</title>
		<link>http://feedproxy.google.com/~r/jackmcdade/~3/8Mg29htR6K0/</link>
		<comments>http://jackmcdade.com/day-8-bunratty-to-galway/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 11:50:51 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Ireland]]></category>
		<category><![CDATA[bunratty]]></category>
		<category><![CDATA[galway]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://jackmcdade.com/?p=180</guid>
		<description><![CDATA[We have really seen a LOT. I mean, seriously, by day 8 we have seen everything that was on our list. It's at this point we needed to come up with some plans...]]></description>
			<content:encoded><![CDATA[<p>We have really seen a LOT. I mean, seriously, by day 8 we have seen everything that was on our list. It&#8217;s at this point we needed to come up with some plans. We thought about heading back southeast again and seeing the Rock of Cashel (a huge castle), but it would involve backtracking against the less exciting (at least in comparison to the last few stops) areas, plus we&#8217;re not sure if it&#8217;s as cool as it looks. You know how that goes.</p>
<p>We decided, as is almost always the best choice, to talk to our host at breakfast, seeing if he had any recommendations. That&#8217;s worked out really, really well for us so far, plus it&#8217;s great to chat and laugh with the Irish! There was no shortage of laughter with Noel! We talked and told stories for at least a half an hour over coffee and tea, which is where we learned all about The Fiddler. Noel recommended heading up to Galway against the Rock of Cashel. The plus side being you get to see one of the fastest growing cities, hopefully hear some good music, and be in good position to take the M6 to the M4 and get back to Dublin for our last night in 2.5 hours.</p>
<p>Their kids, a little 3 year year old girl and a boy who was probably a hear and a half old, kept popping in to say hi and run away only to return and wave again, giggling. They were awesome, and I loved Noel&#8217;s parenting technique with his son. A squinting eye and raised fist shaked at the boy and he&#8217;d stop doing what we wasn&#8217;t supposed to and start laughing hysterically. &#8220;I&#8217;ll pop ya!&#8221; I love the Irish. Noel left shortly after to attend mass, so we packed it up.</p>
<p>After pulling out of the drive (the two kids holding hands and waving in the doorway of their huge stone-front house) we headed back North again to Galway.</p>
<p>The drive was pretty standard countryside so we flicked on some Irish talk radio. Bizzare stuff. ADD Disc Jockies playing random lame songs from the 90s and making fun of them. Something i can appreciate.</p>
<p>We made the trip to Galway in 90 minutes or so and promptly spent probably the next 90 looking for parking. What a busy city! We circled the block around the Tourist Info Center probably no less than 7 times, and it&#8217;s NOT a small block. The city was pretty nice though, nothing spectacular but still nice. Lots of cathedrals and spires scattered throughout. Once we finally found a paid parking down on The Quay (by the docks), we walked back up to the Info Center only to find it closed on Sundays. So we grabbed some lunch and waited for a info kiosk to open in the main square.</p>
<p>It turns out there isn&#8217;t much to do in Galway when it&#8217;s not tourist season. Normally there would be live music in the streets and in every pub, but not today, not during the day. So we found a B&amp;B and read for a while, planning on heading back into the pub district for dinner and some music.</p>
<p>Galway is quite American feeling &#8212; a downtown area (arcitectually different than the US of course) with loads of commerical retail stores around a beltway (a mile of Double Carriageway, 2 lanes of traffic each way, followed by a roundabout, then another mile to the next roundabout, etc&#8230;) and neighborhoods scattered outside of that. We were a little dissapointed but at least it was fairly relaxing day. Not a ton of driving.</p>
<p>We met an American couple at the B&amp;B, <a href="http://www.bedireland.com/fourwinds">Four Winds Lodge</a>, from Florida and chatted with them for a while, comparing notes of our stops. We had both stayed at the same awesome B&amp;B in Doolin it turns out, and ate at the same pub (not a huge coincidence, there are only 3!).</p>
<p>Back in town for some pub grub, there was live music in quite a few of the establishments that didn&#8217;t serve food. We listened here and there before finally staying at The King&#8217;s Head Pub. A small looking place that opened up into almost a huge stone cave in the back with some pretty groovy lighting shooting up the walls. We got the last table, which was fortunate as they stopped serving food in 20 minutes, like many pubs (usually between 8 and 8:30). Keep that in mind if you&#8217;re planning a trip! We saw the American couple come in and look for a spot without success, so i jogged out and grabbed them lest they miss dinner. We chatted for a bit while eating and then we set in different directions&#8211; them to bed (ah, retirees) and us for some music.</p>
<p>Galway is much, much more exciting at night! The pub area is lively with action, full of people, many hopping from one spot to another, some playing music in the streets (a guy was playing the digereedoo even), others wandering around drunk. Pubs do serve beer after all <img src='http://jackmcdade.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   The only place that had traditional music after 9 turned out to be a really hot college spot so it was crammed to overflowing with obnoxious 19 year olds getting their party on (drinking age is 18 in Ireland), so we decided to just walk around for a bit before heading back for some sleep. We did stalk an old man with a very strange shaped pack on his back for a few minutes, hoping he&#8217;d bust out some pipes or something even more exotic, but he seemed content to just stare at brick walls more than we were.</p>
<img src="http://feeds.feedburner.com/~r/jackmcdade/~4/8Mg29htR6K0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jackmcdade.com/day-8-bunratty-to-galway/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://jackmcdade.com/day-8-bunratty-to-galway/</feedburner:origLink></item>
		<item>
		<title>Day Seven – The Cliffs of Insanity</title>
		<link>http://feedproxy.google.com/~r/jackmcdade/~3/45oHcoMbdkw/</link>
		<comments>http://jackmcdade.com/day-seven-the-cliffs-of-insanity/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 16:47:16 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Ireland]]></category>
		<category><![CDATA[bunratty]]></category>
		<category><![CDATA[castle]]></category>
		<category><![CDATA[cliffs of moher]]></category>
		<category><![CDATA[doolin]]></category>
		<category><![CDATA[fiddle]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[the burren]]></category>

		<guid isPermaLink="false">http://jackmcdade.com/?p=174</guid>
		<description><![CDATA[Today was a day of pretty high anticipation, as everyone we've talked to raved about none other than the Cliffs of Moher. Jen was skeptical, quite sure that nothing could live up to the hype it received. I, however, wanted it to be everything I imagined.]]></description>
			<content:encoded><![CDATA[<p>Today was a day of pretty high anticipation, as everyone we&#8217;ve talked to raved about none other than the <a href="http://www.cliffsofmoher.ie/">Cliffs of Moher</a>. Jen was skeptical, quite sure that nothing could live up to the hype it received. I, however, wanted it to be everything I imagined.</p>
<p>For those of you who are unaware, the Cliffs of Moher are located on the western coast of Ireland, right next to the little (in size, not in heart) village of Doolin. They are the most visited attraction in the country, not surprisingly. Towering 214 meters (700 feet) above the Atlantic Ocean, the cliffs crash literally straight down. Stairs are built along the edge with a wall preventing all but the most foolish from crawling to the edge. Also, the Cliffs of Insanity referenced in The Princess Bride are in fact, the Cliffs of Moher, and were filmed here.</p>
<p>Now that the geography lesson is done, let me just say this. The Cliffs of Moher are beyond describing. It&#8217;s as if you&#8217;re watching a movie or some exotic and breathtaking scenery on the biggest Imax screen in the world. It&#8217;s just plain surreal to see something of that magnitude in both size and beauty right in front of you. Every picture I took of Jen and I looked superimposed and Photoshopped. Every picture i took of the cliffs by themselves looked like something i downloaded on the internet (for those of you who are unaware, the internet is a network of computers tied together allowing people to access and share information from the comfort of their own terminals. Just thought you&#8217;d like to know). It was windy, but we didn&#8217;t care. We stared at the cliffs for as long as our skin would allow, as we walked up and down the paths from the North, Main, and South Landings. If you had but 2 days in Ireland, I&#8217;d make sure this was on your list (a recommendations post coming upon completion of our trip, fyi!).</p>
<p>Back on the road, wind-blown and warming up, we aimed north for <a href="http://www.burrennationalpark.ie/">The Burren</a>, a barren lime-stone laden region that follows the coast. Quite an impressive landscape, the limestone supposedly is leftover from glacial receding, quite literally &#8220;arctic tundra&#8221;, and in mid-spring Mediterranean flowers bloom through the rocks making it a truly unique hybrid not seen anywhere else in the world.</p>
<p>Late in the afternoon we arrived at <a href="http://www.shannonheritage.com/Attractions/BunrattyCastleFolkPark/">Bunratty Castle</a>, back south again after the loop through The Burren. It is at this point where we got to eat our first humble pie. Or giant crow. Pick your metaphor, it doesn&#8217;t matter to me. We made an honest mistake in our bookings after being deceived (accidentally however) by no less than 3 websites. Our intentions were to stay in a castle while in Ireland. Why not? It&#8217;s a bit more expensive but hey you only live once right? We looked at a few &#8212; Adare Manor, Dromoland Castle, Something Something, and so on, each of them calling the lodging part of the castle the &#8220;So and So Castle Hotel&#8221; or &#8220;Dromoland Castle Hotel&#8221;. So we made a list. Ordered them by beauty, location, price and so on. Well, we saw the Bunratty Castle Hotel, and by the way it was described, it seemed like another such place. And it included a Medieval Banquet in the Main Dining Hall of the castle. Awesome. Plus it was cheaper than the others. Even more awesome. Done. Booked.</p>
<p>Problem. It&#8217;s tough to tell the perspective and size of a building in just a photo. Once we pulled up to the castle we realized we made a mistake. It was much, much too small to have both a tour and banquet, and a hotel. However just to make sure I had to ask. Of course the woman looked at me like i had two-heads. No one stays at the Bunratty. They thought I was absurd. To them. How would we know right? Oh well. The hotel was across the street. And too ritzy looking for our traveling state. Oh sure i can dress up with the best of them, but at this point &#8212; way out of our comfort zone. Too fancy.</p>
<p>Everything worked out in the end though, we got refunded all but our 6 euro deposit (no big deal), and we got out of paying for the banquet. It was unfortunate though because we were really looking forward to eating a feast with our hands. But 50 euro each (roughly $140 USD) is way, way too much to be worth it. We were bummed.</p>
<p>But things always seem to turn out the better here. The Lord is good! We found a beautiful B&amp;B nearby, and although they were booked, the owner called his brother who owned one around the corner and he drove over to let us follow him. What a beautiful place, <a href="http://www.bunrattyhaven.com">Bunratty Haven</a>! Our host, Noel, was a hilarious and outgoing Irish guy in probably his mid 30s, and we carried on and laughed and told stories for a while both that evening and the next morning.</p>
<p>That evening we went out for some food at <a href="http://www.creamerybar.com/">The Creamery Bar</a> &#8212; good food and excitement as it was in the middle of what was apparently quite a big rugby match. Still can&#8217;t figure out those rules. The more i watch it the more i get confused.</p>
<p>Later that evening we went in search of some Irish music. <a href="http://www.durtynellys.ie/">Durty Nelly&#8217;s</a> it was, right across from Bunratty Castle. Downstairs were a few guitars in a corner, nothing special, but we kept hearing what sounded like a flute somewhere, so we walked around the building a bit and realized there was a small upstairs. Working our way up a tiny staircase we came to another room with a woman on guitar and eccentric looking man with wild hair on a fiddle. The tonality of the fiddle sounded quite flute-like from outside. It was a bit crowded upstairs as it was quite small, but eventually 2 seats opened up and we nestled in for quite a ride.</p>
<p>We learned the next morning from our host that the man on fiddle is something of an area legend. He used to work at the castle playing some of the music in their banquets, but promptly quit after being asked to work an extra day. Just packed up and left. He now plays at the local pubs now and then, and we happened to have quite the luck. His hair was wild, he was clearly drunk (we saw him drink no less than 4 Heinekens while we were there) and he apparently talks to no one. However he is a musical PRODIGY. I&#8217;m not kidding when i say i&#8217;ve never quite heard anything like it before. Ever. He played some contemporary music with the guitar woman (a few Cranberries songs, some top 100 hits, etc&#8230;), but he added his own bit to each. Rocked out what would be electric guitar solos, on the filddle. And every few songs, he would tear it up. I mean seriously, and ridiculously, tear it up. Slower, slower, faster and faster and faster, literally tearing his bow apart as hairs and strings went everywhere. His hair flung wildly, his fingers flew and and barely blinked. We were awestruck at his ability. Borderline insane, this guy just shows up and plays when he feels like it. Walking for miles in the rain, he comes and goes.</p>
<p>He&#8217;s just known as The Fiddler.</p>
<img src="http://feeds.feedburner.com/~r/jackmcdade/~4/45oHcoMbdkw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jackmcdade.com/day-seven-the-cliffs-of-insanity/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://jackmcdade.com/day-seven-the-cliffs-of-insanity/</feedburner:origLink></item>
		<item>
		<title>Day Six – Dingle to Doolin</title>
		<link>http://feedproxy.google.com/~r/jackmcdade/~3/xuDCtUzEgks/</link>
		<comments>http://jackmcdade.com/day-six-dingle-to-doolin/#comments</comments>
		<pubDate>Sat, 04 Apr 2009 08:55:26 +0000</pubDate>
		<dc:creator>Jack</dc:creator>
				<category><![CDATA[Ireland]]></category>
		<category><![CDATA[dingle]]></category>
		<category><![CDATA[doolin]]></category>
		<category><![CDATA[laughter]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[rain]]></category>

		<guid isPermaLink="false">http://jackmcdade.com/?p=166</guid>
		<description><![CDATA[We knew it had to happen at some point. No one can go to Ireland without it happening. I mean we hoped really hard, and it seemed like we were going to beat the odds but...]]></description>
			<content:encoded><![CDATA[<p>We knew it had to happen at some point. No one can go to Ireland without it happening. I mean we hoped really hard, and it seemed like we were going to beat the odds but&#8230;</p>
<p>We woke up and it was raining. Sort of. It had BEEN raining. And the fog was heavy. Really heavy. So we took our time chatting with our host, eating our traditional Irish breakfasts and packing up.</p>
<p>Being ahead of whatever you might call our &#8220;schedule&#8221; (which really just was Bunratty Castle on Saturday night and the Cliffs of Moher sometime before we leave), we took our host&#8217;s recommendation and made the complete circuit on the Dingle Peninsula, out on what&#8217;s called the Slea Head Drive.</p>
<p>The point of the peninsula was breathtaking, and we could only see about 30 meters out, if that. Unfortunately the fog was so heavy that pictures didn&#8217;t come out well at all (not for a lack of trying, as well as no small of Photoshop work in my future to try some more) and we were pretty bummed. In fact, from what i could see, the coastline was even more impressive than both the Ring of Beara and the Ring of Kerry. But i couldn&#8217;t tell for sure.</p>
<p>After we finished our circuit and were tempted to try it again after the fog lifted a little (we started loop 2 only to see it was really about the same once you got down into it), we decided to head towards Limerick.</p>
<p>Plans changed right before a big roundabout when we decided to, what the heck, shoot north towards Doolin instead. So we took a ferry and bypassed a long, long route around a very large bay. We made it to Doolin (with a few fun &#8220;shortcuts&#8221; from Mrs. Garmin) by around 5:15 or so. And this is where it seemed the day was a bust.</p>
<p>We looked all over for the B&amp;B we researched to stay at&#8230; couldn&#8217;t find it. Finally I stopped at the Doolin Hotel hoping for directions. Apparently, just 50 meters up the road. Definitely wasn&#8217;t the case. So back to the hotel looking more and more like a silly American tourist. So this time he calls. Full up. So we go through our book and find another up the street and stop. Only 1 twin bed available. Places 3 and 4 didn&#8217;t answer the door. So back to the hotel again, foolish grin on my face. This time 3 people are helping me and they just hand me their phone. Down the line i go until someone picks up. The <a href="http://www.harbourviewdoolin.com/">Harbour View B&amp;B</a>. And boy are we glad they did.</p>
<p>What a beautiful place! Without a doubt it was built specifically as a B&amp;B. Red carpets, very contemporary styling, a long hallway with tall ceilings and motion sensor lights full of ground floor rooms.  Our room&#8230; wow. The room was incredible. Huge arched windows, clean contemporary decor, a very comfy queen bed with black leather headboard and footboard, and a stunning bathroom with sandy colored tile from floor to ceiling. Once again we were glad for our luck, or blessing, as it was truly a sight for sore eyes.</p>
<p>And now for the best part of the day. Dinner and MUSIC. We had yet to hear any music played yet so we were determined to do whatever it took. So O&#8217;Conners Pub it was! And what luck we had too.</p>
<p>After a very good meal of Smoked Salmon for me and Baked Salmon for Jen, we sat back for a bit and waited for the musicians to arrive.</p>
<p>While waiting we struck up a conversation with the people at the next table, a couple for Colorado, Jon and Melissa. That&#8217;s when the good times started to roll. The jokes started cracking right off the bat and stereotypical obnoxious American verbosity and sarcasm started flying. We compared notes and travel plans, shared some laughs at Rick Steve&#8217;s expense (the super-nerdy travel guide from PBS) and then started singing with the band who had arrived. And what great music it was too!</p>
<p>Then an older chap who somehow appeared next us commented on the music, saying it should be played everywhere, all the time. Of course, we agreed. He then asked me to ask the band if he could sing. Sure, why not? So after notifying the band between songs, the fellow, who i assumed with ask the band to strike up a tune, laid down an intro the song by asking if there was anyone from Tipperary, since the song was prejudiced. Of course 2 of the 3 band members were from Tipperary so he began anyway. A Capella, he rocked out an awesome <a href="http://jackmcdade.com/wp-content/uploads/2009/04/old-man.mov" rel="shadowbox[post-166]">Irish tune</a> (click to play) while sitting next to us on a pub bench. It was such a surreal moment, sitting there in an Irish pub near the sea with locals and tourists alike, a 3 piece Irish band off the to side, and an old sea-crusted man singing the days of his past. He later sang another song that night and then disappeared into the night.</p>
<p>After he was gone, the band started calling out on the pub&#8217;s patrons to sing too, as they must have enjoyed the break. At first Jon and I were singing to ourselves by reading off the signs and bumper stickers on the pillars in the place, but eventually he belted out a the tune of his Thursday for all to hear. We couldn&#8217;t keep the laughter in as he sang the tales of the Canceled Boat Trip to the Aran Islands, the Drive to the Next Town and the Purchasing of Hand Lotion for His Wife. The laughter with our new friends continued well into the night until the pub closed up.</p>
<p>I doubt we&#8217;ll ever forget that night!</p>
<img src="http://feeds.feedburner.com/~r/jackmcdade/~4/xuDCtUzEgks" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://jackmcdade.com/day-six-dingle-to-doolin/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://jackmcdade.com/wp-content/uploads/2009/04/old-man.mov" length="5461526" type="video/quicktime" />
		<feedburner:origLink>http://jackmcdade.com/day-six-dingle-to-doolin/</feedburner:origLink></item>
	</channel>
</rss>
