README for Reading-Heap
Reading-Heap
Reading-Heap: a service and clients for managing your media consumption order.
Description
What is a Reading Heap?
It's a heap of things you want to read. Shocking, I know. But what does that mean? Simply, it means you add a priority when you put an item on the heap, and when you ask the heap what to read it will take your priorities into account (another name for a heap is a priority queue, after all).
What sets Reading Heap apart?
Reading-Heap is implemented as a service, so any zmq-enabled language can write a client for it. You could possibly write a client to add an article from your phone via a web service, grab the details into your wayland clipboard from the command line, and maybe one day file it into your org-mode agenda buffer.
Installation
Dependencies
- Guile 3 (or later)
- guile-config
- guile-json
- Guile-Simple-ZMQ
- ZeroMQ
Build Dependencies
- GNU AutoMake
- GNU AutoConf
- Guile Hall (optionally)
Procedure
The usual autotools make process applies here. We've put the call to
hall build -x
in the autogen.sh script, and only run it if we
find Guile Hall.
./autogen.sh ./configure make sudo make install
Usage
Server
To start this whole thing, put the following in your favorite autostart mechanism, or just run it from the command line.
rh-server
If you need to shut it down, you can use the command-line client.
rh-client shutdown
Command-line Client
Let's say you're a refined sort with good taste, and you want to read that collection of Emily Dickinson poems you've had next to your bed for the last year. You might do this:
rh-client new --priority 1 --title "The Poems of Emily Dickinson: Reading Edition" --author "Emily Dickinson (Author) RW Franklin (Editor)" --location "Nightstand"
To get something back out, you would issue a 'next' command:
rh-client next
To let the system know you've been edified by the verse:
rh-client consume