<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Building a proper shared syndication feed foundation</title>
	<atom:link href="http://decafbad.com/blog/2005/06/28/building-a-proper-shared-syndication-feed-foundation/feed" rel="self" type="application/rss+xml" />
	<link>http://decafbad.com/blog/2005/06/28/building-a-proper-shared-syndication-feed-foundation</link>
	<description>It's all spinning wheels and self-doubt until the first pot of coffee.</description>
	<lastBuildDate>Thu, 11 Mar 2010 12:23:09 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
	<item>
		<title>By: l.m.orchard</title>
		<link>http://decafbad.com/blog/2005/06/28/building-a-proper-shared-syndication-feed-foundation/comment-page-1#comment-1941</link>
		<dc:creator>l.m.orchard</dc:creator>
		<pubDate>Fri, 23 Sep 2005 18:14:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=663#comment-1941</guid>
		<description>&lt;p&gt;Bill:  What&#039;s funny is that I&#039;ve actually started doing something along those lines with something I named FeedSpool.&lt;/p&gt;

&lt;p&gt;http://decafbad.com/svn/trunk/feedspool/&lt;/p&gt;

&lt;p&gt;Feeds fetched and stored on the filesystem--shortly thereafter sliced into entries, one per file.  I base file and folder names on MD5 hashes of feed URLs and entry ID/content.  Also considering leaving SQL out of the picture altogether, store per-user metadata on the filesystem, maybe indexed for searchability with Berkeley DB or Lucene.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Bill:  What&#8217;s funny is that I&#8217;ve actually started doing something along those lines with something I named FeedSpool.</p>
<p><a href="http://decafbad.com/svn/trunk/feedspool/" rel="nofollow">http://decafbad.com/svn/trunk/feedspool/</a></p>
<p>Feeds fetched and stored on the filesystem&#8211;shortly thereafter sliced into entries, one per file.  I base file and folder names on MD5 hashes of feed URLs and entry ID/content.  Also considering leaving SQL out of the picture altogether, store per-user metadata on the filesystem, maybe indexed for searchability with Berkeley DB or Lucene.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bill Seitz</title>
		<link>http://decafbad.com/blog/2005/06/28/building-a-proper-shared-syndication-feed-foundation/comment-page-1#comment-1940</link>
		<dc:creator>Bill Seitz</dc:creator>
		<pubDate>Fri, 23 Sep 2005 17:58:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=663#comment-1940</guid>
		<description>&lt;p&gt;If you&#039;re going to store chunks as BLOBs, would it just make more sense to store them in the filesystem? Put the meta-data in the SQL db, but just have a filename handle to get to the ultimate content.&lt;/p&gt;

&lt;p&gt;Then you really have recoverability, etc.&lt;/p&gt;

&lt;p&gt;Though it increases the risk that you&#039;ll do something tacky and update a file without triggering an update of the meta-data, etc. but you could do the same thing regardless of the infrastructure layer...&lt;/p&gt;

