Question on use of TagTime for minding nailbiting

Okay, so I’m a long-time user of beeminder and even subscribe to daily beemails, but haven’t really fallen off the deep end of time tracking goals until recently. I started using the android implementation of TagTime and it’s been great for keeping track of my productive work and forcing me to procrastinate less, but I recently came across a use case which I think would be really helpful for me and I’m not sure how to implement it.

I’m a really terrible nail biter. I’ve had this habit for my entire functional memory and I’m trying to break it. My thought, now that I’m using TagTime regularly, is to add a tag which will remind me to ask the question: Have I bitten my nails since the last ping?

I want to track these as binary, though, not 45 minute increments, and was wondering if there was any kind of apiology or goal settings wizardry which would let me make a beeminder do-less goal which reports “1” whenever I’m pinged by tagtime and select this nailbiting tag.

Or maybe I’m too far down the TagTime rabbit hole and another tool would be better for this. I thought TagTime would work really well, though, since I already use it and it’s nearly frictionless for me.

Does this make sense?


It doesn’t look like there’s an aggday that does exactly this. It seems like what you want is something like “binary_sum”:

lambda x: sum(1 for i in x if i)

1 Like

This is exactly the behavior I’m looking for. Not sure where exactly to implement it, though; I’ve toured the advanced settings on one of my do more goals looking for a spot to change it. Does this require a custom goal and a premium plan?

No, it would require Beeminder to implement that aggday method first. (cc @dreev)

It actually looks like the ‘count’ aggday I found in a recent forum thread implements what I need. Unless that method is deprecated?

The docs (linked above) say that count is just lambda x: len(x). Does tag time issue a data point with value 0 when you don’t select the tag? Because count won’t do what you want unless tagtime only issues data points when the tag was selected.

It doesn’t seem to. The do-less TagTime goal which I’ve been minding recently has had pessimistic presumptions when I didn’t select the tag in Android, which seems to imply no data is being sent to that goal when I’m pinged and don’t tag it.

Oh ok, cool, then yeah if you set aggday to count you should be all set.

1 Like

Thanks for your help, this has been an eye-opening morning. Finally subbed to a premium plan and the mind-boggling array of settings that entails. (@dreev no action needed here)


<3 <3 Eager to hear what you think of the custom goal craziness, things that don’t make sense, wish list, etc!

And I agree that aggday=count does what you have in mind given how Android TagTime works.

But I’m skeptical about your plan. First of all, why degrade the data by making it binary? You could just have a Do Less goal for the actual amount of time spent nailbiting and keep pushing that down. Behaviorally the same but the graph is a bit more meaningful.

More fundamentally, I’m skeptical that this will work. Nailbiting is so… habitual. I fear that even Beeminder’s sting isn’t immediate enough to keep your fingers from mindlessly wandering to your teeth. Here’s what I recommend, in increasing order of ridiculous over-the-top-itude:

  1. Paint your nails. Or get an 8-year-old girl to do it for you. That’s what I do. Might be just enough of a reminder.
  2. Paint your nails with gross-tasting nail polish, marketed for this very purpose. I haven’t tried it but seems like it would work. And it’s clear, in case you’re embarrassed to have colorful nails.
  3. Pavlok will shock you into submission.

PS: I’m also in love with your use of “apiology” [fixed link]. Was the double entendre (API/bees) intentional? Either way, I’d like to reward that kind of cleverness with stickers. :slight_smile: Just let us know your snail mail address if you’d like them: (I think @drtall already has some but jumping in to help newbees is definitely sticker worthy so say the word if you want more!)


@dreev you might be right that this isn’t immediately binding enough. Since I made the goal this morning, though, I’ve found that I definitely feel a pressure or obligation surrounding the act of nailbiting which is serving to make me more conscious of it, and a little bit more guilty than I otherwise would be.

No word yet on whether internal guilt substitutes for electric shocks.

My next idea if this isn’t motivating enough is to step through the pledge schedule with derailments and make the financial incentive bigger. If that fails, start wearing a rubber band which I can snap as an analog pavlok-like device.

