<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-9361977</id><updated>2009-10-14T05:50:08.721+03:00</updated><title type='text'>Daily IT Readings</title><subtitle type='html'>The newest and most interesting trends in the world of IT. Links to what I read daily.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default?start-index=26&amp;max-results=25'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>401</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9361977.post-763418232197872023</id><published>2009-10-05T23:09:00.002+03:00</published><updated>2009-10-05T23:17:12.268+03:00</updated><title type='text'>GoalBit - Open Source P2P Streaming</title><content type='html'>A group of Uruguay-based P2P researchers recently released an open-source P2P streaming application,&lt;a href="http://goalbit.sourceforge.net/" target="_blank"&gt;GoalBit&lt;/a&gt;. It is available for Linux and Windows.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;GoalBit is a peer to peer distribution system, capable of distributing high-bandwidth live-content to all network peers preserving its quality. This project follows a bittorrent-like approach where the stream is decomposed into several flows sent by different peers to each client. In order to meassure the peers perceived quality, it is used the recently proposed PSQA (Pseudo-Subjective Quality Assessment) technology.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-763418232197872023?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/763418232197872023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=763418232197872023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/763418232197872023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/763418232197872023'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2009/10/goalbit-open-source-p2p-streaming.html' title='GoalBit - Open Source P2P Streaming'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-9206766749954980932</id><published>2009-08-11T11:38:00.002+03:00</published><updated>2009-08-11T12:00:05.707+03:00</updated><title type='text'>Backup your Friendfeed with PHP and MongoDB - Part 2</title><content type='html'>I just learned that FriendFeed will be acquired by Facebook. So, I will post the backup script, reworked, so you can back up your items.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="color: rgb(189, 183, 107);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;class&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;FriendFeed&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$mongo&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$collection&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$mondo_db_name&lt;/strong&gt;&lt;/span&gt;           &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;ff&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$mongo_db_collection&lt;/strong&gt;&lt;/span&gt;     &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;items&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$ff_username&lt;/strong&gt;&lt;/span&gt;             &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;YOUR_FRIENDFEED_USERNAME&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;function&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;__construct&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;Set&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;up&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;connection&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;to&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;Mongo&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;-&gt;mongo&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;new&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;Mongo&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;-&gt;collection&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;-&gt;mongo&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;selectDB&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;-&gt;mondo_db_name&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;selectCollection&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;-&gt;mongo_db_collection&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;-&gt;collection&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;ensureIndex&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;array&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 51, 0);"&gt;1&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;/**&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;This&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;function&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;constructs&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;FF&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;url&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;which&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;reads&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;user&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;'&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;s&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;feed&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;It&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;reads&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;messages&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;starting&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;from&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;message&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*/&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;private&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;function&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;getUrl&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;return&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;http&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;:&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;friendfeed&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;api&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;com&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;v2&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;feed&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;-&gt;ff_username&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;?&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;start&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;num&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;fof&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;maxcomments&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;100&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;/**&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;Reads&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;messages&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;starting&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;from&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;message&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;It&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;seems&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;like&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;=&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 51, 0);"&gt;100&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;is&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;maximum&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;supported&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;by&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;FF&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*/&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;function&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;read&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 51, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 51, 0);"&gt;100&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$json&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;file_get_contents&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;getUrl&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;return&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;self&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;::&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;conv_obj&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;json_decode&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$json&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;/**&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;This&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;function&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;converts&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;FF&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;json&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;to&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;array&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*/&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;static&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;function&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;conv_obj&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;if&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;!&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;is_object&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;&amp;amp;&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;&amp;amp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;!&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;is_array&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;return&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;if&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;is_object&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;get_object_vars&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;return&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;array_map&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;array&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;FriendFeed&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;conv_obj&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;/**&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;This&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;function&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;reads&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;messages&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;and&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;inserts&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;them&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;in&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;mongodb&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*/&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;function&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;update&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 51, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 51, 0);"&gt;100&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;read&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;Process&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;the&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;FF&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;data,&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;updating&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;Mongo&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;with&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;each&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;item&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;if&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt; (&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;!&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;empty&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;foreach&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt; (&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;[&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;entries&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;as&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$entry&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;upsert&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;the&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;item&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;in&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;mongo&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;-&gt;collection&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;update&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;array&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$entry&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;[&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$entry&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;true&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$ff&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;new&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;FriendFeed&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;/*&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;//UNCOMMENT&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;BELOW&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;TO&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;DO&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;BACKUP&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;$max_num_items&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;1600;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;//change&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;this&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;you&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;have&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;more&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;items&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;foreach&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;(range(0,intval($max_num_items/100))&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;as&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;$i)&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;$ff-&gt;update(100*$i);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;/*&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;//UNCOMMENT&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;BELOW&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;TO&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;LIST&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;YOUR&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;10&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;LATEST&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;ENTRIES&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;$cursor&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;$ff-&gt;collection-&gt;find()-&gt;sort(array(&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;"date"&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;=&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;))-&gt;limit(10);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;foreach&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;($cursor&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;as&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;$value)&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;    &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;echo&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;$value['date'].'&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;('.$value['via']['name'].'):&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;'.html_entity_decode($value['body'])."\n";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(189, 183, 107);"&gt;?&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-9206766749954980932?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/9206766749954980932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=9206766749954980932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/9206766749954980932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/9206766749954980932'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2009/08/backup-your-friendfeed-with-php-and_11.html' title='Backup your Friendfeed with PHP and MongoDB - Part 2'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-4417300587246900999</id><published>2009-08-05T16:47:00.004+03:00</published><updated>2009-08-05T17:43:51.715+03:00</updated><title type='text'>Backup your Friendfeed with PHP and MongoDB</title><content type='html'>I wanted to backup my FriendFeed (FF), because... well, because it backs up a lot of my social activities. So this is the first attempt. I will use MongoDB because it works naturally with JSON, which suits my needs just fine. I will also use PHP.&lt;br /&gt;&lt;br /&gt;What follows is dead simple. First a crude wrapper for accessing FF.&lt;br /&gt;&lt;pre&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;class&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;FriendFeed&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;private&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$user&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;function&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;__construct&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$user&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;-&gt;user&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$user&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;/**&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;    &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;This&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;function&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;constructs&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;FF&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;url&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;which&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;reads&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;user&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;'&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;s&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;feed&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;    &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;It&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;reads&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;messages&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;starting&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;from&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;message&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;    &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*/&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;private&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;function&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;getUrl&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;return&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;http&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;:&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;friendfeed&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;-&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;api&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;com&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;v2&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;feed&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;/&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;-&gt;user&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;?&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;start&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;num&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;/**&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;    &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;Reads&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;messages&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;starting&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;from&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;message&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;    &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;It&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;seems&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;like&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;=&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 51, 0);"&gt;100&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;is&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;maximum&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;supported&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;by&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;FF&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;    &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*/&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;function&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;read&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 51, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 51, 0);"&gt;100&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$json&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;file_get_contents&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$this&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;getUrl&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$num&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;return&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;self&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;::&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;conv_obj&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;json_decode&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$json&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;/**&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;    &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;This&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;function&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;converts&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;the&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;FF&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;json&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;to&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt; &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;array&lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;.&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;    &lt;/em&gt;&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;em&gt;*/&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;static&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;function&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;conv_obj&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;if&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;!&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;is_object&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;&amp;amp;&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;&amp;amp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;!&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;is_array&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;return&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;if&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;is_object&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;get_object_vars&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;return&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;array_map&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;array&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;FriendFeed&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;conv_obj&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;This wrapper only reads the FF entries and decodes them to array. Now lets use it to read 100 entries and insert them in MongoDB.&lt;br /&gt;&lt;pre&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;CONFIGURATION&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$mondo_db_name&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;YOUR_MONGO_DB_NAME&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$mongo_db_collection&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 160, 160);"&gt;'YOUR_MONGO_COLLECTION_NAME&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$ff_username&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;FriendFeed_USERNAME&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;Set&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;up&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;connection&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;to&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;Mongo&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$m&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;new&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;Mongo&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$collection&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$m&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;selectDB&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$mondo_db_name&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;selectCollection&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$mongo_db_collection&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$collection&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;ensureIndex&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;array&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 51, 0);"&gt;1&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;Read&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;data&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;from&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;FF&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$ff&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;new&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;FriendFeed&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$ff_username&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$ff&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;read&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;Process&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;the&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;FF&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;data,&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;updating&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;Mongo&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;with&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;each&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;item&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;if&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt; (&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;!&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;empty&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;foreach&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt; (&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;[&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;entries&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;as&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$entry&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;output&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;items&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;if&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt; (&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;!&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$collection&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;findOne&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;array&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$entry&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;[&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;echo&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$entry&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;[&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;date&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;:&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$entry&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;[&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;       &lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;upsert&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;the&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;item&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;in&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;mongo&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$collection&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;update&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;array&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$entry&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;[&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(255, 160, 160);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;]&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$entry&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;,&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;true&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;Output&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;number&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;of&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;items&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;in&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;collection&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$collcnt&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$collection&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;count&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;echo&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$collcnt&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;Make this run once per hour or once per day and you will have a local copy of your FF stream. Of course, this will not download photos and files. I may add an extension for this in the future, in case I need it.&lt;br /&gt;&lt;br /&gt;If you need to cycle through all your local FF items:&lt;br /&gt;&lt;pre&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$cursor&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$collection&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;find&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$cursor&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$cursor&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;sort&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;array&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;date&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;"&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 51, 0);"&gt;1&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;foreach&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt; (&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$cursor&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;as&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$id&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;&gt;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$value&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 153, 102);"&gt;&lt;strong&gt;var_dump&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$value&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;If you need to backup all your items, you need to replace &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$ff&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;read&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;; and the code that follows with something like this:&lt;br /&gt;&lt;pre&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="color: rgb(240, 230, 140);"&gt;&lt;strong&gt;while&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt; (&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$data&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 255);"&gt;&lt;strong&gt;$ff&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(152, 251, 152);"&gt;-&gt;read&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;(&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;)&lt;/strong&gt;&lt;/span&gt; &lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;processing&lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt; &lt;/span&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;code&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(204, 102, 0);"&gt;&lt;strong&gt;$start&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;+&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;=&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 51, 0);"&gt;100&lt;/span&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(155, 155, 155);"&gt;&lt;strong&gt;}&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;This code (without the while loop) has been tested and works both on Linux and Windows, with PHP 5.3 and MongoDB 0.9.7.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-4417300587246900999?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/4417300587246900999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=4417300587246900999' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/4417300587246900999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/4417300587246900999'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2009/08/backup-your-friendfeed-with-php-and.html' title='Backup your Friendfeed with PHP and MongoDB'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-2436221811624857660</id><published>2009-03-25T14:42:00.002+02:00</published><updated>2009-03-25T14:49:29.829+02:00</updated><title type='text'>Deioces</title><content type='html'>The following story by Herodotus reminds me so much of current politics.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;According to Herodotus, the Medes lived independently (autonomon) in scattered villages after they won their freedom from the Assyrians. Ambitious to unite the Medes under his rule, Deioces set about gaining a reputation for honesty. The men in his village grew to trust him and invited him to settle their disputes. As his reputation grew, more and more people submitted their disputes to him until he ﬁnally declared he had had enough and would judge no more lawsuits. His withdrawal plunged the country into lawlessness (anomia) and forced the Medes to make him king. Once in oﬃce, Deioces demanded that his subjects build him a vast palace at Ecbatana. When the palace was complete, Deioces remained inside to keep himself safe from plots and communicated with his people through messengers. He continued to judge lawsuits, but all cases were now submitted to him in writing so that he could keep his distance from the people.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;excerpt from "Solon of Athens             &lt;span id="PageTemplateLoader1_ctl00_cp1"&gt;                             &lt;span class="sub_titel_blue font_fix"&gt;                                 New Historical and Philological Approaches", &lt;/span&gt;&lt;/span&gt;&lt;span id="PageTemplateLoader1_ctl00_cp1"&gt;&lt;a href="http://www.brill.nl/default.aspx?partid=210&amp;amp;pid=7368"&gt;Mnemosyne, &lt;i&gt;Supplements&lt;/i&gt;&lt;/a&gt;, 272, Brill Publishing, 2006&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-2436221811624857660?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/2436221811624857660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=2436221811624857660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/2436221811624857660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/2436221811624857660'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2009/03/deioces.html' title='Deioces'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-7034570205568097030</id><published>2009-02-10T10:54:00.002+02:00</published><updated>2009-04-07T14:16:12.081+03:00</updated><title type='text'>Building a Personal Filtered RSS Reader with Oracle XE and Apatar - Part 2</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;span style="font-family:sans-serif;"&gt;This is the second part of &lt;a href="http://www-daily.blogspot.com/2009/01/building-personal-filtered-rss-reader.html"&gt;my post&lt;/a&gt; about building an RSS Reader with Oracle and Apatar. If you have all the prerequisites mentioned in the previous post in place, let's proceed with the database schema. It is actually just one table:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:monospace;"&gt;CREATE TABLE "FEEDHUB" (&lt;br /&gt; "POSTDATE" DATE NOT NULL,&lt;br /&gt; "TITLE" VARCHAR2(512 CHAR),&lt;br /&gt; "SCORE" NUMBER, --the feedhub score of the post or null&lt;br /&gt; "URL" VARCHAR2(1000 CHAR) NOT NULL,&lt;br /&gt; "POSTRANK" NUMBER, --the postrank score of the post or null&lt;br /&gt; "AUTO_ID" NUMBER,&lt;br /&gt;  CONSTRAINT "FEEDHUB_PK" PRIMARY KEY ("URL")&lt;br /&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It combines both my Feedhub and Postrank feeds. This is enough to define the Apatar transformations which will load RSS posts into the table automatically.&lt;br /&gt;&lt;br /&gt;Next start Apatar, modify &lt;a href="http://www.box.net/shared/doebsczhmn"&gt;this transformation&lt;/a&gt; with your feeds and database connection, and you are good to go. Each run will load the new rss entries into the database. You can also create a nice and quick web interface by using Oracle APEX. This is beyond the scope of this post, but it is really easy and should take about 20 minutes.&lt;br /&gt;&lt;br /&gt;p.s. You can always achieve the same without installing any software - just use Yahoo Pipes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-7034570205568097030?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/7034570205568097030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=7034570205568097030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/7034570205568097030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/7034570205568097030'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2009/02/building-personal-filtered-rss-reader.html' title='Building a Personal Filtered RSS Reader with Oracle XE and Apatar - Part 2'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-4736398517759995379</id><published>2009-01-24T15:34:00.002+02:00</published><updated>2009-01-24T15:55:00.034+02:00</updated><title type='text'>The dumbest way to copy a file to a USB stick</title><content type='html'>Let me describe my experience from last night where I had to download a 400MB file and copy it to a USB stick. This is one of the dumbest things I've ever done on a computer. Do not repeat it at home.&lt;br /&gt;&lt;br /&gt;Step 1. (Mid-morning) I found out that the file I want is 400 MB. I do not want to just go and download it because this will eat all the bandwidth and the other people sharing my Internet connection will be extremely frustrated. I have to shape my connection. Well, I was running Windows and I don't know how to do this on Windows so I fired up Virtualbox where I have a Debian virtual machine (VM). I shape eth0 to 24KB and am good to go.&lt;br /&gt;&lt;br /&gt;Step 2. (Late afternoon) I remembered my download - the file is there. It has to go to the USB stick. After two minutes I am cursing Virtualbox for making it so difficult to connect a USB device. After another 3 minutes and 2 restarts of the VM I give up.&lt;br /&gt;&lt;br /&gt;Step 3. (One cigarette later) I set up the USB stick as a shared folder in Virtualbox. Then &lt;span style="font-style: italic;"&gt;"modprobe vboxfs"&lt;/span&gt; and mount it... Now I have access to my stick from within VM. I start copying the file...................... A minute later I understand my mistake, the speed of transfer is 150 KB/s, on average. I curse... in Serbian :)&lt;br /&gt;&lt;br /&gt;Step 4. (Evening) It is already dark outside. The file is on the USB stick. Finally. I test it - it opens from Windows. I carefully unmount everything, bag the stick and go.&lt;br /&gt;&lt;br /&gt;Step 5. (Next morning, at home) I try to open the USB stick on my laptop. Vista says it wants to format it. I curse Vista.&lt;br /&gt;&lt;br /&gt;Step 6. (At the office) My PC at last! Debian, no VMs. I insert the USB stick. Nothing happens. fsck.vfat says it's bad, the partition table is corrupted. I try for an hour to copy (dd) the contents somewhere so I can mount it on the loopback and eventually fdisk in. Nope. I curse my stupidity...&lt;br /&gt;&lt;br /&gt;As I said don't try this at home.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-4736398517759995379?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/4736398517759995379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=4736398517759995379' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/4736398517759995379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/4736398517759995379'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2009/01/dumbest-way-to-copy-file-to-usb-stick.html' title='The dumbest way to copy a file to a USB stick'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-1761393726628104245</id><published>2009-01-19T13:42:00.001+02:00</published><updated>2009-01-19T13:43:13.862+02:00</updated><title type='text'>Automated Game Design</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;A &lt;a target='_blank' href='http://togelius.blogspot.com/2008/12/automatic-game-design.html'&gt;very interesting post&lt;/a&gt; in &lt;a href='http://togelius.blogspot.com/' target='_blank'&gt;togelius&lt;/a&gt; explores the concepts of automated game design. The novel concept here is that it proposes a learning algorithm to be used as a fitness function for the generated games.&lt;br/&gt;&lt;blockquote&gt;Somewhat more technically, our fitness function proceeds in two stages: first it tries to play the game using only random actions. If a random player can win a the game, the ruleset (=the game) is assigned a negative fitness. Otherwise, an evolutionary algorithm is used to try to learn a neural network that plays the game (using the score of the game as fitness function). The fitness of the game then becomes the best fitness found by the "inner" evolutionary algorithm after a certain number of generations.&lt;/blockquote&gt;There are also other interesting resources on this topic like &lt;a target='_blank' href='http://viewer.zoho.com/docs/xWRug'&gt;this article&lt;/a&gt;, or &lt;a target='_blank' href='http://viewer.zoho.com/docs/bYhdm'&gt;this older one&lt;/a&gt; which explores the automatic generation of dungeons for computer games.&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-1761393726628104245?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/1761393726628104245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=1761393726628104245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/1761393726628104245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/1761393726628104245'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2009/01/automated-game-design.html' title='Automated Game Design'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-5983818613498824761</id><published>2009-01-18T12:55:00.000+02:00</published><updated>2009-01-18T12:38:36.410+02:00</updated><title type='text'>Building a Personal Filtered RSS Reader with Oracle XE and Apatar</title><content type='html'>Today I will show you how to build a personal, filtered, web-based RSS reader with free tools and no programming (except simple SQL). I will not go into too many details so that you can have fun experimenting with the tools. Before we start you will need:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A list of the URLs of your favorite feeds - the more the better because we will be filtering the content. High-profile, popular RSS feeds will work better with the filtering I propose. OPML format will be best.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.oracle.com/technology/products/database/xe/index.html"&gt;Oracle XE&lt;/a&gt; - it's free to use. You might also want to install &lt;a href="http://www.oracle.com/technology/products/database/sql_developer/index.html"&gt;Oracle SQL Developer&lt;/a&gt; - it will make developing databases easier.&lt;/li&gt;&lt;li&gt;&lt;a href="http://apatar.com/"&gt;Apatar&lt;/a&gt; - This is a FOSS ETL tool which we will use to transform the RSS feed items and automatically import them in the database.&lt;/li&gt;&lt;/ol&gt;In order to have filtering you should use the &lt;a href="http://www.feedhub.com/"&gt;Feedhub&lt;/a&gt; , &lt;a href="http://www.postrank.com/"&gt;Postrank&lt;/a&gt; or &lt;a href="http://feedscrub.com/"&gt;Feedscrub&lt;/a&gt; services. In my example I used the first two. Please note that Feedhub and Feedscrub need some "training" in order to work well. After you've registered for these services import your feed list in them and get the URLs of the personalized RSS feeds they provide. You will need those shortly.&lt;br /&gt;&lt;br /&gt;In the next post we will create the database and Apatar transformations.&lt;br /&gt;&lt;div style="border: 2px solid orange; margin: 0px; padding: 0px; position: absolute; width: 0px; display: none; z-index: 99998;" id="Clipmarks1853BorderDiv5062"&gt;&lt;/div&gt;&lt;div style="border: 2px solid orange; margin: 0px; padding: 0px; position: absolute; width: 0px; display: none; z-index: 99998;" id="Clipmarks2236BorderDiv5495"&gt;&lt;/div&gt;&lt;div style="border: 2px solid orange; margin: 0px; padding: 0px; position: absolute; height: 0px; display: none; z-index: 99998;" id="Clipmarks3545BorderDiv5245"&gt;&lt;/div&gt;&lt;div style="border: 2px solid orange; margin: 0px; padding: 0px; position: absolute; height: 0px; display: none; z-index: 99998;" id="Clipmarks4821BorderDiv5892"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-5983818613498824761?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/5983818613498824761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=5983818613498824761' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/5983818613498824761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/5983818613498824761'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2009/01/building-personal-filtered-rss-reader.html' title='Building a Personal Filtered RSS Reader with Oracle XE and Apatar'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-3325477385479360500</id><published>2008-12-16T21:23:00.003+02:00</published><updated>2009-01-18T12:35:32.083+02:00</updated><title type='text'>Fun with Oracle and the Dow Jones</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style=";font-family:Verdana;font-size:13px;"  &gt;I have written &lt;a href="http://docs.google.com/Doc?id=ajf3cphrfsn4_85gmkjz5dd"&gt;an article&lt;/a&gt; describing my explorations in the world of Oracle. I actually started learning Oracle two days before I wrote this article. So if you find that some of the things in it are not done in the best way, you can leave a comment. Before starting you will need of course an Oracle server. You can get the free version - &lt;a id="mz_a" href="http://www.oracle.com/technology/products/database/xe/index.html" title="Oracle XE" style="color: rgb(85, 26, 139);"&gt;Oracle XE&lt;/a&gt;. You might also want to install &lt;a id="s0yg" href="http://www.oracle.com/technology/products/database/sql_developer/index.html" title="Oracle SQL Developer" style="color: rgb(85, 26, 139);"&gt;Oracle SQL Developer&lt;/a&gt;. A good knowledge of general SQL is also necessary.&lt;br /&gt;&lt;br /&gt;The main question I explore is can we use Oracle to tell us when the financial crisis started?&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=";font-family:Verdana;font-size:13px;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=";font-family:Verdana;font-size:13px;"  &gt;p.s. Of course, the PostgreSQL fans can try and repeat the steps from the article in PostgreSQL, you will need 8.4dev though in order to use the analytical functions support.&lt;br /&gt;&lt;br /&gt;p.s. PostgreSQL fans are actually out of luck, because the implementation of analytical functions does not allow for arbitrary ranges...&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-3325477385479360500?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='related' href='http://docs.google.com/Doc?id=ajf3cphrfsn4_85gmkjz5dd' title='Fun with Oracle and the Dow Jones'/><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/3325477385479360500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=3325477385479360500' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3325477385479360500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3325477385479360500'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2008/12/fun-with-oracle-and-dow-jones.html' title='Fun with Oracle and the Dow Jones'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-5877347526268629637</id><published>2008-09-07T09:46:00.000+03:00</published><updated>2008-09-07T09:47:37.672+03:00</updated><title type='text'>Google's newsest patent</title><content type='html'>Google has patented a floating platform-mounted computer data center:&lt;br /&gt;&lt;p&gt;&lt;em class="diigoHighlight a id_9fc3d2fd8241b1295435692ace9abb5a type_0"&gt;&lt;blockquote&gt;A system includes a floating platform-mounted computer data center      comprising a plurality of computing units, a sea-based electrical      generator in electrical connection with the plurality of computing units,      and one or more sea-water cooling units for providing cooling to the      plurality of computing units.&lt;/blockquote&gt;&lt;/em&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-5877347526268629637?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='related' href='http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&amp;Sect2=HITOFF&amp;d=PG01&amp;p=1&amp;u=%2Fnetahtml%2FPTO%2Fsrchnum.html&amp;r=1&amp;f=G&amp;l=50&amp;s1=%2220080209234%22.PGNR.&amp;OS=DN/20080209234&amp;RS=DN/20080209234' title='Google&apos;s newsest patent'/><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/5877347526268629637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=5877347526268629637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/5877347526268629637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/5877347526268629637'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2008/09/googles-newsest-patent.html' title='Google&apos;s newsest patent'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-3314003007293374858</id><published>2008-06-07T18:51:00.001+03:00</published><updated>2008-06-07T18:53:40.401+03:00</updated><title type='text'>Long prime numbers</title><content type='html'>1979339333 and 1979339339 are remarkable prime numbers. Do you know why?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-3314003007293374858?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/3314003007293374858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=3314003007293374858' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3314003007293374858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3314003007293374858'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2008/06/long-prime-numbers.html' title='Long prime numbers'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-77767510082358029</id><published>2008-02-22T09:31:00.000+02:00</published><updated>2008-02-22T09:32:05.296+02:00</updated><title type='text'>Did Amazon Induce Vista's Premature Birth?</title><content type='html'>A recent Amazon SEC filing sheds light on the puzzling Sept. 2006 departure of Microsoft Sr. VP Brian Valentine, the Gen. George Patton-like figure charged with pushing Vista developers, who dumped the still not-ready-for-prime-time OS into RC1 status as he bolted for a new gig at Amazon. It seems Valentine had actually signed an Employment Agreement way back in June calling for him to be on board at Amazon on Sept. 11 if he wanted to pick up a $1.7M signing bonus, $150K base salary, another $500K bonus, and 400K shares of Amazon (now worth almost $30M).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-77767510082358029?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='related' href='http://slashdot.org/firehose.pl?id=533582&amp;op=view' title='Did Amazon Induce Vista&apos;s Premature Birth?'/><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/77767510082358029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=77767510082358029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/77767510082358029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/77767510082358029'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2008/02/did-amazon-induce-vistas-premature.html' title='Did Amazon Induce Vista&apos;s Premature Birth?'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-3321827679488463726</id><published>2008-02-19T09:11:00.000+02:00</published><updated>2008-02-19T09:12:14.675+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='postgresql'/><title type='text'>Delving into the recent PostgreSQL commits</title><content type='html'>After the recent release of PostgreSQL 8.3 activity has now shifted to the future 8.4 release. Tom Lane made an interesting commit last week which removed the restriction that LIMIT/OFFSET can't contain a sub-select. You can now write queries like:&lt;br /&gt;&lt;br /&gt;SELECT * FROM test&lt;br /&gt;ORDER BY col1&lt;br /&gt;LIMIT (SELECT testlimit FROM confs WHERE name='test.col1')&lt;br /&gt;&lt;br /&gt;Well, you can do this only if you compile PostgreSQL from source, not in 8.3, but I hope it will be included into the 8.3.1 release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-3321827679488463726?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ittoolbox.com/profiles/ivanpavlov/journal-entry/2250' title='Delving into the recent PostgreSQL commits'/><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/3321827679488463726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=3321827679488463726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3321827679488463726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3321827679488463726'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2008/02/delving-into-recent-postgresql-commits.html' title='Delving into the recent PostgreSQL commits'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-7045573315080024754</id><published>2008-01-28T19:07:00.000+02:00</published><updated>2008-01-28T19:08:05.310+02:00</updated><title type='text'>Vendr Neutral SQL Certification</title><content type='html'>&lt;blockquote&gt;CIW Database Design Specialist, scheduled to launch in March 2008, is the latest addition to the vendor-neutral, CIW Certification Program.&lt;br /&gt;&lt;br /&gt;This new vendor-neutral certification focuses on universal database design principles and SQL. Aimed at database programmers and administrators alike, the exam helps solve the problem of poorly designed databases and validates foundational knowledge of any database, regardless if it’s Oracle, IBM, DB2, MySQL or others.&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-7045573315080024754?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='related' href='http://www.ciw-certified.com/exams/1d0541.asp' title='Vendr Neutral SQL Certification'/><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/7045573315080024754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=7045573315080024754' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/7045573315080024754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/7045573315080024754'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2008/01/vendr-neutral-sql-certification.html' title='Vendr Neutral SQL Certification'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-3679332708125211922</id><published>2008-01-17T13:29:00.001+02:00</published><updated>2008-01-17T13:29:40.163+02:00</updated><title type='text'>Flickr to host Library of Congress photos</title><content type='html'>&lt;blockquote cite="http://www.webware.com/8301-1_109-9852087-2.html?part=rss&amp;amp;tag=feed&amp;amp;subj=Webware"&gt;The good news is the Library of Congress is putting 3,000 images up at Flickr. The bad news is they're relying on us to tag them all.&lt;/blockquote&gt;&lt;cite cite="http://www.webware.com/8301-1_109-9852087-2.html?part=rss&amp;amp;tag=feed&amp;amp;subj=Webware"&gt;&lt;a href="http://www.webware.com/8301-1_109-9852087-2.html?part=rss&amp;amp;tag=feed&amp;amp;subj=Webware"&gt;Flickr to host Library of Congress photos | Webware : Cool Web apps for everyone&lt;/a&gt;&lt;/cite&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-3679332708125211922?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/3679332708125211922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=3679332708125211922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3679332708125211922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3679332708125211922'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2008/01/flickr-to-host-library-of-congress.html' title='Flickr to host Library of Congress photos'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-5333317690438994153</id><published>2008-01-17T11:04:00.001+02:00</published><updated>2008-01-17T11:04:45.791+02:00</updated><title type='text'>Sun Microsystems Announces Agreement to Acquire MySQL</title><content type='html'>&lt;blockquote&gt; Sun Microsystems, Inc. (NASDAQ: JAVA) today announced it has entered into a definitive agreement to acquire MySQL AB, an open source icon and developer of one of the world's fastest growing open source databases for approximately $1 billion in total consideration. The acquisition accelerates Sun's position in enterprise IT to now include the $15 billion database market. Today's announcement reaffirms Sun's position as the leading provider of platforms for the Web economy and its role as the largest commercial open source contributor.   &lt;/blockquote&gt;&lt;p style="text-align: right; font-size: 8px"&gt;Blogged with &lt;a href="http://www.flock.com/blogged-with-flock" title="Flock" target="_new"&gt;Flock&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-5333317690438994153?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/5333317690438994153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=5333317690438994153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/5333317690438994153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/5333317690438994153'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2008/01/untitledsun-microsystems-announces.html' title='Sun Microsystems Announces Agreement to Acquire MySQL'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-4991001870082954071</id><published>2007-11-08T10:40:00.000+02:00</published><updated>2007-11-08T10:44:31.660+02:00</updated><title type='text'>SQL/PSM Manual</title><content type='html'>I just noticed that there is a &lt;a href="http://www.pgsql.cz/index.php/SQL/PSM_Manual"&gt;PL/pgPSM manual&lt;/a&gt; published. I plan to install and give it a try very, very soon, actually as soon as I install 8.3. &lt;br /&gt;&lt;br /&gt;I wonder if all features mentioned in the manual are actually present...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-4991001870082954071?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='related' href='http://www.pgsql.cz/index.php/SQL/PSM_Manual' title='SQL/PSM Manual'/><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/4991001870082954071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=4991001870082954071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/4991001870082954071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/4991001870082954071'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2007/11/sqlpsm-manual.html' title='SQL/PSM Manual'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-3545988275689768227</id><published>2007-09-07T12:56:00.001+03:00</published><updated>2007-09-07T12:56:18.086+03:00</updated><title type='text'>Relational database pioneer says technology is obsolete</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;p/&gt;&lt;blockquote&gt;As a researcher at the University of California, Berkeley, in the early 1970s, Michael Stonebraker co-created the Ingres and Postgres technology that underlies many leading relational databases today: Microsoft Corp.'s SQL Server, Sybase Inc.'s Adaptive Server Enterprise, Ingres Corp.'s eponymous product, IBM's Informix, and others. But &lt;a href='http://www.computerworld.com/action/article.do?command=printArticleBasic&amp;amp;articleId=9034619'&gt;Stonebraker now argues&lt;/a&gt; that relational databases, also known as RDBMSes, are "long in the tooth" and "should be considered legacy technology."&lt;/blockquote&gt;&lt;p&gt; &lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-3545988275689768227?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/3545988275689768227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=3545988275689768227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3545988275689768227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3545988275689768227'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2007/09/relational-database-pioneer-says.html' title='Relational database pioneer says technology is obsolete'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-6265579218786955098</id><published>2007-08-18T04:30:00.001+03:00</published><updated>2007-08-18T04:30:19.384+03:00</updated><title type='text'>Daily Bookmarks 08/17/2007</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.spetrov.com/think-about-the-water"&gt;Think About The Water | www.SpetroV.com&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;&lt;img style="border:none; height:60px; margin:1em;" src="http://www.spetrov.com/think-about-the-water" alt="Think About The Water | www.SpetroV.com" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://fav.or.it"&gt;fav.or.it - Slicing the web&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;&lt;img style="border:none; height:60px; margin:1em;" src="http://fav.or.it" alt="fav.or.it - Slicing the web" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-6265579218786955098?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/6265579218786955098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=6265579218786955098' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/6265579218786955098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/6265579218786955098'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2007/08/daily-bookmarks-08172007.html' title='Daily Bookmarks 08/17/2007'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-4604701113885371112</id><published>2007-08-17T13:26:00.001+03:00</published><updated>2007-08-17T13:26:59.670+03:00</updated><title type='text'>20% of all Yahoo page views are done with an empty cache</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;h3/&gt;&lt;blockquote&gt;Suprising Results &lt;br/&gt;&lt;br/&gt;&lt;div align='justify'&gt;40-60% of Yahoo!’s users have an empty cache experience and ~20% of all page views are done with an empty cache. To my knowledge, there’s no other research that shows this kind of information. And I don’t know about you, but these results came to us as a big surprise. It says that even if your assets are optimized for maximum caching, there are a significant number of users that will always have an empty cache. This goes back to the earlier point that reducing the number of HTTP requests has the biggest impact on reducing response time. The percentage of users with an empty cache for different web pages may vary, especially for pages with a high number of active (daily) users. However, we found in our study that regardless of usage patterns, the percentage of page views with an empty cache is always ~20%.&lt;/div&gt;&lt;/blockquote&gt;&lt;p/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p class='poweredbyperformancing'&gt;Powered by &lt;a href='http://scribefire.com/'&gt;ScribeFire&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-4604701113885371112?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/4604701113885371112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=4604701113885371112' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/4604701113885371112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/4604701113885371112'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2007/08/20-of-all-yahoo-page-views-are-done.html' title='20% of all Yahoo page views are done with an empty cache'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-811959890624574298</id><published>2007-08-17T04:30:00.001+03:00</published><updated>2007-08-17T04:30:35.024+03:00</updated><title type='text'>Daily Bookmarks 08/16/2007</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.websnapr.com"&gt;WebSnapr - Website Thumbnails For Your Site&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;&lt;img style="border:none; height:60px; margin:1em;" src="http://www.websnapr.com" alt="WebSnapr - Website Thumbnails For Your Site" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://wikiscanner.virgil.gr"&gt;List anonymous wikipedia edits from interesting organizations&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;&lt;img style="border:none; height:60px; margin:1em;" src="http://wikiscanner.virgil.gr" alt="List anonymous wikipedia edits from interesting organizations" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://pgfoundry.org/projects/pllolcode"&gt;PgFoundry: pl/lolcode: Project Info&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;&lt;img style="border:none; height:60px; margin:1em;" src="http://pgfoundry.org/projects/pllolcode" alt="PgFoundry: pl/lolcode: Project Info" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-811959890624574298?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/811959890624574298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=811959890624574298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/811959890624574298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/811959890624574298'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2007/08/daily-bookmarks-08162007.html' title='Daily Bookmarks 08/16/2007'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-5851783442930298124</id><published>2007-08-11T04:30:00.001+03:00</published><updated>2007-08-11T04:30:27.632+03:00</updated><title type='text'>Daily Bookmarks 08/10/2007</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;a href="http://protobulgarians.com"&gt;СТРАНИЦА ЗА ПРАБЪЛГАРИТЕ - ЕЗИК, ПРОИЗХОД, ИСТОРИЯ И РЕЛИГИЯ&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;&lt;img style="border:none; height:60px; margin:1em;" src="http://protobulgarians.com" alt="СТРАНИЦА ЗА ПРАБЪЛГАРИТЕ - ЕЗИК, ПРОИЗХОД, ИСТОРИЯ И РЕЛИГИЯ" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://regexpal.com"&gt;Regexpal&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;&lt;img style="border:none; height:60px; margin:1em;" src="http://regexpal.com" alt="Regexpal" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://borislav.free.fr/mylib/text/2382/2"&gt;Стивън Рънсиман — История на Първото българско царство (2)&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;&lt;img style="border:none; height:60px; margin:1em;" src="http://borislav.free.fr/mylib/text/2382/2" alt="Стивън Рънсиман — История на Първото българско царство (2)" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-5851783442930298124?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/5851783442930298124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=5851783442930298124' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/5851783442930298124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/5851783442930298124'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2007/08/daily-bookmarks-08102007.html' title='Daily Bookmarks 08/10/2007'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-3982795074611785115</id><published>2007-08-10T04:30:00.001+03:00</published><updated>2007-08-10T04:30:13.149+03:00</updated><title type='text'>Daily Bookmarks 08/09/2007</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;a href="http://code.google.com/p/blueprintcss"&gt;blueprintcss - Google Code&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;&lt;img style="border:none; height:60px; margin:1em;" src="http://code.google.com/p/blueprintcss" alt="blueprintcss - Google Code" /&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-3982795074611785115?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/3982795074611785115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=3982795074611785115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3982795074611785115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3982795074611785115'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2007/08/daily-bookmarks-08092007.html' title='Daily Bookmarks 08/09/2007'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-3552183181740879271</id><published>2007-08-04T04:31:00.001+03:00</published><updated>2007-08-04T04:31:08.168+03:00</updated><title type='text'>Daily Bookmarks 08/03/2007</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;a href="http://beta.contactoffice.com/customers/beta/index.jsp"&gt;Beta ContactOffice NUI&lt;/a&gt;&lt;/strong&gt;&lt;br/&gt;&lt;img style="border:none; height:60px; margin:1em;" src="http://beta.contactoffice.com/customers/beta/index.jsp" alt="Beta ContactOffice NUI" /&gt;&amp;nbsp;&amp;nbsp;&lt;a target="_blank" class="LinkItem" href="http://www.diigo.com/forward_proxy?_ff=farrider&amp;_fk=2860785294334b14f026561f2557f819&amp;url_id=b2e97472ce990ef644ef5a2728f501fe&amp;url=http%3A%2F%2Fbeta.contactoffice.com%2Fcustomers%2Fbeta%2Findex.jsp" style="font-size:.8em; font-style:italic; text-decoration:underline;"&gt;Annotated&lt;/a&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div&gt;ContactOffice Group sa 1999 - 2007&lt;br /&gt;			|&lt;br /&gt;			FF, Moz, Camino, IE, Opera. | Safari not yet supported&lt;ul&gt;&lt;li style="line-height:150%"&gt;cool&lt;span style="font-size: .8em;"&gt;&amp;nbsp;-&amp;nbsp;post by &lt;a href="http://www.diigo.com/user/farrider"&gt;farrider&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-3552183181740879271?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/3552183181740879271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=3552183181740879271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3552183181740879271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/3552183181740879271'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2007/08/daily-bookmarks-08032007.html' title='Daily Bookmarks 08/03/2007'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9361977.post-8803158409731501343</id><published>2007-08-03T04:30:00.001+03:00</published><updated>2007-08-03T04:30:43.690+03:00</updated><title type='text'>Daily Bookmarks 08/02/2007</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.startforce.com"&gt;StartForce&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://myabodo.com"&gt;myabodo : see your world change&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://hesido.com/web.php?page=customscrollbar"&gt;fleXcroll: Cross Browser Custom ScrollBar script by Hesido&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9361977-8803158409731501343?l=www-daily.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www-daily.blogspot.com/feeds/8803158409731501343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=9361977&amp;postID=8803158409731501343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/8803158409731501343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9361977/posts/default/8803158409731501343'/><link rel='alternate' type='text/html' href='http://www-daily.blogspot.com/2007/08/daily-bookmarks-08022007.html' title='Daily Bookmarks 08/02/2007'/><author><name>Ivan</name><uri>http://www.blogger.com/profile/17008558601810322465</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='18211876009082666999'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>