MapReduce related patterns

Here’s a list of possible MapReduce related patterns I’ve been thinking about:

  • map-update: update each mapped document and emit its updated or original version;
  • map-delete: delete each mapped document;
  • map-reduce-map: map results of a map-reduce;
  • map-map: map results of a map;
  • map-recurse: apply recursion to the mapping function until a stop condition occurs;
  • any combination of patterns, e.g., map-reduce-map-update.

Example usage:

  • get the e-mail address of every customer with a negative balance: map-reduce-map. First, map-reduce to get the aggregate balance for each customer, then map again to get only customers with negative value and emit their e-mail address;
  • delete all documents older than one month: map-delete. First, map to get all documents older than one month and then delete each one;
  • get a list of documents and mark them as read: map-update. First, map to get the list of documents according to a given criteria, then update each document marking it as read;
  • and so on…

Your Google Alerts can be deleted by anyone

I found out the hard way that my Google Alerts can be deleted by anyone, if they have access to the “Remove” URL.

Here’s how it works: Google will send you e-mail alerts whenever it finds results for any search terms you specify. At the bottom of each message there are 3 links:

  • “Remove this alert”
  • “Create another alert”
  • “Manage your alerts”

The problem is with the first link. I tried it several times, first using Chrome‘s incognito mode but then opening the link on a different browser, making sure that I wasn’t signed in to any Google application.

What happens is that, whenever I open that link, Google removes the alert without asking me to sign in! Google simply presents a message saying “Google Alert cancelled”.

So, be careful when forwarding those Google Alerts e-mails to someone else as they might be able to remove your alert!

Vimeo will delete originals after one week

Quoting New source file policy on Vimeo Staff Blog:

Starting August 1st, basic accounts’ original source files will be stored for one week from the upload date, after which they will be removed.


This new one-week policy applies to all basic accounts’ videos uploaded from this point onwards. For videos that were uploaded before this blog post, those original files will be available until August 1st, to give you some time to download them if you need to. After August 1st, those files will also be removed.

Well, according to them, “original file storage of every file for every user is a massive cost, and we have noticed that only a very small set of users actually ever download their own files”.