2014년 7월 1일 화요일

How to track Brainworkshop and Mnemosyne repetitions in Beeminder (using Dropbox and IFTTT)

I'm a huge fan of Beeminder as it has helped me quantify progress on personal goals. Before Beeminder, I just wrote down my goals on a To-Do list and then felt bad when I failed to achieve them.

With Beeminder, however, any quantifiable goal can be automatically tracked, and if I go off-track, my credit card is automatically charged a penalty that increases exponentially with every failure.

Although some users are conscientious enough to manually enter data points for their Beeminder goals, I am just too lazy to enter data every day. Also, I have found that manual data entry poses a greater temptation to falsify data points (especially if you have lots of money on the line). I find StickK along with a human referee much better for goals that cannot be automatically tracked (i.e. x pushups* per day, etc. -- for this type of goal, I take a video selfie and share it on social media with my referee).

*Postscript 2015.12.04
It actually is possible to track pushups through the Beeminder Android app using a method described on the Beeminder blog (Nov. 21) and in a post by the Beeminder CEO. Details:

By swiping at the data entry box, you can use different methods to submit data to Beeminder...
Tally entry
Swipe the data entry area right (see the narrow yellow rectangles?) and then tap the counter. Now you can increment the count by touching anywhere on the screen. I use this to do pushups by putting my phone on the floor and touching my nose to it on each pushup. Use the back button to submit the data.

Brainworkshop is a working memory trainer using Dual N-Back. Mnemosyne is a Spaced Repetition Software (SRS) program similar to Anki but more streamlined. Both are Free and Open Source Software.

First make sure that both Brainworkshop and Mnemosyne are installed into folders within Dropbox.

In Archlinux, Brainworkshop installs to ~/.brainworkshop by default, but you can create a symlink from this directory pointing to the actual Dropbox installation location (I go into detail of how to do this in this post).

Now create an IFTTT rule that uses RSS as the trigger. Dropbox conveniently provides each user with an RSS events feed that updates whenever a file is created or modified. Tell IFTTT to search this feed for the keyword .brainworkshop.stats

When this keyword is detected, make IFTTT send an email to bot@beeminder.com with your Beeminder ID and your goal name in the subject line in the following format:

User123/Mygoal555

In the body of the email, you want to increment your graph by one point, so the body of the email should read:

^ 1 "comment blah blah blah"

Note that there is a space between the caret and the 1. (I failed to notice this, and ended up spamming the Beeminder bot with a bunch of invalid emails; oops!)

*Edit May 2015:

IFTTT will soon add an official channel for Beeminder so it is no longer necessary to send an email to the Beeminder mailbot as in the above example if you activate the Beeminder channel and set your custom IFTTT recipe to increment a Beeminder goal by a certain amount every time your trigger condition is satisfied.

The IFTTT rule for Mnemosyne is much the same, except the keyword you want to search for in the Dropbox RSS Events feed is default.db-journal

--------------------------------------------
Bug Alert: Sometimes this doesn't work as intended, because if multiple files are changed at the same time, the Dropbox events feed will record the event as:

You edited filename.foo and n more files

instead of indicating a change in a single file like default.db-journal or brainworkshop.stats which the IFTTT trigger is looking for in the RSS feed.
--------------------------------------------

Here are the links to my shared IFTTT rules for Brainworkshop and Mnemosyne, respectively:

https://ifttt.com/recipes/159615-dropbox-brainworkshop-beeminder

https://ifttt.com/recipes/159617-dropbox-mnemosyne-beeminder

Feel free to edit these rules and replace the Dropbox RSS feed with your own. As of July 1st, 2014 I have been diligently doing my Brainworkshop and Mnemosyne reviews almost every day for 6 months straight!