&lt;p&gt;(Probably-not-related, an interview with Hans Reiser I read recently included him saying that BLOBs are a bad thing. But I didn&#039;t track down his reference documents....)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>If you&#8217;re going to store chunks as BLOBs, would it just make more sense to store them in the filesystem? Put the meta-data in the SQL db, but just have a filename handle to get to the ultimate content.</p>
<p>Then you really have recoverability, etc.</p>
<p>Though it increases the risk that you&#8217;ll do something tacky and update a file without triggering an update of the meta-data, etc. but you could do the same thing regardless of the infrastructure layer&#8230;</p>
<p>(Probably-not-related, an interview with Hans Reiser I read recently included him saying that BLOBs are a bad thing. But I didn&#8217;t track down his reference documents&#8230;.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Danny</title>
		<link>http://decafbad.com/blog/2005/06/28/building-a-proper-shared-syndication-feed-foundation/comment-page-1#comment-1737</link>
		<dc:creator>Danny</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=663#comment-1737</guid>
		<description>&lt;p&gt;I&#039;m very much looking forward to hearing what you come up with. &lt;/p&gt;

&lt;p&gt;Rather predictably I&#039;m opting for the RDF store approach, but that&#039;s not to say the other approaches don&#039;t have their merits. Jon Udell (search his blog) has done some interesting work with feed data stored as XML, basically using XPath as the query language. It works, but I would suggest that he&#039;s tied to the XML structure too much. A year ago I might have gone for a hybrid RDF/RDBMS approach, with the core RSS material being contained in fixed tables bridged across to an RDF interface (somehow) to allow FOAF etc. But two factors put me off that idea now - the RSS 2.0 extensions that have appeared in recent weeks and SPARQL! Having a SQL-like query language that can be used against an RDF store (with XSLT-able results) really does simplify matters. Performance is likely to be an issue but I&#039;m hoping a bit of filtering &amp; caching will help there. I&#039;m getting feed data into the store currently using XSLT (to RDF/XML), it&#039;s ok but the setup I&#039;ve got could be a lot more modular.&lt;/p&gt;

&lt;p&gt;I think Microsoft have got things partly right in their RSS Longhorn architecture, separating out the &quot;Sync Engine&quot;. But in the data handling there&#039;s heavy use of objects, which I don&#039;t think should be needed when you can do things declaratively using SQL or SPARQL. Their object model is limited, I can guarantee that&#039;ll turn into a big ball of mud ;-)&lt;/p&gt;

&lt;p&gt;What I&#039;m intrigued by is the potential for using multiple stores on different hosts. My immediate target being a fairly big aggregator/store on a remote server and a shiny-GUI client tool with more limited storage that selectively addresses the remote store. But I&#039;m still at early-experiment stage.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;m very much looking forward to hearing what you come up with. </p>
<p>Rather predictably I&#8217;m opting for the RDF store approach, but that&#8217;s not to say the other approaches don&#8217;t have their merits. Jon Udell (search his blog) has done some interesting work with feed data stored as XML, basically using XPath as the query language. It works, but I would suggest that he&#8217;s tied to the XML structure too much. A year ago I might have gone for a hybrid RDF/RDBMS approach, with the core RSS material being contained in fixed tables bridged across to an RDF interface (somehow) to allow FOAF etc. But two factors put me off that idea now &#8211; the RSS 2.0 extensions that have appeared in recent weeks and SPARQL! Having a SQL-like query language that can be used against an RDF store (with XSLT-able results) really does simplify matters. Performance is likely to be an issue but I&#8217;m hoping a bit of filtering &amp; caching will help there. I&#8217;m getting feed data into the store currently using XSLT (to RDF/XML), it&#8217;s ok but the setup I&#8217;ve got could be a lot more modular.</p>
<p>I think Microsoft have got things partly right in their RSS Longhorn architecture, separating out the &#8220;Sync Engine&#8221;. But in the data handling there&#8217;s heavy use of objects, which I don&#8217;t think should be needed when you can do things declaratively using SQL or SPARQL. Their object model is limited, I can guarantee that&#8217;ll turn into a big ball of mud ;-)</p>
<p>What I&#8217;m intrigued by is the potential for using multiple stores on different hosts. My immediate target being a fairly big aggregator/store on a remote server and a shiny-GUI client tool with more limited storage that selectively addresses the remote store. But I&#8217;m still at early-experiment stage.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aristotle Pagaltzis</title>
		<link>http://decafbad.com/blog/2005/06/28/building-a-proper-shared-syndication-feed-foundation/comment-page-1#comment-1738</link>
		<dc:creator>Aristotle Pagaltzis</dc:creator>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.decafbad.com/blog/?p=663#comment-1738</guid>
		<description>&lt;p&gt;I use &lt;a href=&quot;http://liferea.sf.net/&quot;&gt;Liferea&lt;/a&gt; as my desktop aggregator (it&#039;s a bit basic, but works very well), which uses LibXML to parse feeds. You&#039;d be surprised (or not) how many of them are valid XML. The only issue that comes up regularly is charset brokenness.&lt;/p&gt;

&lt;p&gt;Also, I&#039;ve found that most people, if told that their feed is broken, will thank you for the note and proceed to fix it. Those who aren&#039;t technically savvy enough to fix their feeds generally don&#039;t &lt;em&gt;have&lt;/em&gt; malformed ones to begin with because they use some ready-made webblogging tool -- and those tend to have correct feed generation by default.&lt;/p&gt;

&lt;p&gt;So if all your repair kit does is check and fix the feed encoding, then you should almost never see any bogosity.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I use <a href="http://liferea.sf.net/">Liferea</a> as my desktop aggregator (it&#8217;s a bit basic, but works very well), which uses LibXML to parse feeds. You&#8217;d be surprised (or not) how many of them are valid XML. The only issue that comes up regularly is charset brokenness.</p>
<p>Also, I&#8217;ve found that most people, if told that their feed is broken, will thank you for the note and proceed to fix it. Those who aren&#8217;t technically savvy enough to fix their feeds generally don&#8217;t <em>have</em> malformed ones to begin with because they use some ready-made webblogging tool &#8212; and those tend to have correct feed generation by default.</p>
<p>So if all your repair kit does is check and fix the feed encoding, then you should almost never see any bogosity.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
