You know how you always open too many tabs in Firefox for deferred reading, and then you end up with a thousand tabs because you’re not getting around to reading them, and then Firefox crashes and then you lose them all? Plus, it’s rather unmanageable.

Enter [[Read it later http://readitlaterlist.com/]]. Now you can just add the tab to a reading list, and close it. Later on when you have time, you can come back to your reading list.

But wait, there’s more. You can open an account with Read It Later, and then you can synchronise your reading list between all your Firefoxes.

But wait, there’s more. You can get [[Calibre http://calibre-ebook.com/]] to use your reading list as a news source (in the “unknown” section of Scheduled News) and Calibre will download your entire list, make it into a periodical entry, and send it to your Kindle. Now how’s that for cool (and non-straightforward)?

Ok, so to get to that point I ran into a number of problems. Read It Later does not work with Vimperator, and I have no idea why. I discovered that there is now a branch of Vimperator called Pentadactyl (which is actually a funny name), which is compatible with Read It Later, and seems to have some new functions over Vimperator too. But Pentadactyl requires Firefox 3.6, which is not in Debian yet. I discovered Mozilla provides a tar of Firefox that just unpacks and somehow works directly on Debian stable. Problem solved: with Firefox 3.6, I can have Pentadactyl, which lets Read It Later works happily. And that’s how wanting one little extension makes you upgrade half of your computer.

And on top of that, I add a file readitlater.js in ~/.pentadactyl/plugins containing:

commands.addUserCommand(['readitlater'], "Read Later",function(){RIL.addCurrent();RIL.addedFromLocationBar();});
commands.addUserCommand(['markasread'], "Mark as Read", function(){RIL.markCurrentAsRead();});
commands.addUserCommand(['readsomething'], "Read Something", function(){RIL.readSomething();});

That way, I have new commands: :readitlater and :markasread, to set my reading list, and :readsomething to open the reading list. The next step will be to integrate the reading list properly the same way as it is done in Pentadactyl.