Feeds

i believe RSS|Atom given its ubiquity as a fossilized format like email is useful input to a SIOC agent

a Class E is just a single (immutable) field, URI. element/W/feeds imports feed functions for its method namespace

eg "given a URI, what are the feeds linked in it":

irb> E('http://thechangelog.com/').feeds

or in bash:

$ e http://thechangelog.com/ feeds
http://thechangelog.com/rss

to store a list of feeds, convenience functions using a fs-based triplestore:

irb> E.feeds

or sh:

$ E feeds

lowercase e corresponds to instance methods and uppercase E, Class methods..

irb> E('http://thechangelog.com/').feeds[0].addFeed

$ e rdf:type expand
http://www.w3.org/1999/02/22-rdf-syntax-ns#type

$ e `e rdf:type expand` pIndex
/index/<>/http://www.w3.org/1999/02/22-rdf-syntax-ns#type

e `e rdf:type expand` poIndex `e rss:channel expand` | xargs -i find .{} | tail -n 1
./index/<>/http://www.w3.org/1999/02/22-rdf-syntax-ns#type/<>/http://purl.org/rss/1.0/channel/<>/http:/www.reddit.com/r/programming/new/.rss

as a proponent of this ethos it should be clear there are numerous ways to manage sources using ruby, bash, or even mkdir -p

perhaps youd like to curate a text file, and cat name | xargs -i e {} getFeed
maybe one for daily, one for hourly, one for weekly, cron..

email

a procmalrc creates the paths - the idea being no dir gets too huge, and any FS-db property/value range results are subsorted by date, for free. if you want a different scheme you'd change the strftime to match
.
whether MTA, fetchmail, getmail or offlineimapis a matter of preference.

im well aware one reason people choose to use webmail is the access-anywhere nature. theres at least three ways to achieve this
  • imap/pop server (which has its own webmail, and leaving copies so each workstation/access-point can eventually synch its own full copy).
  • filesystem, distribute on Ceph, AFS, NFS, Rsync, scp and dropbox
  • HTTP. my phone is my cloud server, since its always on and runs debian, the universal OS