Wynn Netherland changelog.com/posts

grapevine: Trending topics for stuff you care about

Try as we might, even we, your humble Changeloggers, can’t cover all open source news. So what to do if you’re looking for your daily fix of Haskell news? Ben Johnson offers Grapevine, a Ruby server for aggregating messages, deriving trending topics, and sending out notifications.

In this initial release, Grapevine demonstrates using Twitter as a data source, GitHub repo languages as a filter, and Twitter to send out notifications of new topics. Or, in other words, you can now follow news in your programming niche thanks to Topsy, GitHub, and Twitter:

Installation and usage

If you want to run your own server, just install Grapevine as a gem:

gem install grapevine

Once installed, grapevine offers a command line interface to manage the server:

$ grapevine start
$ grapevine stop
$ grapevine restart
$ grapevine load
$ grapevine notify
$ grapevine show messages
$ grapevine show notifiers
$ grapevine show notifier [NAME]
$ grapevine show sources
$ grapevine show tags
$ grapevine show topics
$ grapevine show topic [NAME]

Grapevine uses a simple YAML-based config file to manage sources and notifiers:

twitter_consumer_key: YpHAA9xFYsdfruS06yk2Jvxy
twitter_consumer_secret: aMYXpyl4Sasdgg89xx4YD5asdfUwftkveuSfjtoDZlarJHR1ZHH

sources:
  - name: my_github_source
    type:  twitter-github
    frequency: 1h

notifiers:
  - name: github_js
    type: twitter
    username: github_js
    oauth_token: 1023929394-M8wtmerAMnI7ndH9x0ADzHTOsdfWOD0sxx9UsjvgcxNNx
    oauth_token_secret: m6Ryi8h7Y6yBxa0x0ffsaWUybE2vrxx8a9sYFsgnDB9QFG
    source: my_github_source
    frequency: 1h30m
    window: 6M
    tags: [language:javascript]

  - name: github_rb
    type: twitter
    username: github_rb
    oauth_token: 310128260-VKGv2UDYMNF0x0A0fsfqZhsdf3QwxiMkd0xfa0sf3vv
    oauth_token_secret: GAfa9xk6wyQ98mjXmXfrPN0as00sdfszxkStjxdzwTlEt
    source: my_github_source
    frequency: 2h
    window: 8M
    tags: [language:ruby]

Grapevine also supports Bit.ly to shorten links in outbound tweets. Just add your Bit.ly API creds to the config file:

bitly_username: johndoe
bitly_api_key: R_ae81e4e8ef7d10728725a57e90e1933

Got ideas for other sources and notifiers? Go ahead and fork the project.

[Source on GitHub] [Web site]


Discussion

Sign in or Join to comment or subscribe

Player art
  0:00 / 0:00