Beeminder Forum

Narthur's Beeminder Journal

I just call taskwarrior (e.g. task status:pending export) as a child process in my script and parse the JSON. Works pretty well.

1 Like

One of the biggest things I’ve done recently is to change most of my Beeminder deadlines to be earlier in the day–5pm for most of my work goals and 6:30pm for most of my chore goals. This was in response to some advice I received from my counselor that I need to find a way to have more time for self-care and relaxation in the evenings. I only made this change yesterday, so still getting used to the change. It’s a little weird to see a red goal at the end of the day and know I have ~24 hours to until that goal is actually due.

Also, I’ve started turning on weekends off for most of my goals. Both this and the deadline changes should make it easier to spend time with my wife without constantly feeling like I need to be fielding beemergencies.

bic

I’ve increased the slope on this one to give me a little more fudge room as to when I actually get into my office. This has become necessary since I don’t have complete control over when I eat breakfast.

dishes

Increased the slope on this one, too, because the dishes would pile up and then getting clear on this goal would be a lot of work. Hoping that the increased slope will make it more manageable.

entertainment

This goal has been working really well for me. Currently it’s a flat slope, I enter positive data points when I engage in entertainment activities, and TaskWarrior enters negative data points based on completed task urgency. This system has been working well to help me keep my life in balance while simultaneously relieving some of the guilt I’m prone to when I spend some time on entertainment. After all, now I can prove I earned it!

oil-appointments

This is a new goal for the purpose of encouraging me to make appointments for oil changes.

2 Likes

I’m still focusing on allowing myself more room for relaxation in the evenings, and somewhat on the weekends. Made a few more adjustments to deadlines, and added a goal /deflate to ensure I do a routine every evening to leave the workday behind. ATM that consists of taking a walk.

I’m also taking steps to ensure I more-consistently follow a written plan for my time. I’ve set up TagTime on my phone, and one of the tags I’m using is on-plan, which equals doing an activity on my daily plan when I planned to do it. I can change my plan at any time throughout the day, but TagTime keeps me accountable to sticking to whatever the plan is at the moment. Next step will be to create a Beeminder goal to track the average amount of time I stay on-plan.

1 Like

I am actually working on / thinking about on some automatism that should help with the whole “leave the evening free for relaxation” issue. Care to hear more?

3 Likes

Would love to! What are you getting up?

2 Likes

I have a rather big and intimidating goal and being the procrastinator that I am I tend to wait until the very last moment of the day to do it. Which would be less of a problem if the goal wasn’t to work multiple hours on my university project each day.
So I create an earlybird goal that would make me do some of those hours before 1pm. That helped but added more housekeeping.
Eventually I would then take a “break” directly at 1pm and that break would then last until the end of the day just in time for me to do the remaining hours of the goal.
Yeah. Nobody could have seen that coming :wink:
So I created another goal that would charge me with $5 if I did more than x of those hours after 6pm. Allowing for some buffer to amass. And that worked actually really well but added an even bigger amount of manual housekeeping.

I tried setting the deadline earlier but that created its own share of problems. So what’s my proposed solution? I shall automate this. At the end of the day (hrr hrr) all that is needed really is to be able to specify a timeframe in which a goal can have datapoints added.

That should help you, me and others.

1 Like

@phi Interesting! How would restricting the times when data points can be added be different from changing Beeminder’s deadlines per-goal?

The Update

Is it ridiculous that I have so many goals that I have to do my beetuning in an AirTable spreadsheet, copy it to a MarkDown table generator, and then finally paste it here?

Yes. Yes, it is.

Is my life running more smoothly now than it has in multiple years?

Yes. Yes, it is.

