<?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>Jon Henshaw &#187; Web Development</title>
	<atom:link href="http://jon.henshaw.me/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://jon.henshaw.me</link>
	<description>Spending entirely too much time on the Internet</description>
	<lastBuildDate>Sun, 25 Jul 2010 17:33:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=1865</generator>
		<item>
		<title>Version 2.0 of the Modest WordPress Theme</title>
		<link>http://jon.henshaw.me/881/version-2-0-of-the-modest-wordpress-theme/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=version-2-0-of-the-modest-wordpress-theme</link>
		<comments>http://jon.henshaw.me/881/version-2-0-of-the-modest-wordpress-theme/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 04:51:19 +0000</pubDate>
		<dc:creator>Jon Henshaw</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jon.henshaw.me/?p=881</guid>
		<description><![CDATA[I decided to totally revamp – actually, completely start over – my minimalist WordPress theme, Modest. Gone are the curves and the CSS3 experimentation. What&#8217;s new is an even more refined and minimalist layout. I wanted each page to communicate its true purpose. That meant replacing the site name from the H1 heading element, and [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to totally revamp – actually, completely start over – my minimalist WordPress theme, <a href="http://mode.st/wordpress-theme/">Modest</a>. Gone are the curves and the <abbr title="Cascading Stylesheets">CSS</abbr><abbr title="Version 3">3</abbr> experimentation. What&#8217;s new is an even more refined and minimalist layout.</p>
<p><img src="http://jon.henshaw.me/files/2010/07/modest-wordpress-theme-version-2.jpg" alt="Modest WordPress Theme Version 2.0" title="Modest WordPress Theme Version 2.0" width="600" height="456" class="alignnone size-full wp-image-882" /></p>
<p>I wanted each page to communicate its true purpose. That meant replacing the site name from the <abbr title="Heading 1">H1</abbr> heading element, and replacing it with the actual page or blog entry title. It doesn&#8217;t mean I got rid of the site name altogether on sub-pages. Instead, I relegated it to the top of the sidebar.</p>
<p>The <abbr title="Hypertext Markup Language">HTML</abbr> is maximumly optimized. The sidebar and navigation is now secondary to the content. Semantic elements, like header, footer, section, nav, and article, are also more properly implemented.</p>
<p>There are still key elements from the first version of the Modest WordPress theme that I kept. For example, the general layout is still the same, and the attention to forcing a minimal list of categories and pages remains (thanks to the fixed position used in the <abbr title="Cascading Stylesheets">CSS</abbr>).</p>
<p>The <abbr title="Cascading Stylesheets">CSS</abbr> is greatly reduced, and as always, I gave some attention to the print stylesheet.</p>
<p><img src="http://jon.henshaw.me/files/2010/07/modest-print1.jpg" alt="Modest Print Friendly Stylesheet" title="Modest Print Friendly Stylesheet" width="600" height="676" class="alignnone size-full wp-image-887" /></p>
]]></content:encoded>
			<wfw:commentRss>http://jon.henshaw.me/881/version-2-0-of-the-modest-wordpress-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not Minimalist, Not Minimalist, Not Minimalist, Minimalist</title>
		<link>http://jon.henshaw.me/820/not-minimalist/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=not-minimalist</link>
		<comments>http://jon.henshaw.me/820/not-minimalist/#comments</comments>
		<pubDate>Fri, 07 May 2010 05:04:36 +0000</pubDate>
		<dc:creator>Jon Henshaw</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ask]]></category>
		<category><![CDATA[bing]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[minimalism]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://henshaw.me/?p=820</guid>
		<description><![CDATA[When you search, you don&#8217;t want to be distracted. You want to submit a query and hope you get some good answers. Minimalism can help you accomplish this. It can keep you from being distracted, and can quickly walk you through the process. There&#8217;s only one major search engine that&#8217;s doing it, Google. Yahoo!, Not [...]]]></description>
			<content:encoded><![CDATA[<p>When you search, you don&#8217;t want to be distracted. You want to submit a query and hope you get some good answers. Minimalism can help you accomplish this. It can keep you from being distracted, and can quickly walk you through the process. There&#8217;s only one major search engine that&#8217;s doing it, <a href="http://google.com">Google</a>.</p>
<h3>Yahoo!, Not Minimalist</h3>
<p><img src="http://jon.henshaw.me/files/2010/05/yahoo.jpg" alt="Yahoo! Home Page" width="640" height="461" class="alignnone size-full wp-image-821" /></p>
<h3>Bing, Not Minimalist</h3>
<p><img src="http://jon.henshaw.me/files/2010/05/bing.jpg" alt="Bing Home Page" width="640" height="461" class="alignnone size-full wp-image-822" /></p>
<h3>Ask.com, Not Minimalist</h3>
<p><img src="http://jon.henshaw.me/files/2010/05/ask.jpg" alt="Ask.com Home Page" width="640" height="461" class="alignnone size-full wp-image-823" /></p>
<h3>Google, Minimalist</h3>
<p><img src="http://jon.henshaw.me/files/2010/05/google.jpg" alt="Google Home Page" width="640" height="461" class="alignnone size-full wp-image-824" /></p>
]]></content:encoded>
			<wfw:commentRss>http://jon.henshaw.me/820/not-minimalist/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>IE8 Acid 3 Test FAIL</title>
		<link>http://jon.henshaw.me/762/ie8-acid-3-test-fail/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ie8-acid-3-test-fail</link>
		<comments>http://jon.henshaw.me/762/ie8-acid-3-test-fail/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 22:38:23 +0000</pubDate>
		<dc:creator>Jon Henshaw</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://henshaw.me/762/untitled-4</guid>
		<description><![CDATA[When I say IE8 is not standards compliant, this is what I mean.]]></description>
			<content:encoded><![CDATA[<p>When I say <abbr title="Internet Explorer">IE</abbr>8 is not standards compliant, this is what I mean.</p>
<p><img src="http://jon.henshaw.me/files/2010/03/ie8fail.jpg" alt="" width="640" height="517" class="alignnone size-full wp-image-763" /></p>
]]></content:encoded>
			<wfw:commentRss>http://jon.henshaw.me/762/ie8-acid-3-test-fail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Enable GZIP Compression on Pair Networks</title>
		<link>http://jon.henshaw.me/670/how-to-enable-gzip-compression-on-pair-networks/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=how-to-enable-gzip-compression-on-pair-networks</link>
		<comments>http://jon.henshaw.me/670/how-to-enable-gzip-compression-on-pair-networks/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 03:08:34 +0000</pubDate>
		<dc:creator>Jon Henshaw</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://henshaw.me/?p=670</guid>
		<description><![CDATA[There&#8217;s a lot of different methods for enabling GZIP compression on PHP. Unfortunately, most of the common methods did not work for me on Pair Networks. In particular, trying to enable it via .htaccess for my WordPress sites proved fruitless. I finally found the solution for enabling GZIP compression on Pair. All I had to [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a lot of different methods for enabling GZIP compression on PHP. Unfortunately, most of the common methods did not work for me on <a href="http://henshaw.me/out/pair/">Pair Networks</a>. In particular, trying to enable it via .htaccess for my <a href="http://wordpress.org/">WordPress</a> sites proved fruitless.</p>
<p>I finally found the solution for enabling GZIP compression on Pair. All I had to do was add one simple line of PHP code to the top of my <em>header.php</em> file in my WordPress theme.</p>
<p><code>&lt;?php ob_start("ob_gzhandler"); ?&gt;</code></p>
<p>After you add the code, use the <a href="http://www.whatsmyip.org/http_compression/">HTTP Compression Test</a> to make sure the GZIP compression is working. If you want more tips on how to speed up your site, check out my article on <a href="http://raven-seo-tools.com/blog/1826/seo-howto-speed-up-your-site-for-google">how to speed up your site for Google</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jon.henshaw.me/670/how-to-enable-gzip-compression-on-pair-networks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Get the WordPress &quot;Upgrade Automatically&quot; Feature to Work on Pair Networks</title>
		<link>http://jon.henshaw.me/446/how-to-get-wordpress-upgrade-automatically-feature-to-work-on-pair-com/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=how-to-get-wordpress-upgrade-automatically-feature-to-work-on-pair-com</link>
		<comments>http://jon.henshaw.me/446/how-to-get-wordpress-upgrade-automatically-feature-to-work-on-pair-com/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 16:52:07 +0000</pubDate>
		<dc:creator>Jon Henshaw</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://henshaw.me/?p=446</guid>
		<description><![CDATA[If you use the (best) Web hosting provider Pair, and you run WordPress, then you have undoubtedly found out that you can't upgrade automatically new versions of WordPress or updates for your plugins.]]></description>
			<content:encoded><![CDATA[<div id="attachment_448" class="wp-caption alignnone" style="width: 584px"><img class="size-full wp-image-448" src="http://jon.henshaw.me/files/2009/12/Screen-shot-2009-12-24-at-10.52.31-AM.png" alt="" width="574" height="194" /><p class="wp-caption-text">Enable &quot;Upgrade Automatically&quot; in WordPress on Pair Networks</p></div>
<p>If you use the (best) Web hosting provider <a href="http://henshaw.me/out/pair/">Pair</a>, and you run WordPress, then you have undoubtedly found out that you can&#8217;t <em>upgrade automatically</em> new versions of WordPress or updates for your plugins. The reason for that is because by default, the <em>System CGI: php-cgiwrap</em> is not configured. Fortunately, it&#8217;s not too difficult to enable.</p>
<h3>Enabling Automatic Upgrades on WordPress</h3>
<p>To use PHP 5 with php-cgiwrap, you must first copy php5.cgi to your own Web directory&#8217;s (public_html) cgi-bin directory by SSH.</p>
<h4>Step 1</h4>
<p>Create the <strong>cgi-bin</strong> folder in your <em>public_html</em> folder, if it doesn&#8217;t exist already.</p>
<h4>Step 2</h4>
<p>Copy and paste in your terminal connection:<br />
<strong>cp /usr/www/cgi-bin/php5.cgi ~/public_html/cgi-bin/</strong></p>
<h4>Step 3</h4>
<p>Copy and paste in your terminal connection:<br />
<strong>chmod 755 ~/public_html/cgi-bin/php5.cgi</strong></p>
<h4>Step 4</h4>
<p>Add the following lines to your WordPress .htaccess file. Make sure you change <em>[username]</em> with your actual Pair account username (remove the brackets.)</p>
<p><strong>Action application/x-pair-sphp5 /cgi-sys/php-cgiwrap/[username]/php5.cgi/<br />
AddType application/x-pair-sphp5 .php</strong></p>
<p>That&#8217;s it. Assuming you did it correctly, you&#8217;ll now be able to automatically upgrade WordPress and your plugins. If you need more details or help with this process, view Pair&#8217;s Knowledge Base article, &#8220;<a href="http://www.pair.com/support/knowledge_base/authoring_development/system_cgi_php-cgiwrap.html">Authoring/Development &#8211; System CGI: php-cgiwrap</a>.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://jon.henshaw.me/446/how-to-get-wordpress-upgrade-automatically-feature-to-work-on-pair-com/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Choosing a URL Naming Convention for WordPress (aka Permalink Structure)</title>
		<link>http://jon.henshaw.me/423/choosing-a-url-naming-convention-for-wordpress-aka-permalink-structure/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=choosing-a-url-naming-convention-for-wordpress-aka-permalink-structure</link>
		<comments>http://jon.henshaw.me/423/choosing-a-url-naming-convention-for-wordpress-aka-permalink-structure/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 00:36:10 +0000</pubDate>
		<dc:creator>Jon Henshaw</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://henshaw.me/?p=423</guid>
		<description><![CDATA[There are a handful of good ways to structure the URL naming for WordPress, but there is one way that's my favorite.]]></description>
			<content:encoded><![CDATA[<p>There are a handful of <em>good</em> ways to structure the URL naming convention for WordPress. The most common are:</p>
<ul>
<li>/%category%/%postname%</li>
<li>/%postname%</li>
<li>/category/%postname%-%post_id%</li>
<li>/%postname%-%post_id%</li>
</ul>
<p>All of those options work well, but I actually prefer to do mine as <strong>/%post_id%/%postname%/</strong>. At first glance, that choice may seem less than ideal. For example, why would I want to exclude my category name, and what purpose does it serve having the post ID in the URL?</p>
<h3>Category Name</h3>
<p>While having the category name in the URL is not a <em>bad</em> idea, I don&#8217;t think it&#8217;s necessary. Google can easily understand that a blog entry is related to a particular category by simply mapping the linking structure. It will also be reinforced by the page title and internal link structure on the entry.</p>
<p>It&#8217;s also not desirable, because an entry can have multiple categories, and it can take up a lot of space in the SERPs. I prefer to show the the title of the blog entry, instead of the category name. In fact, showing the category name before a long title may cut off the title in the SERPs.</p>
<p>Not including the category in the URL of the entry also allows you to rename the category at a later time without having too much of a negative impact. I would much prefer to rename a category list page (which most people will not link to) than to change the URL of a post. If I&#8217;m really concerned about losing a list page, then I can go out of my way and set up a simple redirect in my .htaccess file.</p>
<h3>Post ID</h3>
<p>Most people consider displaying the post ID mainly because they&#8217;re concerned they might write a blog entry one day that uses the same title, causing an issue with resolving to the correct destination content. While that certainly factors into my decision to use a post ID before the post name, it&#8217;s not my main reason. I like using the post ID, because it handles changes to the blog entry <em>gracefully</em>.</p>
<p>If you change the page title and the permalink of a blog entry – like <strong>/id/original-blog-title</strong> to <strong>/id/new-blog-title</strong> – the old link will still resolve (correctly redirect to the new permalink.) That&#8217;s because WordPress reverts to the post ID when something goes wrong. In fact, you can go to <em>just</em> the post id (like the one for this entry: <a href="http://henshaw.me/423/">http://henshaw.me/423/</a>) and it will bring up the correct blog entry. It won&#8217;t bring up the full permalink, but there&#8217;s no need to worry about duplicate content, that is, as long as you&#8217;re specifying the <a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">canonical URL</a> in the HEAD area.</p>
]]></content:encoded>
			<wfw:commentRss>http://jon.henshaw.me/423/choosing-a-url-naming-convention-for-wordpress-aka-permalink-structure/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)

Served from: jon.henshaw.me @ 2010-07-30 04:28:04 -->