<?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>Paul Cowles &#187; Learnings</title>
	<atom:link href="http://www.paulcowles.com/category/learnings/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.paulcowles.com</link>
	<description>on-going</description>
	<lastBuildDate>Fri, 19 Mar 2010 17:39:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>RSS aggregation using rails</title>
		<link>http://www.paulcowles.com/2008/12/18/rss-aggregation-using-rails/</link>
		<comments>http://www.paulcowles.com/2008/12/18/rss-aggregation-using-rails/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 05:21:48 +0000</pubDate>
		<dc:creator>paulcowles</dc:creator>
				<category><![CDATA[Learnings]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://www.paulcowles.com/2008/12/18/rss-aggregation-using-rails/</guid>
		<description><![CDATA[I&#8217;ve been playing around with aggregating RSS feeds, and thought I&#8217;d share a few observations: Handling all the different RSS variants is still not simple (many feeds aren&#8217;t even valid). After harvesting direct turned out to be challenging, I switched to using Google Base to authenticate with Google and then retrieving feeds from the undocumented [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with aggregating RSS feeds, and thought I&#8217;d share a few observations:</p>
<ul>
<li>Handling all the different RSS variants is still not simple (many feeds aren&#8217;t even valid). After harvesting direct turned out to be challenging, I switched to using <a href="http://googlebase.rubyforge.org/">Google Base</a> to authenticate with Google and then retrieving feeds from the <a href="http://www.niallkennedy.com/blog/2005/12/google-reader-api.html">undocumented Reader API</a> (still waiting for official Google Data API)  &#8211; eg. http://www.google.com/reader/atom/feed/http://www.yourfeedaddresshere.com. This way at least Google has done the work for you in terms of standardizing the feed to a common format, atom, and ensuring validity.</li>
<li>Converting contents encoded with HTML entities is easily undone using the <a href="http://htmlentities.rubyforge.org/">htmlentities</a> gem.</li>
<li>You can skip <a href="https://github.com/ln/ruby-feedparser/tree">ruby-feedparser</a> and <a href="https://github.com/cardmagic/simple-rss/tree">simple-rss</a> and move straight to <a href="http://code.whytheluckystiff.net/hpricot/wiki/HpricotBasics">hpricot</a>, especially given the clean results from Google Reader.</li>
<li>A rake task is perfect for scheduling and queuing updates (make sure you throttle and cache appropriately).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.paulcowles.com/2008/12/18/rss-aggregation-using-rails/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What&#8217;s better than a little REST?</title>
		<link>http://www.paulcowles.com/2005/02/07/whats-better-than-a-little-rest/</link>
		<comments>http://www.paulcowles.com/2005/02/07/whats-better-than-a-little-rest/#comments</comments>
		<pubDate>Mon, 07 Feb 2005 22:28:06 +0000</pubDate>
		<dc:creator>paulcowles</dc:creator>
				<category><![CDATA[Learnings]]></category>

		<guid isPermaLink="false">http://blog.propertyfind.ca/?p=8</guid>
		<description><![CDATA[A couple years ago, Mark Baker and I had a quick conversation about Web services. I told Mark we were planning on offering SOAP and XML-RPC APIs to eventSherpa and Sherpafind, our first products at Semaview. Mark quickly and emphatically pointed out some of the advantages to offering REST style Web services. In the end, [...]]]></description>
			<content:encoded><![CDATA[<p>A couple years ago, <a href="http://www.markbaker.ca/2002/09/Blog/2005/02/07#2005-02-flickr">Mark Baker</a> and I had a quick conversation about Web services. I told Mark we were planning on offering SOAP and XML-RPC APIs to eventSherpa and Sherpafind, our first products at Semaview. Mark quickly and emphatically pointed out some of the advantages to offering REST style Web services. In the end, I went ahead with our SOAP and XML-RPC APIs, only to find very much the same result that <a href="http://www.oreillynet.com/pub/a/network/2005/02/04/sb_flckr.html">Stewart Butterfield</a> has had with flickr &#8211; that being little to no actual development taking place using these APIs. We had a few developers inquire about using the SOAP APIs, but other than a few less than stellar prototypes nothing came of it. If we had offered REST style services I have no doubt that we would have had increased interest by the early adopters. My mistake. I&#8217;ve seen the light.</p>
<p>REST style Web services are simple and intuitive. If you look at the services that are exploding on the Web &#8211; they are the ones that are doing so with the help of thousands of developers extending and refining the product. If you can get a community involved in building extensions to your foundation, you have free innovation. I have yet to see a service gain momentum on par with flickr, using SOAP or XML-RPC APIs. Even the <a href="http://www.amazon.com">Web&#8217;s premier retailer</a>  sees the majority of developers use REST rather than SOAP.</p>
<p>Lesson learned. Keep it simple stupid.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulcowles.com/2005/02/07/whats-better-than-a-little-rest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