Goal Notes Next Action Effectiveness Difficulty Score
beetuning 5 3 2
systems-upgrade 5 1 5
frogs This goal gets a data point when I complete the first item or an item tagged with +frog in TaskWarrior. The unfortunate thing about counting very urgent tasks as frogs is that tasks with due dates tend to relieve the pressure on important tasks that have had the +frog tag applied to them manually. Stop counting most-urgent tasks as frogs 4 3 1
shred-zero 5 4 1
inbox-zero 5 3 2
bm-journal 5 3 2
email-zero I really want to automate this, but I also really want weekends off, and I don’t want to redefine it to ignore unread emails. So… manual it stays, unless someone can tell me how to achieve this. 5 3 2
sn-zero New goal. I have a note on my phone that I record new tasks in when I’m not close to a TaskWarrior terminal. This makes sure I move these into TaskWarrior on a regular basis. 5 3 2
tw-changes 4 1 4
tw-urgency Tracking goal
av-ui1-time This is a short-term goal to ensure that I put in the time on this contract that I assumed I would in my estimate. 5 3 2
resume 5 4 1
su-time New goal. I’ve been working a lot, but my hours for my primary employer have been suffering. This goal should fix that. 5 4 1
worktime 5 3 2
tr-time 5 3 2
slick New goal. Working from home can too easily become an excuse to never shower or shave. I think both my work and my wife will benefit from this one. 5 2 3
tr-updates 5 3 2
av-updates 5 3 2
work-targets This goal has morphed over time into something that just ensures I’m actually completing tasks instead of just hitting the clock. I think it might work better, though, if I was more clear about what I’m allowed to mark as a target. Draft some rules in the fine print to define what can and can’t be desginated a target 3 3 1
av-wp5-time This is a short-term goal to ensure that I put in the time on this contract that I assumed I would in my estimate. I’ve completed the contract, so the goal is set to archive. 5 2 3
work-commitments I’ve made this road float, meaning I don’t have to commit, but I’m still on the hook as soon as I do. My other work time goals have reduced my reliance on this goal. 3 4 1
bic I really need a way to automate this. It basically equates to how early I sit down at my office computer in the morning. If anyone has an idea on how I could do that, please share! Brainstorm ways to automate 3 3 1
dirty-plates I’ve joined the dirty plates club. I’ve noticed a big difference in how I relate to food, and a lot less mindful eating, which is good. 5 2 3
deflate This ensures I follow my cool-down routine every evening. At this point, that’s just taking a walk between 6 and 7pm every day. It’s done a lot to help me handle my stress. 5 2 3
retainer 5 3 2
walk 5 3 2
tramp 5 3 2
pills 5 1 5
vivo-sleep Tracking goal
vivo-steps Tracking goal
weight New tracking goal. Since getting married, I’ve gained 20 pounds. (My wife is an awesome cook!) Initially, this goal isn’t for the purpose of forcing me to reverse this gain, but rather to help me regain awareness of how my weight is changing. 2
bed Had another setback on this goal. I need something that will remind me, “Hey, you need to get to bed by X time or you’re going to derail.” This goal lets me build up buffer, so that time isn’t the same every night. Not sure how to fix this. 4 3 1
dishes 5 3 2
trash 5 1 5
filter 5 1 5
oil-appointments 5 5 1
purifier-filter 5 4 1
ynab 5 3 2
read 4 3 1
distracted A TagTime bug is preventing this from working, since it won’t let me connect the goal to the TagTime tag on my Android phone. I have other ideas for TagTime goals, too, but until this bug is fixed it’s a no-go. However, just checking into TagTime helps with awareness, so I’m calling it a partial win. 3 2 2
entertainment I’ve modified my cron scripts to post negative data points to this goal when I post data points to other Beeminder goals, as well as when I complete TaskWarrior tasks. I’ve stopped generating TaskWarrior tasks for Beeminder goals, so this was a part of making that transition. I have a lot of buffer right now, but I don’t actually mind since all my other goals are making sure I’m staying productive, and it feels good to earn something that I get to keep, all mine. :wink: 5 2 3
2 Likes

Can you explain this more? How did you automate the timeframe limits, and how would that solve the problem?

Sounds very cool :slight_smile:

@phi It could be that I’m not understanding your problem completely. But I had the issue where I’d be working on Beeminder goals well into the evening, which wasn’t allowing me time to decompress from the day. So I changed most of my deadlines to either 5pm or 6:30pm. I allow myself to enter data points after the deadline for the previous “day,” but only if the work was actually completed before the deadline.

Would that solve your issue?

Also, quick question for everyone: I’ve decided that I simply have too many goals for it to work well to combine beetuning and posting to this journal, so I’ll be beetuning separately. What would you guys like me to focus on in my updates here? What do you find most valuable?

1 Like

