<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>interpolation at the complex roots of unity &#187; project rss</title>
	<atom:link href="http://udim.wordpress.com/tag/project-rss/feed/" rel="self" type="application/rss+xml" />
	<link>http://udim.wordpress.com</link>
	<description></description>
	<lastBuildDate>Tue, 25 Aug 2009 15:43:17 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='udim.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/15f1c78959226f89a4fb1b5d600699ba?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>interpolation at the complex roots of unity &#187; project rss</title>
		<link>http://udim.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://udim.wordpress.com/osd.xml" title="interpolation at the complex roots of unity" />
		<item>
		<title>Project: RSS</title>
		<link>http://udim.wordpress.com/2007/06/29/project-rss/</link>
		<comments>http://udim.wordpress.com/2007/06/29/project-rss/#comments</comments>
		<pubDate>Fri, 29 Jun 2007 21:58:08 +0000</pubDate>
		<dc:creator>udim</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[project rss]]></category>
		<category><![CDATA[scalability]]></category>

		<guid isPermaLink="false">http://udim.wordpress.com/2007/06/29/project-rss/</guid>
		<description><![CDATA[My first project, which I will be starting in about a week, will be a web-based RSS/ATOM feed aggregator with the following properties:

It will store a complete archive of every item it sees.
Queries of the first ~50 items of each feed will be fast and take constant time.
The interface will be responsive as possible, despite [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=udim.wordpress.com&blog=1300617&post=14&subd=udim&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>My first project, which I will be starting in about a week, will be a web-based RSS/ATOM feed aggregator with the following properties:</p>
<ol>
<li>It will store a complete archive of every item it sees.</li>
<li>Queries of the first ~50 items of each feed will be fast and take constant time.</li>
<li>The interface will be responsive as possible, despite server/communication latency.</li>
</ol>
<p>The most important question thus far is whether to use a fully-fledged database with server (mysql, postgres, etc.), or to use a file based database (Berkeley db, etc.). The crucial factor is the database&#8217;s ability to achieve both properties 1 &amp; 2 above. In other words, how well does each approach <em>scale?</em></p>
<p>I believe that the second property could be achieved by using a table of all feed items sorted by their dates and limiting the first query to the first 20 items, fetching the next 20 items whenever the user reaches the end of the list (a la <a href="http://www.google.com/reader/view/">Google Reader</a>).</p>
<p>The third property may be implemented using asynchronous commands to the server. Since the javascript code will be mostly event driven, I don&#8217;t think it&#8217;d be a problem making it perform several simultaneous actions (server requests) at once, provided they don&#8217;t conflict (e.g., access the same data structures).<br />
Another way is to use a queue of commands waiting to be issued to the server. This has the added benefit of being able to reissue any failed commands at a later time, and being able to work offline.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/udim.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/udim.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/udim.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/udim.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/udim.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/udim.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/udim.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/udim.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/udim.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/udim.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/udim.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/udim.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=udim.wordpress.com&blog=1300617&post=14&subd=udim&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://udim.wordpress.com/2007/06/29/project-rss/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/554b3df4e2dfbf9d6fe9b9e422f025f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pulkes</media:title>
		</media:content>
	</item>
	</channel>
</rss>