summaryrefslogtreecommitdiffstats
path: root/site/blog/98_perfect_rss_solution.org
diff options
context:
space:
mode:
Diffstat (limited to 'site/blog/98_perfect_rss_solution.org')
-rw-r--r--site/blog/98_perfect_rss_solution.org101
1 files changed, 0 insertions, 101 deletions
diff --git a/site/blog/98_perfect_rss_solution.org b/site/blog/98_perfect_rss_solution.org
deleted file mode 100644
index d9d58da..0000000
--- a/site/blog/98_perfect_rss_solution.org
+++ /dev/null
@@ -1,101 +0,0 @@
-#+TITLE: The 98% perfect RSS solution
-#+DATE: 2012-11-30 10:00
-#+TAGS: rss emacs gnus gwene tt-rss avandu
-
-* Test
-
- I've been looking for the "perfect" RSS reading solution for a while
- and I just got this idea for a setup that has to be about 98% of all
- I'm looking for.
-
- The things I'm looking for are:
-
- - Emacs interface. This isn't that big a problem since anything
- with an API can be made to have such an interface, and I feel
- comfortable enough with Emacs Lisp to write it myself if I have
- to, like I was doing with [[http://code.ryuslash.org/cgit.cgi/emacs/avandu/][avandu]], but then it /does/ need a(n/ good)
- API.
-
- - Unbound to a single computer. It's a hassle to have to remember
- what you have and haven't read. If it was easy your RSS reader
- wouldn't care about (un)read items, everything would just be
- "items". So sharing that state between computers is pretty
- important.
-
- - A server. Something that keeps running 24/7. Or at least the
- closest possible approximation of that. It's no good to miss
- everything that happens between 11pm and 9am just because you
- don't have your feed reader running. Of course this is only a
- problem if you're following some high-traffic feeds, but they
- exist too.
-
- - Runs locally. The nice thing about having shell access to a
- server somewhere that someone else keeps online for you is the
- possibility to run something like [[http://newsbeuter.org/][newsbeuter]] and just
- (de/reat)tach from whichever computer you're working on. The
- downside is, though, that this breaks pretty much all integration
- with your desktop. Opening URLs becomes a reliance on your
- terminal emulator's ability to parse and open them. Viewing media
- such as images, or audio files from a podcast, turns into ~Save,
- Transfer, Open~ instead of just the ~Open~.
-
- - Handles big feed lists. Even if you only read five feeds, the day
- may come you'll be reading fifty, or even much more. A piece of
- software that handles this well is a must. This is the problem I
- had with [[http://codezen.org/canto/][canto]] and Emacs' [[http://www.emacswiki.org/emacs/NewsTicker][newsticker]]. *canto* looked awesome, the
- most interesting interface to RSS feeds I have come across so far,
- but back when I tried it trying to read my collection of feeds
- would lock-up my computer. *newsticker* would lock-up my emacs
- session for 10-20 minutes.
-
- Now though I have found something that does it all. It is actually
- a twist on something I used some time ago.
-
- *Emacs* + [[http://gnus.org/][Gnus]] + [[http://gwene.org/][Gwene]] + [[http://www.cis.upenn.edu/~bcpierce/unison/][unison]]. Not the easiest thing to set-up
- perhaps, but once *Emacs* + *Gnus* is in place the rest is a piece of
- cake.
-
- *Gwene* is an awesome service that turns RSS feeds into
- newsgroups. *unison* is an awesome piece of software for
- synchronising files between different computers. *Gnus* is a real
- newsreader. *Emacs* is what *Gnus* runs on.
-
- So it's kind-of like cheating. *Gnus* is not unbound to a single
- computer and *Gwene* doesn't offer server-side state tracking either.
- But because *Gnus* uses a single file to store state about all of its
- subscribed groups, this makes it a good candidate for sharing that
- one file. This is not something unique to *Gnus*, at least [[http://www.slrn.org/][slrn]] uses
- the same kind of file, the ~.newsrc~ file (or in *Gnus*' case
- ~.newsrc.eld~).
-
- So I register the feeds I want to follow with *Gwene*, if they aren't
- already registered. I subscribe to the resulting newsgroups on
- ~news.gwene.org~ with *Gnus* and when I switch over to another computer
- I use *unison* to synchronise the ~.newsrc.eld~ file.
-
- An example configuration of *Gnus* could just be as simple as:
-
- #+BEGIN_SRC emacs-lisp
- (setq gnus-select-method '(nntp "news.gwene.org"))
- #+END_SRC
-
- *unison* just needs:
-
- #+BEGIN_EXAMPLE
- root=/your/home/dir/
- root=/your/server/root/
- path=.newsrc.eld
- #+END_EXAMPLE
-
- And that's about it.
-
- Now it's still not 100% perfect. I've seen that *Gwene* can't handle
- 100% of the feeds I throw at it, but these can be fixed either by
- contacting the people publishing them or by improving *Gwene*'s
- parser. It also doesn't automatically check periodicaly, though I
- think *Gnus* can be set-up to do that, but since I also use it to read
- my mail (again) that's not really an issue. It also isn't
- accessible without *Emacs*, *Gnus* and *Unison*, but I hate web-interfaces
- anyway.
-
- So that's it. My 98% perfect RSS reading solution.