I did rush my previous reply. Allow me to alleviate some confusion:
I have set up a goal called “nowl” which tries to be a pun on no, owl, night owl and now. Something like that. It grants me 3hrs of buffer each day. Any time I spend on my big intimidating goals after 6pm gets deducted from the nowl goal. So I will have to be done by 9pm +/- any buffer I accumulated or used up by being later or earlier than that. Or I buy myself free for $5.
To reduce the housekeeping I am working on a little web service that registers a hook so it gets updated when a datapoint is added to one of my big intimidating goals (currently that’s only my spiht goal). It then looks at the value and does the housekeeping for me, putting the correct amount of time into my earlybird goal (get stuff done before 1pm) and my nowl goal.
I want to make this somewhat generic so others can use this too. There’s an IFTTT applet that copies datapoints to other goals and that’s basically what I am doing, only with the addition of filtering and mapping those datapoints in between.

I hoped it would but it didn’t really. I mean it did but there have been numbers of times where things came up in the day that would delay me working on it. And I am no good with safety buffer in this particular instance. So I had to run to support a lot and this is my attempt to fix this.
The point I’m trying to make: I priced the goal “get it done that day” (aka the big important goal) at $90 (or $30 now) and whilst I think that’s an OK amount of money to put on the other side of the scale (you know those old scales where in one arm there’s your big amount of work and on the other you put how much it is worth to you and it balances itself out? That’s what I have in mind). Where was I? Right. I felt $bigMoney is OK for making sure I get it done but way too expensive for “get it done before evening”.
I wanted to price that cheaper.
Something something multiple goals for multiple aspect of a single “complex goal”. Does this make sense?

With so many goals, remembering what’s happened in a given week can be quite difficult. So I’ve written a Python script to hopefully make this easier. It does the remembering work for me, generates some Markdown, and then I just need to add descriptions, etc. Very much open to feedback. :slight_smile:

Update 2019-04-29

Summary

Key Value
Number of goals 43
New goals this week 3
Newest goal av-wp6-time (2019-04-25)
Oldest goal worktime (2018-06-05)
Highest pledge work-commitments ($2430.0)
Total pledges $2715.0
Derails this week 2
Systems upgrades this week 6

Random Goal: sn-zero

This is one of my inbox-clearing goals. I’m currently using TaskWarrior as my main todo list, but there isn’t really a good way to use TaskWarrior on a phone. So I have a note pinned to the top of SimpleNote called “Inbox.” That note can get pretty stale if I don’t clear it out often, so this goal ensures I do that. It’s doing just what I asked it to.

New Goals

  • fam: Created 2019-04-23. Since getting married, I’ve found it quite challenging to make the time to call my family regularly. I’m hoping this goal will make that happen, and help eliminate another source of guilt in my life.
  • av-wp6-time: Created 2019-04-25. I now create short-term time goals for each of my contracts, ensuring that I put in the time each week that I assumed I would when estimating how long it would take to complete the contract. End result, Beeminder keeps me on track and helps me build trust with my clients.
  • buffer: Created 2019-04-22. This is an experimental meta goal designed to encourage me to start building up buffer on my goals. I talked more about it here.

Derails

  • buffer: 2019-04-27, 2019-04-27. This weekend I actually derailed on three goals, but this one is the only one that I haven’t deleted the derail commit on yet. The three were buffer, bed, and dirty-plates. My wife and I took a weekend trip. I put most of my goals on pause, but thought I would be fine leaving these unpaused. Turns out we didn’t have Internet or data on the trip, so I had no way to enter data even though I kept up with the behaviors. Still working with support to clean up the mess. :stuck_out_tongue:

Max-Min Buffer Over Time

This chart shows the largest that the minimum buffer for any goal was during each day. (I really need a better way to explain this.)

2 Likes

Seems the graph urls require auth? They’re publicly visible goals, so the graphs aren’t private. Any ideas why it’s this way?

As always, I’d love to see the code to maybe adapt it to my own needs. After all I have a similar issue with my own journal thread. :wink:

1 Like

Ask and you shall receive. :slight_smile: This code is using (a modified version of) the Beeminder wrapper code here.

Also, TK is just a placeholder. It’s meant to be easy to search for so you don’t miss any of them.

1 Like

