{"id":235,"date":"2006-12-12T00:46:08","date_gmt":"2006-12-12T07:46:08","guid":{"rendered":"http:\/\/www.red-sweater.com\/blog\/235\/cheap-and-easy-nnw-syncing"},"modified":"2006-12-12T00:52:18","modified_gmt":"2006-12-12T07:52:18","slug":"cheap-and-easy-nnw-syncing","status":"publish","type":"post","link":"https:\/\/redsweater.com\/blog\/235\/cheap-and-easy-nnw-syncing","title":{"rendered":"Cheap And Easy NNW Syncing"},"content":{"rendered":"<p>I really love <a href=\"http:\/\/www.newsgator.com\/NetNewsWire.aspx\">NetNewsWire<\/a> &#8211; it fits the bill for (almost) all of my aggregation needs. It even has a rather sophisticated syncing mechanism, which got even more advanced after the the product was purchased by NewsGator.<\/p>\n<p>\nBut syncing isn&#8217;t really for me. Don&#8217;t get me wrong, I want to read news from more than one machine &#8211; just very irregularly. And sometimes suddenly. I don&#8217;t want the overhead of syncing <em>all the time<\/em> just so my subscriptions will be available when I happen to pop out of town for a few days.\n<\/p>\n<p>\nThe fact is, 95% of my news reading happens on my main development machine, and maybe 5% happens on my laptop. So my special low-tech version of &#8220;syncing&#8221; involves two simple steps:\n<\/p>\n<ol>\n<li>Make sure my laptop has the same subscriptions as my desktop.<\/li>\n<li>Make sure the &#8220;unread articles&#8221; on either machine match my last reading.<\/li>\n<\/ol>\n<p>I found myself doing some pretty crazy things, like simultaneously &#8220;catching up&#8221; on one machine and then &#8220;marking all as read&#8221; on the other. Finally, I realized I didn&#8217;t need to be so particular about things. I could do just fine if I knocked out &#8220;almost all&#8221; of the posts I had already read on the other machine. How to do this? Pretty simple. Just mark <em>everything<\/em> as read, and then mark everything after a <em>certain date<\/em> as unread.<\/p>\n<p>\nI decided to take that <em>certain date<\/em> from a cue article. That is, an article I&#8217;ve selected in NetNewsWire. By running <a href=\"http:\/\/www.red-sweater.com\/AppleScript\/MarkUnreadSinceDate.zip\">Mark Unread Since Date<\/a> while I&#8217;m looking at any article in NetNewsWire, I instruct the program to mark as unread every article released at that time or later.  So I can browse through some recently read feed, select an article, and &#8220;go back in time&#8221; to the unread articles from that era and later. By identifying a particular post as &#8220;something I read,&#8221; I&#8217;m guaranteed that nothing I haven&#8217;t read will be omitted (assuming I finished &#8220;catching up&#8221; on the other machine).\n<\/p>\n<p>\nThis really works for me. I&#8217;m careful to pick articles from a time that is &#8220;roughly a few minutes before I stopped reading on the other machine,&#8221; and have the easiest time of  staying &#8220;in sync&#8221; between the machines.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I really love NetNewsWire &#8211; it fits the bill for (almost) all of my aggregation needs. It even has a rather sophisticated syncing mechanism, which got even more advanced after the the product was purchased by NewsGator. But syncing isn&#8217;t really for me. Don&#8217;t get me wrong, I want to read news from more than [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,20,12],"tags":[],"class_list":["post-235","post","type-post","status-publish","format-standard","hentry","category-applescript","category-hacking","category-usability"],"_links":{"self":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts\/235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/comments?post=235"}],"version-history":[{"count":0,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/posts\/235\/revisions"}],"wp:attachment":[{"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/media?parent=235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/categories?post=235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redsweater.com\/blog\/wp-json\/wp\/v2\/tags?post=235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}