<?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>Ian Hoar – Passion for Technology – Geeking Out &#187; Open Source</title>
	<atom:link href="http://www.ianhoar.com/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ianhoar.com</link>
	<description>Technology, Web, Toys, Games, Design, Entertainment, Gadgets, &#38; Geeking Out</description>
	<lastBuildDate>Mon, 16 Jan 2012 03:51:52 +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>jQuery: How to get links to work in toggled or dynamic content</title>
		<link>http://www.ianhoar.com/2011/09/09/jquery-how-to-get-links-to-work-in-toggled-or-dynamic-content/</link>
		<comments>http://www.ianhoar.com/2011/09/09/jquery-how-to-get-links-to-work-in-toggled-or-dynamic-content/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 01:03:36 +0000</pubDate>
		<dc:creator>Ian Hoar</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[stopPropagation]]></category>
		<category><![CDATA[toggle]]></category>

		<guid isPermaLink="false">http://www.ianhoar.com/?p=4473</guid>
		<description><![CDATA[jQuery still never ceases to amaze me. The developers of this fantastic library seem to have thought of everything, and the only real challenge for us end users is hunting through the API. Recently I was tasked with creating slide out toggle boxes that had links embedded within them. The problem was that the animation [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-4409" title="jQuery" src="http://www.ianhoar.com/wp-content/uploads/2011/06/jquery_logo.png" alt="jQuery" width="200" height="193" />jQuery still never ceases to amaze me. The developers of this fantastic library seem to have thought of everything, and the only real challenge for us end users is hunting through the API. Recently I was tasked with creating slide out toggle boxes that had links embedded within them. The problem was that the animation would be triggered before the links, thus rending them useless. Luckily like many things with jQuery the fix is simple and I will demonstrate with two examples.</p>
<p><span id="more-4473"></span></p>
<h2>The problem</h2>
<pre class="brush: jscript; title: ; notranslate">

$jQuery('#toggle-test').toggle(function() {
  $jQuery(this).stop(true, true).animate({width : 500});
}, function() {
  $jQuery(this).stop(true, true).animate({width : 300});
});
</pre>
<div id="toggle-test">Here is a block of content <a href="http://www.ianhoar.com">with an inline link</a> that is a fully toggleable div element, but the link does not actually work.</div>
<p>As you can see in the example above, when clicking the link the toggle animation is triggered instead of the link destination.</p>
<h2>The solution</h2>
<pre class="brush: jscript; title: ; notranslate">
$jQuery('#toggle-test2').toggle(function() {
  $jQuery(&quot;a&quot;).click(function(e) {
    e.stopPropagation();
  });
  $jQuery(this).stop(true, true).animate({width : 500});
}, function() {
  $jQuery(this).stop(true, true).animate({width : 300});
});
</pre>
<div id="toggle-test2">Here is a block of content <a href="http://www.ianhoar.com">with an inline link</a> that is a fully toggleable div element and a working link.</div>
<p>The difference with the second example is that we have added a click event within the toggle and added the <a href="http://api.jquery.com/event.stopPropagation/"><strong>stopPropagation()</strong> method</a>. This &#8220;Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event&#8221; thus allowing the link to take it&#8217;s normal course of action.</p>
<p>A more practical use of this would be clickable slide out boxes with links embedded or even a close button on a toggleable element. These are just some of the uses for <strong>stopPropagation()</strong>, so keep it handy in your arsenal of jQuery tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ianhoar.com/2011/09/09/jquery-how-to-get-links-to-work-in-toggled-or-dynamic-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My newest website</title>
		<link>http://www.ianhoar.com/2011/06/19/my-newest-website/</link>
		<comments>http://www.ianhoar.com/2011/06/19/my-newest-website/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 04:55:15 +0000</pubDate>
		<dc:creator>Ian Hoar</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[ThemePassion]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.ianhoar.com/?p=4463</guid>
		<description><![CDATA[Over the past few months I have been working on a new project. I really wanted to try something different, something I personally enjoy. I find writing about anything you are not actually passionate about can be a real drag, so with that in mind, I picked a topic I knew I could write well [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-4464" title="ThemePassion" src="http://www.ianhoar.com/wp-content/uploads/2011/06/theme_passion_preview.jpg" alt="ThemePassion" width="200" height="218" />Over the past few months I have been working on a new project. I really wanted to try something different, something I personally enjoy. I find writing about anything you are not actually passionate about can be a real drag, so with that in mind, I picked a topic I knew I could write well for, get excited about and stay motivated for. With that said it&#8217;s time to reveal my newest website <a href="http://www.themepassion.com">ThemePassion</a>.</p>
<p><span id="more-4463"></span></p>
<p><a href="http://www.themepassion.com/">ThemePassion is all about premium themes</a> of course, but more precisely, themes for content management systems, most of which are Open Source CMS projects. Right now there are well over 100 theme reviews on WordPress, Drupal, Joomla!, Magento, ExpressionEngine, OpenCart, phpBB, standalones and Photoshop. It&#8217;s taken about 3 months to compile all these, and the list keeps growing daily. So far the site has been a success and I&#8217;ve grown my readership faster than with any site in the past. Theme builders love to have more exposure, and the great thing about ThemePassion is that I only write positive reviews — I don&#8217;t believe there would be any value in people wasting time on themes that look ugly. These are all themes that I personally think look fantastic and in some cases really raise the bar.</p>
<p>ThemePassion itself is based on a template from <a href="http://www.elegantthemes.com/affiliates/idevaffiliate.php?id=8492_0_1_3">Elegant Themes</a>, a fantastic theme provider and probably the best value on the market at the time of writing. This was a hard decision for me as I have always built the themes myself for every iteration of this blog and I am quite capable of building and designing my own WordPress template. The issue was time, I wanted to get started, and really what better place for a premium theme than on a site about premium themes. The site is a grid layout so you can easily glance over all the thumbnailed screenshots for each review. The reviews themselves are short, but every one is written by yours truly.</p>
<p>The review process has really exposed me to a variety of designs in a very short time. In the future I plan on releasing some of my own themes through ThemePassion. Viewing beautiful themes every day really lights a fire in you. I would also like to provide more tutorials here on this site with whatever valuable lessons I learn along the way.  So if you are into themes or great design, <a href="http://www.themepassion.com/">I invite you to peruse ThemePassion</a>, and if you have any ideas or advice, <a href="http://www.ianhoar.com/contact/">feel free to get in contact with me</a>.</p>
<p><a href="http://www.themepassion.com"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ianhoar.com/2011/06/19/my-newest-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firebug for IE</title>
		<link>http://www.ianhoar.com/2011/05/15/firebug-for-ie/</link>
		<comments>http://www.ianhoar.com/2011/05/15/firebug-for-ie/#comments</comments>
		<pubDate>Mon, 16 May 2011 04:45:14 +0000</pubDate>
		<dc:creator>Ian Hoar</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[add-on]]></category>
		<category><![CDATA[Firebug]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[web tools]]></category>

		<guid isPermaLink="false">http://www.ianhoar.com/?p=4347</guid>
		<description><![CDATA[Tonight I stumbled across Firebug Lite and was ecstatic to find that all the features I use the most are available not just for IE, but pretty much any modern browser. There are other debuggers out there, but I know a lot of people really love Firebug. This fantastic tool really lets you get under [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-4349" title="firebug" src="http://www.ianhoar.com/wp-content/uploads/2011/05/firebug.png" alt="" width="200" height="160" />Tonight I stumbled across <a href="http://getfirebug.com/firebuglite">Firebug Lite</a> and was ecstatic to find that all the features I use the most are available not just for IE, but pretty much any modern browser. There are other debuggers out there, but I know a lot of people really love Firebug. This fantastic tool really lets you get under the hood and see what&#8217;s going on, it&#8217;s saved me countless hours, but what would save me even more time and effort is if it was available for the browser where 95% my problems occur; Internet Explorer. Firebug was also number one on my post <em>&#8220;<a href="http://www.ianhoar.com/2010/11/28/14-killer-web-design-and-development-tools-for-the-mac/">14 killer web design and development tools for the Mac</a>&#8220;</em><em>.</em></p>
<p><span id="more-4347"></span></p>
<p>FireBug Lite has the Inspector which is that button that lets you click on any part of the web page and see what&#8217;s going on. It&#8217;s especially helpful when troubleshooting layout issues with JavaScript or jQuery where you can&#8217;t actually see the CSS or HTML that is generated after the page loads.</p>
<p><a href="http://getfirebug.com/firebuglite#Stable">Firebug Lite comes in a few flavours</a>, a bookmarklet, a live link and a local link. <strong>You can test out Firebug Lite right now! I have embedded it right into this blog post</strong>. Look for a <strong>little bug in the bottom right hand corner</strong> of your browser window and click it, voilà! Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ianhoar.com/2011/05/15/firebug-for-ie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The secrets to using custom web fonts</title>
		<link>http://www.ianhoar.com/2011/04/02/the-secrets-to-using-custom-web-fonts/</link>
		<comments>http://www.ianhoar.com/2011/04/02/the-secrets-to-using-custom-web-fonts/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 23:03:00 +0000</pubDate>
		<dc:creator>Ian Hoar</dc:creator>
				<category><![CDATA[Freebies]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[@font-face]]></category>
		<category><![CDATA[cufon]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.ianhoar.com/?p=4269</guid>
		<description><![CDATA[If you are a web designer then you&#8217;re already fully aware of the limitations surrounding the usage of fonts on the web. For years we have basically had two reliable options, use a standard web based font that is included on most operating systems with a few fall back fonts, or images. For headlines, custom [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-4301" title="The secrets to using custom web fonts" src="http://www.ianhoar.com/wp-content/uploads/2011/04/fonts.png" alt="The secrets to using custom web fonts" width="200" height="150" />If you are a web designer then you&#8217;re already fully aware of the limitations surrounding the usage of fonts on the web. For years we have basically had two reliable options, use a standard web based font that is included on most operating systems with a few fall back fonts, or images. For headlines, custom fonts and anything fancy images were the only way to go, but that&#8217;s all about to change.</p>
<p><span id="more-4269"></span></p>
<p><span class="pacifico" style="color: #2d6fb4;">Start using awesome custom web fonts today!</span></p>
<h2>A quick recap</h2>
<p>Several older embedding options exist that have been around for awhile. Scalable Inman Flash Replacement (sIFR) which requires the Flash plugin and is thus in my opinion less desirable option, is one of them. There are also server side font replacement implementations where graphics are generated and then served to the web browser, but again this requires multiple technologies to work and has many limitations.</p>
<h2>Cufón, a Javascript solution</h2>
<p>A more recent technology advance in fonts is <a href="http://cufon.shoqolate.com/generate/">Cufón</a>. Cufón requires no flash install and no extra software on the server side. It&#8217;s a pure JavaScript implementation and converts fonts into inline graphics. To a screen reader or web crawler the text looks like plain HTML text as you apply Cufón to the HTML text elements you wish to replace. This is one of the best font implementations yet, but it still has several limitations and caveats.</p>
<ol>
<li>You cannot select or copy any of the text that has been replaced with Cufón. This is minor, but still a usability issue since the user expects to be able to copy and paste text if they want.</li>
<li>You cannot user your browsers page search for Cufón replaced text.</li>
<li>Cufón does not support rollovers, so you cannot apply a hover to your links. This is a little more of a deal breaker since many navigation toolbars require rollovers.</li>
<li>It is illegal to embed many fonts with Cufón since you are distributing the actual font data in a javascript file. This is not an issue with Flash since the actual font data is not being distributed. Cufón can encrypt the font data, but you will still be in violation of many font license agreements.</li>
<li>Knowing which fonts you can legally embed is a bit of a nightmare since the legal jargon on many font foundries will just leave you confused.</li>
<li>You must upload your fonts to the <a href="http://cufon.shoqolate.com/generate/">Cufón site</a> and generate a JavaScript version of your font. This is time consuming and one extra step.</li>
</ol>
<h2 class="google">Welcome to Google web fonts</h2>
<p>Google web fonts solves five of the six issues listed above.</p>
<ol>
<li>You can select and copy / paste any of the fonts.</li>
<li>You can search for the fonts with your browsers page search.</li>
<li>Hover link rollovers are fully supported.</li>
<li>All of the fonts in Google web fonts are free to use and eliminate the research or guesswork needed.</li>
<li>Once you choose the font you would like all you have to do is copy and paste the generated code into your HTML document.</li>
</ol>
<p>The fonts are CSS based, and the concept of CSS linked fonts has been around since 1998, but it hasn&#8217;t been until recently that you could guarantee most users would have browsers that could see these linked fonts.</p>
<h2>Why Google Fonts? It&#8217;s fast and super easy!</h2>
<p>Go to <a href="http://www.google.com/webfonts">Google web fonts</a> and browse the many fonts until you find one you like. Select it and launch the Google font previewer, here you can tweak the font and even add CSS text shadows. At the bottom of your previewer you will see a CSS snippet. Copy that and past it into your style sheet and you&#8217;re done, all your fonts will be like the one in the previewer.</p>
<p><img title="Google Font Previewer" src="http://www.ianhoar.com/wp-content/uploads/2011/04/google_font_previewer-710x524.png" alt="Google Font Previewer" width="710" height="524" /></p>
<p>Of course you probably don&#8217;t want to apply it to your entire site. In the case above it would probably be best to apply the style only to HTML header tags, so you could change the <strong>body</strong> tag to <strong>h1</strong> or even use a class. For the example below I just created a <strong>google</strong> class.</p>
<p><span class="google" style="color: #2d6fb4; font-size: 18px; text-shadow: 2px 2px 2px #aaa !important;">Josefin Sans is just one of the many great fonts available at Google web fonts.</span></p>
<pre class="brush: css; title: ; notranslate">
&lt;link href=&quot;http://fonts.googleapis.com/css?family=Josefin+Sans:100,100italic,300,300italic,400,400italic,600,600italic,700,700italic&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;
&lt;style type=&quot;text/css&quot;&gt;
.google {
     font-family: 'Josefin Sans', serif;
     font-size: 36px;
     font-style: normal;
     font-weight: 400;
     text-shadow: none;
     text-decoration: none;
     text-transform: none;
     letter-spacing: 0em;
     word-spacing: 0em;
     line-height: 1.2;
}
&lt;/style&gt;
</pre>
<p>And that&#8217;s about all there is to using Google fonts, it&#8217;s quick and easy.</p>
<h2>What platforms does Google fonts support?</h2>
<p>Going forward pretty much everything is going to support CSS based fonts, but here are the versions that support Googles method.</p>
<ul>
<li>Google Chrome: version 4.249.4+</li>
<li>Mozilla Firefox: version: 3.5+</li>
<li>Apple Safari: version 3.1+</li>
<li>Opera: version 10.5+</li>
<li>Microsoft Internet Explorer: version 6+</li>
</ul>
<h2>Can I download them and use them in a graphic applications like Photoshop?</h2>
<p>Yes, while you don&#8217;t need to actually download them in order to use them on a website, you can download all of the Google Web Fonts if you like and use them in your favourite graphics package.</p>
<h2>@font-face; another great method for using custom fonts</h2>
<p>You can use download <a href="http://www.google.com/webfonts">Google web fonts</a>, <a href="http://www.theleagueofmoveabletype.com/">The League of Movable Type fonts</a>, or any web licensed fonts and use the @font-face method. In fact this is a very viable method now that most browsers support. OTF fonts will be supported in all the browsers that Google Web fonts are supported in, and in some cases all the way back to IE4. The only real difference with Google Web fonts is the ease of use and convenient library, but feel free to download any fonts you want and use this method if you prefer. @font-face also has all the same benefits that were listed for Google web fonts.</p>
<h2>How to use @font-face</h2>
<p>Using css linked fonts is pretty easy and has been around since 1998. Today most browsers support them, so go nuts. First download a the font you like, it must be web licensed so grab one from <a href="http://www.google.com/webfonts">Google web fonts</a> or <a href="http://www.theleagueofmoveabletype.com/">The League of Movable Type</a>. Once you have done that you will need to upload the actual font to your web server.</p>
<p><span class="orbitron-black"><span style="font-size: 30px;">ORBITRON</span> A <span style="font-size: 35px;">high impact</span> <span style="font-size: 25px;">font</span> with four <span style="font-size: 30px;">4</span> styles from <span style="font-size: 30px;">The League of Movable Type</span>.</span></p>
<p><span class="orbitron-black">ORBITRON black.</span></p>
<p><span class="orbitron-bold">ORBITRON bold. </span></p>
<p><span class="orbitron-medium">ORBITRON medium.</span></p>
<p><span class="orbitron-light">ORBITRON light.</span></p>
<p>The CSS for above example although long is quite simple. <strong>@font-face</strong> declares your <strong>font-family</strong> name and <strong>src</strong> (source) path to where the font is located on your server. Once they are set up you can start creating css classes or styling any HTML elements as you normally would. The example above is shown below.</p>
<pre class="brush: css; title: ; notranslate">
@font-face {
     font-family: &quot;Orbitron-Black&quot;;
     src: url(&quot;PATH_TO_FONT/orbitron-black.otf&quot;);
}
@font-face {
     font-family: &quot;Orbitron-Bold&quot;;
     src: url(&quot;PATH_TO_FONT/orbitron-bold.otf&quot;);
}
@font-face {
     font-family: &quot;Orbitron-Medium&quot;;
     src: url(&quot;PATH_TO_FONT/orbitron-medium.otf&quot;);
}
@font-face {
     font-family: &quot;Orbitron-Light&quot;;
     src: url(&quot;PATH_TO_FONT/orbitron-light.otf&quot;);
}
.orbitron-black {
     font-family: &quot;Orbitron-Black&quot;, serif;
     font-size:18px;
}
.orbitron-bold {
     font-family: &quot;Orbitron-Bold&quot;, serif;
     font-size:18px;
}
.orbitron-medium {
     font-family: &quot;Orbitron-Medium&quot;, serif;
     font-size:18px;
}
.orbitron-light {
     font-family: &quot;Orbitron-light&quot;, serif;
     font-size:18px;
}
</pre>
<h2>Other options for web licensed fonts</h2>
<p><a href="http://typekit.com/">TypeKit</a> is one of the commercial options with yearly pricing options and a limited free option. You can find commercial fonts here, but unfortunately a lot of the big names are missing. A quick search for favourites like Gotham, Helvetica Neue and Frutiger yielded nothing, so for now I&#8217;ll be sticking with <a href="http://www.google.com/webfonts">Google web fonts</a> and <a href="http://www.theleagueofmoveabletype.com/">The League of Movable Type</a>.</p>
<h2>The future is digital</h2>
<p>It&#8217;s quite annoying that the large font foundries have locked down and prohibited the use of their fonts on the web or only allowed clunky implementations. It&#8217;s as if they believe that if they were to open up their licenses that the world would cease to buy fonts tomorrow. I think it would be quite the opposite. Individual sites that want to embed fonts regardless of whether they own the rights to them or the licensing restrictions are going to use them. Larger corporate sites and individual sites that respect the copyright of fonts will instead move to the quickly growing library of web licensed and free fonts. The future is digital, and the larger foundries really need to wake up before people just move elsewhere for their fonts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ianhoar.com/2011/04/02/the-secrets-to-using-custom-web-fonts/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>How to use Drush with Drupal</title>
		<link>http://www.ianhoar.com/2010/10/21/how-to-use-drush-with-drupal/</link>
		<comments>http://www.ianhoar.com/2010/10/21/how-to-use-drush-with-drupal/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 02:02:56 +0000</pubDate>
		<dc:creator>Ian Hoar</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Drush]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.ianhoar.com/?p=4121</guid>
		<description><![CDATA[I was recently at Drupal Camp Toronto which is a conference on Drupal. It was a fantastic place to learn about what other modules and strategies people are using with Drupal. Having only created a couple of Drupal sites myself, it was great to be around so many people that build Drupal sites for a [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-4072" title="Drupal" src="http://www.ianhoar.com/wp-content/uploads/2010/09/drupal.png" alt="Drupal" width="200" height="229" />I  was recently at <a href="http://www.flickr.com/groups/drupalcamptoronto/">Drupal Camp Toronto</a> which is a conference on Drupal. It was a fantastic place to learn  about what other modules and strategies people are using with Drupal.  Having only created a couple of Drupal sites myself, it was great to be  around so many people that build Drupal sites for a living. Out of  everything I learned at Drupal Camp the single most amazing tool had to  be Drush. I still have a lot other modules to research that I learned  about from the conference and Drush isn&#8217;t even really a module, but it&#8217;s still a lot of awesome.</p>
<p><span id="more-4121"></span></p>
<h2>What is Drush?</h2>
<p>Drush has been around for awhile now, but if you are like I was only last week and don&#8217;t know what it  is, and you run a Drupal site, this tool will make your life a lot  easier. Drush is a command line PHP script for seeing the status of your  Drupal site and updating it extremely fast among other things. If you  have a Drupal site, chances are you may have many modules, and one day  Drupal pops up a mean warning about the core not being up to date,  security and vulnerability issues, and 25 modules are out of date. Done  the traditional way this is a nightmare that includes downloading  each module from the Drupal site, unzipping them, copying them over to  your modules directory and updating your database where needed.</p>
<p><a href="http://www.thezombiejournal.com/">My Drupal site</a> was always out of date, which was not wise. Why did I let it get out of  date? The answer is time, it takes a long time to download all the  modules, unzip them and then run the database updates, especially through the Drupal admin. This is where Drush  comes in. It does all this lightning fast and it&#8217;s completely automated.  It will download everything that has a problem and like magic, apply all  the necessary updates to the Drupal core and modules, and it will do this  all with a single command.</p>
<h2>I&#8217;m interested! Lets get started!</h2>
<p>These directions will work on Linux and Mac OS boxes. The first thing to do is download Drush. Go to the <a href="http://drupal.org/project/drush">Drush download</a> and right click the version you want and select copy link. Then SSH into your account.</p>
<pre>ssh -l username yoursite.com</pre>
<p>Download the file you copied earlier with wget:</p>
<pre>wget http://ftp.drupal.org/files/projects/drush-6.x-3.3.tar.gz</pre>
<p>Extract the files:</p>
<pre>tar -xvf drush-6.x-3.3.tar.gz</pre>
<p>You  should now have a drush directory in your home directory. Next create a  symbolic link to drush so you can use the script within your Drupal  site.</p>
<pre>ln -s /home/youruser/drush/drush /home/youruser/bin/drush</pre>
<p>Now  change directories into the Drupal site you want to play with. To get a  list of commands you can type <strong>drush</strong>, you can also go to the <a href="http://drush.ws/help/">Drush help site</a>.</p>
<p>To test it out try:</p>
<pre>drush pm-list</pre>
<p>This  will list all versions of all your modules and themes. If  you wanted to see only your disabled modules and themes you could type:</p>
<pre>drush pm-list --status="disabled"</pre>
<p>Now  for the magic. Before doing this make sure you have a backup of your  site, you do make backups before updating your site right? I only ask because some people like to live on the edge.</p>
<pre>drush pm-update</pre>
<p>This will display update information and prompt you to continue. You can bypass prompts by typing:</p>
<pre>drush pm-update --yes</pre>
<p>You will not be prompted and everything will be updated. This is useful for when you have a lot of modules to update. The command <a href="http://drush.ws/help/#pm-update">pm-update</a> has a lot of other options you can check out in the <a href="http://drush.ws/help/#pm-update">manual</a>.  The other great thing about Drush is that it makes backups too. That  said I still recommend reading over the documentation before trying  anything on a large production site. This tutorial has only scraped the  surface of Drush, I hope you find it as fantastic as I have.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ianhoar.com/2010/10/21/how-to-use-drush-with-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving your Drupal site and breaking all the links</title>
		<link>http://www.ianhoar.com/2010/09/06/moving-your-drupal-site-and-breaking-all-the-links/</link>
		<comments>http://www.ianhoar.com/2010/09/06/moving-your-drupal-site-and-breaking-all-the-links/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 02:12:24 +0000</pubDate>
		<dc:creator>Ian Hoar</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[Drupal]]></category>

		<guid isPermaLink="false">http://www.ianhoar.com/?p=4068</guid>
		<description><![CDATA[This is a quick tip for anyone moving their Drupal site. I recently moved a development site to a live site and have done this on several occasions only to be left sitting their scratching my head wondering why only the home page of my Drupal site works. Each time after a few minutes it [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-4072" title="Drupal" src="http://www.ianhoar.com/wp-content/uploads/2010/09/drupal.png" alt="Drupal" width="200" height="229" />This is a quick tip for anyone moving their Drupal site. I recently moved a development site to a live site and have done this on several occasions only to be left sitting their scratching my head wondering why only the home page of my Drupal site works. Each time after a few minutes it hits me that the <strong>.htaccess</strong> file is the culprit and that I did not move it. Often if you upload your files via some ftp programs you may not actually be able to see the .htaccess file to upload it. To see it on a Linux/UNIX box type <strong>ls -la</strong> and it will show up. <a href="http://filezilla-project.org/">FileZilla</a> is an open source FTP program that will also do the trick.</p>
<p>So remember after you upload the files to your new server, import your database data and change your database credentials to also bring along your .htaccess file or just <a href="http://drupal.org/project/drupal">grab it from a Drupal package</a>. Hope this saves some of you some head scratching.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ianhoar.com/2010/09/06/moving-your-drupal-site-and-breaking-all-the-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zen Coding &#8211; a new way to write HTML lightning fast</title>
		<link>http://www.ianhoar.com/2010/07/10/zen-coding-a-new-way-to-write-html-lightning-fast/</link>
		<comments>http://www.ianhoar.com/2010/07/10/zen-coding-a-new-way-to-write-html-lightning-fast/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 03:27:04 +0000</pubDate>
		<dc:creator>Ian Hoar</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Neato]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.ianhoar.com/?p=4016</guid>
		<description><![CDATA[The other day I purchased a new editor called Coda. I might review this fantastic little piece of software at a later date, but one of the reasons I purchased it was to use some of the many plugins the community has created for it. One of these plugins has been produced for several editors [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-4050" title="Zen Bonsai" src="http://www.ianhoar.com/wp-content/uploads/2010/07/zen_bonsai.png" alt="Zen Bonsai" width="200" height="228" />The other day I purchased a <a href="http://www.panic.com/coda/">new editor called Coda</a>. I might review this fantastic little piece of software at a later date, but one of the reasons I purchased it was to use some of the many plugins the community has created for it. One of these plugins has been produced for several editors and could change how you code. It&#8217;s called <strong><a href="http://code.google.com/p/zen-coding/">Zen Coding</a></strong>, and it will make you write large chunks of HTML a lighting speeds.</p>
<h2>What is Zen Coding?</h2>
<p>Zen Coding is hard to explain, but if you have been working with HTML and CSS for awhile now you should be able to pick it up very quickly. It&#8217;s easy to learn and best shown by example, so lets start with an example.</p>
<p><span id="more-4016"></span></p>
<p>Say I want a <em>div</em> with an <em>id</em> of <em>frame</em> and a <em>class</em> of <em>indent</em>, I would type:</p>
<p><strong>div#frame.indent</strong></p>
<p>In the Coda editor hitting F1 would turn the above into this:<strong><br />
</strong></p>
<pre>&lt;div id="frame" class="indent"&gt;&lt;/div&gt;</pre>
<p>That&#8217;s pretty cool, but not life changing, but how about something like this.</p>
<p><strong>table&gt;tr*3&gt;td*4</strong></p>
<pre>&lt;table&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
		&lt;td&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;
</pre>
<p>Okay, I know what your saying, who needs complex tables anymore! Well, email newsletters and tabular data for one, but how about this.</p>
<p><strong>ul#navigation&gt;li.link*5</strong></p>
<pre>&lt;ul id="navigation"&gt;
	&lt;li class="link"&gt;&lt;/li&gt;
	&lt;li class="link"&gt;&lt;/li&gt;
	&lt;li class="link"&gt;&lt;/li&gt;
	&lt;li class="link"&gt;&lt;/li&gt;
	&lt;li class="link"&gt;&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>What if each link class needs to be unique?</p>
<p><strong>ul#navigation&gt;li.link-$*5</strong></p>
<pre>&amp;lt;ul id="navigation"&gt;
	&amp;lt;li class="link-1"&gt;&amp;lt;/li&gt;
	&amp;lt;li class="link-2"&gt;&amp;lt;/li&gt;
	&amp;lt;li class="link-3"&gt;&amp;lt;/li&gt;
	&amp;lt;li class="link-4"&gt;&amp;lt;/li&gt;
	&amp;lt;li class="link-5"&gt;&amp;lt;/li&gt;
&amp;lt;/ul&gt;</pre>
<p>How about adding a strong tag in each bullet.</p>
<p><strong>ul#navigation&gt;li.link-$*5&gt;strong</strong></p>
<pre>&lt;ul id="navigation"&gt;
	&lt;li class="link-1"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;
	&lt;li class="link-2"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;
	&lt;li class="link-3"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;
	&lt;li class="link-4"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;
	&lt;li class="link-5"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>Want a bunch of caption blocks?<br />
<strong>div.caption*5&gt;h1+h2+p</strong></p>
<pre>&lt;div class="caption"&gt;
	&lt;h1&gt;&lt;/h1&gt;
	&lt;h2&gt;&lt;/h2&gt;
	&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="caption"&gt;
	&lt;h1&gt;&lt;/h1&gt;
	&lt;h2&gt;&lt;/h2&gt;
	&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="caption"&gt;
	&lt;h1&gt;&lt;/h1&gt;
	&lt;h2&gt;&lt;/h2&gt;
	&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="caption"&gt;
	&lt;h1&gt;&lt;/h1&gt;
	&lt;h2&gt;&lt;/h2&gt;
	&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="caption"&gt;
	&lt;h1&gt;&lt;/h1&gt;
	&lt;h2&gt;&lt;/h2&gt;
	&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;</pre>
<p>Attributes? Got that covered too.</p>
<p><strong>a[href="link$.html" target="_blank"]*3</strong></p>
<pre>&lt;a href="link1.html" target="_blank"&gt;&lt;/a&gt;
&lt;a href="link2.html" target="_blank"&gt;&lt;/a&gt;
&lt;a href="link3.html" target="_blank"&gt;&lt;/a&gt;
</pre>
<p>Okay, it&#8217;s probably clear by now that I think Zen Coding is awesome and maybe I&#8217;m getting carried away now, but lets try one more. This one helped me post all the examples above to this post by using a filter. Adding a <em>|e</em> filter to the end of the above example will escape all unsafe XML characters with HTML entities. Perfect for posting code examples.</p>
<p><strong>a[href="link$.html" target="_blank"]*3|e</strong></p>
<pre>
&amp;lt;a href="link1.html" target="_blank"&amp;gt;&amp;lt;/a&amp;gt;
&amp;lt;a href="link2.html" target="_blank"&amp;gt;&amp;lt;/a&amp;gt;
&amp;lt;a href="link3.html" target="_blank"&amp;gt;&amp;lt;/a&amp;gt;
</pre>
<h2>Many editors are supported</h2>
<p>Don&#8217;t have coda? That&#8217;s not a problem, <a href="http://code.google.com/p/zen-coding/">many editors are supported</a> and chances are you are familiar with one of them. There&#8217;s even a PHP version called <a href="http://code.google.com/p/zen-php/">ZenPHP</a> which will generate blocks of HTML in a similar fashion. If you have any really cool Zen Coding selectors post them in the comments.</p>
<ul>
<li><a href="http://code.google.com/p/zen-coding/">Official Project site</a></li>
<li><a href="http://code.google.com/p/zen-coding/wiki/ZenHTMLSelectorsEn">More selector examples</a></li>
<li><a href="http://code.google.com/p/zen-coding/wiki/Filters">List of filters</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ianhoar.com/2010/07/10/zen-coding-a-new-way-to-write-html-lightning-fast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Zombie Journal is finally ready</title>
		<link>http://www.ianhoar.com/2009/11/25/the-zombie-journal-is-finally-ready/</link>
		<comments>http://www.ianhoar.com/2009/11/25/the-zombie-journal-is-finally-ready/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 05:29:36 +0000</pubDate>
		<dc:creator>Ian Hoar</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Zombies]]></category>

		<guid isPermaLink="false">http://www.ianhoar.com/?p=3704</guid>
		<description><![CDATA[For over a month now I have been slaving away on an idea I have had for quite some time. It&#8217;s probably the largest personal site I&#8217;ve ever built and it&#8217;s my first real foray in the world of Drupal. Let me tell you, Drupal isn&#8217;t an easy undertaking, but it&#8217;s very powerful. If you [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thezombiejournal.com"><img class="alignleft size-full wp-image-3705" title="Blood Splat" src="http://www.ianhoar.com/wp-content/uploads/2009/11/splat.png" alt="Blood Splat" width="200" height="188" /></a>For over a month now I have been slaving away on <a href="http://www.thezombiejournal.com">an idea I have had for quite some time</a>. It&#8217;s probably the largest personal site I&#8217;ve ever built and it&#8217;s my first real foray in the world of <a href="http://www.drupal.org">Drupal</a>. Let me tell you, Drupal isn&#8217;t an easy undertaking, but it&#8217;s very powerful. If you don&#8217;t know much about Drupal you might want to check out <a href="http://buytaert.net/">Dries Buytaert&#8217;s</a> blog and see who&#8217;s using it&#8230; in short, a lot of big names.</p>
<h2>But this is about The Zombie Journal</h2>
<p style="text-align: center;"><a href="http://www.thezombiejournal.com"><img class="size-full wp-image-3707    aligncenter" style="margin:auto;" title="The Zombie Journal" src="http://www.ianhoar.com/wp-content/uploads/2009/11/the_zombie_journal.png" alt="The Zombie Journal" width="400" height="199" /></a></p>
<p>This post isn&#8217;t about Drupal, this is about <a href="http://www.thezombiejournal.com"><em>The Zombie Journal</em></a>, my newest site. Consider it still rough around the edges. I have a lot of ideas which I have not yet implemented, but for now I am hoping to see <em>The Zombie Journal</em> grow into a social network for Zombie fans of all sorts. If you sign up for an account you can post your own zombies stories of your fictional encounters with these diabolical creatures we call &#8220;the undead&#8221;. You can also share zombie resources, rank and vote on content and participate in the forums. If you are even mildly interested in zombies I urge you to <a href="http://www.thezombiejournal.com/user/register">sign up today</a>, and follow <a href="http://twitter.com/zombiejournal"><em>The Zombie Journal</em> on twitter</a>.</p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.ianhoar.com/2009/11/25/the-zombie-journal-is-finally-ready/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adium spam comments</title>
		<link>http://www.ianhoar.com/2009/05/10/adium-spam-comments/</link>
		<comments>http://www.ianhoar.com/2009/05/10/adium-spam-comments/#comments</comments>
		<pubDate>Mon, 11 May 2009 02:07:39 +0000</pubDate>
		<dc:creator>Ian Hoar</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.ianhoar.com/?p=3563</guid>
		<description><![CDATA[Adium is a fantastic instant messaging program for the Mac that allows you to connect to many different chat clients like Yahoo, MSN and Google Talk just to name a few. Unfortunately if you have an MSN / Windows Live Messenger account on Adium you may be bombarded by the parasitic individuals of the web [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-3565 alignleft" title="Adium Duck" src="http://www.ianhoar.com/wp-content/uploads/2009/05/adium_duck.jpg" alt="Adium Duck" width="122" height="196" /><a href="http://adium.im/">Adium</a> is a fantastic instant messaging program for the Mac that allows you to connect to many different chat clients like Yahoo, MSN and Google Talk just to name a few. Unfortunately if you have an MSN / Windows Live Messenger account on Adium you may be bombarded by the <a href="http://www.ianhoar.com/2008/07/27/a-message-to-the-parasitic-individuals-of-the-web/">parasitic individuals of the web</a> also known as spammers. I&#8217;m not sure why this only seems to happen to my MSN account, but there is a simple fix.</p>
<p><span id="more-3563"></span>Fire up Adium and go to <strong>Adium / Privacy Settings&#8230; (alt + option + p)</strong>.</p>
<p style="text-align: center;"><img class="size-full wp-image-3564 aligncenter" title="Adium Spam" src="http://www.ianhoar.com/wp-content/uploads/2009/05/adium_spam.gif" alt="Adium Spam" width="395" height="134" /></p>
<p>Under Privacy level, select <strong>Allow only contacts on my contact list</strong>. Working well for me so far, but I&#8217;m really wondering why MSN gets such a massive amount of spam, I don&#8217;t think I have got one spam message on Google Talk or Yahoo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ianhoar.com/2009/05/10/adium-spam-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bespin, web design in the cloud</title>
		<link>http://www.ianhoar.com/2009/02/23/bespin-web-design-in-the-cloud/</link>
		<comments>http://www.ianhoar.com/2009/02/23/bespin-web-design-in-the-cloud/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 02:08:12 +0000</pubDate>
		<dc:creator>Ian Hoar</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Neato]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.ianhoar.com/?p=3489</guid>
		<description><![CDATA[Mozilla Labs released a really exciting Open Source project this month called Bespin. It&#8217;s still in an extremely early alpha stage right now, but it looks promising and really gets the imagination going. There&#8217;s a great video by the developers about what Bespin is all about, but the real highlight is near the end when [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-3503 thumbRight alignleft" title="Mozilla Labs Bespin" src="http://www.ianhoar.com/wp-content/uploads/2009/02/mozilla_labs_bespin.jpg" alt="Mozilla Labs Bespin" width="250" height="97" /><a href="http://labs.mozilla.com/">Mozilla Labs</a> released a really exciting Open Source project this month called <a href="https://bespin.mozilla.com/">Bespin</a>. It&#8217;s still in an extremely early alpha stage right now, but it looks promising and really gets the imagination going. There&#8217;s a great <a href="http://vimeo.com/3195079">video by the developers</a> about what Bespin is all about, but the real highlight is near the end when they talk about different scenarios in which Bespin could be used.</p>
<p><span id="more-3489"></span></p>
<p>Right now Bespin only works on FireFox and the WebKit Nightly builds. Bespin is &#8220;using exciting new technology in HTML 5 that only leading browsers have implemented&#8221;. This is the message you receive when you use anything but FireFox or <a href="http://nightly.webkit.org/">WebKit nightly</a> to access the Bespin editor. They are using some advanced features of the canvas tag and there has been some controversy over their choice. Ajaxian has great article on <a href="http://ajaxian.com/archives/canvas-for-a-text-editor">the reasons for choosing canvas</a>.</p>
<p>Since Bespin is using cutting edge web standards it will probably work in most browsers by the time it is at a production level and ready for the masses. WebKit is the engine that powers Google&#8217;s Chrome and Apple&#8217;s Safari, so it is only a matter of time before we see Bespin working in these browsers and any browser that supports the HTML 5 spec.</p>
<h2>Internet Explorer fails again</h2>
<p>Of course Internet Explorer 8 is coming out soon and it&#8217;s already behind the times and does not support the canvas tag at all. I don&#8217;t really see this as an issue as most Web Designers have long ago given up on this browser and since this is targeted at web designers and developers it should be a non-issue.</p>
<h2>Working in the cloud</h2>
<p>So what kind of things could we expect from Bespin in the future? Well I&#8217;m hoping it will be able to integrate into your website and hopefully as it grows it will gain things like source control and maybe even be integrated into some of the big content management systems out there. Think of working on your WordPress or Drupal theme in one browser tab and your admin page in the other. Bespin is open source and being designed with scalability and extendability in mind. In the <a href="http://vimeo.com/3195079">developer video</a> they give an example of collaborative coding, where you can literally see code changing in real-time in one screen while a developer types in the other. This would be great for training, code walkthroughs and tandem trouble shooting.</p>
<p>Bespin is far from being anything more than a fun tool to play around with right now, but the potential and imagination is there. This is definitely a project to keep your eye on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ianhoar.com/2009/02/23/bespin-web-design-in-the-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

