<p>
One of the major advantages of Google Reader over application based clients is that no matter where you access it from your views are synchronized. Everything you read is marked a read everywhere and you don't have to worry about whither you check your feeds on a desktop PC or on your phone. It truly is the best example of a cloud application out there.
</p>
<p>
Except for the fact that I'm not happy with the idea of a complete stranger watching and recording every article I read, how long I read it for, and share that information around to other <em>trusted partners</em>. Remember when your parents/guardians caught you reading over their shoulder ? It wasn't acceptable then and it sure isn't now. Epically when I noticed that my search results changed dramatically after I started following certain feeds. It's just not right and here's why <a href="https://www.ted.com/talks/eli_pariser_beware_online_filter_bubbles.html">https://www.ted.com/talks/eli_pariser_beware_online_filter_bubbles.html</a>
</p>
<p>
<object width="526" height="374">
<param name="movie" value="https://video.ted.com/assets/player/swf/EmbedPlayer.swf"/>
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always"/>
<param name="wmode" value="transparent"/>
<param name="bgColor" value="#ffffff"/>
<param name="flashvars" value="vu=https://video.ted.com/talk/stream/2011/Blank/EliPariser_2011-320k.mp4&su=https://images.ted.com/images/ted/tedindex/embed-posters/EliPariser-2011.embed_thumbnail.jpg&vw=512&vh=288&ap=0&ti=1091&lang=&introDuration=15330&adDuration=4000&postAdDuration=830&adKeys=talk=eli_pariser_beware_online_filter_bubbles;year=2011;theme=what_s_next_in_tech;theme=bold_predictions_stern_warnings;event=TED2011;tag=culture;tag=global+issues;tag=journalism;tag=politics;tag=technology;&preAdTag=tconf.ted/embed;tile=1;sz=512x288;" />
<embed src="https://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="https://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="526" height="374" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=https://video.ted.com/talk/stream/2011/Blank/EliPariser_2011-320k.mp4&su=https://images.ted.com/images/ted/tedindex/embed-posters/EliPariser-2011.embed_thumbnail.jpg&vw=512&vh=288&ap=0&ti=1091&lang=&introDuration=15330&adDuration=4000&postAdDuration=830&adKeys=talk=eli_pariser_beware_online_filter_bubbles;year=2011;theme=what_s_next_in_tech;theme=bold_predictions_stern_warnings;event=TED2011;tag=culture;tag=global+issues;tag=journalism;tag=politics;tag=technology;&preAdTag=tconf.ted/embed;tile=1;sz=512x288;"></embed>
</object>
</p>
<h3>Getting a list of my feeds</h3>
<p>
Google should be credited with the fact that they make exporting very easy to do. Thanks to the work of the <a href="https://www.dataliberation.org/">https://www.dataliberation.org/</a> team. Who's stated goal is <em>"Users should be able to control the data they store in any of Google's products.  Our team's goal is to make it easier to move data in and out."</em><br />
For Google Reader this amounts to:
</p>
<pre>
Settings -> Reader Settings -> Import/Export -> OPML
</pre>
<p>
<em><strong>OPML (Outline Processor Markup Language)</strong> is an XML format for outlines (defined as "a tree, where each node contains a set of named attributes with string values"). Originally developed by Radio UserLand as a native file format for an outliner application, it has since been adopted for other uses, the most common being to exchange lists of web feeds between web feed aggregators.</em><br />
From Wikipedia, the free encyclopedia <a href="https://en.wikipedia.org/wiki/OPML">https://en.wikipedia.org/wiki/OPML</a>
</p>

<p>
That's it. You now have a list of all your feeds we are still faced with the problem of reading/deleting items in one place and having them synchronized everywhere else ? The answer is actually quite obvious.
</p>
<h3>imap - Internet Message Access Protocol</h3>
<p>
<em>From Wikipedia, the free encyclopedia<br />
<a href="https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol">https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol</a><br />
Internet message access protocol (IMAP) is one of the two most prevalent Internet standard protocols for e-mail retrieval, the other being the Post Office Protocol (POP). Virtually all modern e-mail clients and mail servers support both protocols as a means of transferring e-mail messages from a server.</em>
</p>
<p>
The great news is that there are imap clients everywhere. Microsoft Outlook supports it. Thunderbird, Evolution, Kmail, Claws-Mail all support it. It's supported on Android, the iPhone, and on Windows Mobile. There are a multitude of web clients. The only problem now was to find a way to get the RSS feeds over to a imap message format. A quick duckduckgo search later lead me to ....
</p>
<h4>Feed2Imap</h4> 
<p><a href="https://home.gna.org/feed2imap/">https://home.gna.org/feed2imap/</a><br />
<em>Feed2Imap is an RSS/Atom feed aggregator. After Downloading feeds (over HTTP or HTTPS), it uploads them to a specified folder of an IMAP mail server or copies them to a local maildir. The user can then access the feeds using Mutt, Evolution, Mozilla Thunderbird or even a webmail.</em>
</p>
<p>
It's in all the major repositories and I had it up and running in under ten minutes. It keeps it's settings in a hidden file <strong>.feed2imaprc</strong> in your home directory. The configuration is simple, four lines per feed.
</p>
<pre>
feeds:
 - name: kenfallon.com
   url: https://kenfallon.com/?feed=rss2
   target: imap://RSSNewsAccount%40example.com:PasswordForRSSNewsAccount@imap.example.com/INBOX.Feeds.Tech_Blogs
   include-images: true
...
</pre>
<p>
The <strong>name</strong> filed is what will be the feed name and <strong>url</strong> is the link to the rss feed. The <strong>target</strong> is the path on the imap account you want to put it to. I used a throw away email account on my own domain with some restrictions on the size so that if I forget to check it won't affect the rest of my mailboxes. <br />
The line it's broken into several parts, first is <em>imap://</em> followed by the imap account user name and password. If your login contains an @ character, replace it with %40. Next is the <em>@</em> sign followed by your server hostname and then the path. I chose <strong>INBOX.Feeds</strong> and then a subfolder for every group I had in Google Reader. The only other option I set was to include the images.
</p>
<h4>opml2feed</h4> 
<p>
I have quite a few feeds now and I did not want to be typing them in by hand. So I wrote a small perl script to convert the opml file into a .feed2imaprc format and it will hopefully get you most of the way. The code is available on <a href="https://gitorious.org/opml2feed">https://gitorious.org/opml2feed</a> ( thanks to Klaatu over at <a href="https://www.gnuworldorder.info/">https://www.gnuworldorder.info/</a> where he covered using Git in the March 31, 2012: Episode 7x13.)
</p>
<p>
Now setup the imap account on your mail client(s) and once you are happy run <strong>feed2imap</strong> and you should see the items beginning to appear. I set it to run every two hours at 14 minutes past the hour by adding the following line to my cron tab.
</p>
<pre>
14 */2 * * * /usr/bin/feed2imap >/dev/null 2>&amp;1
</pre>
