<?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>CMHudson.com</title>
	<atom:link href="http://cmhudson.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://cmhudson.com</link>
	<description>Software developer &#38; consultant; Zend Certified PHP Engineer</description>
	<lastBuildDate>Wed, 18 Jan 2012 17:15:13 +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>WordPress 3.3 &#8220;Sonny&#8221; is nice</title>
		<link>http://cmhudson.com/3424/2011/12/wordpress-3-3-sonny-is-nice/</link>
		<comments>http://cmhudson.com/3424/2011/12/wordpress-3-3-sonny-is-nice/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 03:26:00 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://cmhudson.com/?p=3424</guid>
		<description><![CDATA[WordPress 3.3 was released a few days ago. Go here for even more detail. The most obvious and useful changes are to the Admin UI. The admin toolbar has been refined and expanded to be more useful, especially when using &#8230; <a href="http://cmhudson.com/3424/2011/12/wordpress-3-3-sonny-is-nice/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://cmhudson.com/wp-content/uploads/2011/12/blue-m.png"><img class="alignleft size-full wp-image-3427" title="WordPress 3.3" src="http://cmhudson.com/wp-content/uploads/2011/12/blue-m.png" alt="WordPress 3.3" width="100" height="100" /></a>WordPress 3.3 was released <a title="WordPress 3.3" href="http://wordpress.org/news/2011/12/sonny/" target="_blank">a few days ago</a>. <a title="WP 3.3 Detail" href="http://codex.wordpress.org/Version_3.3" target="_blank">Go here</a> for even more detail. The most obvious and useful changes are to the Admin UI. The admin toolbar has been refined and expanded to be more useful, especially when using a site setup with Multisite (formerly WordPress MU).</p>
<p>The admin navigation got a minor overhaul, it now shows pop-out menus when you hover and only expands when you go into the section.</p>
<p>The Media Uploader has been updated. You can now drag files into a specified area, it supports multiple files at once, which is nice if you&#8217;re setting up a post with many photos.</p>
<p>jQuery has been updated to 1.7.1, and now includes the entire jQuery UI library, which I can personally attest to being extremely useful.</p>
<p>Progress marches on! Download today, let the team (and reply here) if you find any issues.</p>
<p><strong>Edit:</strong> I was using a plugin called &#8220;<a href="http://wordpress.org/extend/plugins/flickr-photo-post/" target="_blank">Flickr Photo Post</a>&#8220;, which seems to break the new media uploader. I have deactivated until I feel the need to update or find a new Flickr plugin. The plugin caused the new drag-and-drop feature to not appear, and clicking on the old &#8220;Choose File&#8221; did not work, rendering the uploader impossible to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://cmhudson.com/3424/2011/12/wordpress-3-3-sonny-is-nice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pictures from Pinnacle Mountain</title>
		<link>http://cmhudson.com/3416/2011/08/pictures-from-pinnacle-mountain/</link>
		<comments>http://cmhudson.com/3416/2011/08/pictures-from-pinnacle-mountain/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 17:03:14 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[Recreation]]></category>
		<category><![CDATA[Pinnacle Mountain]]></category>

		<guid isPermaLink="false">http://cmhudson.com/3416/2011/08/pictures-from-pinnacle-mountain/</guid>
		<description><![CDATA[Arkansas is not the most flat part of the US. In fact, much of its northern half it part of the Ozark Mountains and much of its western half is part of the Ouachita Mountains. Central Arkansas is pretty flat though, &#8230; <a href="http://cmhudson.com/3416/2011/08/pictures-from-pinnacle-mountain/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Arkansas is not the most flat part of the US. In fact, much of its northern half it part of the Ozark Mountains and much of its western half is part of the <a href="http://en.wikipedia.org/wiki/Ouachita_Mountains" target="_blank">Ouachita Mountains</a>.</p>
<p>Central Arkansas is pretty flat though, aside from a few ridges rising above the Arkansas River in and around Little Rock and the prominent peak in the area, <a href="http://en.wikipedia.org/wiki/Pinnacle_Mountain_State_Park" target="_blank">Pinnacle Mountain</a>. It stands at about 1,000 feet compared to the Arkansas River Valley, which sits at around 300 ft sea level. <a href="http://maps.google.com/maps?q=Pinnacle+Mountain+State+Park,+11901+Pinnacle+Valley+Road,+Roland,+AR+72135&amp;hl=en&amp;ll=34.841528,-92.486&amp;spn=0.024902,0.032058&amp;sll=37.0625,-95.677068&amp;sspn=48.822589,65.654297&amp;vpsrc=6&amp;t=p&amp;z=15" target="_blank">See map here</a>. It is joined by a small range of ridges running east and west, but none approach its height. It can be seen from miles around as the tallest object in the area.</p>
<p>I started hiking around the area this summer, and Pinnacle Mountain, being the highest point in the area, has been the subject of several trips.</p>
<p>There are two trails going to the summit, the east and the west, and a trail circling its base. The east summit is usually considered the hardest. About half of the trail is fairly easy switchbacks, lulling the hiker into a false sense of security. Then you get to where the rocks start, and you have no choice but to scramble straight up the steepest part.</p>
<p>In my opinion, the west summit is more difficult. It starts off steep and stays steep the whole way. The trail is well developed, much of the way it&#8217;s paved with stone steps so the hike seems like a 600 foot stairway.</p>
<p>At the top, the views are nice. It&#8217;s rare to get such a view in this part of the country and you can see for miles. It can also be crowded. Being the only challenging thing to hike with well developed trails, there aren&#8217;t many alternatives.</p>
<p>Being from the west and having spent time in such truly amazing places as the Sawtooth Wilderness, and having lived in Boise where foothill hiking is minutes away, this is a consolation prize. It&#8217;s the best we have without driving hours to the north or west. A quick jaunt up the mountain on a hot summer day after being locked inside all day working is quite rewarding. I&#8217;m glad it&#8217;s here.</p>
<p>I took photos from recent hiking trips, most from July 19th. I started on the east side and hiked over the summit then down the west side. It was after work and the sun was starting to set as i crested the peak.</p>
<p><a href="http://flic.kr/s/aHsjvKDxer" target="_blank">Follow this link to see the full set on Flickr</a>.</p>
<div style="padding: 0; overflow: hidden; margin: 0; width: 500px;"><a style="text-decoration: none;" title="Pinnacle 7-19-2011 1" href="http://www.flickr.com/photos/katieandcharles/6065490165/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6088/6065490165_32e2557af9_s.jpg" alt="Pinnacle 7-19-2011 1" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 2" href="http://www.flickr.com/photos/katieandcharles/6066038502/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6075/6066038502_c20e1a3f8a_s.jpg" alt="Pinnacle 7-19-2011 2" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 3" href="http://www.flickr.com/photos/katieandcharles/6065493093/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6200/6065493093_3039ee431f_s.jpg" alt="Pinnacle 7-19-2011 3" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 4" href="http://www.flickr.com/photos/katieandcharles/6066040750/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6206/6066040750_27c006251c_s.jpg" alt="Pinnacle 7-19-2011 4" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 5" href="http://www.flickr.com/photos/katieandcharles/6065494529/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6197/6065494529_aa588ed350_s.jpg" alt="Pinnacle 7-19-2011 5" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 6" href="http://www.flickr.com/photos/katieandcharles/6066042036/in/set-72157627360344959/"><img style="padding: 0 0 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6090/6066042036_1196fbe041_s.jpg" alt="Pinnacle 7-19-2011 6" /></a><br clear="all" /><a style="text-decoration: none;" title="Pinnacle 7-19-2011 7" href="http://www.flickr.com/photos/katieandcharles/6065496419/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6062/6065496419_b78bf37f16_s.jpg" alt="Pinnacle 7-19-2011 7" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 8" href="http://www.flickr.com/photos/katieandcharles/6065497119/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6205/6065497119_146593b1c5_s.jpg" alt="Pinnacle 7-19-2011 8" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 9" href="http://www.flickr.com/photos/katieandcharles/6066044606/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6068/6066044606_746bf82966_s.jpg" alt="Pinnacle 7-19-2011 9" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 10" href="http://www.flickr.com/photos/katieandcharles/6065498355/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6194/6065498355_c078c6844c_s.jpg" alt="Pinnacle 7-19-2011 10" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 11" href="http://www.flickr.com/photos/katieandcharles/6066046192/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6069/6066046192_a7aa18b6fc_s.jpg" alt="Pinnacle 7-19-2011 11" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 12" href="http://www.flickr.com/photos/katieandcharles/6066047486/in/set-72157627360344959/"><img style="padding: 0 0 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6087/6066047486_e41bacccb2_s.jpg" alt="Pinnacle 7-19-2011 12" /></a></div>
<div style="padding: 0; overflow: hidden; margin: 0; width: 500px;"><br clear="all" /><a style="text-decoration: none;" title="Pinnacle 7-19-2011 13" href="http://www.flickr.com/photos/katieandcharles/6065500887/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6067/6065500887_6876ae6ea2_s.jpg" alt="Pinnacle 7-19-2011 13" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 14" href="http://www.flickr.com/photos/katieandcharles/6065501827/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6076/6065501827_755e5e6997_s.jpg" alt="Pinnacle 7-19-2011 14" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 15" href="http://www.flickr.com/photos/katieandcharles/6066049786/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6209/6066049786_96880956e6_s.jpg" alt="Pinnacle 7-19-2011 15" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 16" href="http://www.flickr.com/photos/katieandcharles/6065503525/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6079/6065503525_00d769d736_s.jpg" alt="Pinnacle 7-19-2011 16" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 17" href="http://www.flickr.com/photos/katieandcharles/6066051300/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6209/6066051300_5ae1a7b230_s.jpg" alt="Pinnacle 7-19-2011 17" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 18" href="http://www.flickr.com/photos/katieandcharles/6065505495/in/set-72157627360344959/"><img style="padding: 0 0 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6068/6065505495_c5e3b7f38e_s.jpg" alt="Pinnacle 7-19-2011 18" /></a><br clear="all" /><a style="text-decoration: none;" title="Pinnacle 7-19-2011 19" href="http://www.flickr.com/photos/katieandcharles/6065506057/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6187/6065506057_2a3877fbd8_s.jpg" alt="Pinnacle 7-19-2011 19" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 20" href="http://www.flickr.com/photos/katieandcharles/6065506785/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6077/6065506785_7d376ea005_s.jpg" alt="Pinnacle 7-19-2011 20" /></a><a style="text-decoration: none;" title="Pinnacle 7-19-2011 21" href="http://www.flickr.com/photos/katieandcharles/6066054872/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6209/6066054872_c9718795b6_s.jpg" alt="Pinnacle 7-19-2011 21" /></a><a style="text-decoration: none;" title="Pinnacle from the north" href="http://www.flickr.com/photos/katieandcharles/6066119722/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6198/6066119722_342c726022_s.jpg" alt="Pinnacle from the north" /></a><a style="text-decoration: none;" title="Pinnacle from parking lot" href="http://www.flickr.com/photos/katieandcharles/6065572857/in/set-72157627360344959/"><img style="padding: 0 10px 10px 0; width: 75px; height: 75px; float: left;" src="http://farm7.static.flickr.com/6089/6065572857_ce2b4e99e4_s.jpg" alt="Pinnacle from parking lot" /></a><img style="padding: 0 0 10px 0; width: 75px; height: 75px; float: left;" src="http://l.yimg.com/g/images/gallery-empty-icon.gif" alt="" /></div>
<div style="font-size: 0.8em; margin-top: 0px; margin-bottom: 5px;">
<p><a href="http://www.flickr.com/photos/katieandcharles/sets/72157627360344959/">Pinnacle Mountain, Arkansas</a>, a set on Flickr.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://cmhudson.com/3416/2011/08/pictures-from-pinnacle-mountain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A sad day in aviation history as Liberty Belle burns</title>
		<link>http://cmhudson.com/3400/2011/06/a-sad-day-in-aviation-history/</link>
		<comments>http://cmhudson.com/3400/2011/06/a-sad-day-in-aviation-history/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 21:18:55 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[Aviation]]></category>
		<category><![CDATA[history]]></category>

		<guid isPermaLink="false">http://cmhudson.com/?p=3400</guid>
		<description><![CDATA[Today is a sad day indeed. I could not believe my eyes reading about a B17 that crashed near Chicago today when I learned that it was Liberty Belle. After an engine fire, it was set down in a corn field and &#8230; <a href="http://cmhudson.com/3400/2011/06/a-sad-day-in-aviation-history/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today is a sad day indeed. I could not believe my eyes reading about a B17 that crashed near Chicago today when I learned that it was Liberty Belle. After an engine fire, it was set down in a corn field and was engulfed in flames. The silver lining is that the 7 people on board got out safely.</p>
<p><strong>Update: </strong>better pictures here: <a href="http://www.dailyherald.com/article/20110613/news/706139928/photos/EP1/">http://www.dailyherald.com/article/20110613/news/706139928/photos/EP1/</a></p>
<p><a href="http://www.chicagobreakingnews.com/news/local/chibrknews-crews-responding-to-incident-involving-wwii-bomber-20110613,0,5339638.story" target="_blank">Full story</a></p>
<p><a href="http://cmhudson.com/wp-content/uploads/2011/06/b-17_crash11.jpg"><img class="alignnone size-full wp-image-3401" title="Liberty Belle crash" src="http://cmhudson.com/wp-content/uploads/2011/06/b-17_crash11.jpg" alt="Liberty Belle crash" width="640" height="360" /></a></p>
<p>While there are a limited number of B17s flying, this one in particular will be missed as it was one of the most well-known and well traveled. It has been touring since 2004 when it was last restored and has a remarkable post-war service history. I&#8217;ve toured and taken pictures of her. In 2007 I saw it flying around Boise and followed it to the airport where I took hundreds of photos. I also have a poster of it on my wall which I purchased to help support the <a href="http://www.libertyfoundation.org/index.html" target="_blank">Liberty Foundation</a>. <a href="http://www.flickr.com/photos/katieandcharles/sets/72157602657612199/" target="_blank">You can see my gallery of Liberty Belle here</a>.</p>
<div id="attachment_3402" class="wp-caption alignnone" style="width: 650px"><a href="http://www.flickr.com/photos/katieandcharles/sets/72157602657612199/" target="_blank"><img class="size-full wp-image-3402  " title="A pic I took in 2007 when Liberty Belle visited Boise" src="http://cmhudson.com/wp-content/uploads/2011/06/1720752908_d0c1b7f552_z.jpg" alt="A pic I took in 2007 when Liberty Belle visited Boise" width="640" height="335" /></a><p class="wp-caption-text">A pic I took in 2007 when Liberty Belle visited Boise</p></div>
<p>&nbsp;</p>
<p>The Liberty Foundation has another B17 in restoration. After seeing the images of the crash, I&#8217;m doubtful if Liberty Belle will ever fly again, though perhaps she can be parted out to benefit restoration projects. I hope that the foundation is able to make their other Fortress flyable so the number of working airframes doesn&#8217;t permanently drop.</p>
<div id="attachment_3405" class="wp-caption alignnone" style="width: 650px"><a href="http://www.flickr.com/photos/katieandcharles/1720754610/" target="_blank"><img class="size-full wp-image-3405 " title="Nose profile of Liberty Belle" src="http://cmhudson.com/wp-content/uploads/2011/06/1720754610_a5add9ad39_z.jpg" alt="Nose profile of Liberty Belle" width="640" height="361" /></a><p class="wp-caption-text">Nose profile of Liberty Belle</p></div>
<p>The Flying Fortress was famous for being tough and getting its crew home safely even after being shot to hell. It&#8217;s not an insignificant comfort that Liberty Belle lived up to that legacy. Losing an aircraft is part of the risk of maintaining a flying museum such as this, but getting the opportunity to see it in person is something an aviation buff like myself will not soon forget.</p>
]]></content:encoded>
			<wfw:commentRss>http://cmhudson.com/3400/2011/06/a-sad-day-in-aviation-history/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixed slow Chrome on Ubuntu due to DNS</title>
		<link>http://cmhudson.com/3396/2011/05/fixed-slow-dns-resolving-in-chrome-on-ubuntu/</link>
		<comments>http://cmhudson.com/3396/2011/05/fixed-slow-dns-resolving-in-chrome-on-ubuntu/#comments</comments>
		<pubDate>Tue, 17 May 2011 15:06:48 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://cmhudson.com/?p=3396</guid>
		<description><![CDATA[After upgrading Ubuntu to 11.04 I found Chrome to be rather slow when resolving sites, making it rather unusable. Firefox on the other hand seemed to be running OK. Having had slow DNS issues over the years in Ubuntu, I &#8230; <a href="http://cmhudson.com/3396/2011/05/fixed-slow-dns-resolving-in-chrome-on-ubuntu/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After upgrading Ubuntu to 11.04 I found Chrome to be rather slow when resolving sites, making it rather unusable. Firefox on the other hand seemed to be running OK.</p>
<p>Having had slow DNS issues over the years in Ubuntu, I did a quick search and found this:<br />
<a href="http://falcon1986.wordpress.com/2010/06/01/how-to-speed-up-google-chrome-on-ubuntu/" target="_blank">http://falcon1986.wordpress.com/2010/06/01/how-to-speed-up-google-chrome-on-ubuntu/</a></p>
<p>It is indeed a DNS setting and following the instructions in that post made a world of difference. Chrome is usable again.</p>
]]></content:encoded>
			<wfw:commentRss>http://cmhudson.com/3396/2011/05/fixed-slow-dns-resolving-in-chrome-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Post Formats in WordPress 3.1 &#8211; keeping your sanity</title>
		<link>http://cmhudson.com/3374/2011/03/post-formats-in-wordpress-3-1/</link>
		<comments>http://cmhudson.com/3374/2011/03/post-formats-in-wordpress-3-1/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 21:13:17 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[Website Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[portability]]></category>
		<category><![CDATA[post formats]]></category>
		<category><![CDATA[templates]]></category>

		<guid isPermaLink="false">http://cmhudson.com/?p=3374</guid>
		<description><![CDATA[A major new feature in WordPress 3.1, which was released on February 23, 2011, is Post Formats. While maybe not game changing, it is a powerful feature that provides an elegant way to customize how a post looks in a &#8230; <a href="http://cmhudson.com/3374/2011/03/post-formats-in-wordpress-3-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A major new feature in WordPress 3.1, which was <a title="Reinhardt" href="http://wordpress.org/news/2011/02/threeone/" target="_blank">released on February 23, 2011</a>, is <a title="Codex writeup on Post Formats" href="http://codex.wordpress.org/Post_Formats" target="_blank">Post Formats</a>. While maybe not game changing, it is a powerful feature that provides an elegant way to customize how a post looks in a standardized, portable way.</p>
<p>Many theme developers used categories or custom taxonomies to provide the same functionality, but in an ad-hoc way. Post formats are a replacement for hacking categories to customize the display of specific posts. It allows you to select a format from a predefined list.</p>
<p>In technical terms, post formats are a new taxonomy, a new box in the Post Edit screen, and a set of functions that expose the selected values to the theme.</p>
<p>Post formats are not customizable. The theme must specifically add support for them, and must activate specific formats, but new formats cannot be added. The reason for this is portability and standardization; <a title="Otto on WordPress on post types and formats." href="http://ottopress.com/2010/post-types-and-formats-and-taxonomies-oh-my/" target="_blank">Otto on WordPress has a great writeup about the reason behind this standardization</a>.</p>
<p>To activate post formats in your theme, put this in functions.php:</p>
<p><code>add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );<br />
</code><br />
This function must be called before the init hook, &#8220;after_setup_theme&#8221; is a good hook to use, according to the Codex.</p>
<p>The second parameter is a list of post formats to activate. Each that you list will appear in the &#8220;Format&#8221; box in the post edit screen. You can only choose from the preselected list, any non-standard formats will be ignored; I know, I tried using &#8220;dog&#8221;, &#8220;cat&#8221;, &#8220;food&#8221;. Here is the list of acceptible formats:</p>
<ul>
<li>aside</li>
<li>gallery</li>
<li>link</li>
<li>image</li>
<li>quote</li>
<li>status</li>
<li>video</li>
<li>audio</li>
<li>chat</li>
</ul>
<p>The theme developer has the freedom to implement and style these formats as they please, but they are obviously geared toward specific, common uses, which adds to the standardization and portability we discussed earlier.</p>
<h2>Exposing the post format</h2>
<p>A lot of people have already written about how to implement the post formats in your code. Be careful about where you read it, check the date. There are a lot of posts that were published before WordPress 3.1 was released, so they may not have the most current information. In addition to the <a title="Codex page on post formats" href="http://codex.wordpress.org/Post_Formats" target="_blank">Codex page</a> on post formats, here are some other resources that will help give you an idea of what the loop code can look like:<br />
<a title="WordPress 3.1 Post Formats" href="http://www.snilesh.com/resources/wordpress/wordpress-3-1-post-formats/" target="_blank">http://www.snilesh.com/resources/wordpress/wordpress-3-1-post-formats/<br />
</a><a title="WordPress 3.1 Post Formats by c.bavota" href="http://bavotasan.com/tutorials/wordpress-3-1-post-formats/" target="_blank">http://bavotasan.com/tutorials/wordpress-3-1-post-formats/</a><a href="http://www.snilesh.com/resources/wordpress/wordpress-3-1-post-formats/"></a></p>
<p>The following template tag functions are provided to detect and utilize the post format:</p>
<ul>
<li><tt><a title="Function Reference/set post format" href="http://codex.wordpress.org/Function_Reference/set_post_format" target="_blank">set_post_format($post, $format) </a></tt></li>
<li><tt><a title="Function Reference/get post format" href="http://codex.wordpress.org/Function_Reference/get_post_format" target="_blank">get_post_format($post_id)</a></tt> returns format of a the specified post, or null if not set.</li>
<li><tt><a title="Function Reference/get post format link" href="http://codex.wordpress.org/Function_Reference/get_post_format_link" target="_blank">get_post_format_link($format)</a></tt> returns permalink for the post format archive.</li>
<li><tt><a title="Function Reference/get post format string" href="http://codex.wordpress.org/Function_Reference/get_post_format_string" target="_blank">get_post_format_string($slug)</a></tt> returns displayable, translated version of format.</li>
<li><tt><a title="Function Reference/has post format" href="http://codex.wordpress.org/Function_Reference/has_post_format" target="_blank">has_post_format($format,$post_id)</a></tt> returns true if provided format is set in post</li>
</ul>
<p>Each accepts post_id as a parameter, or can be used within The Loop without providing the post_id. The functions we will probably use the most are <em>get_post_format</em> and <em>has_post_format</em>. Either can be used within The Loop like any other template tag function.</p>
<p><code>while (have_posts()) {<br />
the_post();<br />
if ( has_post_format( 'video' )) {<br />
echo 'this is the video format';<br />
}<br />
}<br />
</code><br />
From here, it&#8217;s pretty straightforward; refer to the resources I referenced earlier for more examples. Your loop code would have to test for each post format and put special handling code in <em>if</em> blocks. Is that the best way to handle it? No, I have a better idea.</p>
<h2>Keep your sanity using template parts</h2>
<p>Do you use the loop template part? If not, you should. It allows you to put the code for your loop into its own file, keeping it separate and allowing clean re-use of the loop code across many different templates. Before this was an option, we would have identical code on several different template files, or we would just use <em>include_once()</em> to get our custom loop template.</p>
<p>The function <a title="Function reference: get_template_part()" href="http://codex.wordpress.org/Function_Reference/get_template_part" target="_blank"><em>get_template_part ($slug,$name)</em></a> allows us to safely include a template file. This is often used to get the loop: <em>get_template_part(&#8216;loop&#8217;)</em>, which allows us to keep several different loop files: <em>get_template_part(&#8216;loop&#8217;,'page&#8217;)</em> which gets <em>loop-page.php</em> or <em>get_template_part(&#8216;loop&#8217;,'post&#8217;)</em> which gets <em>loop-post.php</em>. The parameters accepted are not limited to predefined template types, so we can use it within our loop template to grab a <em>format</em> sub-template:</p>
<p><code><br />
while (have_posts()) {<br />
the_post();</code></p>
<p>if (has_post_format(&#8216;aside&#8217;)) {<br />
get_template_part(&#8216;formats&#8217;,'aside&#8217;);<br />
} else if (has_post_format(&#8216;gallery&#8217;)) {<br />
get_template_part(&#8216;formats&#8217;,'gallery&#8217;);<br />
} else  {<br />
get_template_part(&#8216;formats&#8217;,'standard&#8217;);<br />
}<br />
}</p>
<p>This setup will allow you to put your format-specific code in sub-templates:<br />
<em>formats-aside.php<br />
formats-standard.php<br />
formats-gallery.php<br />
</em></p>
<p>Another way to go about it, using the <em>get_post_format()</em> function, which will allow us to avoid the if/else blocks:</p>
<p><code><br />
if ( have_posts() ) {<br />
the_post();<br />
$format = get_post_format();<br />
if (! $format) {<br />
$format = 'standard';<br />
}<br />
get_template_part('formats',$format);<br />
}<br />
</code></p>
<p>I am a proponent of clean, reused and manageable code, so this method really appeals to me. One thing to look out for is if a post format is selected that you haven&#8217;t added a child template for. In this case, <em>get_template_part()</em> fails somewhat gracefully by not doing anything, but does not provide any way for you to determine if it was able to find the template, so be sure you have child templates for all the post formats you have enabled! The worst case scenario is that an unsupported format will result in a blank post, but there are ways to provide a fallback, such as using output buffering to assign the contents to a variable and testing to see if it&#8217;s empty.</p>
<h2>Summary</h2>
<p>Post formats provide a powerful way to customize how individual posts are displayed and formatted, in a standardized and portable way. It will allow blogs to visibly show differences in different types of posts, and really expands the flexibility of WordPress. There is already a lot of good information out there, but be sure it&#8217;s current as much of it was published before the feature was finalized. Using the child template setup, you can find a manageable way to organize your format code. Have fun, leave a comment if you have a question or something to say.</p>
]]></content:encoded>
			<wfw:commentRss>http://cmhudson.com/3374/2011/03/post-formats-in-wordpress-3-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Displaying post date in WordPress</title>
		<link>http://cmhudson.com/3353/2011/01/displaying-post-date-in-wordpress/</link>
		<comments>http://cmhudson.com/3353/2011/01/displaying-post-date-in-wordpress/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 17:22:52 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[formatting]]></category>
		<category><![CDATA[the_date]]></category>
		<category><![CDATA[the_time]]></category>

		<guid isPermaLink="false">http://cmhudson.com/?p=3353</guid>
		<description><![CDATA[I made a discovery today that probably should have been obvious as much as I work with WordPress. I&#8217;m not going to make excuses, except that apparently I&#8217;ve never taken the time to read the documentation for &#8220;the_date()&#8221;. Ever noticed &#8230; <a href="http://cmhudson.com/3353/2011/01/displaying-post-date-in-wordpress/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I made a discovery today that probably should have been obvious as much as I work with WordPress. I&#8217;m not going to make excuses, except that apparently I&#8217;ve never taken the time to read the documentation for &#8220;the_date()&#8221;.</p>
<p>Ever noticed that if you use the template tag &#8220;the_date()&#8221; when outputting a list of posts, like a &#8220;Recent News&#8221; section, that several of the posts may appear to be missing their date? You may not have noticed it if each post was published on a different day;  the_date() outputs once for each day. If you have multiple posts in your query results that have the same publish date, the date will only be output for the first.</p>
<p>I actually think it&#8217;s a pretty cool little trick; in my ignorance, I&#8217;ve actually implemented it myself. However, I wish you could turn it off.</p>
<p>You can&#8217;t turn it off, but you can use &#8220;the_time()&#8221; instead. Be default, the_time() outputs the publish time in whatever format you have selected in your site settings. You can pass in a standard PHP date format string so that it will show whatever part of the publish time you wish. My favorite is &#8216;F jS, Y&#8217;, which outputs like this: &#8216;January 30th, 2011&#8242;.</p>
<p>You can also use &#8220;get_the_date()&#8221;, which takes the same formatting string parameter. The different is, it returns the string rather than echoing it. Oh, and it&#8217;s always a good idea to read the documentation.</p>
<h2>See more</h2>
<p>Formatting Date and Time:<br />
<a href="http://codex.wordpress.org/Formatting_Date_and_Time" target="_blank">http://codex.wordpress.org/Formatting_Date_and_Time</a></p>
<p>Function Reference/the_time:<br />
<a href="http://codex.wordpress.org/Template_Tags/the_time" target="_blank">http://codex.wordpress.org/Template_Tags/the_time</a></p>
<p>Function Reference/the_date:<br />
<a href="http://codex.wordpress.org/Function_Reference/the_date" target="_blank">http://codex.wordpress.org/Function_Reference/the_date</a></p>
<p>And, of course, the PHP date formatting guide which I refer to all too often:<br />
<a href="http://us2.php.net/manual/en/function.date.php" target="_blank">http://us2.php.net/manual/en/function.date.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cmhudson.com/3353/2011/01/displaying-post-date-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0.4 is out</title>
		<link>http://cmhudson.com/3317/2010/12/wordpress-3-0-4-is-out/</link>
		<comments>http://cmhudson.com/3317/2010/12/wordpress-3-0-4-is-out/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 15:47:52 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://cmhudson.com/?p=3317</guid>
		<description><![CDATA[http://wordpress.org/news/2010/12/3-0-4-update/ A new version of WordPress, 3.0.4, is out and the WordPress team is strongly encouraging WP users to update. This update has to do with KSES (http://sourceforge.net/projects/kses/) the html sanitation library used in the WP core and fixes a &#8230; <a href="http://cmhudson.com/3317/2010/12/wordpress-3-0-4-is-out/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="WordPress version 3.0.4" href="http://wordpress.org/news/2010/12/3-0-4-update/" target="_blank">http://wordpress.org/news/2010/12/3-0-4-update/</a></p>
<p>A new version of WordPress, 3.0.4, is out and the WordPress team is strongly encouraging WP users to update.</p>
<p>This update has to do with KSES (<a title="KSES" href="http://sourceforge.net/projects/kses/" target="_blank">http://sourceforge.net/projects/kses/</a>) the html sanitation library used in the WP core and fixes a XSS vulnerability.</p>
<p>As serious as XSS vulnerabilities can be, it&#8217;s probably a good idea to apply this update as soon as you can. The WordPress automatic update makes applying these updates pretty much painless if your site supports it. Otherwise, unpack the zip file and push it up via FTP, SCP, SSH, etc. Since this is not a major version update, I don&#8217;t find it necessary to remove all core WP files before pushing the new ones up. If you are selective about which files you push up while updating, make sure you upload all the files in the root folder. Even if you push all files in wp-admin and wp-includes, the file which tells WP which version is installed is in the root so if it&#8217;s not pushed up WP will not recognize that it has been updated.</p>
]]></content:encoded>
			<wfw:commentRss>http://cmhudson.com/3317/2010/12/wordpress-3-0-4-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Strange Loop 2010 &#8211; geek out in STL</title>
		<link>http://cmhudson.com/3309/2010/10/strange-loop-2010-geek-out-in-stl/</link>
		<comments>http://cmhudson.com/3309/2010/10/strange-loop-2010-geek-out-in-stl/#comments</comments>
		<pubDate>Sat, 16 Oct 2010 03:48:11 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[Industry Stuff]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Website Development]]></category>

		<guid isPermaLink="false">http://cmhudson.com/?p=3309</guid>
		<description><![CDATA[Strange Loop 2010 was a lot of fun. Delta Systems went as a group&#8230;that amounted to myself, Steve Powell and Brad Griffith. It&#8217;s an easy and accessible conference close to home, but the line up was good and it was &#8230; <a href="http://cmhudson.com/3309/2010/10/strange-loop-2010-geek-out-in-stl/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Strange Loop 2010 was a lot of fun. Delta Systems went as a group&#8230;that amounted to myself, Steve Powell and Brad Griffith. It&#8217;s an easy and accessible conference close to home, but the line up was good and it was well organized and executed.</p>
<p>If I were to overgeneralize the event, it would be Clojure, NoSQL, Node.js, Java and FanBoys. It was really an emerging web technology summit with a focus on JavaScript, non-associative databases and the future of our industry. Guy Steele from Oracle gave an enlightening talk on thursday evening about parallel programming with a fantastic intro where he reverse-engineered a punch-card program he wrote on the IBM 1130. I&#8217;m fascinated by computer history, so this was awesome. Douglas Crockford&#8217;s closing keynote was a high point. &#8220;<a href="http://strangeloop2010.com/talks/14301">Heresy and Heretical Open Source: A Heretic&#8217;s Perspective</a>&#8221; talked all about open source, JSON, JavaScript and the &#8220;don&#8217;t do evil&#8221; software license. It included a great tribute to Grade Hopper. She was here first, we owe it all to her. Oh, and IE6, 7 &amp; 8 must die!</p>
<p>A group panel on the future of programming combined the talents of Guy Steele and Douglas Crockford with some more talented guys for an entertaining, informative exchange.</p>
<p>One my the talks I looked forword to most and enjoyed the most was on the evolution of Flickr. As a long-time user and fan of Flickr i twas fascinating to have a peek inside. The chaos of the startup environment sounds so familiar to some of the things we experience from time to time in a web development shop.</p>
<p>Another talk I got a lot out of was the beginning Android development talk, given by Ted Neward who also mediated the future of programming panel.</p>
<p>But that&#8217;s not all. All the talks I went to were informative, moved along at a good pace and covered relevant topics. Considering the distance traveled and the quality of speakers, it was well worth the time. I don&#8217;t  spend much time in St Louis and had never been to The Loop. It was interesting and fun. It would be fun to spend a weekend there.</p>
<p>I would definitely go back to Strange Loop 2011 if circumstances allow; staying up to date on where the industry is headed, what other people think about the same things we work with all the time, and getting the chance to see giants in the field all contribute to the sometimes difficult task of keeping up while getting the work done. If you get the chance, I definitely recommend Strange Loop 2011.</p>
]]></content:encoded>
			<wfw:commentRss>http://cmhudson.com/3309/2010/10/strange-loop-2010-geek-out-in-stl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0 launched</title>
		<link>http://cmhudson.com/10/2010/06/wordpress-30-launched/</link>
		<comments>http://cmhudson.com/10/2010/06/wordpress-30-launched/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 21:17:05 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[Website Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://cmhudson.com/?p=10</guid>
		<description><![CDATA[Finally, after months of eagerly waiting, WordPress 3.0 is publicly available. This version contains features that are geared toward making it an even better Content Management System, so it appeals to me. The updated and simplified admin interface also appeals &#8230; <a href="http://cmhudson.com/10/2010/06/wordpress-30-launched/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Finally, after months of eagerly waiting, <a title="WordPress 3.0 “Thelonious”" href="http://wordpress.org/development/2010/06/thelonious/" target="_blank">WordPress 3.0 is publicly available</a>. This version contains features that are geared toward making it an even better Content Management System, so it appeals to me. The updated and simplified admin interface also appeals to my design aesthetic and the new default theme, Twenty Ten, is a huge improvement.</p>
<p>The menu-management system is something that has been needed for ages and it&#8217;s especially nice to have that functionality without a plugin. I&#8217;ve always felt that the ability to create multiple arbitrary menus is a stand-out feature in the open source Drupal CMS and helps Drupal become a CMS a developer can love. Adding this feature to WordPress clearly nudges it further in the direction of a powerful CMS rather than simple blog publishing software.</p>
<p>Another much-hyped feature is the merge of WordPress MU with the main branch. MU offers the ability to administer a network of sites from a single install. WordPress.com uses MU to host over 10 million sites from a single code base.</p>
<p>This version also ads better support for custom content types which allows a user to create an artbitrary content type. You can use this to display content types differently and organize your content. keep in mind that additional plugins may be needed to manage content types from within the management interface.</p>
<p>Lots of simple code cleanup happened since 2.9.2. I performed a full directory diff on version 2.9.2 and version 3.0 and many of the changes were syntax changes rather than logic changes. I applaud them for that as they work to keep WordPress cutting edge.</p>
<p>Most important feature of this release? A new filter for the content that makes the P in Press capitalized. Try it: &#8220;WordPress&#8221;. I typed that word with a lowercase &#8220;p&#8221; in this post, but it always appears right. Good job, guys!</p>
]]></content:encoded>
			<wfw:commentRss>http://cmhudson.com/10/2010/06/wordpress-30-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

