Tag Archives: email

Feeds in your inbox

Google Reader will be dead by the 1st of July. Everyone has moved or at least is considering moving to new feed aggregators. There is a heap of options out there (out of which I recommend that you try out Newsblur). But none of them has been able to boast of a good public API as our good old Google Reader did.

I used to have this IFTTT recipe that would send the articles of the most important feeds I follow to my inbox. Now that Reader is dying and no other options out there seem to offer IFTTT channels, the best solution seemed to be rss2email.

rss2email (how appropriately named!) is a tool used to send new feed items to your email inbox. It has been first written in Python by Aaron Swartz (who happened to commit suicide a few months back). The source can be found in github.


It would be much convenient if you have your own server (or a shared host). Even a desktop that runs on Linux or Mac OS X would do, but make sure it stays powered on most of the time and has a constant internet connection. This is because rss2email should be invoked periodically to check feeds using a cron job. To send email, you need to have a mail server installed and configured. If you’re using a web host, this might have already been done for you. Also make sure you have Python installed.

Setting up rss2email

1. Download

Download rss2email with wget and extract.

wget http://www.allthingsrss.com/rss2email/rss2email-2.70.tar.gz
tar xf rss2email-2.70.tar.gz

2. Configure

This is the most important step. The newly extracted directory contains a file called config.py which contains all the necessary configs. Most are self-descriptive. Make sure you configure the mail server settings correct. Here’s my setup:

SMTP_SERVER = “mail.thameera.com:[port]
SMTP_USER = ‘[emailid]@thameera.com’
SMTP_PASS = ‘[password]

You can set the email address that would be in the ‘From‘ field of emails in the DEFAULT_FROM config.

3. Set your ‘To:’ address

See the r2e script in your extracted directory? That’s what you need to invoke for the tasks we do from now on. First, set the address of where the mail should be delivered to using the following command:

./r2e new

4. Add feeds

Time to add those feeds. You can add them one by one using ./r2e add. For example, to add the feed of this blog:

./r2e add http://blog.thameera.com/feed

Now if you run the following command it would grab all the feeds and send them to your email:

./r2e run

However, it would send all the items available in the feeds in the first run. This could even be hundreds. Since most of you wouldn’t want this to happen, make sure you run it with --no-send first.

./r2e run –no-send

The next time you run r2e, it would mail only the new feed items.

5. Set the cron job

You’re almost done. The last step would be to set up a cron job that would invoke r2e periodically. If you don’t know how to set up cron jobs, be a lamb and look for a tutorial online. The cron job should cd to the r2e directory and run the command ./r2e run. You can set the time interval as you wish. A small interval means you get the articles mailed quickly, but would cause more server load and cost bandwidth. I’ve set mine to 15 minutes.

That’s it. No more Google Reader. You can sit back and relax while rss2email makes sure you never miss an important feed item. If you’re feeling adventurous, you can also go ahead and edit the python scripts to change the email format and tweak to make it more awesome.

Spaced repetition like a boss

Derek Sivers has a post about spaced repetition. If you are new to Spaced Repetition or even if you are not, I highly recommend reading his article or googling about this cool technique a bit. Derek’s article is focused on memorizing a programming language, which is a cool use of SR. However, the way he does it has a weakness: he’s using Anki.

I came across SR while I was learning Spanish. This technique is widely used among language learners to remember new words and phrases they are learning. Most of them use Anki, which is an app built for remembering stuff using flash cards and spaced repetition. But unless you are the really persistent type, it’s not an easy task remembering to load up Anki every day and reviewing the day’s cards.

I used Revunote for some time. It’s an Android app that integrates with Evernote. It gets the notes that you tag as ‘Revunote’ from Evernote and shows them up in increasing intervals (1, 3, 7, 14, 30 and 60 days). Revunote is simple and does exactly what it says, and I still use it; but is there a better solution?

A possible candidate is email. We don’t ‘forget’ to check mail and we check them every day, no exceptions. If we could plug in SR to our email, that would be perfect. And how do we do that? FollowupThen.

Email followups

FollowupThen is a free email service (with optional premium service) that lets you make email reminders. For example, if you send an email to 3feb@followupthen.com, the mail will be sent back to you in the 3rd of February. If you send it to 10h@followupthen.com, it would bounce back in 10 hours. If you want to reply to an email and if you can’t do it till tomorrow, you can forward it to tomorrow@followupthen.com and you can guess the rest. Pretty cool, huh? It’s can be a life-savior to most of us. There’s a comprehensive how-to on using FollowupThen here.

Now think about this: what will happen if you send a mail to both tomorrow@followupthen.com and 3days@followupthen.com? You will get the mail both tomorrow and in three days. Can you see where I’m getting at? Spaced repetition coming into play!

So here you go:

  • Open up your email client and create a new contacts group.
  • Add the following contacts to that group (with each followed by @followupthen.com):
    3h, 24h, 3days, 7days, 2weeks, 1month, 3months, 6months.
  • Compose a mail with what you want to remember.
  • Send it to your new group of contacts.

Voila! FollowupThen will make sure you remember whatever crap you put into that mail! You can add/remove the times you’d like to review as you wish. YMMV. Just make sure you read each email that followupthen sends; no skipping, please. If you can stick to this simple rule, I’m telling you, this simple system can work miracles.

What do I want to remember?

Fair question. What, indeed? Here are some suggestions.

  • Some new words or phrases in a language you are learning
  • An interesting code snippet or a design pattern
  • Lyrics of a song or a poem
  • A Linux/Git/Vim/whatever command
  • Facts for general knowledge
  • Some telephone/credit card/whatever numbers
  • Anything that you wish you could remember

This is no rocket science. There’s little effort required to set it up. And there’s no reason why you shouldn’t give spaced repetition a try. Go!