Feature request: store safety buffer

This isn’t really a reply to your proposal as much as it is my own brainstorm.

I really want to avoid editing the real data. I like the QS aspects to Beeminder too much to muck with that.

What I’ve been imagining for a little while is:

  • Goal pledge is set and capped to $0.
  • If your safety buffer gets too big, a script retroratchets the goal and notes a safety buffer point somewhere.
  • If you derail, the script deducts a safety buffer point. If it can’t, because you have no buffered points, it charges you money via the API.
6 Likes

Hi everyone,

This is not exactly a buffer safety store issue but somewhat related what blacer had asked, so posting here.

I have lately tried to keep most of my goals easy to do. As a result, I am building up some buffer. I auto retro-rachet and reduce the buffer so that I am motivated to do the minimum the next day.
I have been thinking if there is some way to take the buffer and use it as a reward to be consumed, instead of being lost in an auto retro-rachet.
For example, lets say I track the time spent working on a project where I have a goal of going 30 min per day, but often do 3 hours on some days. Instead of consuming the 2.5 hrs in a retro-rachet, I would like to use it to for guilty pleasures that like mindless web surfing or watching TV. If I don’t build any buffer, I do not get to watch TV or web surf. That way TV watching becomes something I have earned instead of something I beat myself on. It also becomes an added motivator - if I am looking forward to watching a match on TV for 2 hrs in the evening, I better work hard during the day and build up a buffer so that I can do that.

Questions

  1. Do you think it is a good idea? Any downsides that I am missing?
  2. What is the best way to handle this? I am thinking of a do-less goal with a zero hr limit where the productive buffer hours from the Project Goal are auto-added as negative hours and the TV watching and web surfing are positive hours. Any other ways to do this?
  3. How do I automate the adding of buffer hours from my other goals to this goal. I did notice philip suggesting the use of ifttt to automate something similar, but if someone could spell it out for me it would be great. The requirement is to calculate the buffer created for the day from a goal and automatically add it to my do-less goal as a negative amount.

thanks for reading

2 Likes

Great idea.

Disagree.

I’ve been calling this Beeminder’s no-free-lunch theorem, or the power of bright lines, and I’m working on a blog post about it.

I’m fine with you claiming a Beeminder no-free-lunch theorem, but could you fairly lay out the exact evidence, at least ? and maybe also actually word the theorem. At this stage honestly it looks more like the idea of a conjecture to me :stuck_out_tongue:

Sidetrack : what happened to the blog post ? can you update your post ? (which really looked like a “commit.to” trigger)

The reason I don’t like the specific solution of storing safety buffer is that it’s sort of trying to trick yourself (“I’m in the orange but I’m not really in the orange”) which I believe backfires.

To me, storing safety buffer is exactly trying to trick yourself, but you got the specifics all wrong ! It really goes I’m not really in the orange, but please make me think I’m in the orange. (To me) the whole point is the colors. I know I’ll react to red 95% of the time, so please, even though it’s blue, make it look like red (without the 5% chance that I’ll miss that I’d get by retroratcheting). Of course, this is only meant to be used sometimes, when I’m most likely to react to red, but wouldn’t feel like making progress on a green thing.

Other communities call this “artificial deadlines” and have varied opinions about them which may inspire this thread (unnecessary pressure, useful technique, good for the creative types).

I think better is to just cultivate your sense of alarm at seeing an orange or blue graph. Or a graph with less than a 7-day buffer (where it shows the day of the week instead of number of days on the graph image).

Maybe all I’m asking for is a color for a 7-day buffer.

2 Likes

Why not set up a secondary goal to keep at least X days buffer in the primary goal? Then that goal would accurately be in the red.

Also see:

And:

http://www.drmaciver.com/2014/07/playing-beeminder-on-hard-mode-by-adding-backpressure

I would love to see some form of user-defined colors.

3 Likes

Did you see:

And:

I think it’s fair to call it a theorem at this point. If you always edge-skate you will absorb any buffer by definition.

1 Like

Why not a secondary goal : because I don’t want to enter data twice. Can it automate itself ?

Yes I saw that blog/catchup exists, I was asking about the in-the-works announced post, not the previously existing one.

Please state clearly what you think is fair to call a theorem. Enunciate it.

Yes if you always fundamental-edge-skate sure, but this is not it. I’m not edge-skating. I’m color-based prioritizing. Colors are what this is all about. Thanks for having gathered all the quotes where many people say they want to make some of the things look more urgent, I much agree with that shared sentiment.

1 Like

As far as I know, you need a script to automate that. But it might be faster to just review your primary goal and enter it manually.

Unfortunately https://github.com/DRMacIver/feedthebee/blob/master/backpressure.py is no longer there.

I’d like to know this too.

Assume you always edge-skate, defined as doing the task only when absolutely necessary to avoid the penalty.
Assume you try to get leniency by modifying Beeminder in some way so that what would otherwise be edge-skating is no longer edge-skating.
This creates a new edge, which you will then skate right up to.
So you get no benefit from the modification.

Agree completely, which is why I want a color-ratchet that still shows the actual amount of time until the deadline.

1 Like

You can use IFTTT to mirror goals.

https://forum.beeminder.com/t/nifty-trick-for-days-i-did-this-other-goal-goals/1175 That goal details changing the aggregation for the second goal, but depending on what you’re doing, you don’t need that.

3 Likes

Do you know of a good way to set up a goal so you derail when another goal (or when any goal within a specified set of goals) has <X days left? Can that be done with IFTTT?

I have an emergency days beeminder, but it’s a custom Glitch thing I wrote. It doesn’t force you to derail, you could set up your road to do that.

I do not think this can be done with IFTTT right now.

1 Like

How does the Glitch thing work?

What do you mean that you would need to set up your road?

I just have a python script that looks at my goals, and adds a datapoint to another goal that is the number of goals that are in emergency. It’s not really close to what you are asking for, but it’s the closest I know of.

1 Like

Can I see it?

Unfortunately, I have some really rough deadlines coming up this month, and it isn’t really something I can easily share right now due to an API key being less hidden than it would need to be, so I can’t right now, but I can walk you through what it does.

When it’s activated, it looks at my emergency_days fineprint, and extracts out the “whitelist” of goals to ignore. Then it goes through all my goals, except the whitelist ones, and checks to see if any are in emergency. It then makes a datapoint, which has a value of the sum of the goals in emergency, and a comment which is a comma separated list of the goals in emergency. It checks to see the most recent datapoint of the emergency_days goal is for the same day, with the same value, and with the same comment. If any of those are different, it posts the datapoint.

I use max as my aggday for this, because I want to mold my life to have fewer emergencies. Some people don’t, and max would be a wrong aggday for them (or this whole integration would be bad for them).

1 Like

No worries, I understand. If you get a chance and can s/key/xxx it at some point I would appreciate it.

How often does it activate?

Does it ever derail or is it information only?

1 Like

I activate it hourly, on top of the regular zeno scheduler. I never use it for derailing, but its slope tells me a lot about my life and my workload and if I can take on more challenges.

2 Likes

What is Glitch?

1 Like

https://glitch.com/ is a super fun way to write and run web… things.

2 Likes

Can it reliably run a python script every hour?

1 Like