I’m a bit skeptical of using TagTime to track the total time spent biting nails, because that’s such a short event (for me) that I don’t really like TT’s odds of catching me in the act even once per week, especially with my average ping interval set to 45 minutes.

The apiology wordplay was absolutely intended. I waffled for a few seconds whether to capitalize API but thought folks here would get the joke without me needing to put up a neon sign :slight_smile:


Bad link to some kind of spam website:

You can just Google it!


Oh, but then how does your version help with that? Isn’t it just as unlikely to catch you? Maybe I misunderstood your version…

Dammit, apparently Merriam-Webster has turned evil [1] and tricks gullible people like me into linking to ads. That’s especially sad because their definitions are often superior to what Google uses. (Not in this case though.)

[1] I think Google claims to punish sites for that, showing different results to people searching on Google. Or maybe it’s just if you show different results to the googlebot.

1 Like

My thought was that it’s more broadly punishing – if at any time between pings I bite my nails, I have to tag my next ping as ‘nb,’ which will increment the count on this goal.

What it appears to be doing in practice is creating something which I remember every time I bring my hand to my mouth, associating that action with the thought of being charged. I’m a bit surprised that it’s working out as well as it is in the first hours, to be honest.

I’ve set it to allow myself 5 failed pings per day, which seems to be low enough that I’m starting to approach the horizon and might be in danger of a derail in the next couple of days. I kind of want this to happen, since I’m not a Beemium subscriber and can’t short-circuit at will, to increase the mental pang I get whenever I start the habitual action.


(Regarding the habitual-ness of it–I was able to get an irritating “skin
and cuticle picking” habit under control with Beeminder, after years of
"just trying".)


The trade-off here is between data granularity (entering a point manually every time I bite, which is a bit more immediate but higher friction) and ease of use (since I already use tagtime and it takes seconds to report when I’m pinged).


Yeah, this is really clever (sorry for my denseness in not understanding at first!) and I’m excited to hear how it works.

Note that there’s a 1% chance that when you bite your nails the next ping will take over 3.5 hours to ping. Will you remember for that long? Does it mean you need to write it down and does that defeat the point of removing the friction of tracking?

Ooh, a flip band would work well for that.

Which reminds me that another approach is to just count the times you bite your nails. With an abacus bracelet it’s pretty frictionless to keep count throughout the day and then tell Beeminder the total each night. Or use a physical button. There’s also the tally counter built in to the Beeminder Android app.


Yeah, I’ve been writing this scenario off as “lost data” if I ever don’t remember, but I find that longer ping intervals mean that I’m more likely to record the next ping as failed because I want the default to be harder on me. If I can’t remember whether or not I bit my nails, I fail. This means that I approach derailing faster, to be sure, but it also incentivizes me to be more sure about having not bitten, which I feel like is a net positive.

[quote=“dreev, post:17, topic:2117”]
Ooh, a flip band would work well for that.[/quote]

I really like the idea of a flip band. Will have to check those out and possibly actually buy one. I think that tagtime + flip band would allow me to have the niceness of constant accountability throughout the day without the losses due to faulty memory, which is a middle ground that I’m really happy with.


Sounds to me like you’re a really excellent nail biter… :slight_smile:

I can think of a chain of goals that might work for counting things via TagTime.

  1. send your TagTime pings to a Beeminder goal
  2. use IFTTT to copy the comment from one goal to another, using the macro SUM[{{Datapoint Comment}}]
  3. set the aggregation function of that second goal to last
  4. report your nail-biting with a tag that includes a number, e.g. nail1

Because the default question of tagtime is “what are you doing right now?”, I often forget my (intermittent) intention to record meta-data. e.g. level of happiness, quality of focus since the last ping, or nail biting.

I’ll be really interested to hear how complete your dataset is, how you build this habit of remembering to record it at the point of ping.

update: forgot to include the core element; make sure there’s a number in your tags.


This is like how “evading the police” shouldn’t be a crime because if you get charged with it you obviously didn’t? More like “failure to evade” :slight_smile: