Use Complice to Beemind Arbitrary Tasks

Doh! That had a bug! Can you revert for now and see email from @bee?

Saw her email and have fixed bug in a non-reverty manner*.

(It consisted of changing user.today.ymd.replace(/-/, '') to
user.today.ymd.replace(/-/g, ''))

1 Like

Hi Malcolm, this integration is awesome and I use it everyday. Is there a way to add negative data to beeminder when I fail to finish a task (i.e. when I submit an unfinished intention at the end of the day)?

Here’s my specific situation:
In an attempt to replicate the life “score” feature of Habitica using Beeminder and Complice, I’ve created a score chart in Beeminder and used the arbitrary tasks integration to pull in an associated point value with each task. I like it so far. It’s very motivating. However, I need a way to give myself some pain when I fail to complete an intention. Does that make sense? Maybe there’s a way to solve this already that doesn’t rely on the feature mentioned in my question above.

Thanks!

–Daniel

1 Like

Hey Daniel!

Yeah, I don’t think this is possible atm. The way I’d end up doing it would
probably have to be upon outcomes submit, because otherwise the mere
existence of a task not-yet-done would need to be represented as a -1 in
beeminder.

If the arbeetrary feature worked on outcomes, not just tasks, that would
work, but as it is, nope.

So I guess I could have a global and per-goal “notdone” count. Would it
need to go in as a negative? Or would you use a do-less goal?

1 Like

No problem. I’m very excited to have it working even at this basic level
for now!

Not-dones would need to go in as negative. I want my life “Score” (
https://www.beeminder.com/dtedesco1/score) to add X points if I complete a
task and to go down the X points if I don’t. If for instance, I assign
myself “&) call mom: 5 points”, Beeminder Score should += 5 when I
complete it and -= 5 if I submit it as not-done. Does that make sense?

You sparked one idea: I always could, upon submitting, manually turn all
unfinished intentions’ scores into negative numbers. But I have a feeling
that’s too much upstream work for me to stick to it.

1 Like

Gotcha, yeah. I’ll consider it!​

I did something similar for my “read more Instapaper articles” goal. I have it subtract one every time I add something to Instapaper, and add one when I archive; this way, if I read more than I add I will stay above my Do More line.

Of course, all of this would be trivial to set up if we had an IFTTT integration for Complice nudge nudge

1 Like

Worth noting that IFTTT control who they allow to create a channel, so first @malcolm would need to submit a request, and then y’all would have to agitate in IFTTT’s direction to encourage it toward the top of the stack.

It took years for Beeminder to get approved. Oldest email I can find on the subject dates from October 2012 and the integration went live in May 2015.

1 Like

I think it would be useful to beemind most important tasks. Often with my accountability partner if something comes up we’ll say “$100 to you tonight if I don’t do XYZ”
sometimes there is some inertia around placing those types of bet. For him, it often becomes a line item in his list of todos to place a bet with me :slight_smile:

It would be great if I could either star a task or just tag it with “MIT” “BET” or something else. Then I’d have a beeminder goal that derails if this is left incomplete. It could be a do less that gets incremented with incomplete tasks.

I’m not sure entirely how to get this working or if it’s possible since the complice beemind arbitrary things feature works on task completion. Really I think what I want is the “Beemind % completion” but rather than having it apply to all tasks, I want it to only apply to a subset that I specify some filters for. Also if I have 0 tasks I’m betting on in a day then 0/0 complete should also be 100% :slight_smile:

Thoughts?

1 Like

What about feeding data from 2 mechanisms into 1 goal?

Make “fail no dares” beeminder do-less goal (0 per week) and ‘bets’ complice goal.

Feed number of intentions in ‘bets’ goal into beeminder.

Through ‘beemind arbitrary things’, feed number of completed bets with a multiplier of (-1).

If you get into 3 bets and finish all of them then you have 3 (+1)s as you add bets 3 (-1)s as you complete them.

You can also track intentions through ‘beemind arbitrary things’, I think. By using negative multiplier on bets themselves and positive multiplier on bet completions, you can even get away with do-more goal.

Well, in theory. I don’t know if it would work, but it might:)

However, I’d also advise experimenting with beeminding number of pomodoros. Sometimes outcomes are just not your fault; beeminding number of pomodoros gets stuff going.

1 Like

That’s a really clever solution. The ideal improvement would be to use the
starred tasks instead of a separate complice goal, but I think you’ve found
a way to cobble together what I was trying to do. In fact, I just set it up
and I’m eager to see how it works over the coming week. Thanks for the
advice daerdemandt

1 Like

Is it possible to also submit pomodoros, that are not “generated” in Complice? For instance, suppose I forgot to start the pomo timer, then at the end of the day, when submitting outcomes, I will manually edit the (did X pomos), but as far as I can tell this is not sent to Beeminder. Any way to set this up?

1 Like

You can add one more integratoin with the same goal. Make it look for text like “I actually did a pomo on this goal”.

Then, any time you’ve done a pomo but forgot to track it you can just add new intention with the same text and immediately check it as done.

However, doing this is waay easier than actually doing a pomodoro, so eventually you might find yourself just checking off that pomodoro with some plausibly-looking justification (“Well, I’ve done X and that more or less qualifies”), and then maybe not so plausibly-looking one and then just because you’ve used this workaround dozen times already.

To prevent this, I’d recommend:

  • Using some sort of gibberish in the text. If you can’t remember that gibberish, it would be easier to input the pomo correctly than to dig up the code from the settings page
  • Adding one more integration for do-less “times I forgot to input pomo data the right way”. This way you can forget to input the pomo data from time to time but you can’t get used to this workaround.

Also, make sure to refresh goal data after you add pomo to a task - sometimes data doesn’t go through but I can’t reliably reproduce that

2 Likes

OK, so I just used this for the first time (had a meeting/talk I want to count towards my goal), and it’s actually easier than I thought. Simply submitting an intention as “1) do a thing (did 2 pomos)” will count the pomos in Complice, and will send them to Beeminder. Not sure if this is intentional? Appending text à la “(did 2 pomos)” to an existing intention does not generate free pomos.

This is indeed very easy to abuse, but I don’t think I’m much at risk.

2 Likes

Hi @malcolm, I hit a snag on this today, and I’m not sure why. Here’s the situation:

I have an arbitrary task set up as so:


.
And today’s task was this:

.
But it didn’t trigger a data point to my Beeminder spanish goal when I marked it complete. Any insight on why? According to regex101.com, it should have worked:

1 Like

Hi @malcolm, pinging you again on the theory this has escaped your attention. Can you confirm that my issue above is user error and not implementation error? Thanks.

1 Like

Sorry for the late reply! This is… somewhere in the weird gray area between user error and implementation error! It was working as designed, but the design had a subtle non-obvious non-optimality.

If you moused over the # icon, it used to say “track number in the task; either the last number or the number in the first regex group” and since your regex has a group, it was looking in there for the number. This is useful because it lets you beemind multiple numbers from the same intention. I used this for tracking calories, carbs, protein, awhile back:

But this seems pretty obviously dumb, so I’ve changed it so that it only tries using the user’s regex to find the number iff the user’s regex contains (\d+) somewhere. It doesn’t do this in the smartest way atm*, but I think it’ll suffice for all current implementations. And your thing should work now!

(*it uses the first regex group result that successfully parses as a number.)

2 Likes

Thanks, @malcolm! Looks like it’s working perfectly now. Gracias for digging around and solving the mystery. :slight_smile:

2 Likes

Is there a configuration option that can get a complice task to send a zero to a Beeminder goal? I was thinking that I would use Complice with a manually-tracked do-less goal.

If I do the thing I’m trying not to do, I log the data point manually. If I avoid it all day, then I complete the Complice task and get a zero sent to Beeminder, blocking the pessimistic presumptive.

1 Like

Hmmmmm… I don’t think so. You could set the multiplier to zero (that might be disallowed but you could set it to epsilon for sure) but the Complice system also sends a zero for a matching task that is incomplete (it needs to, to cancel out if that task was at some point accidentally completed or something)

There might be another way to do it, with eg the # or sum tracker and you would put in a zero or a number.

1 Like