CodeChef Rating Notifier Tool

TL;DR

Subscribe to the blog in the link to get email notifications when ratings get updated (Click Follow on the bottom right corner)
Link: https://codechefratingnotifier.wordpress.com/

Details

I’ve written a script that runs at regular intervals to see if ratings for a new contest have been updated. If yes, it creates a new blog post in the given link. All subscribers of the blog get email notification about the post.

Tech

The script is written using Google Apps Script and runs on my personal account. It checks the all-ratings page for the latest contest code. If a change is detected, it programmatically creates a new blog post about the latest contest code. The blog is hosted on WordPress.

Reasons for choices

I chose Apps Script because it runs directly on Google’s servers and provides a sufficient free quota. WordPress because it hosts for free, allows users to subscribe using email id, and the ease of automation of blog post creation (Can be done using OAuth or by sending mail to a designated id). I decided against a mailing list like Google groups or Mailman because a blog like WordPress/Blogger is indexed and makes it easily searchable.

Considerations

  • I have tried my best to ensure there is minimum manual involvement. The only exception being that when anticipating new ratings, I set the frequency to 15 minutes, and once ratings are updated I disable script or lower the frequency. If at some point I’m unable to continue solving problems on CodeChef, I’ll leave it running at a fixed frequency. I’m open to suggestions regarding this value.
  • Beta! Although I have tested it for the last few contests, things could still go wrong. If you receive multiple/incorrect emails please let me know.
  • I have not monetized the blog, but there may be ads because it is free.
  • I can see email IDs of followers. I promise not to spam or sell it.

Link: https://codechefratingnotifier.wordpress.com/

NOTE: Please mark the mails as important or move them to primary to ensure you get notified.

4 Likes

Awesome Bro! Looking forward to add this feature on http://bit.ly/bdaml2