<?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>codemonkeyx.net &#187; Wordpress</title>
	<atom:link href="http://www.codemonkeyx.net/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.codemonkeyx.net</link>
	<description>Personal site for Nick Young, a central place for all my stuff on the net.</description>
	<lastBuildDate>Sat, 23 Jul 2011 22:42:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>What is Pubsubhubsub?</title>
		<link>http://www.codemonkeyx.net/2009/08/12/what-is-pubsubhubsub/</link>
		<comments>http://www.codemonkeyx.net/2009/08/12/what-is-pubsubhubsub/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 07:02:56 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Pubsubhubsub]]></category>
		<category><![CDATA[Syndication]]></category>
		<category><![CDATA[Wave]]></category>
		<category><![CDATA[Web 3.0]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.codemonkeyx.net/?p=257</guid>
		<description><![CDATA[After watching TWIg (This Week in Google) Episode 1 about a week ago found out about Pubsubhubsub. It sounded interesting because it seems like this protocol or something like it is going to be important to Google Wave in the future. I have not had a chance to play with Google Wave yet, but from [...]]]></description>
			<content:encoded><![CDATA[<p>After watching <a href="http://twit.tv/twig1">TWIg (This Week in Google) Episode 1</a> about a week ago found out about <a href="http://code.google.com/p/pubsubhubbub/">Pubsubhubsub.</a> It sounded interesting because it seems like this protocol or something like it is going to be important to Google Wave in the future. I have not had a chance to play with Google Wave yet, but from what I saw its goal is to do everything in real time, including interactions with websites, blogs, forums and comments.</p>
<p>With the current polling syndication system this is impossible to do without polling every website you are interested in multiple times a second. Pubsubhubsub is building on the current syndication spec and adding push notifications to it, thus allowing real time updates from any enabled site with a syndicated feed. In this post I am going to go over a little more of what I have learnt about PSHS and what it does and how to enable it with WordPress.<span id="more-257"></span></p>
<p><strong>So What Does it Do?</strong></p>
<p>The traditional syndication model is pretty simple and based on the standard Web model. The subscriber, a program like Google Reader, FriendFeed, or Flock, polls a feed from the publisher on a schedule. Every hour or thirty minutes the publisher is polled to see if there is anything new. </p>
<div id="attachment_258" class="wp-caption aligncenter" style="width: 435px"><img src="http://www.codemonkeyx.net/wp-content/uploads/2009/08/publisher-subscriber.png" alt="The Traditional Syndication Model" width="425" height="200" class="size-full wp-image-258" /><p class="wp-caption-text">The Traditional Syndication Model</p></div>
<p>This method has a couple of problems:</p>
<ol>
<li><strong>Resources:</strong> This consumes a lot or resources. Most subscribers have many (hundreds) feeds they are polling all the time, and a site can have thousands of subscribers. So there is a constant polling on a site from thousands of clients.</li>
<li><strong>Latency:</strong> There is a big problem with lag time between when a post is made, and when the subscriber receives it. Depending on the polling schedule it could be several minutes or hours before a post is picked up.</li>
</ol>
<p>Going back to Wave again, this model just would not work. The latency alone is not acceptable for real time updates. One of the Wave demos was to update comments on a blog post in the Wave client. The post to the site was instant, then replys came back to the client instantly from the blog. It was possible to carry on a conversation about the blog post via the comments. This adds comment managing problems, but we will have to sort that out later. </p>
<p>So if the Wave client had to wait for minutes for the syndication to pickup each new comment it would lessen the whole experience.</p>
<p>So Pubsubhubsub tries to inject Push into the current syndication model by adding a third party &#8220;hub&#8221; into the mix. The hub basically acts like a network hub, it takes information from once source and sends it out to multiple clients. What happens now is that the first time the subscriber reads your feed it is told the address of the hub that is associated with the feed. The subscriber will then register with the hub to get notifications about the publishers feed. Now when the publisher posts a new entry to the feed they also send a notification to the hub the hub then Pushs that notification out to all the subscribers who are registered with that feed.</p>
<div id="attachment_260" class="wp-caption aligncenter" style="width: 435px"><img src="http://www.codemonkeyx.net/wp-content/uploads/2009/08/pubsub-model.png" alt="The Pubsubhubsub Syndication Model" width="425" height="250" class="size-full wp-image-260" /><p class="wp-caption-text">The Pubsubhubsub Syndication Model</p></div>
<p>This can all happen in milliseconds and allows the subscriber to see new posts to a feed nearly the instant it is added. So for comment feeds on a blog, news posts or even Twitter like services, you can see all the updates right away.</p>
<p>As far as I know this does not work both ways yet, so no instant return postings. But this is early days and I am sure that will come eventually.</p>
<p><strong>Install in WordPress Today!</strong><br />
<em>Please remember everything is very early in development, so use at your own risk.</em></p>
<p>Currently the only sites that support this protocol are <a href="http://feedburner.google.com">FeedBurner</a> and <a href="http://www.friendfeed.com">FriendFeed</a>, but if you use Feedburner this is an important update just because it instantly updates your Feedburner feed when you post. If you use Feedburner without this service then you add Feedburners latency on top of the subscriber latency. </p>
<p>When I set out to update my WordPress themes I actually was getting ready to do some hacking and plugin development, but it seems I have been beaten too it. There is actually already two WordPress plugins that adds Pubsubhubbub to your feeds, and pretty much set it up for you.</p>
<p>These are the two plugins I am currently using:</p>
<ol>
<li><strong><a href="http://wordpress.org/extend/plugins/pubsubhubbub/">PubSubHubbub</a> by Josh Fraser:</strong> This plugin modifies your feeds to let your subscribers know which hub you are using, and also notifies the hub when you post new items.</li>
<li><strong><a href="http://wordpress.org/extend/plugins/feedburner-plugin/">FD Feedburner Plugin</a> by John Watson:</strong> This plugin forwards your feeds to your FeedBurner urls. In theory Pubsub should work with regular feeds just as well (maybe better?) but I already had Feedburner setup and did not want to uninstall everything for testing.</li>
</ol>
<p>After you have all that setup you will have to change a setting in your FeedBurner feeds. Under &#8220;Publicize&#8221; you will need to enable &#8220;PingShot&#8221; which tells FeedBurner to use push notifications.</p>
<p>You can follow the install instructions for the plugins and use the <a href="http://code.google.com/p/pubsubhubbub/">Pubsubhubsub</a> site for more up to date information. </p>
<p>Once you get everything working when you add a new post to your WordPress site you should be able to refresh your FeedBurner page and see the post immediately. Then as new sites add support they will receive push notifications from FeedBurner and get update right away too.</p>
<p><strong>Wrap Up</strong></p>
<p>This has been one of my longest posts ever, but it makes me excited when I think about what Wave and projects like PubSub are trying to do to the internet. These kind of architectures are really starting to show some glimpses of what we have in store, and I think it is an exciting time for geeks and Internet users alike.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codemonkeyx.net/2009/08/12/what-is-pubsubhubsub/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Short URL&#8217;s</title>
		<link>http://www.codemonkeyx.net/2009/08/08/short-urls/</link>
		<comments>http://www.codemonkeyx.net/2009/08/08/short-urls/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 22:49:29 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[codemonkeyx.net]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.codemonkeyx.net/?p=211</guid>
		<description><![CDATA[After installing WordPress one of the first things I wanted to do was make a custom Short URL generator for the site. However after doing a quick search for plugins I found out two modules that will do what I need. The first creates short links for all the posts on the site, the second [...]]]></description>
			<content:encoded><![CDATA[<p>After installing WordPress one of the first things I wanted to do was make a custom Short URL generator for the site. However after doing a quick search for plugins I found out two modules that will do what I need. The first creates short links for all the posts on the site, the second provides a directory of links to external sites. Both modules route all the links through a custom domain I bought.<span id="more-211"></span></p>
<p>So I actually got a custom &#8220;Tweet This!&#8221; link on every post with one line of code in my template, and one simple module called <a href="http://wordpress.org/extend/plugins/short-post-urls/">Short Post URLS</a>. Basically all I did was bought a new domain name that was as short as I could get (http://cmln.us) and mapped it onto my main domain. Now I can link to any post with the following url (http://cmln.us/p/1) where 1 is the post id. All stats and views should be recorded just like regular links to the post. </p>
<p>For general short links to external sites I am trying <a href="http://www.harleyquine.com/php-scripts/short-url-plugin/">Short URL Plugin by Harley</a>. So far I like that it is simple and does the job. But I have not had much chance to play with it yet, so I will have to test it a little more before commenting on how it works. In general though it maps external links onto http://cmln.us/u/1 where 1 is a unique id to the external link. This mod also tracks how many click-throughs there have been.</p>
<p><strong>Extending</strong></p>
<p>There are still some things I would like to add, like a bookmarklet that allows me to quickly create short-links. Also maybe a way to automatically create short-links for every link I create. Also I need to get an auto Tweet or Ping.fm plugin and have the shorturl embedded into my post announcements. </p>
<p>Also I would like the short-links to my posts to be automatically replaced with the longer version onces the user is forwarded. Right now the short domain just replaces my main domain. I am thinking that in the end I might just use the external link generator to create and track links to all links I make and not just external.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codemonkeyx.net/2009/08/08/short-urls/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Moved to WordPress!</title>
		<link>http://www.codemonkeyx.net/2009/08/07/moved-to-wordpress/</link>
		<comments>http://www.codemonkeyx.net/2009/08/07/moved-to-wordpress/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 06:54:56 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[codemonkeyx.net]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.codemonkeyx.net/?p=186</guid>
		<description><![CDATA[If you have been reading recently then you know that I have been having a few problems configuring Drupal 6 after upgrading from version 4.7. After looking through many configuration settings, and all the modules needed to do what I wanted I could see that Drupal was too much for what I needed. The Competition [...]]]></description>
			<content:encoded><![CDATA[<p>If you have been reading recently then you know that I have been having a few problems configuring Drupal 6 after upgrading from version 4.7. After looking through many configuration settings, and all the modules needed to do what I wanted I could see that Drupal was too much for what I needed.<br />
<img src="http://www.codemonkeyx.net/wp-content/uploads/2009/08/wp_monkey.png" alt="Monkey Loves WordPress" width="425" height="214" class="aligncenter size-full wp-image-189" /><br />
<span id="more-186"></span></p>
<p><strong>The Competition</strong></p>
<p>After decided to move away from Drupal the first thing I did was try to figure out what it was I wanted to do. You could say I wrote a Specification Document for myself. <img src='http://www.codemonkeyx.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I decided that I wanted the following things:</p>
<ul>
<li>A Blog &#8211; it is the main reason to have a personal site. A place to spout off. <img src='http://www.codemonkeyx.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Multi-Media handling &#8211; ability to upload images mostly to create rich posts.</li>
<li>Integration with Social websites (Twitter etc).</li>
<li>Extensibility &#8211; the ability to customize the look and functionality of the site.</li>
<li>Ease of use &#8211; it should be easy to maintain and post.</li>
</ul>
<p>My first thought was <a href="http://www.squarespace.com">SquareSpace</a>, mostly due to all the ads I see on <a href="http://www.twit.tv">twit.tv</a> and <a href="http://www.revision3.com">Revision3</a>. Their free trial was great and really gave me a chance to play with the tools they offer and get a feel for it. It really is an amazing service, I had a really nice looking site up and running in no time. It&#8217;s very easy to post and modify the look. But my main problem with it was that you only get the modules they offer you, there is no option for digging into the code and doing something custom. Even the generated HTML seems to be set, with few options for customizing it. Everything is done through the WYSIWYG editor, and custom CSS.</p>
<p>Next I looked at <a href="http://rubyonrails.org/">Ruby on Rails</a>, and after reading a lot about it and watching the screencasts I was into it. I was ready to try and code my blog from scratch and do everything myself. But the more I thought about it the more I realized that I really just want something to work right away, and play with making it better not making it work. My problem with Drupal was that I spent more time setting up, and making things work than I did actually posting stuff. I did not want to get into that again.</p>
<p>So while both SquareSpace and Rails are awesome they did not quite fit what I was looking for. SquareSpace is simple and easy to use, but lacks customization. Whereas Rails is the ultimate in customization but would require a lot of setup.</p>
<p><strong>Welcome WordPress!</strong></p>
<p>Actually I had always thought that <a href="http://wordpress.org/">WordPress</a> was a hosted only blogging service, I had no idea that they offered an opensource package that you could install on your own host. Needless to say I was happy because WordPress seems to offer everything that I want.</p>
<p>The main advantage WordPress has over Drupal is that it knows what it wants to do. WordPress is blogging software, that&#8217;s it. Drupal&#8217;s goal is to do nearly everything you could want it to do, which is great but makes something harder for the user to do. </p>
<p>WordPress makes it easy to upload images, write posts, and manage it all in a clean and nice to look at interface. The raw PHP themes were a little hard to grasp, and I am still tweaking them, but they offer a lot of power. And via the Modules I can extend the functionality of the site if I need to.</p>
<p>Also, because of the higher profile of WordPress it is much easier to find pre-made modules, and other sites make sure they work with it.</p>
<p><strong>But is it Good?</strong></p>
<p>So far I am liking what I see, but I am far from an expert. The theme system took me a few hours to figure out what was going on, but after examining some other themes and playing around I got something working pretty quickly. Hopefully modules work just a well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.codemonkeyx.net/2009/08/07/moved-to-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress For the Win?</title>
		<link>http://www.codemonkeyx.net/2009/08/05/wordpress-for-the-win/</link>
		<comments>http://www.codemonkeyx.net/2009/08/05/wordpress-for-the-win/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 10:03:41 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[codemonkeyx.net]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.codemonkeyx.net/2009/08/05/wordpress-for-the-win/</guid>
		<description><![CDATA[Well after giving Drupal 6 a quick shot I decided that it is no longer for me. Drupal has always been a kitchen sink kind of system, and that&#8217;s what it&#8217;s meant to be. After looking at all the configuration options, and how many issues I ran into during a simple upgrade and updating a [...]]]></description>
			<content:encoded><![CDATA[<p>Well after giving Drupal 6 a quick shot I decided that it is no longer for me. Drupal has always been a kitchen sink kind of system, and that&#8217;s what it&#8217;s meant to be. After looking at all the configuration options, and how many issues I ran into during a simple upgrade and updating a theme I decided it was time to look for something a little more polished. Drupal is still great for creating a large community site, but if you are just looking for a blog or a central place for all your online stuff then it&#8217;s just overkill.</p>
<p>So with that I decided to give WordPress a try, and initial impressions are good. I have a blog up and running, and I am currently working on getting my old posts out of Drupal (much much harder than it should be) and importing into WordPress. I found a few tutorials for the move from Drupal, but most involve direct manupulation of the database, which in my eyes is a bad idea. So instead I am writing a small script that exports some basic Drupal post data into an XML file, then use the WordPress Import modules to import the data. So far it&#8217;s working well.</p>
<p>WordPress just seems much more focused on what I need right now, which is basically a blog. But it also seems to offer a lot of extensibility via modules and themes. I am about 60% of the way through creating a custom theme and it all seems quite well though out. Hopefully everything will be all back together by Monday. This will teach me to stop being lazy and just make a Linux server for testing next time, I was sure I could get everything upgraded in a day or two. <img src='http://www.codemonkeyx.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.codemonkeyx.net/2009/08/05/wordpress-for-the-win/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