@openmedi Quick note to let you know that I updated my gist to get rid of all the many print statements, so it should be much more readable now.

1 Like

Like this idea!, I’ve had success with short-term goals like that in the past, they feel very motivating to me due to being able to fully complete them.

3 Likes

Second time using the journal generation script. I really like it so far; it seems to make journaling with a lot of goals a lot more approachable.

One thing I really, really wish I could do is programmatically find goals that either were archived within the last week or are scheduled to be archived in the coming week, as I think such goals should be included in my journal updates. Sadly, I haven’t been able to figure this out. Please, if anyone knows how, let me know!

Update 2019-05-06

Summary

Key Value
Number of goals 42
New goals this week 1
Newest goal mueller (2019-05-04)
Oldest goal worktime (2018-06-05)
Highest pledge work-commitments ($2430.0)
Total pledges $2680.0
Derails this week 1
Systems upgrades this week 8

Random Goal: vivo-sleep

vivo-sleep is a tracking goal that captures how long I sleep each night via my VivoFit 3. It’s a backup and a dataset I keep thinking I’ll get around to graphing in some clever way that will let me spot how my sleep habits affect other areas of my life.

New Goals

  • mueller: Created 2019-05-04. This is a little experiment with breaking books out into their own goals. I feel that I should read The Mueller Report, as it’s an important document which both sides of the political isle are strongly motivated to spin in their favor. It’s also very long and dense. This goal should get me through it regardless. (Also, if anyone’s interested, the audio version is free on Audible.)

Derails

  • dirty-plates: 2019-05-06. On Sunday I went with my wife to the graduation of two of her cousins. I didn’t have Internet for the day, and ate a very hasty breakfast without thinking about leaving anything on my plate. By the time we got back home, I had derailed. I also derailed on my buffer goal at the same time. I’ve archived the buffer goal as it’s been pretty tricky to get working right. May try again at some point…

A skeleton of this summary was generated using a Python script and then carefully filled-in by hand.

Update 2019-05-13

Summary

Key Value
Number of goals 42
New goals this week 1
Goals scheduled for archive 3
Newest goal overkill (2019-05-07)
Oldest goal worktime (2018-06-05)
Highest pledge work-commitments ($2430.0)
Total pledges $2685.0
Derails this week 3
Systems upgrades this week 7

Random Goal: fam

This goal helps me to remember to call my family. It’s been working very well for me so far.

New Goals

overkill: Created 2019-05-07. This is a new goal I’ve been playing with as an alternative to directly beeminding buffer. I tried beeminding buffer a couple of different ways, but it just wasn’t working for me. I think because I have so many goals doing that directly becomes quite challenging. So this goal aims to beemind an input instead of the output (buffer).

Currently, this goal gets a 1 every time the following criteria are met:

  • The sum of the day’s values for a given goal is greater than 1 or the goal was already on the good side of the road. This prevents binary goals from getting an overkill when I’m just doing the minimum to get back on the good side of the road.
  • The sum of the day’s values for a goal is at least 1.1x the goal’s daily rate. In other words, I’m doing at least a little bit more than is required to break even.

The idea behind having this goal is that I can up my commitment in order to force myself to start putting in the effort to build up a buffer on my goals.

I also have it in the back of my head to create another goal called “preemptive” which would get data points whenever I made progress on a goal that was already in the green. I like the idea, but haven’t gotten around to it yet.

Derails

  • av-wp6-time: 2019-05-12. Legit. This derail happened because I forgot I didn’t have weekends off on this goal until it was too late on Friday to do enough to have Saturday off, and I try to guard my Saturdays religiously, so derail it was. This is part of what prompted me to write a custom break-scheduling script.
  • email-zero: 2019-05-07. This derail was not legit, but is worth mentioning. I changed my inbox-zero goal to a custom goal with its aggregation set to nonzero. This means that all the times I cleared my inbox multiple times in a day got aggregated down to a 1 per day, which immediately derailed the goal. I think the new rules will make the goal more useful in the long run, though, as archiving a single email three times in one day to build up a large amount of buffer is quite counter-productive to the goal’s purpose.

