I just exploited an interesting loophole with my pushups goal:
beeminder.com/d/push
It’s a bit ironic because I purposely stopped 2 pushups below my road
yesterday in anticipation of a demo at a Quantified Self meetup of how
delightfully wonderful beeminding pushups is if you have an android
device. [1] I showed everyone how I was in the red and due to derail
in about 4 hours, at midnight. But then I did 2 pushups in front of
everyone and refreshed the page, and BAM, there I was on the road
again. The crowd went wild.
Anyway, that meant another emergency day today, which the bot
faithfully reminded me of. Actually I got reminded by the email bot
AND the sms bot AND the android app. But I kept being like, “I’ll do
the pushups later when the office empties out”. Then of course I
forgot till just now, which is after midnight.
But it’s not after 3am so my graph hadn’t actually frozen and
scheduled the $90 charge yet. Here’s where the loophole comes in.
Normally it’s up to you to enter the day so if I wanted to consider it
still the 16th I’d just enter 16 and my number and Beeminder would be
fine with that if the graph wasn’t frozen. But TallyBee is entering my
data for me, and it considers it the 17th if it’s after midnight.
Nonetheless, Beeminder only counts you as derailed if it sees you get
to the end of an emergency day still off the road. Which, for
technical reasons, it treats as “still off the road when the graph
refreshes on the new day after the emergency day”. So, violating the
must fundamental tenet of Beeminder, I did enough pushups to catch me
back up! I was off the road for the 16th but when it calculated the
new graph after midnight, officially for the 17th, I was on the road.
So the condition for calling me derailed was never triggered.
So I guess I’ll let it stand for now, but obviously no one should be
counting on that friendly bug persisting…
(And just to remove any temptation for myself: I hereby affirm that we
cannot weasel out of paying up on any of our dogfood contracts –
blog.beeminder.com/blogdog – by exploiting this loophole!)
It now occurs to me that I’ve exploited this before with my weight,
which is similarly auto-reported by our Withings scale. I had an
emergency weight day, meaning I was above the road in the morning. So
I didn’t eat anything all day so I could weigh in again and be back on
the road at night. But it was our Tuesday hack night and we were out
till almost midnight. I raced home, almost but not quite by midnight.
I got on the scale anyway and, what with not eating and all the
sweating from racing home, was easily back on my road or even below
it. And since it wasn’t 3am and the graph hadn’t frozen, it let me get
away with catching back up – being off the road for the entirety of
the emergency day but back on the road on what was technically the day
after.
[1] Grab this version of Bethany’s TallyBee app – http://dreev.es/tb
– and specify your pushup graph URL (which you should set up as an
Odometer goal because TallyBee keeps a running total of pushups, like
an odometer) and then just DO PUSHUPS. Touch your nose to the phone as
you do them and that’s the entirety of the interface. Nothing to enter
or sync or anything. Do pushups, graph updates. It’s so great!
–
http://dreev.es – search://“Daniel Reeves”
Follow the Yellow Brick Road – http://beeminder.com