var gfselect = function (feeds) {
  var contents = [], args = Array.prototype.slice.call(arguments, 1);
  for (var i = 0; i < feeds.length; ++i) {
    var feed = feeds[i];
    for (var j = 0; j < feed.entries.length; ++j) {
      var entry = feed.entries[j], address = (args.length ? '' : entry.link);
      for (var k = 0; k < args.length; ++k) {
        address += ' ' + (entry[args[k]] instanceof Array ? entry[args[k]].join(' ') : entry[args[k]]);
      }
      var content = new String(address.substring(1));
      content.date = new Date(entry.publishedDate);
      contents.push(content);
    }
  }

  return contents.sort(function (a, b) {
    return a.date.getTime() < b.date.getTime() ? 1 : -1;
  });
};