Scheduled for Archive

  • oil-appointments: Since I work for home and my wife works for an interpreting agency, I basically never drive and she basically always has the car. I was nervous that this would make it difficult for me to meet this goal since it would require coordination with her to set up an appointment. I’m not sure if this is a good excuse, and I may cancel the archive… We’ll see.
  • read: I’ve really gotten into the idea of having individual goals for reading books. It’s much more interesting to be able to say, “At this rate, I’ll finish this specific book by this specific date” than it is to say, “At this rate, I’ll have read this many pages by such-and-such a date, and perhaps not finished any books at all.” So I’m going to be trying using individual book goals instead of a single “read” goal.
  • work-commitments: This goal has been completely supplanted by a plurality of other worktime goals. This goal served its purpose when I was still too nervous to hold myself to a set amount of hours per week, but I’m past that point, so this goal is no longer needed.

Overkill Top 5

  • tw-urgency: 2. This is a tracking goal, so the fact that it made a couple overkills isn’t really that interesting.
  • vivo-steps: 2. Same with this one. I should really start excluding these tracking goals…
  • tr-time: 2. This is my TaskRatchet time tracking goal. These overkills were well-earned. I spent quite a bit of time learning and working on getting interviews in the past week, so much so that I’ll probably be needing to retroratchet soon.
  • walk: 2. These overkills were earned. I have quite a bit of buffer in this goal, and a couple days last week I took two walks in a day instead of one. I may consider archiving this goal, as my deflate goal has been carrying the weight of both goals I think.
  • read: 2. This has been a pretty conservative goal, so these overkills aren’t that impressive. The goal is scheduled for archive, so nothing needs changing otherwise.

A skeleton of this summary was generated using a Python script and then carefully filled in by hand.

2 Likes

Update 2019-05-24

Summary

Key Value
Number of goals 43
New goals this week 2
Goals scheduled for archive 2
Newest goal irl-evenings (2019-05-23)
Oldest goal worktime (2018-06-05)
Highest pledge retainer ($30.0)
Total pledges $275.0
Derails this week 1
Systems upgrades this week 6

Random Goal: tr-contact

This is a pretty new goal. It’s there to prompt me to reach out to current or potential TaskRatchet users for interviews. (If that describes you, go ahead and PM me and let’s talk!)

New Goals

  • irl-evenings: Created 2019-05-23. My counselor has been working with me to improve the quality of my sleep. Recently she discovered that I read newsletters on my phone while in bed. So, now I have a goal for staying off my phone an hour before bed. :smirk:
  • tr-emails: Created 2019-05-21. This goal is somewhat ill-defined, but it’s supposed to keep me consistent with sending out summary emails to TaskRatchet alpha users. It’s good enough for now.

Derails

  • su-time: 2019-05-23. I didn’t sleep that well on my trip last weekend, and I had a bad night after returning, too. So I was super fatigued. And overwhelmed by the TaskRatchet alpha. Derailing on this goal felt like a big relief.

Scheduled for Archive

  • bed: Now that I have another goal for avoiding screens in the evening, and I’m trying to leave my phone outside my bedroom, having to use this goal is a pain. Usually when I stay up way too late, it’s because I’m zoning out on a screen, anyway, so hopefully the no-screens an hour before bed goal will be sufficient.
  • bic: This goal became pretty pointless given how aggressive my work time goals have become. I may need it again the future, but for now it’s being archived.

Overkill Top 5

  • walk: 8. I’ve been trying out walking in the morning and the evening, as well as taking micro walks during the day when I become fatigued. All that ends up creating a lot of extra buffer on this goal. I’m kind of ok with that for now.
  • tr-time: 8. The alpha has meant I’m spending waaay more time on TaskRatchet than I was previously. Hopefully it’ll calm down in the coming weeks. In the meantime, I’ve retroratcheted.
  • slick: 8. I guess I’m ahead on this one because I gave myself a break on my trip and still dressed up anyway. And easy goals just naturally get more overkills because… they’re easy. :stuck_out_tongue:
  • deflate: 6. Another easy goal that I’m consistent on, so it ends up getting a lot of overkills. I’m not sure I’m totally happy with how many overkills these easy goals rack up, but I’m not sure how to calculate the metric so they don’t.
  • systems-upgrade: 4. I have been doing a fair amount of upgrades. This feels deserved.

A skeleton of this summary was generated using a Python script and then carefully filled in by hand.

3 Likes