I received an e-reader for my (admittedly upcoming) 21st birthday today, an Amazon Kindle 3, and have spent a couple of hours getting it set up. It really was very easy to get it to do all the things I wanted it to do, and it’s all wireless, which was my reason for choosing this e-reader over alternatives. Perhaps I’ll review it when I’ve owned it for a little while, but for the time being here are some notes on the technical setup.

The following three headings are the three things I wanted to make sure I had working as they are the three things I read that I want to read on an e-reader, academic books being the main other thing I don’t really want on here atm.


The point of the device. I’m putting these on using Calibre, which is Free Software that runs fine under GNU/Linux and will e-mail books to your @free.kindle.com address no questions asked. It even gives you a setup wizard so you don’t have to fiddle at all.

I’m maintaining a library of ebooks (rather small atm!) using Calibre and checking my Calibre config into git as usual, and I’ll backup the library using Unison in the same way that I backup my music directory; they live in ~/var/calibre. I have absolutely no intention of ever visiting the Amazon Kindle Store, even for the free books, because I am not prepared to suffer that level of DRM. I will acquire my ebooks from DRM-free stores, or libraries, and send them over.

The Guardian

This is much, much better than having the RSS feeds dumped into my Maildir, and it remains free. Calibre has built-in recipes to convert the Guardian website content each day—that is, the content that got printed in the paper, not all the live blogs and online-only content which I don’t really want—into a nice browsable .mobi and while this is a rather CPU-intensive operation, I’m nicing it down and running it on my server with no noticeable performance losses at present.

I’m using the latest version of the Guardian recipe rather than that supplied with the older version of Calibre that comes with Debian Lenny. Here’s my script:


nice -n 19 ebook-convert /home/swhitton/lib/guardian.recipe /tmp/guardian.mobi
calibre-smtp --attachment /tmp/guardian.mobi --relay localhost my_email_address_here my_kindle_address_here ""
rm /tmp/guardian.mobi

and the cron job:

0 6 * * * /home/swhitton/bin/guardianget.sh 1>/dev/null 2>&1

If anyone else I know well would like this e-mailing to their device too, I can easily add more calibre-smtp lines.

RSS feed content & other web pages

Very pleased to discover Kindlebility, which is free software, for converting webpages. Here is the code to get it bound to a key in Conkeror:

// Kindlebility ftw
define_webjump("kindlebility", "<paste bookmarklet code here>");
interactive("kindlebility", "Sending articles to your Kindle, one click at a time!", "find-url", $browser_object = "kindlebility");
define_key(content_buffer_normal_keymap, "C-x C-k", "kindlebility");

and remember to authorise the Kindlebility e-mail address or nothing will get through. Then C-x C-k to send a page hassle-free.

I’m still going to have RSS coming in by e-mail because I have lots of web comics and things that take seconds to read, but anything of significant length is just going to be opened up in my browser and Kindlebility’d over the airwaves if I want to read it.

This means that e-mail will not drag out into a few hours each evening; it’ll be moving swiftly through messages, making decisions about what proper stuff to go away and read and then I can close my e-mail client rather than having it open all evening which means I get distracted, so I’m pleased by this new workflow. I strongly suspect it will mean me spending far fewer hours in front of my desk which is definitely a good thing.


Cool, I got this working too. For some recipes I found that the most recent edition wouldn’t replace the previous one, so the book list would fill up with many versions of the Guardian. It seemed to go away after I added ”–output-profile kindle” to the options for ebook-convert. Hope that helps someone.

Comment by nick Mon 19 Sep 2011 06:56:36 UTC