<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Beeminder Blog</title><description>Beeminder Blog</description><link>https://blog.beeminder.com/</link><item><title>CGP Grey&apos;s Weekend Wednesday</title><link>https://blog.beeminder.com/midweekend</link><guid isPermaLink="true">https://blog.beeminder.com/midweekend</guid><description>Here’s a simple madhack from one of my favorite YouTubers, CGP Grey:  Weekend Wednesday.  His video is pretty pithy and persuasive but let me make my own contribution to the internet by turning it into  my own typed words that you can read quieter and faster. Claim: Five workdays in a row is too much....</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Stylized calendar&quot; title=&quot;As all the YouTube commenters point out, por que no los dos? You could take Wednesdays off *and* have a normal weekend. Btw, please note the subliminal advertisement for calendialing.&quot; width=&quot;450&quot; src=&quot;https://github.com/user-attachments/assets/be51ff77-6e9d-4be8-9ee2-f70c918efc66&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s a simple madhack from one of my favorite YouTubers, CGP Grey: 
&lt;a href=&quot;https://www.youtube.com/watch?v=ALaTm6VzTBw&quot; title=&quot;Not to be confused with the Dr Seuss / Theo LeSieg book, Wacky Wednesday&quot;&gt;Weekend Wednesday&lt;/a&gt;. 
His video is pretty pithy and persuasive but let me make my own contribution to the internet by turning it into 
&lt;a href=&quot;https://blog.beeminder.com/ownwords&quot; title=&quot;Beeminder blog post about articulating insights in your own words&quot;&gt;my own&lt;/a&gt; typed words that you can read quieter and faster.&lt;/p&gt;
&lt;p&gt;Claim: Five workdays in a row is too much. 
You&amp;#8217;re drained by the end of the week and your productivity is plummeting. 
Then you need Saturday just to recover and so it only feels like one day of actual relaxation on Sunday before the cycle starts over.&lt;/p&gt;
&lt;p&gt;Solution: &lt;strong&gt;Swap Wednesday and Saturday&lt;/strong&gt;. 
Now you just have two days of work, a break, then three days of work, followed by another day off.&lt;/p&gt;
&lt;p&gt;The advantages are thus: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;More productivity due to more frequent recharging&lt;/li&gt;
&lt;li&gt;Weekend days you can enjoy more because you&amp;#8217;re less drained&lt;/li&gt;
&lt;li&gt;A non-work day (Wednesday) that&amp;#8217;s off-sync with the rest of the world so you can do recreational things with less crowds&lt;/li&gt;
&lt;li&gt;A workday (Saturday) with few interruptions.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Diagram of the 2 days work, rest, 3 days work, rest cycle&quot; title=&quot;CGP Grey&apos;s illustration&quot; src=&quot;https://github.com/user-attachments/assets/d0dc63fe-adfb-4439-ad92-872cf0c8d11f&quot; /&gt;&lt;/p&gt;
&lt;center&gt;&lt;i&gt;Image: CGP Grey&lt;/i&gt;&lt;/center&gt;

&lt;p&gt;I&amp;#8217;m not fully sold on all this myself.
The &amp;#8220;being drained by the end of the week&amp;#8221; concept isn&amp;#8217;t one I really relate to, so the whole thing feels inapplicable. 
And there&amp;#8217;s a possible downside, pointed out by 
&lt;a href=&quot;http://www.hellyer.net/&quot; title=&quot;Philip is one of us chickens&quot;&gt;Philip Hellyer&lt;/a&gt; who tried taking Wednesdays off once, in addition to normal weekends.
He found that in practice it meant every workday was either a Monday (ramping up) or a Friday (ramping down), which was highly unproductive for him, at the time.
But he adds that that was before Beeminder!&lt;/p&gt;
&lt;p&gt;Obviously if you have kids in school, or have any number of other reasons to stay more fully in sync with the rest of the world, the whole thing may be a nonstarter.
But Weekend Wednesday seems like the kind of thing some Beeminder users will want to try.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Thanks to both 
&lt;a href=&quot;https://nathanarthur.com/&quot; title=&quot;Of TaskRatchet fame, among other things&quot;&gt;Nathan Arthur&lt;/a&gt;
and 
&lt;a href=&quot;http://maryrenaud.com/&quot; title=&quot;Of Time Stream fame, among other things&quot;&gt;Mary Renaud&lt;/a&gt; who first pointed me to this idea.&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>madhacks</category><author>dreev</author><comments>https://blog.beeminder.com/midweekend#disqus_thread</comments></item><item><title>Binge and Purge: A No-Good Very Bad Anti-Akrasia Strategy</title><link>https://blog.beeminder.com/burge</link><guid isPermaLink="true">https://blog.beeminder.com/burge</guid><description>This is about TV and video games, not food, to be clear. This blog post started its life as a  Madhack Monday based on a  random  piece of life advice from my friend Jacob Falkovich. Specifically this one: “Binge a show / video game for a couple of weeks, then take a break from TV for a couple of weeks....</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;450&quot; height=&quot;450&quot; alt=&quot;An image of a cozy den with two bees playing video games&quot; title=&quot;What video game does a bee play? Civilization 6: Hivemind&quot; src=&quot;https://github.com/user-attachments/assets/7282952b-27c5-42b4-94e5-4563072c8f0a&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This is about TV and video games, not food, to be clear.
This blog post started its life as a 
&lt;a href=&quot;https://blog.beeminder.com/tags/madhacks/&quot; title=&quot;It was a series in the daily beemails during the pandemic. We&amp;#39;re ever-so-gradually turning the interesting ones into blog posts.&quot;&gt;Madhack Monday&lt;/a&gt; based on a 
random 
&lt;a href=&quot;https://putanumonit.com/2019/12/30/100-ways-to-live-better/&quot; title=&quot;100 Ways to Live Better, on PutANumOnIt&quot;&gt;piece of life advice&lt;/a&gt; from my friend Jacob Falkovich.
Specifically this one:
&amp;#8220;Binge a show / video game for a couple of weeks, then take a break from TV for a couple of weeks.
Trying to limit yourself to an hour a day is less fun and more addictive.&amp;#8221;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I was surprised how much that resonated with people, even in the Beeminder community, so I want to give my counterarguments!&lt;/p&gt;
&lt;p&gt;First of all, the verb &amp;#8220;binge&amp;#8221; is a clue that this isn&amp;#8217;t healthy! 
But, ok, maybe you don&amp;#8217;t mean it in an unhealthy way. 
Live a little once in a while, etc. 
Fine.
But clearly there&amp;#8217;s an addictive element if the concept of binging is even on the table. 
So having some insurance against that is only prudent, right?&lt;/p&gt;
&lt;p&gt;Can you tell where I&amp;#8217;m going with this? 
If you want to occasionally binge a TV show, that&amp;#8217;s a perfectly reasonable choice&amp;#8230; if you make it dispassionately. 
Pick the average number of hours per week you&amp;#8217;re ok devoting to TV / video games / whatever and beemind it. 
If you agree with Jacob that binging for a couple weeks and then abstaining for a couple weeks is more fun, great.
Just let Beeminder keep you honest about maintaining that binging-vs-abstaining ratio.
Build up your safety buffer and then go crazy using it all up.&lt;/p&gt;
&lt;p&gt;I claim it&amp;#8217;s even more fun that way because you&amp;#8217;ve actually earned the binge. 
Enjoy it guilt-free!&lt;/p&gt;
&lt;h3&gt;Counterarguments&lt;/h3&gt;
&lt;p&gt;Beeminder superuser Lanthala was not convinced by my argument.
She says her brain rebels against moderation and that trying to limit a fun activity to, say, an hour a day means she&amp;#8217;ll either stop caring about the activity at all or obsess about it for the other 23 hours.
&amp;#8220;But,&amp;#8221; she says, &amp;#8220;if I go ahead and let myself be immersed in it as much as I want, the interest will run its course in a week or month.&amp;#8221;&lt;/p&gt;
&lt;p&gt;(For Lanthala this works in both directions: 
If she has a necessary but aversive task, a Beeminder goal that breaks it up into an hour a day will make her much more miserable than ripping off the band-aid.
Doing it for 9 straight hours until it&amp;#8217;s done can mentally transform it into a fun or interesting project.)&lt;/p&gt;
&lt;p&gt;Lanthala goes on:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Current best-practice advice for parents trying to teach their kids to “eat in moderation” is &lt;em&gt;not&lt;/em&gt; to strictly limit the amount of junk food they can eat, but in fact to regularly (say, once a week) let them eat as much as they want (yes, binge), to let them discover that there is such a thing as enough gummy bears.
If you never let them find that out, they’ll always want more gummy bears.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;She quotes an article from Parents.com claiming that this is a common recommendation for kids and junk food:
&amp;#8220;Being able to fill their craving will decrease their desire for such foods instead of piquing it.&amp;#8221;&lt;/p&gt;
&lt;p&gt;I think Bee and I tried that one Halloween when our kids were little&amp;#8201;&amp;#8212;&amp;#8201;&amp;#8220;free rein on candy today only!&amp;#8221;&amp;#8201;&amp;#8212;&amp;#8201;and both kids made themselves sick but it didn&amp;#8217;t change their relationship with candy at all. 
So I&amp;#8217;m skeptical but it&amp;#8217;s plausible it&amp;#8217;s what works best for some people.
Maybe not most Beeminder users though.
Lanthala admits as much and says that her own use of Beeminder rarely involves tracking time.
She beeminds things that she really does have to do each day, like teeth-brushing.&lt;/p&gt;
&lt;p&gt;So far so fair, but I don&amp;#8217;t think any of this is an argument against beeminding TV / candy / whatever it is. 
Let&amp;#8217;s assume that meting it out sucks all the fun out. 
Totally reasonable utility function one might have! 
But that just means you need to decide what an upper limit on a binge should be and then just wait. 
Mark it on your calendar for when you&amp;#8217;ll have enough safety buffer built up that Beeminder will let you have that binge.&lt;/p&gt;
&lt;p&gt;The point is to still think in terms of an acceptable average amount per week and then let Beeminder do the math from there.&lt;/p&gt;
&lt;h3&gt;Lanthala Remains Unconvinced&lt;/h3&gt;
&lt;p&gt;&amp;#8220;For many people,&amp;#8221; says Lanthala, &amp;#8220;restricting something makes you want it more.&amp;#8221;
She continues:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Think of everyone who’s ever dieted who finds that suddenly food is all they can think about, or when you had no interest in going outside but now it’s raining and you can’t so now you’re desperately wishing you could go outside.
If you teach your kids that candy is a rare, special treat they can only ever get a few times a year, then whenever they &lt;em&gt;do&lt;/em&gt; get candy, they’ll eat as much as they can, because hey, they’ll only get it a few times a year!
Gotta get while the getting’s good, ignoring any sense of your body telling you that you’re no longer enjoying it.
On the other hand, if they know that every Sunday is Ice Cream Sunday and they can eat as much ice cream as they want&amp;#8201;&amp;#8212;&amp;#8201;even thirds!&amp;#8201;&amp;#8212;&amp;#8201;they’ll learn that actually, ice cream is pretty common, easy to come by, and there’s no reason to eat thirds if you’re feeling kind of sick after seconds.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This doesn&amp;#8217;t match my own experience.
If I only get ice cream on Sundays, I&amp;#8217;ll stuff myself silly with it every Sunday.&lt;/p&gt;
&lt;p&gt;Basically, I think there&amp;#8217;s danger that the binge won&amp;#8217;t really self-limit. 
That you&amp;#8217;ll stay up till 3am watching Netflix every dang day. 
Lanthala seems to be saying, &amp;#8220;so be it, any attempt to restrict my consumption will backfire&amp;#8221;. 
I can&amp;#8217;t deny her lived experience, but I guess I hope that most people are more like me and &lt;em&gt;can&lt;/em&gt; employ systems to limit things like TV and candy that left to our own devices we&amp;#8217;ll abuse. 
Or, better yet, be one of those impressive humans who just don&amp;#8217;t have a problem with overindulgence in the first place. 
Come to think of it, if this &amp;#8220;binge until it self-limits&amp;#8221; strategy works for you, maybe you&amp;#8217;re secretly one of those impressive humans.&lt;/p&gt;
&lt;h3&gt;Nathan Arthur with the Synthesis&lt;/h3&gt;
&lt;p&gt;Nathan Arthur says we&amp;#8217;re both right:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Personally I would binge YouTube and computer games to the point of losing entire nights of sleep. 
I needed limits in order to function at all. 
But once I had those limits, I also needed to do some serious work to create a healthier relationship with those activities and address the things I was avoiding by going to those activities. 
Both were important pieces for me.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Amen?&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>madhacks</category><author>dreev</author><comments>https://blog.beeminder.com/burge#disqus_thread</comments></item><item><title>Greppable Errors</title><link>https://blog.beeminder.com/grerrors</link><guid isPermaLink="true">https://blog.beeminder.com/grerrors</guid><description>Workerbee Simone saw a weird error on Beeminder one day and sent me this screenshot: That rang no bells but naturally I grepped the source code for “ERROR_0304” and found this: return &quot;ERROR_0304&quot; // passed in bad format string; should never happen My past self was saying, “if this ever happens, which...</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;5 levels of errors&quot; title=&quot;It&apos;s like Maslow&apos;s hierarchy, or Scott Alexander&apos;s classic Varieties of Argumentative Experience. Maybe not very much like either of those but I guess they served as inspiration for this image.&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/afab3b48-958c-422d-9d80-2630c409b7a6&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Workerbee Simone saw a weird error on Beeminder one day and sent me this screenshot:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;ERROR_0304&quot; title=&quot;Prunebox is such a good goalname; hats off to Simone&quot; src=&quot;https://user-images.githubusercontent.com/9928/188289135-e8b057f5-5f63-4b20-a7e1-82a29208c948.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;That rang no bells but naturally I grepped the source code for &amp;#8220;ERROR_0304&amp;#8221; and found this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;return &amp;quot;ERROR_0304&amp;quot; // passed in bad format string; should never happen&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My past self was saying, &amp;#8220;if this ever happens, which it totally won&amp;#8217;t but, y&amp;#8217;know, &lt;em&gt;if&lt;/em&gt;, then my future self should immediately get pointed at this line of code&amp;#8221;. 
And that is what happened.&lt;/p&gt;
&lt;p&gt;This could be too simple and obvious to blog about but until now, googling &amp;#8220;greppable errors&amp;#8221; wasn&amp;#8217;t turning up anything (not anything human-written anyway) to explain it. So, you&amp;#8217;re welcome, Internet.&lt;/p&gt;
&lt;p&gt;(Also, 
&amp;#8220;&lt;a href=&quot;https://thoughtbot.com/blog/how-grep-got-its-name&quot; title=&quot;g/re/p = Globally search for a Regular Expression and Print&quot;&gt;grep&lt;/a&gt;&amp;#8221; is the nerdier term for &amp;#8220;control-f&amp;#8221;.)&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;re curious where the &amp;#8220;_0304&amp;#8221; suffix came from, it was purely to make sure the string would be unique and greppable. 
I generally use the hour and minute of whatever my watch says as I&amp;#8217;m typing, so apparently wrote that line of code at 3am, as I&amp;#8217;m wont to do.
The point is, it serves as a crude but good enough Universally Unique Identifer (UUID).
Ok, not literally universally unique but more than good enough.
It&amp;#8217;s a safe bet that after we&amp;#8217;ve hit publish on this blog post, searching &amp;#8220;ERROR_0304&amp;#8221; across the whole wide internet will bring you right here.&lt;/p&gt;
&lt;p&gt;(Relatedly, it never ceases to amaze me that that&amp;#8217;s true for most five-word snippets from any random sentence from any page on the whole internet.
Go ahead, try googling &amp;#8220;for most five-word snippets&amp;#8221;.
As I type this, it matches zero documents on the internet so presumably as you read this, it brings you right back here.)&lt;/p&gt;
&lt;h2&gt;A hierarchy of errors&lt;/h2&gt;
&lt;p&gt;Here&amp;#8217;s another obvious thing.
Errors want to be as high on this list as possible:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Fail never (reserved for God and Mary Poppins)&lt;/li&gt;
&lt;li&gt;Fail gracefully&lt;/li&gt;
&lt;li&gt;Fail loudly&lt;/li&gt;
&lt;li&gt;Fail opaquely&lt;/li&gt;
&lt;li&gt;Fail silently&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Greppable errors help you avoid the bottom two levels, yielding loud failures that leave a nice breadcrumb trail for fixing or improving them.&lt;/p&gt;
&lt;p&gt;Like if you&amp;#8217;re adding a sanity-check in your code&amp;#8201;&amp;#8212;&amp;#8201;e.g., you are conscientiously checking that a file exists before trying to read its contents&amp;#8201;&amp;#8212;&amp;#8201;start by catching that exception in a way that the end user will point you to the place in the code where the check failed.
Maybe later you&amp;#8217;ll decide that&amp;#8217;s too embarrassing and can add logic to fail more gracefully than that. 
But the worst of all is to fail silently and the second worst is to fail opaquely. 
Almost-best is to fail loudly. 
If it&amp;#8217;s really worth it, the best, short of apotheosis, is to fail gracefully.&lt;/p&gt;
&lt;p&gt;In conclusion, here are some specific implications and advice:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Do error-checking! 
Make sure a file exists before you try to read from it. 
Use your napkin at the dinner table. 
Basic manners and hygiene!&lt;/li&gt;
&lt;li&gt;Don&amp;#8217;t just print &amp;#8220;file not found&amp;#8221;, use a greppable error that points you at the right place in the code.&lt;/li&gt;
&lt;li&gt;Follow the 
&lt;a href=&quot;https://blog.beeminder.com/postel/&quot; title=&quot;Abstract: fail loudly and immediately. The Robustness Principle is to be conservative in what you send and liberal in what you accept and this blog post is about how horrifically wrong that is.&quot;&gt;Anti-Robustness Principle&lt;/a&gt; aka Anti-Postel: make everything break loudly when there&amp;#8217;s an error.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.beeminder.com/choices/&quot; title=&quot;YAGNI = You Aren&amp;#39;t Gonna Need It. This is a link to our blog post about the Anti-Settings Principle, which talks about YAGNI among other things&quot;&gt;YAGNI&lt;/a&gt;. 
Don&amp;#8217;t speculate and anticipate. 
Fail loudly and greppably first and wait to see those failures in the wild before refining your error handling.&lt;/li&gt;
&lt;li&gt;I like to take this to its logical conclusion:
Instead of &amp;#8220;fallback handling&amp;#8221;, do asserts that force a crash. 
Sprinkle asserts liberally throughout your code.
See also 
&lt;a href=&quot;https://en.wikipedia.org/wiki/Offensive_programming&quot; title=&quot;Fail fast and visibly.&quot;&gt;offensive programming&lt;/a&gt;.
(Emphasis on the first syllable of &amp;#8220;offensive&amp;#8221;; 
not like error messages with slurs.)&lt;/li&gt;
&lt;/ol&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>programming</category><category>software engineering</category><author>dreev</author><comments>https://blog.beeminder.com/grerrors#disqus_thread</comments></item><item><title>Forster Lists: Or Mark Forster&apos;s Final Version</title><link>https://blog.beeminder.com/forster</link><guid isPermaLink="true">https://blog.beeminder.com/forster</guid><description>RIP  Mark Forster (1943-2025). We first met Mark (on the internet) in 2012, which is also when  he started using Beeminder. Forster’s systems and insights have featured in many Beeminder blog posts over the years. But the best of all hasn’t appeared until now. Years ago we collaborated with Mark on a...</description><pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Some bees working on a Forster List&quot; title=&quot;Q: How many bees does it take to screw in a to-do list? A: Apparently five.&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/c0675ded-c841-474c-8d85-783e4b0488c8&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;RIP 
&lt;a href=&quot;https://markforster.squarespace.com/&quot; title=&quot;Mark Forster&amp;#39;s Get Everything Done&quot;&gt;Mark Forster&lt;/a&gt; (1943-2025).
We first met Mark (on the internet) in 2012, which is also when 
&lt;a href=&quot;https://www.beeminder.com/mforster1uk&quot; title=&quot;Mark Forster&amp;#39;s Beeminder gallery&quot;&gt;he started using&lt;/a&gt; Beeminder.
Forster&amp;#8217;s systems and insights have
&lt;a href=&quot;https://blog.beeminder.com/tags/mark%20forster&quot; title=&quot;Beeminder blog posts tagged &amp;#39;Mark Forster&amp;#39;&quot;&gt;featured in many Beeminder blog posts&lt;/a&gt; over the years.
But the best of all hasn&amp;#8217;t appeared until now.
Years ago we collaborated with Mark on a guest post by him, to be published here on the Beeminder blog, with a definitive version of the system he called &amp;#8220;Final Version&amp;#8221;.
Final Version didn&amp;#8217;t turn out to quite be the final version of his system, which is why we sat on this draft.
But it&amp;#8217;s the version we&amp;#8217;ve always liked best and is what we mean when we refer to &lt;em&gt;Forster Lists&lt;/em&gt; (or sometimes &lt;em&gt;Dot Lists&lt;/em&gt;).
So without further ado, here&amp;#8217;s Mark Forster in his own words (and light editing from us) to explain the system.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Quick Start&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Add tasks to the bottom of your to-do list as you think of them&lt;/li&gt;
&lt;li&gt;When ready to work on your tasks, put a dot in front of the very first task on the list&lt;/li&gt;
&lt;li&gt;Continue down the list until you hit a task you want to do (not must do) before doing the task you just dotted&lt;/li&gt;
&lt;li&gt;Put a dot in front of that task and repeat until you reach the end of the list&lt;/li&gt;
&lt;li&gt;You now have a chain of tasks with dots in front of them&lt;/li&gt;
&lt;li&gt;Do these dotted tasks from bottom to top&lt;/li&gt;
&lt;li&gt;You can either complete a task and cross it off or &lt;em&gt;start&lt;/em&gt; a task, cross it off, and re-add it at the bottom&lt;/li&gt;
&lt;li&gt;If urgent tasks come up, add them to the bottom with a dot, so they&amp;#8217;re done first&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Quicker Start&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Hello from the future.
Forster Lists probably work best on paper but for any hands-on learners, I, Bethany, implemented a little web version of the system that might even be self-explanatory:&lt;/em&gt;&lt;/p&gt;
&lt;center&gt;
&lt;a href=&quot;https://bsoule.com/dotlist/&quot;&gt;
&lt;span style=&quot;background-color:#1d76db;color:#FFF;padding:0 16px;font-size:16px;font-weight:600;line-height:3;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,&apos;Segoe UI&apos;,Helvetica,Arial,sans-serif;display:inline-block !important&quot;&gt;
Bee&amp;#8217;s Forster List App
&lt;/span&gt;
&lt;/a&gt;
&lt;/center&gt;

&lt;p&gt;&lt;em&gt;Back to Mark Forster&amp;#8230; (and more from us at the end)&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Here are the long-awaited instructions for the Final Version (FV) time management system. 
I don&amp;#8217;t know if it&amp;#8217;s the best time management system ever devised. 
What I do know is that it is the best time management system that I [writing circa 2012-2015] have ever used myself. 
It&amp;#8217;s shown itself to be resilient, responsive, and very quick. &lt;/p&gt;
&lt;p&gt;FV is based on my earlier time management systems, particularly the extensive range of AutoFocus and SuperFocus systems developed over the last three years. 
These were unique in that they were constantly developing with the assistance of a large band of commenters on my website. 
Anyone who has tried one or more of these systems will recognize the strong family resemblance that they have with FV. 
The most striking resemblance is that they are all based on one long list (either paper or electronic) which can be used to capture just about every possible action that springs into one&amp;#8217;s mind. 
There is a minimum of special markings or annotations.&lt;/p&gt;
&lt;p&gt;Such a list depends on an effective algorithm to process it. 
There are three main requirements which have to be kept in balance. 
These are 
&lt;strong&gt;urgency&lt;/strong&gt;, 
&lt;strong&gt;importance&lt;/strong&gt;, and 
&lt;strong&gt;psychological readiness&lt;/strong&gt;. 
Traditional time management systems have tended to concentrate on the first two of these. 
The neglect of psychological readiness is probably the reason that most people don&amp;#8217;t find time management systems particularly effective or congenial.&lt;/p&gt;
&lt;p&gt;The most distinctive feature of FV is the way that its algorithm is &lt;em&gt;primarily&lt;/em&gt; based on psychological readiness&amp;#8201;&amp;#8212;&amp;#8201;this then opens the way to keeping urgency and importance in the best achievable balance. &lt;/p&gt;
&lt;h2&gt;The FV Algorithm&lt;/h2&gt;
&lt;p&gt;The FV algorithm is loosely based on two powerful decision making methods&amp;#8201;&amp;#8212;&amp;#8201;
&lt;a href=&quot;https://www.structuredprocrastination.com/&quot; title=&quot;Original essay by John Perry&quot;&gt;structured procrastination&lt;/a&gt; and 
&lt;a href=&quot;https://markforster.squarespace.com/blog/2007/2/5/the-resistance-principle-and-colleys-rule.html&quot; title=&quot;Heuristic for decision-making when choices come in sequence: reject the first option but remember it as a benchmark, then accept the first choice you encounter that beats the benchmark&quot;&gt;Colley&amp;#8217;s rule&lt;/a&gt;&amp;#8201;&amp;#8212;&amp;#8201;though neither need be understood to use the finished algorithm.&lt;/p&gt;
&lt;p&gt;The FV algorithm uses the question 
&lt;em&gt;&amp;#8220;What do I want to do before I do x?&amp;#8221;&lt;/em&gt; 
to preselect a chain of tasks from the list. 
What exactly is meant by &amp;#8220;want&amp;#8221; in this context is deliberately left undefined. 
There may be a whole variety of reasons why you might want to do one thing before another thing and all of them are valid.&lt;/p&gt;
&lt;p&gt;The chain always starts with the &lt;strong&gt;first unactioned task&lt;/strong&gt; on the list. 
Mark this task with a dot to show that it&amp;#8217;s now been preselected. 
Don&amp;#8217;t take any action on the task at this stage.&lt;/p&gt;
&lt;p&gt;This task then becomes the benchmark from which the next task is selected. 
For example, if the first task on the list is &amp;#8220;Write Report&amp;#8221;, the question becomes 
&lt;em&gt;&amp;#8220;What do I want to do before I write the report?&amp;#8221;&lt;/em&gt; 
You move through the list in order until you come to a task which you want to do (not &amp;#8220;must do&amp;#8221;) before writing the report. 
This task is now selected by marking it with a dot and it becomes the benchmark for the next task. 
If the first task you come to which you want to do before writing the report is &amp;#8220;Check Email&amp;#8221;, then that becomes the benchmark. 
The question therefore changes to 
&lt;em&gt;&amp;#8220;What do I want to do before I check email?&amp;#8221;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As you continue through the list you might come to &amp;#8220;Tidy Desk&amp;#8221; and decide you want to do that before checking email. 
Select this in the same way by marking it with a dot, and change the question to 
&lt;em&gt;&amp;#8220;What do I want to do before tidying my desk?&amp;#8221;&lt;/em&gt; 
The answer to this is probably &amp;#8220;nothing&amp;#8221;, so you have now finished your preselection.&lt;/p&gt;
&lt;p&gt;The preselected tasks in the example are:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   Write report
   Check email
   Tidy desk
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Do these in &lt;em&gt;reverse order&lt;/em&gt;, i.e. Tidy desk, Check email, Write report. 
Note that as in all my systems, you don&amp;#8217;t have to finish the task&amp;#8201;&amp;#8212;&amp;#8201;only do some work on it. 
Of course if you do finish the task that&amp;#8217;s great, but if you don&amp;#8217;t then all you have to do is re-enter the task at the end of the list.&lt;/p&gt;
&lt;p&gt;Once you have taken action on all the preselected tasks, preselect another chain of tasks starting again from the first unactioned task on the list.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s it! You&amp;#8217;re now ready to go. 
Everything else is further examples and explanation.&lt;/p&gt;
&lt;h2&gt;A Longer Example&lt;/h2&gt;
&lt;p&gt;In this example for ease of understanding no new tasks are added while working on the list. 
This of course is unlikely in real life. &lt;/p&gt;
&lt;p&gt;Your initial list of tasks:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   Email 
   In-Tray
   Voicemail
   Project X Report
   Tidy Desk
   Call Dissatisfied Customer
   Make Dental Appointment
   File Invoices
   Discuss Project Y with Bob
   Back Up  
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Put a dot in front of the first task:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; • Email
   In-Tray
   Voicemail
   Project X Report
   Tidy Desk
   Call Dissatisfied Customer
   Make Dental Appointment
   File Invoices
   Discuss Project Y with Bob
   Back Up
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now ask yourself 
&lt;em&gt;&amp;#8220;What do I want to do before I do Email?&amp;#8221;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;You work down the list and come to Voicemail. 
You decide you want to do Voicemail before doing Email. 
Put a dot in front of it as well:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; • Email 
   In-Tray
 • Voicemail
   Project X Report
   Tidy Desk
   Call Dissatisfied Customer
   Make Dental Appointment
   File Invoices
   Discuss Project Y with Bob
   Back Up  
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now ask yourself 
&lt;em&gt;&amp;#8220;What do I want to do before I do Voicemail?&amp;#8221;&lt;/em&gt; 
You decide you want to tidy your desk.  &lt;/p&gt;
&lt;pre&gt;&lt;code&gt; • Email 
   In-Tray
 • Voicemail
   Project X Report
 • Tidy Desk
   Call Dissatisfied Customer
   Make Dental Appointment
   File Invoices
   Discuss Project Y with Bob
   Back Up  
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There are no tasks you want to do before tidying your desk, so now take action on the dotted tasks in reverse order:  &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   Tidy Desk
   Voicemail
   Email  
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Your list will now look like this (I&amp;#8217;ve removed the tasks that have been actioned but if you are using paper they will still be on the page but crossed out):  &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   In-Tray
   Project X Report
   Call Dissatisfied Customer
   Make Dental Appointment
   File Invoices
   Discuss Project Y with Bob
   Back Up  
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now start again with the first unactioned task on the list, In-Tray, and repeat the same procedure. 
The only task you want to do before In-Tray is Back Up. 
As this is the last task on the list there are only two dotted tasks: &lt;/p&gt;
&lt;pre&gt;&lt;code&gt; • In-Tray
   Project X Report
   Call Dissatisfied Customer
   Make Dental Appointment
   File Invoices
   Discuss Project Y with Bob
 • Back Up
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Do the two dotted tasks in reverse order:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   Back Up
   In-Tray
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So the list now looks like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   Project X Report
   Call Dissatisfied Customer
   Make Dental Appointment
   File Invoices
   Discuss Project Y with Bob
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So far the tasks have been relatively trivial, but the Project X Report is something that you have been putting off doing for a long time. 
So repeat the procedure:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; • Project X Report
   Call Dissatisfied Customer
 • Make Dental Appointment
 • File Invoices
   Discuss Project Y with Bob
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You now file your invoices, make a dental appointment and make a start on the Project X Report.&lt;/p&gt;
&lt;p&gt;In your final pass through the list you Discuss Project Y with Bob and Call Dissatisfied Customer.&lt;/p&gt;
&lt;p&gt;So the tasks on the original list have been done in the following order. 
The tasks in italics are the ones at the beginning of each scanning process.&lt;/p&gt;
&lt;pre&gt;

   Tidy Desk
   Voicemail
   &lt;i&gt;Email&lt;/i&gt;
   
   Back Up
   &lt;i&gt;In-Tray&lt;/i&gt;
    
   File Invoices
   Make Dental Appointment
   &lt;i&gt;Project X Report&lt;/i&gt;
   
   Discuss Project Y with Bob
   &lt;i&gt;Call Dissatisfied Customer&lt;/i&gt;
&lt;/pre&gt;

&lt;p&gt;Notice what has happened here. 
The root tasks (the ones in italics) have been done in strict list order, regardless of importance, urgency or any other factor. 
Some of them are relatively easy (e.g. Email) and some are relatively difficult (e.g. Project X Report) or you are reluctant to do them (e.g. Call Dissatisfied Customer).&lt;/p&gt;
&lt;p&gt;Each of the root tasks is preceded by a short ladder of tasks which are in the order in which you want to do them. 
The number and difficulty of the tasks in the ladder tend to reflect the difficulty of the root tasks.&lt;/p&gt;
&lt;h2&gt;Additional Tips&lt;/h2&gt;
&lt;p&gt;The best way to sink any time management system is to overload it right at the beginning. 
FV is pretty resilient, but at this stage you aren&amp;#8217;t. 
So build up the list gradually. 
My advice is to start off with the tasks and projects that are of immediate concern to you right now, and then add more as they come up in the natural course of things.&lt;/p&gt;
&lt;p&gt;Tasks can be added at any level, e.g. Project X, Plan Restructuring, Call Pete, Tidy Desk. &lt;/p&gt;
&lt;p&gt;If the first task on the list &lt;em&gt;can&amp;#8217;t&lt;/em&gt; be done now for some valid reason 
(e.g. wrong time of day, precondition not met, bad weather), 
then cross it out and re-enter it at the end of the list.
Use the next task as your starting benchmark.&lt;/p&gt;
&lt;p&gt;If at any stage you find that a task on the list is no longer relevant, then delete it. &lt;/p&gt;
&lt;p&gt;If you find that your preselected list is no longer relevant (e.g. if you have had a long break away from the list), 
then scrap the preselection and reselect from the beginning. 
A shorter way to do this is to reselect only from the last preselected task which you haven&amp;#8217;t done yet.&lt;/p&gt;
&lt;p&gt;If one or more very urgent things come up, write them at the end of the list and mark them with a dot so that they are done next. 
If something already on the list becomes very urgent, then move it to the end of the list and mark it with a dot in the same way.&lt;/p&gt;
&lt;p&gt;Remember that the aim of any time management system is to help you to get your work done, not get in the way of doing your work. 
So don&amp;#8217;t be afraid to adjust priorities if you need to. 
However try to keep this to a minimum&amp;#8201;&amp;#8212;&amp;#8201;stick to the rules whenever possible as they will ensure you deal with your work in a systematic way.&lt;/p&gt;
&lt;h2&gt;Why It Works&lt;/h2&gt;
&lt;p&gt;At the beginning of this article I said there were three factors which every time management system needs to address: 
urgency, 
importance and 
psychological readiness. 
Let&amp;#8217;s see how FV deals with each of these.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Urgency.&lt;/strong&gt;
Because of the nature of the preselection process, urgent tasks tend to get selected&amp;#8201;&amp;#8212;&amp;#8201;generally speaking the human brain wants to do things that it knows are urgent. 
If things come up that are particularly urgent they can be added to the preselected list at any time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Importance.&lt;/strong&gt;
Generally speaking the human brain is a bit less keen on doing important stuff than it is on doing urgent stuff. 
This is particularly the case when the important stuff is difficult. 
However the FV preselection process ensures that tasks towards the beginning of the list are given as much attention as tasks towards the end of the list.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Psychological Readiness.&lt;/strong&gt;
This is where FV really enters new dimensions. 
By using a preselection process, the brain is softened up towards the selected tasks. 
But this isn&amp;#8217;t all. 
The selection process is based on what you &lt;em&gt;want&lt;/em&gt; to do. 
This colours the whole preselected list so that even the first task, which you may not have wanted to do at all, gets affected. 
In addition, doing the list in reverse order, with the least wanted task last, uses structured procrastination to get the tasks done.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Posthumous Postscript&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Hello again from Danny and Bethany in 2026.
Forster Lists (Dot Lists) sure have stood the test of time!
There&amp;#8217;s a surprising amount of cleverness in that simple protocol:&lt;/em&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Colley&amp;#8217;s rule&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Structured procrastination&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Getting_Things_Done&quot; title=&quot;Getting Things Done&quot;&gt;GTD&lt;/a&gt;-style review&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Distraction logging.&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;em&gt;Colley&amp;#8217;s rule is like an anytime algorithm for picking the most important task.
You start with an arbitrary default and continuously preempt it with tasks you want to do first.
Structured procrastion leverages your own dumb pscychology to keep you productive despite being a little (or a lot) ADHD.
GTD-style review is the anti-staleness measure.
And, finally, distraction logging lets you capture everything that crosses your mind without those thoughts constantly derailing you.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Mark didn&amp;#8217;t say a lot about that last one&amp;#8201;&amp;#8212;&amp;#8201;distraction logging&amp;#8201;&amp;#8212;&amp;#8201;and since our own previous discussion of it is currently buried in an old 
&lt;a href=&quot;https://blog.beeminder.com/tocks&quot; title=&quot;See footnote 3 and its referent&quot;&gt;Beeminder blog post on Tocks&lt;/a&gt;, let us end by singing its praises in the context of Forster Lists.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;We love this aspect of Mark&amp;#8217;s system, where anything that pops into your head you can just add it to the list and trust that you&amp;#8217;ll see it later. 
Also it helps ensure the whole list doesn&amp;#8217;t become something you dread even looking at.
There are ugh-y things in there but you&amp;#8217;re also constantly dumping shiny things in.
This reduces the temptation to let yourself be distracted from the task in the current chain. 
By the time a task pops up in a future chain you may decide it wasn&amp;#8217;t important and can just cross it off. 
But the key is that with so many unimportant tasks getting dumped in, you need to make sure important ones don&amp;#8217;t die in that sea. 
Which Forster&amp;#8217;s system accomplishes beautifully.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Related Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://alltom.github.io/todournament&quot; title=&quot;Another favorite of Danny&amp;#39;s&quot;&gt;Todournament&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lesswrong.com/posts/xfcKYznQ6B9yuxB28/final-version-perfected-an-underused-execution-algorithm&quot; title=&quot;Technically for Final Version Perfected (FVP) which is a bit more flexible but more complex&quot;&gt;Write-up by a Forster fan on LessWrong&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://bulletjournal.com&quot; title=&quot;Warning: this a link to objects in physical reality&quot;&gt;Bullet Journal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://forum.beeminder.com/t/complementary-tools-mark-forsters-final-version-s/828&quot; title=&quot;Discussion in 2015&quot;&gt;Beeminder Forum Discussion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>mark forster</category><category>productivity porn</category><category>todo lists</category><category>guest posts</category><author>Mark Forster</author><comments>https://blog.beeminder.com/forster#disqus_thread</comments></item><item><title>Coupled Sliders for Pledges and Pledge Caps</title><link>https://blog.beeminder.com/sliders</link><guid isPermaLink="true">https://blog.beeminder.com/sliders</guid><description>Announcement: You can now jump down as many pledge steps as you like without waiting a week between jumps.  And pledges and pledge caps don’t have to be changed separately — the right things just happen, like if you push the pledge cap below the current pledge, that starts a one-week timer for both of...</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Steampunk version of the coupled sliders&quot; title=&quot;Maxwell&apos;s Beemon&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/dfd1c8ec-f3ba-4353-98d5-f4203f8289db&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Announcement:
You can now jump down as many pledge steps as you like without waiting a week between jumps. 
And pledges and pledge caps don&amp;#8217;t have to be changed separately&amp;#8201;&amp;#8212;&amp;#8201;the right things just happen, like if you push the pledge cap below the current pledge, that starts a one-week timer for both of them to change together.&lt;/p&gt;
&lt;p&gt;(Review: 
Your &lt;em&gt;pledge&lt;/em&gt; on a Beeminder goal is how much you have at stake: 
the amount we charge you each time your datapoints deviate from the bright red line on your graph representing what you committed to maintaining.
Beeminder has a core concept of an &lt;em&gt;akrasia horizon&lt;/em&gt;, meaning you can change your mind about any aspect of your goal&amp;#8201;&amp;#8212;&amp;#8201;including how much money is at stake, or ending the goal entirely&amp;#8201;&amp;#8212;&amp;#8201;but any such change takes a week to take effect.
So you can change your mind for a thought-out reason but never impetuously or out of laziness.
Never akratically.)&lt;/p&gt;
&lt;p&gt;Until now (actually a couple weeks ago, when this went live) the only option for lowering your pledge was to drop it one level, starting the akrasia horizon countdown.
A week later, you could repeat that process to drop another level.
And changing your pledge cap was a completely separate thing you had to remember to do after waiting for the pledge to drop.
If you wanted to drop your pledge from, say, $270 to the minimum of $5 and make sure it stayed there, that was literally a month-long operation ($270 &amp;rarr; $90 &amp;rarr; $30 &amp;rarr; $10 &amp;rarr; $5).&lt;/p&gt;
&lt;p&gt;But now the long national nightmare is over.&lt;/p&gt;
&lt;p&gt;We do have at least one user who liked the previous status quo.
Beeminder is all about tools against temptation and so the friction of reaffirming each pledge drop could be viewed as a feature.
This particular user likes to reward themself with a pledge drop whenever they hit a long enough streak.
So they can still do that but will need a bit of self-discipline&amp;#8201;&amp;#8212;&amp;#8201;sticking to one pledge drop at a time&amp;#8201;&amp;#8212;&amp;#8201;that previously Beeminder gave them for free.
Since this user is wildly outnumbered by those who hated the tedium of changing pledge levels, we&amp;#8217;re not including an 
&lt;a href=&quot;https://blog.beeminder.com/pdp&quot; title=&quot;The Pareto Dominance Principle for Apps and Websites -- see the embedded xkcd about breaking someone&amp;#39;s workflow&quot;&gt;option for spacebar heating&lt;/a&gt;.
But since this isn&amp;#8217;t strictly a 
&lt;a href=&quot;https://blog.beeminder.com/pareto/&quot; title=&quot;Our handy blog post defining the concept of Pareto dominance&quot;&gt;Pareto improvement&lt;/a&gt;, we were 
&lt;a href=&quot;https://blog.beeminder.com/pdp&quot; title=&quot;The Pareto Dominance Principle for Apps and Websites&quot;&gt;duty-bound&lt;/a&gt; to blog about it.&lt;/p&gt;
&lt;p&gt;Conceptually, the new coupled sliders for pledge and pledge cap work like this:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;450px&quot; alt=&quot;Skeuomorphic coupled sliders&quot; title=&quot;Skeuomorphism!&quot; src=&quot;https://github.com/user-attachments/assets/db0cfd38-10c1-40a9-930b-bcd6883b45a1&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Skeuomorphism!
The little cowcatcher that sticks down from the yellow pledge knob means that if you physically slide the pledge value higher, it brings the pledge cap with it.
The cap can&amp;#8217;t ever be lower than the pledge.
Conversely, if you slide the cap lower it pushes the pledge along, for the same reason, maintaining the pledge &amp;le; cap invariant.&lt;/p&gt;
&lt;p&gt;In reality, it&amp;#8217;s like this:&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;450px&quot; class=&quot;aligncenter&quot; alt=&quot;Screenshot of pledge interface on a beeminder goal&quot; title=&quot;This is the pledge modal (from clicking the $$ amount above the goal) on a test goal&quot; src=&quot;https://github.com/user-attachments/assets/be20f489-b79c-4b33-a720-38afb1ef00b9&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We think it&amp;#8217;s more obvious when you interact with it yourself, so we made a little mockup version.
Try sliding the sliders back and forth and see what they do:&lt;/p&gt;


&lt;iframe src=&quot;https://www.beeminder.com/pledge-sliders-demo&quot; class=&quot;aligncenter&quot; name=&quot;Beeminder.com&quot; frameborder=&quot;0&quot; border=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;max-width:100%;width:700px;height:290px&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;



&lt;p&gt;Simple, right?&lt;/p&gt;
&lt;h3&gt;Wait, One Wee Weirdness&lt;/h3&gt;
&lt;p&gt;This is mostly too niche to care about, but for completeness, if you,
&lt;a href=&quot;https://blog.beeminder.com/boobeemium&quot; title=&quot;Blog post in which we, speaking of weirdnesses, bad-mouth our own most expensive premium plan&quot;&gt;ill-advisedly&lt;/a&gt;, have a Beemium plan then something weird happens if you slide the pledge all the way to $0 (as only Beemium people are allowed to do).
Namely, in that special case, the pledge cap will also snap itself to $0.
The reason is a little arcane.
Remember the 
&lt;a href=&quot;https://blog.beeminder.com/wetfeet&quot; title=&quot;Death To Zero Dollar Goals, Birth To Feet-Wetting Mode&quot;&gt;feet-wetting&lt;/a&gt; feature?
When you first create a goal you can choose to have the pledge be at $0 just for the first week, while you get your feet wet, after which it automatically bumps itself to $5.
It turns out that that doesn&amp;#8217;t quite play nicely with the Beemium perk of allowing goals to be at $0 indefinitely.
Not the way we implemented it anyway.
This is a big part of the reason for 
&lt;a href=&quot;https://blog.beeminder.com/deprecate&quot; title=&quot;Deprecation Warning: Using “Deprecated” To Mean “No Longer Supported”&quot;&gt;deprecating&lt;/a&gt; the Beemium plan&amp;#8201;&amp;#8212;&amp;#8201;all the confusing special cases and hard-to-anticipate interactions with other features like feet-wetting.&lt;/p&gt;
&lt;p&gt;The point being, if a Beemium user sets their pledge to $0, the feet-wetting will make it bump itself up to $5 a week later.
The workaround is to set your pledge cap to $0 to force it not to do that.
And since we don&amp;#8217;t want a Beemium user to have their pledge go up from $0 when they weren&amp;#8217;t expecting it to, we have this dumb special case to make the pledge cap also go to $0 by default.
You can then bump it back up if you want.
Just keep in mind that without a $0 pledge cap the pledge will always bump itself back to $5 after a week.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>feature announcements</category><author>dreev</author><comments>https://blog.beeminder.com/sliders#disqus_thread</comments></item><item><title>Akrasia Horizon Immunity: Or Getting Dark Green</title><link>https://blog.beeminder.com/darkgreen</link><guid isPermaLink="true">https://blog.beeminder.com/darkgreen</guid><description>A full 10 years ago we published a listicle,  “16 Obscure Beeminder Features”.  Number 15, we could say, surprised us.  With its longevity and practicality.  Since we don’t actually want to clickbait you, here it is: If you have over a week of safety buffer you’re immune to the  akrasia horizon. Quick...</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Some Beeminder graphs and a rainbow and a green shield&quot; title=&quot;Graph colors enhanced to show texture.&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/c13193d2-d8b6-4900-9439-02a72efdf082&quot; /&gt;&lt;/p&gt;
&lt;p&gt;A full 10 years ago we published a listicle, 
&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/obscure/&quot; title=&quot;Technically it has 17 entries now; we randomly added a new one a few years later&quot;&gt;16 Obscure Beeminder Features&lt;/a&gt;&amp;#8221;. 
Number 15, we could say, surprised us. 
With its longevity and practicality. 
Since we don&amp;#8217;t actually want to clickbait you, here it is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you have over a week of safety buffer you&amp;#8217;re immune to the 
&lt;a href=&quot;http://blog.beeminder.com/glossary/#ahorizon&quot; title=&quot;Akrasia is distorted decision-making in the face of immediate consequences and your akrasia horizon quantifies “immediate”. It’s the timeframe within which your short-term impulses outweigh your better judgment — taken by Beeminder to always be one week in the future. You can make arbitrary changes to your goal — the steepness of your bright red line (formerly yellow brick road) — but only outside the akrasia horizon.&quot;&gt;akrasia horizon&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;border-style:solid;border-width:1px;padding:10px 70px 20px&quot;&gt;

&lt;h3&gt;&lt;center&gt;Quick Review: Akrasia and the Akrasia Horizon&lt;/center&gt;&lt;/h3&gt;

&lt;p&gt;&lt;i&gt;Akrasia&lt;/i&gt; (also defined in the sidebar of the blog) means acting against your own better judgment.
Beeminder&amp;#8217;s &lt;i&gt;akrasia horizon&lt;/i&gt; refers to the restriction that, while you can make your goal easier or even end it altogether at any time, the change takes a week to take effect.
So you can change your mind about your commitment for a thought-out reason, but you can&amp;#8217;t do so akratically.
See our 
&lt;a href=&quot;https://help.beeminder.com/article/45-what-is-the-akrasia-horizon&quot; title=&quot;More philosophical than most of our help docs, with lots of blog post links&quot;&gt;help article&lt;/a&gt;
for more.&lt;/p&gt;


&lt;/div&gt;

&lt;br /&gt;

&lt;p&gt;In short, akrasia horizon immunity means that you can immediately flatten your bright red line and&amp;#8201;&amp;#8212;&amp;#8201;though it takes a week for the flattening to take effect&amp;#8201;&amp;#8212;&amp;#8201;by the time you run out of safety buffer you&amp;#8217;ll have reached the 
&lt;a href=&quot;http://blog.beeminder.com/glossary/#flatspot&quot; title=&quot;A period in which your bright red line is paused, requiring no work. You may want to add a flat spot for a vacation, for example. You do so by dialing down your red line with the commitment dial. When you start a new goal or rerail, Beeminder by default starts you with a flat spot so you can build up an initial safety buffer.&quot;&gt;flat spot&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In our blog post introducing the 
&lt;a href=&quot;https://blog.beeminder.com/rainbowdash&quot; title=&quot;Now it&amp;#39;s just the dashboard, since we&amp;#39;ve all forgotten what the non-rainbow dashboard ever looked like&quot;&gt;rainbow dashboard&lt;/a&gt;, we point out that goals with 7+ days of safety buffer are shown in a subtly darker shade of green, to remind you that you&amp;#8217;ve achieved akrasia horizon immunity.
Quoting ourselves:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If something comes up or you decide you hate your Beeminder goal (it happens), you can click Archive or schedule a flat section of the bright red line. 
It takes a week for such changes to take effect, but, lucky you, you have that much safety buffer! 
So instead of clicking Archive or scheduling your break and then toughing it out for another week, you can do that and then immediately check out. 
By the time your safety buffer runs out, your break will begin. 
Your friends will be dark green with envy.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Of course if you had the discipline to maintain a week of safety buffer you wouldn&amp;#8217;t need Beeminder in the first place. 
But it&amp;#8217;s a nice little carrot to go with the stick.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>PSA</category><category>FAQ</category><category>tips</category><author>dreev</author><comments>https://blog.beeminder.com/darkgreen#disqus_thread</comments></item><item><title>Beeminder &amp;hearts; BoardGameGeek</title><link>https://blog.beeminder.com/boardgamegeek</link><guid isPermaLink="true">https://blog.beeminder.com/boardgamegeek</guid><description>BoardGameGeek is an online community for board and card game geeks.  They have reviews of every board game imaginable, from Your Favorite Niche Game, to Candy Land, to Cribbage, as well as community forums, the rules, etc. It’s kind of a forum meets a wiki meets blog.  It’s a great resource for finding...</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Nerds vs Geeks&quot; title=&quot;If you&apos;ve never seen the Nerds vs Geeks rap battle, today is your lucky day&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/89d1cfe2-5a8f-4ca6-9cfd-e7f241c9f8a4&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://boardgamegeek.com/&quot; title=&quot;AKA BGG&quot;&gt;BoardGameGeek&lt;/a&gt; is an online community for board and card game geeks. 
They have reviews of every board game imaginable, from Your Favorite Niche Game, to Candy Land, to Cribbage, as well as community forums, the rules, etc.
It&amp;#8217;s kind of a forum meets a wiki meets blog. &lt;/p&gt;
&lt;p&gt;It&amp;#8217;s a great resource for finding new games to try, or recalling that 
&lt;a href=&quot;https://boardgamegeek.com/boardgame/590/mille-bornes&quot; title=&quot;Bee&amp;#39;s instance of “that one game”&quot;&gt;one game&lt;/a&gt; you used to play in Joe&amp;#8217;s basement every Friday before the X-Files came on.&lt;/p&gt;
&lt;p&gt;Once you create an account you can track your board game collection, write session reports, and log your plays. 
Which is where the Beeminder integration comes in.
We&amp;#8217;ll automatically track your plays of either a specific game, or all games. &lt;/p&gt;
&lt;p&gt;To create a goal, head to 
&lt;a href=&quot;https://www.beeminder.com/new&quot; title=&quot;Follow this link, or go from your dashboard, or the top-right dropdown menu&quot;&gt;beeminder.com/new&lt;/a&gt;, pick the BoardGameGeek icon from the list of integrations, and answer the questions about how much you want to commit to game playing. 
Or if that sounds too hard, here&amp;#8217;s a button:&lt;/p&gt;
&lt;center&gt;
&lt;a href=&quot;https://www.beeminder.com/boardgamegeek&quot;&gt;
&lt;span style=&quot;background-color:#1d76db;color:#FFF;padding:0 16px;font-size:16px;font-weight:600;line-height:3;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,&apos;Segoe UI&apos;,Helvetica,Arial,sans-serif;display:inline-block !important&quot;&gt;
Board Game Geeks Click Meeeee
&lt;/span&gt;
&lt;/a&gt;
&lt;/center&gt;

&lt;h3&gt;Um, I just wandered in from BGG; what is Beeminder?&lt;/h3&gt;
&lt;p&gt;Welcome aboard(game)! 
You might want to check out our 
&lt;a href=&quot;https://help.beeminder.com/category/5-quick-start-overview&quot; title=&quot;A collection of 15 newbee-oriented articles starting witih &amp;quot;What is Beeminder?&amp;quot;&quot;&gt;getting started guide&lt;/a&gt; in our Help Docs, and then get yourself signed up.
Assuming you&amp;#8217;re on &lt;em&gt;board&lt;/em&gt; with the commitment device and &lt;em&gt;game&lt;/em&gt; for paying money if you go off track, the beauty of an autodata integration is that you don’t normally need to interact with Beeminder once you’ve gone through the process above of setting up your commitment.
Just log things in BGG like normal and Beeminder alerts you if you need to log more game playing.&lt;/p&gt;
&lt;p&gt;(See also the full documentation of the BoardGameGeek integration 
&lt;a href=&quot;https://help.beeminder.com/article/381-boardgamegeek&quot; title=&quot;We hope that it&amp;#39;s mostly self-explanatory, especially after this blog post&quot;&gt;in our help docs&lt;/a&gt;.)&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>integrations</category><category>games</category><author>bsoule</author><comments>https://blog.beeminder.com/boardgamegeek#disqus_thread</comments></item><item><title>The Sheeple Strategy</title><link>https://blog.beeminder.com/sheeple</link><guid isPermaLink="true">https://blog.beeminder.com/sheeple</guid><description>This is pretty obvious and, by definition, is what most people already do, but we’ve found the  concept handle useful. When we notice one of our concept handles has stuck, it’s handy to have a blog post to link to that defines it. In this case, it’s a strategy for minimizing software headaches.  Namely,...</description><pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;450&quot; height=&quot;450&quot; alt=&quot;8 sheep with dyed hair and one plain sheep, plus a box of fleece dye&quot; title=&quot;It&apos;s a box of hair dye, folks. Get it?&quot; src=&quot;https://github.com/user-attachments/assets/64892843-5c56-473a-b304-688ef27d4abb&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This is pretty obvious and, by definition, is what most people already do, but we&amp;#8217;ve found the 
&lt;a href=&quot;https://blog.beeminder.com/neology&quot; title=&quot;Neology&quot;&gt;concept handle&lt;/a&gt; useful.
When we notice one of our concept handles has stuck, it&amp;#8217;s handy to have a blog post to link to that defines it.&lt;/p&gt;
&lt;p&gt;In this case, it&amp;#8217;s a strategy for minimizing software headaches. 
Namely, to delay software upgrades 
(not counting security updates&amp;#8201;&amp;#8212;&amp;#8201;always do those) 
long enough that you&amp;#8217;re always on whatever version the majority of people are on. 
Safety in numbers! 
I use the heuristic of always being one version behind whatever the very latest is. 
Like for macOS, my laptop wants me to upgrade to Tahoe but I&amp;#8217;m staying put on Sequoia.
Until I hear about whatever Tahoe&amp;#8217;s successor is.
Then I&amp;#8217;ll finally upgrade to Tahoe.&lt;/p&gt;
&lt;p&gt;Maybe I&amp;#8217;m being a bit extreme on that one.
My friend &lt;a href=&quot;https://serine.me/&quot; title=&quot;AKA Emily&quot;&gt;Serine Molecule&lt;/a&gt; suggests a tempered sheeple strategy of merely waiting to upgrade to the next major macOS version until it gets its first point release.
And of course a fully strict sheeple strategy would be to always upgrade to whatever has the most market share:&lt;/p&gt;
&lt;figure&gt;

&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Pie chart of macOS version market share&quot; title=&quot;Pie chart of macOS version market share&quot; src=&quot;https://github.com/user-attachments/assets/9b869403-c1ed-4e53-b527-6772bc91e77e&quot; /&gt;&lt;/p&gt;
&lt;figcaption&gt;Turns out I&amp;#8217;m some months overdue for upgrading to macOS Tahoe, if we believe this golem-generated market share chart.&lt;/figcaption&gt;

&lt;/figure&gt;

&lt;p&gt;Of course if everyone followed the sheeple strategy we&amp;#8217;d have zero progress ever. 
So the more pro-social version is to diligently upgrade &lt;em&gt;at least&lt;/em&gt; to the majority version and bonus points for taking one for the team sometimes and braving the bleeding edge. 
And realistically there are enough people doing that because they&amp;#8217;re compelled to (as I sometimes am myself).
So you can consider yourself to have done your part by following the most sheeply version of the sheeple strategy.
At least you&amp;#8217;re not a straggler.&lt;/p&gt;
&lt;h3&gt;Generalizations&lt;/h3&gt;
&lt;p&gt;If you&amp;#8217;re a web developer you probably know about 
&amp;#8220;&lt;a href=&quot;http://caniuse.com&quot; title=&quot;Usually you *can*, but should you, is the real question&quot;&gt;Can I Use&lt;/a&gt;&amp;#8221;.
A prudent sheeple strategy is to use a fancy JavaScript feature when something like 90% of browsers in the wild support it.
(The other half of the sheeple strategy here, as an end user, is to expect developers to do that and make sure you&amp;#8217;re in that 90%.)&lt;/p&gt;
&lt;p&gt;And to go weirdly far afield, there&amp;#8217;s a classic Scott Alexander post I&amp;#8217;m enamored with that advocates a sheeple strategy for language usage:
&amp;#8220;&lt;a href=&quot;https://www.astralcodexten.com/p/give-up-seventy-percent-of-the-way&quot; title=&quot;More generally: no matter how dumb a norm is, if it&amp;#39;s a sufficiently well-established norm, unilaterally violating it makes you the jerk. If it&amp;#39;s a bad enough norm, you should push as hard as you can on the edge of the Overton window. But if you&amp;#39;re wholly outside the norms, you&amp;#39;re not helping matters.&quot;&gt;Give Up Seventy Percent Of The Way Through The Hyperstitious Slur Cascade&lt;/a&gt;&amp;#8221;.&lt;/p&gt;
&lt;p&gt;One more example, back in the realm of tech:
The last time we had multiple hours of downtime
(see 
&lt;a href=&quot;https://status.beeminder.com&quot; title=&quot;See also the so-called poppy page, but hopefully you won&amp;#39;t, since it&amp;#39;s only visible if Beeminder is down&quot;&gt;status.beeminder.com&lt;/a&gt; for gory details)
was due to a huge data center outside of New York City having some kind of 
&lt;a href=&quot;https://blog.beeminder.com/defcon&quot; title=&quot;Downtime and DEFCON Levels&quot;&gt;meltdown&lt;/a&gt;. It&amp;#8217;s plenty embarrassing that we&amp;#8217;re not robust to such things but being located in a popular data center of a popular cloud provider is another sheeple strategy.
In this case it had the advantage that enough of the rest of the internet was down that our users treated it as an act of God and, I guess, blamed us less.
Again, not something to be proud of, exactly, but what did you expect with a name like &amp;#8220;sheeple strategy&amp;#8221;?
Still, it is sometimes the unironically savvy strategy.
And now you know what to call it, you&amp;#8217;re welcome.&lt;/p&gt;
&lt;h3&gt;Related Concepts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Clive Freeman used to call this a &lt;em&gt;fast follower&lt;/em&gt; strategy, which is a business term for the counterpart of the first mover.
See 
&amp;#8220;&lt;a href=&quot;https://en.wikipedia.org/wiki/First-mover_advantage#Second-mover_advantage&quot; title=&quot;Part of the Wikipedia article on First-mover advantage&quot;&gt;Second-mover advantage&lt;/a&gt;&amp;#8221;.&lt;/li&gt;
&lt;li&gt;Theo Spears points out the idea of innovation tokens, from the classic Dan McKinley essay 
&amp;#8220;&lt;a href=&quot;https://mcfunley.com/choose-boring-technology&quot; title=&quot;Not those kind of tokens, this was written in 2015&quot;&gt;Choose Boring Technology&lt;/a&gt;&amp;#8221;.&lt;/li&gt;
&lt;li&gt;Also via Theo Spears, the 
&lt;a href=&quot;https://en.wikipedia.org/wiki/Technology_adoption_life_cycle&quot; title=&quot;Innovators, early adopters, early majority, late majority, laggards&quot;&gt;technology adoption life cycle&lt;/a&gt; as popularized in &lt;em&gt;Crossing the Chasm&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>startups</category><category>terminology</category><author>dreev</author><comments>https://blog.beeminder.com/sheeple#disqus_thread</comments></item><item><title>Gresham&apos;s Law of Beeminder Deadlines: Or Death to Deadline Snoozing</title><link>https://blog.beeminder.com/snooze</link><guid isPermaLink="true">https://blog.beeminder.com/snooze</guid><description>Deadline snoozing in Beeminder refers to scooching your deadline later as it’s bearing down. Traditionally we’ve allowed any deadline changes until six hours before the  deadline. But we’ve always hated that. It’s arbitrary and hard to remember. We have a whole essay railing against such things — the...</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Bee with sickle and another bee snoozing and dynamite and skulls and candles and hourglasses oh my&quot; title=&quot;This image is a grim reminder of the Grim Minder&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/dc1c36fd-5a0e-4443-9e65-f53e3b652a4b&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Deadline snoozing in Beeminder refers to scooching your deadline later as it&amp;#8217;s bearing down.
Traditionally we&amp;#8217;ve allowed any deadline changes until six hours before the 
&lt;a href=&quot;https://blog.beeminder.com/glossary#deadline&quot; title=&quot;Beeminder glossary entry for &amp;#39;deadline&amp;#39;, why not&quot;&gt;deadline&lt;/a&gt;.
But we&amp;#8217;ve always hated that.
It&amp;#8217;s arbitrary and hard to remember.
We have a whole essay railing against such things&amp;#8201;&amp;#8212;&amp;#8201;&lt;a href=&quot;https://blog.beeminder.com/magic&quot; title=&quot;AKA if-statements considered harmful&quot;&gt;the Anti-Magic Principle&lt;/a&gt;, we call it.&lt;/p&gt;
&lt;p&gt;Ok, now for a quick economics digression.
Some of you may know 
&lt;a href=&quot;https://en.wikipedia.org/wiki/Gresham%27s_law&quot; title=&quot;Fun fact: This bit Isaac Newton in the butt in 1717&quot;&gt;Gresham&amp;#8217;s Law&lt;/a&gt;.
It&amp;#8217;s generally stated as &amp;#8220;bad money drives out good&amp;#8221; but the idea generalizes.
Another famous bit of economics theory is the 
&amp;#8220;&lt;a href=&quot;https://en.wikipedia.org/wiki/The_Market_for_Lemons&quot; title=&quot;The opposite of a lemon is a peach, if we&amp;#39;re talking about cars, which it turns out we are&quot;&gt;Market for Lemons&lt;/a&gt;&amp;#8221;.
Suppose people sell their cars on eBay or wherever, and some cars are so-called lemons that are constantly breaking down and other cars are the opposite, peaches.
Key is that you can&amp;#8217;t tell a lemon from a peach till after you&amp;#8217;ve bought it and driven it for a while.
So if you&amp;#8217;re car shopping, you&amp;#8217;d gladly pay more for a peach than a lemon but, since you can&amp;#8217;t be sure you&amp;#8217;re not buying a lemon, you won&amp;#8217;t pay peach prices.
That means if you&amp;#8217;re &lt;em&gt;selling&lt;/em&gt; a car, and you know your car is a peach, you can&amp;#8217;t get a fair price for it in that market.
You can tell buyers your car is a peach, but that&amp;#8217;s cheap talk &lt;a class=&quot;footnote&quot; id=&quot;CT1&quot; href=&quot;#CT&quot;&gt;[1]&lt;/a&gt; and they won&amp;#8217;t believe you.
So, as economists love to say, solve for the equilibrium.
Everyone selling a peach flees that market and everyone selling lemons flocks to it.
The bad drives out the good.&lt;/p&gt;
&lt;p&gt;By rough analogy to all that, we&amp;#8217;re coining &lt;em&gt;Gresham&amp;#8217;s Law of Beeminder Deadlines&lt;/em&gt;:
&lt;a href=&quot;https://blog.beeminder.com/glossary#akratic&quot; title=&quot;The adjectival form of akrasia, or a person who is akratic. See the sidebar of this blog.&quot;&gt;Akratic&lt;/a&gt; deadlines drive out intentional ones. 
Presuming you&amp;#8217;re like us, when something comes up and you snooze your deadline, it&amp;#8217;s like a retrogressive ratchet.
You never put the deadline back where it 
&lt;a href=&quot;https://blog.beeminder.com/waterfalls/&quot; title=&quot;Beeminder blog post about deadline waterfalls, where you arrange the deadlines for your Beeminder goals to keep you on track throughout the day&quot;&gt;should be&lt;/a&gt; because it&amp;#8217;s too onerous to do that within your 
&lt;a href=&quot;https://blog.beeminder.com/glossary#ahorizon&quot; title=&quot;Akrasia is distorted decision-making in the face of immediate consequences and your akrasia horizon quantifies “immediate”. It’s the timeframe within which your short-term impulses outweigh your better judgment — taken by Beeminder to always be one week in the future. You can make arbitrary changes to your goal — the steepness of your bright red line (formerly yellow brick road) — but only outside the akrasia horizon.&quot;&gt;akrasia horizon&lt;/a&gt;.
You&amp;#8217;d have to muster the discipline to make the deadline earlier again when that deadline is already bearing down on you.&lt;/p&gt;
&lt;p&gt;So, in light of Gresham&amp;#8217;s Law of Beeminder Deadlines, we&amp;#8217;d like to simply kill deadline snoozing.
Let us save you from yourselves&amp;#8201;&amp;#8212;&amp;#8201;backing yourselves into corners where all your deadlines end up at 6am.
Paternalism!
We see this as an instance of a more 
&lt;a href=&quot;https://blog.beeminder.com/catchup&quot; title=&quot;Catch-up Unmustered; or, Easier is Harder&quot;&gt;general rule of thumb&lt;/a&gt; that we&amp;#8217;ve called &amp;#8220;the #1 rule of Beeminder&amp;#8221;: things that make staying on the good side of your bright red line easier make reaching your underlying goal harder. &lt;/p&gt;
&lt;p&gt;So that&amp;#8217;s what&amp;#8217;s currently deployed, as of today.
If a goal is in the red, the deadline is just uneditable.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Screenshot: Alas! Alack! Deadline changes are not allowed on beemergency days. See the blog for why we&apos;re being so draconian. If you just really need a break today, we humbly suggest treating yourself to the derailment: Cry Uncle!&quot; title=&quot;Alas! Alack! Deadline changes are not allowed on beemergency days. See the blog for why we&apos;re being so draconian. If you just really need a break today, we humbly suggest treating yourself to the derailment: Cry Uncle!&quot; src=&quot;https://github.com/user-attachments/assets/ecb1ceb3-c06f-4cb7-95e3-d24e6c72b236&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And since this is a violation of the 
&lt;a href=&quot;https://blog.beeminder.com/pdp&quot; title=&quot;This is part 2 in a 3-part series. Part 1 defines Pareto dominance and Pareto-efficient software. Part 3 is a case study.&quot;&gt;Pareto Dominance Principle&lt;/a&gt;&amp;#8201;&amp;#8212;&amp;#8201;meaning there exist users for whom this may make Beeminder slightly worse&amp;#8201;&amp;#8212;&amp;#8201;we&amp;#8217;re following our self-imposed rule that we have to write a blog post justifying ourselves.
So, um, are you convinced?&lt;/p&gt;
&lt;h3&gt;&amp;#8220;Noooooo, I am unmoved, you can take deadline snoozing from my cold, dead hands&amp;#8221;&lt;/h3&gt;
&lt;p&gt;Geez, ok, hypothetical user&amp;#8201;&amp;#8212;&amp;#8201;if you exist, which we&amp;#8217;re not totally sure of.
We have ideas for potentially getting the best of all worlds if there&amp;#8217;s demand for it.
(If this is you, please jump into the 
&lt;a href=&quot;https://forum.beeminder.com/t/death-to-deadline-snoozing/12735&quot; title=&quot;Also has a screenshot of the Uncle button confirmation popup in the third post, if you&amp;#39;re curious&quot;&gt;discussion in the forum&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;In fact, for a few days until today we tried out an honor system version if you tried to deadline-snooze:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Warning! You’re about to make your deadline later on a beemergency day. 
This can dampen Beeminder’s effectiveness. 
Do you promise that either 
(a) you really endorse this later deadline as a permanent change or 
(b) you have a good reason for changing it temporarily and have set yourself a calendar reminder to put this deadline back?
&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;(If you just really need a break today, we humbly suggest treating yourself to the derailment)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And then you could click Cancel or &amp;#8220;I Promise&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Early feedback was that it was just too easy to click &amp;#8220;I Promise&amp;#8221; on autopilot.
So we started layering on the duct tape.
We floated the idea of a popup like the
&lt;a href=&quot;https://blog.beeminder.com/uncle&quot; title=&quot;As in crying uncle, to accept a derailment early (and make the reminders shut up)&quot;&gt;Uncle button&lt;/a&gt; has, where you&amp;#8217;d have to type out a phrase to prove you understand the corner you may be backing yourself into.&lt;/p&gt;
&lt;p&gt;Or we could make you prove you really mean it by charging a fee to snooze your deadline, if that wouldn&amp;#8217;t seem too money-grubbing.&lt;/p&gt;
&lt;h3&gt;The &lt;em&gt;real&lt;/em&gt; best of all worlds&lt;/h3&gt;
&lt;p&gt;But speaking of money-grubbing, the thing we&amp;#8217;d most like to convince you of is that, as we&amp;#8217;ve been saying for a while, 
&lt;a href=&quot;https://blog.beeminder.com/nailingit&quot; title=&quot;See also Derailing Is Not Failing&quot;&gt;Derailing It Is Nailing It&lt;/a&gt;.
(See also the whole &amp;#8220;derailing is good-actually&amp;#8221; series in the sidebar of 
&lt;a href=&quot;https://blog.beeminder.com/optivate&quot; title=&quot;Maximal Motivation At Minimal Cost: A Calculus Problem. But we generally link to this for the sidebar; we don&amp;#39;t expect you to care about the calculus problem, which, as you can see, is tongue-in-cheek anyway.&quot;&gt;Maximal Motivation At Minimal Cost&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;Consider what it means to be willing to pay the tax of snoozing your deadline. 
Today you&amp;#8217;re busy or stressed and it&amp;#8217;s hard to meet Beeminder&amp;#8217;s demands.
Snoozing it has a short-term payoff. 
But, as we argued above, it&amp;#8217;s hard to unsnooze a snoozed deadline.
And you presumably chose that deadline for a reason.
So the tax you&amp;#8217;re paying is mustering the discipline to unsnooze the deadline in the future or else have a permanently less effective Beeminder.&lt;/p&gt;
&lt;p&gt;The point is, snoozing a Beeminder deadline is paying a real, if non-monetary, tax.
We humbly suggest that you could
&lt;a href=&quot;https://blog.beeminder.com/pigou&quot; title=&quot;Beeminder As Your Personal Pigouvian Tax&quot;&gt;pay the pledge as that tax&lt;/a&gt;.
In other words, accept the derailment and enjoy the reprieve on today&amp;#8217;s deadline, with no further tax imposed on your future self.&lt;/p&gt;
&lt;p&gt;We know it&amp;#8217;s a little suspect coming from us, but we&amp;#8217;re sincere in our belief that it&amp;#8217;s the right attitude for optimal beeminding.
The &amp;#8220;must do whatever it takes to not derail&amp;#8221; attitude is not necessarily all bad but it should have its limits.
Deadline snoozing should mostly be viewed as outside those limits since, in practice, it seems to amount to digging oneself in a hole.&lt;/p&gt;
&lt;p&gt;Again, if you have strong opinions, especially if you&amp;#8217;re sad to be losing the ability to change a goal&amp;#8217;s deadline when it&amp;#8217;s in the red, do head to 
&lt;a href=&quot;https://forum.beeminder.com/t/death-to-deadline-snoozing/12735&quot; title=&quot;Special thanks to alephnull and asciimo&quot;&gt;the forum thread&lt;/a&gt; and chime in.&lt;/p&gt;
&lt;h2&gt;Footnotes&lt;/h2&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;CT&quot; href=&quot;#CT1&quot;&gt;[1]&lt;/a&gt;
Cheap talk is the opposite of a 
&lt;a href=&quot;https://blog.beeminder.com/ownwords&quot; title=&quot;Beeminder blog post about articulating insights in your own words. It happens to start with a definition of costly signaling.&quot;&gt;costly signal&lt;/a&gt;.
Also, &amp;#8220;cheap talk&amp;#8221; might be another case of the holy grail of jargon: a technical concept that&amp;#8217;s fully (or close enough to fully) captured in a sufficiently short plain English phrase.
See 
&lt;a href=&quot;https://blog.beeminder.com/pseudovernacular&quot; title=&quot;See also: Bright Red Line&quot;&gt;Against Pseudovernacular Jargon&lt;/a&gt; where we argue, among other things, that Beeminder&amp;#8217;s &amp;#8220;bright red line&amp;#8221; shares this honor.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>akrasia</category><category>rationality</category><category>feature announcements</category><author>dreev</author><comments>https://blog.beeminder.com/snooze#disqus_thread</comments></item><item><title>Neology</title><link>https://blog.beeminder.com/neology</link><guid isPermaLink="true">https://blog.beeminder.com/neology</guid><description>Previously:  Call Them “Quals” and Against Pseudovernacular Jargon. One time I went to a doctor’s appointment with our son for some knee pain he was having. The doctor asked where the pain was, if it was “below the kneecap”. My son and I both tried to clarify the question:  “do you mean below as in under...</description><pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;450&quot; alt=&quot;People with speech bubbles: quals * tare tags * bright red line * akrasia horizon * autodata * auto-ratchet * beemail * beemergency * commitment dial * derail * maxflux * skatesum * legit check * post-derail respite * no-excuses mode * pledge * rerail * zeno polling * aggday&quot; title=&quot;Quals * Tare tags * Bright red line * Akrasia horizon * Autodata * Auto-ratchet * Beemail * Beemergency * Commitment dial * Derail * Maxflux * Skatesum * Legit check * Post-derail respite * No-excuses mode * Pledge * Rerail * Zeno polling * Aggday -- what are we forgetting?&quot; src=&quot;https://github.com/user-attachments/assets/6471099e-6ac6-48c6-ae28-0db5729e4a0c&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Previously: 
&lt;a href=&quot;https://blog.beeminder.com/quals&quot; title=&quot;As opposed to Tests&quot;&gt;Call Them &amp;#8220;Quals&amp;#8221;&lt;/a&gt; and
&lt;a href=&quot;https://blog.beeminder.com/pseudovernacular&quot; title=&quot;In which I rail against a thing that mathematicians especially do: co-opting common words as jargon&quot;&gt;Against Pseudovernacular Jargon&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;One time I went to a doctor&amp;#8217;s appointment with our son for some knee pain he was having.
The doctor asked where the pain was, if it was &amp;#8220;below the kneecap&amp;#8221;.
My son and I both tried to clarify the question: 
&amp;#8220;do you mean below as in under or&amp;#8230; um, beneath, or&amp;#8230; no, none of these words actually clarify&amp;#8221; 
and finally I was like, &amp;#8220;can you just speak Latin??&amp;#8221;.
(It turns out &amp;#8220;subpatellar&amp;#8221; means below the kneecap as in further into the body, as opposed to &amp;#8220;inferior to the kneecap&amp;#8221; / &amp;#8220;infrapatellar&amp;#8221; meaning closer to the foot.)
Doctors may sometimes do this gratuitously but on the whole, Latin makes for 
&lt;a href=&quot;https://jmedicalcasereports.biomedcentral.com/articles/10.1186/s13256-018-1562-x&quot; title=&quot;The use of Latin terminology in medical case reports: quantitative, structural, and thematic analysis. HT to Clive Freeman for pointing me to this.&quot;&gt;surprisingly good&lt;/a&gt; jargon in medicine.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m pretty enamored with Latin myself but mostly resist subjecting Beeminder users to it.
(Workerbees are 
&lt;a href=&quot;https://blog.beeminder.com/bugreports&quot; title=&quot;About our Latin bug reports. Not the whole bug reports, don&amp;#39;t worry.&quot;&gt;another story&lt;/a&gt;.)
I think only one bit of Greek has slipped through, with the 
&lt;a href=&quot;https://blog.beeminder.com/glossary&quot; title=&quot;Beeminder glossary&quot;&gt;akrasia horizon&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I know how pretentious these terms can sound.
As Richard Dawkins once put it after using the zoology term &lt;em&gt;Bauplan&lt;/em&gt; in one of his books:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Bauplan&lt;/em&gt; is just the German word for blueprint. 
Typically one switches languages to indicate profundity. &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As I argued in my screed 
&lt;a href=&quot;https://blog.beeminder.com/pseudovernacular&quot; title=&quot;Real talk about real numbers and other examples&quot;&gt;against pseudovernacular jargon&lt;/a&gt;, this kind of thing isn&amp;#8217;t (just) about indicating profundity but indicating that &lt;em&gt;it&amp;#8217;s a technical term&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Speaking of German jargon, do you know what Freud&amp;#8217;s terms for the ego, the id, and the superego are in the original German?
&amp;#8220;Ich&amp;#8221;, &amp;#8220;Es&amp;#8221;, and &amp;#8220;Über-ich&amp;#8221;&amp;#8201;&amp;#8212;&amp;#8201;literally just &amp;#8220;I&amp;#8221;, &amp;#8220;it&amp;#8221; and &amp;#8220;over-I&amp;#8221;.
Which is also exactly what &amp;#8220;ego&amp;#8221;, &amp;#8220;id&amp;#8221;, and &amp;#8220;superego&amp;#8221; mean in Latin.
I learned this from a 
&lt;a href=&quot;https://twitter.com/touchmoonflower/status/1614790331857502209&quot; title=&quot;Excerpt: It was James Strachey, translator of the Standard Edition of Freud, who, for reasons of his own, decided that such an important concept needed to be made more obscure and technical sounding and, well, Latin&quot;&gt;bitter Twitter thread&lt;/a&gt;, castigating Freud&amp;#8217;s English translator for deciding that &amp;#8220;such an important concept needed to be made more obscure and technical sounding&amp;#8221;.
The translator&amp;#8217;s choice seems to be 
&lt;a href=&quot;https://en.wikipedia.org/wiki/Id,_ego_and_superego#History_and_translation_of_the_terms&quot; title=&quot;Excerpt: English translations impeded students&amp;#39; efforts to gain a true understanding of Freud by substituting the formalised language of the elaborated code for the quotidian immediacy of Freud&amp;#39;s own language&quot;&gt;widely reviled&lt;/a&gt;, but I&amp;#8217;m a fan.
Switching to Latin was an elegant way to avoid a particularly egregious case of (let me link you to it one more time)
&lt;a href=&quot;https://blog.beeminder.com/pseudovernacular&quot; title=&quot;Thesis: If you dejargon the jargon, people DON&amp;#39;T KNOW THAT THEY DON&amp;#39;T KNOW what you&amp;#39;re talking about&quot;&gt;pseudovernacular jargon&lt;/a&gt;.
Even more egregious in English where the word &amp;#8220;I&amp;#8221; is a single character and it&amp;#8217;s hard to even tell when you&amp;#8217;re italicizing it.
Not to mention zero searchability.&lt;/p&gt;
&lt;p&gt;If you don&amp;#8217;t want to totally switch languages, may I suggest a foreign prefix?
Consider &amp;#8220;epicenter&amp;#8221;. 
&amp;#8220;Epi&amp;#8221; is Greek for &amp;#8220;on&amp;#8221; so it just means &amp;#8220;on the center&amp;#8221;.
Is that a pointlessly jargony version of &amp;#8220;center&amp;#8221;?
No, when talking about earthquakes you don&amp;#8217;t want to always have to disambiguate uses of &amp;#8220;center&amp;#8221; that refer specifically to being directly above the point at which the strain energy in the rock is first released.
Similarly, &amp;#8220;hypertext&amp;#8221; elegantly jargonifies a certain kind of text.
Same for 
&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/isolines/&quot; title=&quot;X-Treme Nerd Interlude: Computing and Visualizing Level Curves of the Days-To-Derailment Function for the Upcoming Yellow Brick Half-Plane New World Order&quot;&gt;isoline&lt;/a&gt;&amp;#8221; or &amp;#8220;exoplanet&amp;#8221;.&lt;/p&gt;
&lt;p&gt;But switching languages isn&amp;#8217;t the only solution to the jargoneering &lt;a class=&quot;footnote&quot; id=&quot;JARGONEERING1&quot; href=&quot;#JARGONEERING&quot;&gt;[1]&lt;/a&gt; problem.
There&amp;#8217;re always portmanteaus.
Like &amp;#8220;qubit&amp;#8221; for &amp;#8220;quantum bit&amp;#8221;.
(And &amp;#8220;bit&amp;#8221; itself is a portmanteau of &amp;#8220;binary digit&amp;#8221;&amp;#8201;&amp;#8212;&amp;#8201;a nested portmanteau! &lt;a class=&quot;footnote&quot; id=&quot;CURLEX1&quot; href=&quot;#CURLEX&quot;&gt;[2]&lt;/a&gt;)
Or something taken from literature, like &amp;#8220;quark&amp;#8221;, or astronomy&amp;#8217;s &amp;#8220;Goldilocks zone&amp;#8221;.&lt;/p&gt;
&lt;p&gt;The terminological holy grail is a well-understood word that can be given a technical definition without creating ambiguity. 
My favorite might be the term &amp;#8220;overfitting&amp;#8221; in machine learning.
It feels similar to Beeminder&amp;#8217;s &amp;#8220;bright red line&amp;#8221;&amp;#8201;&amp;#8212;&amp;#8201;a technical concept that&amp;#8217;s fully captured in a sufficiently short plain English word or phrase. &lt;a class=&quot;footnote&quot; id=&quot;BRL1&quot; href=&quot;#BRL&quot;&gt;[3]&lt;/a&gt;
But these are rare.
Usually you need to make tradeoffs.&lt;/p&gt;
&lt;p&gt;Many years ago I wrote a popular post on how to make such tradeoffs for the case of 
&lt;a href=&quot;https://messymatters.com/nominology&quot; title=&quot;Opening line: “Nominology is my neologism for the study of naming things. I’m that good at it!”. Pretty ironic since I was accidentally reinventing the term “onomastics”. See also the first footnote here.&quot;&gt;naming startups and other projects&lt;/a&gt; (you can see how 
&lt;a href=&quot;https://blog.beeminder.com/beenamer&quot; title=&quot;2 yellows, 5 greens, 0 reds -- quite good, if we do say so ourselves&quot;&gt;the name &amp;#8220;Beeminder&amp;#8221;&lt;/a&gt; fares, if you&amp;#8217;re curious).
So I&amp;#8217;ll conclude by adapting that to the case of coinages in general.
Here, I claim, are the core neological desiderata:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Evocativity&amp;#8201;&amp;#8212;&amp;#8201;conveys as much of the technical concept as possible&lt;/li&gt;
&lt;li&gt;Univocity&amp;#8201;&amp;#8212;&amp;#8201;unambiguous (in particular, &lt;em&gt;not&lt;/em&gt; 
&lt;a href=&quot;https://blog.beeminder.com/pseudovernacular&quot; title=&quot;Thesis: If you dejargon the jargon, people DON&amp;#39;T KNOW THAT THEY DON&amp;#39;T KNOW what you&amp;#39;re talking about&quot;&gt;pseudovernacular&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Brevity&amp;#8201;&amp;#8212;&amp;#8201;shorter = better&lt;/li&gt;
&lt;li&gt;Greppability&amp;#8201;&amp;#8212;&amp;#8201;not a substring of common words&lt;/li&gt;
&lt;li&gt;Mellifluidity&amp;#8201;&amp;#8212;&amp;#8201;alliterative, rhymey, or otherwise fun to say&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It&amp;#8217;s rare to be able to max out all five but you can aim for that and trade the desiderata off against each other.
For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#8220;Akrasia&amp;#8221; nails univocity, greppability, and brevity, sacrificing evocativity unless you know Greek&lt;/li&gt;
&lt;li&gt;&amp;#8220;Bright red line&amp;#8221; maxes out evocativity, is plenty high on univocity and greppability, but sacrifices some brevity&lt;/li&gt;
&lt;li&gt;&amp;#8220;Onto&amp;#8221; (the math term from the previous post on 
&lt;a href=&quot;https://blog.beeminder.com/pseudovernacular#ONTO&quot; title=&quot;Direct link to the footnote about why the term &amp;#39;surjection&amp;#39; is superior&quot;&gt;pseudovernacular jargon&lt;/a&gt;) fails so hard on greppability and univocity that its decent evocativity and brevity can&amp;#8217;t save it&lt;/li&gt;
&lt;li&gt;&amp;#8220;Pixel&amp;#8221; (picture element) comes pretty close to &amp;#8220;qubit&amp;#8221; for maxing out all five&lt;/li&gt;
&lt;li&gt;&amp;#8220;Phishing&amp;#8221; is a clever misspelling that yields univocity and greppability without too much loss of evocativity&lt;/li&gt;
&lt;li&gt;&amp;#8220;Bug&amp;#8221; also scores quite high across the board, though perhaps the evocativity is a little tenuous&lt;/li&gt;
&lt;li&gt;&amp;#8220;Quals&amp;#8221; I&amp;#8217;ve made 
&lt;a href=&quot;https://blog.beeminder.com/quals&quot; title=&quot;Quals as opposed to Tests&quot;&gt;the case for&lt;/a&gt; already&lt;/li&gt;
&lt;li&gt;&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/glossary&quot; title=&quot;Beeminder glossary&quot;&gt;Commitment dial&lt;/a&gt;&amp;#8221; is another case of sacrificing some brevity for some evocativity.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Recall Scott Alexander&amp;#8217;s 
&amp;#8220;&lt;a href=&quot;https://notes.andymatuschak.org/z3b7sidNrEkNaY9qfGwZjwz&quot; title=&quot;Excerpt: There are a lot of things people have vague nebulous ideas about that they can’t quite put into words. Changing those into crystal-clear ideas they can manipulate and discuss with others is a big deal. If you figure out something interesting and very briefly cram it into somebody else’s head, don’t waste that! Give it a nice concept-handle so that they’ll remember it and be able to use it to solve other problems!&quot;&gt;concept handle&lt;/a&gt;&amp;#8221; concept handle.
Packing up a suitcase full of knowledge or insight and being able to invoke it with a single word or phrase is powerful.
It&amp;#8217;s why jargon is good, on net.
The above desiderata make a concept handle easier to remember, easier to find, and easier / more fun / less confusing to actually use.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;h2&gt;Related Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Richard Feynman:
&lt;a href=&quot;https://kottke.org/17/06/if-you-cant-explain-something-in-simple-terms-you-dont-understand-it&quot; title=&quot;HT bluastelo&quot;&gt;if you can&amp;#8217;t explain something in simple terms, you don&amp;#8217;t understand it&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Explaining something in simple terms may involve 
&lt;a href=&quot;https://en.m.wikipedia.org/wiki/Lie-to-children&quot; title=&quot;HT Theo Spears&quot;&gt;lies-to-children&lt;/a&gt; (and/or takes longer)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lesswrong.com/posts/PCrTQDbciG4oLgmQ5/sapir-whorf-for-rationalists&quot; title=&quot;HT Clive Freeman&quot;&gt;Sapir-Whorf for Rationalists&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;h2&gt;Footnotes&lt;/h2&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;JARGONEERING&quot; href=&quot;#JARGONEERING1&quot;&gt;[1]&lt;/a&gt;
Jargonautics? 
Jargonology?
Jargonatomy?
Just kidding.
As fun as it is to make these up, the word &lt;em&gt;Neology&lt;/em&gt; (literally: study of neologisms) is actually perfectly adequate.
Funny story: my old blog post on how to name startups and projects is titled
&amp;#8220;&lt;a href=&quot;http://messymatters.com/nominology/&quot; title=&quot;Opening line: Nominology is my neologism for the study of naming things. I’m that good at it!&quot;&gt;Nominology&lt;/a&gt;&amp;#8221; and it was only after publishing it that I learned (HT 
&lt;a href=&quot;https://robfelty.com/&quot; title=&quot;Having a friend who&amp;#39;s a linguist is almost as good as having a friend who&amp;#39;s a doctor or nurse&quot;&gt;Rob Felty&lt;/a&gt;) I&amp;#8217;d reinvented the word &lt;em&gt;onomastics&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;CURLEX&quot; href=&quot;#CURLEX1&quot;&gt;[2]&lt;/a&gt;
The original/alternate name of 
&lt;a href=&quot;https://www.beeminder.com/curlex&quot; title=&quot;Commit to numbers on arbitrary web pages&quot;&gt;Curlminder&lt;/a&gt;, 
&lt;em&gt;Curlex&lt;/em&gt;, has portmanteaus/acronyms nested FOUR levels deep:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Curlex
├─ cURL
│  ├─ command-line
│  └─ URL fetching
│     └─ uniform resource locator
└─ regex
   └─ regular expressions
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;As far as I know, the only way to top this (HT 
&lt;a href=&quot;http://ozark.hendrix.edu/~yorgey/forest/index/index.xml&quot; title=&quot;See also various guest posts by Prof Yorgey on the Beeminder blog 😍&quot;&gt;Brent Yorgey&lt;/a&gt;)
is with infinitely recursive acronyms, like 
&lt;em&gt;GNU&lt;/em&gt; (GNU&amp;#8217;s Not Unix) or 
&lt;em&gt;PHP&lt;/em&gt; (PHP: Hypertext Processor).&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;BRL&quot; href=&quot;#BRL1&quot;&gt;[3]&lt;/a&gt;
&lt;a href=&quot;https://foxbenjaminfox.com/&quot; title=&quot;Beeminder user of the month many times over&quot;&gt;Benjamin Fox&lt;/a&gt; (AKA zzq) rightly points out that this won&amp;#8217;t be quiiiiite right until we eventually make the switch to the
&lt;a href=&quot;https://blog.beeminder.com/staircase&quot; title=&quot;AKA continuous beeminding&quot;&gt;Bright Red Staircase&lt;/a&gt;.
In the status quo, the bright red line isn&amp;#8217;t exactly a bright red line, in that you can technically/literally cross it as long as you end the day on the right side of it.
I think of &amp;#8220;you can&amp;#8217;t cross red line&amp;#8221; as spiritually true even today, but I agree that it&amp;#8217;s bothersome that it&amp;#8217;s not fully literally always quite true.
It&amp;#8217;s true if you think of the red line Beeminder draws as a crude approximation of the true underlying red line with stair steps at each day boundary.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>nerds</category><category>writing</category><category>terminology</category><author>dreev</author><comments>https://blog.beeminder.com/neology#disqus_thread</comments></item><item><title>Feature Announcement: Dashboard Hotkeys</title><link>https://blog.beeminder.com/hotkeys</link><guid isPermaLink="true">https://blog.beeminder.com/hotkeys</guid><description>I’ve been telling people  in the forum about my work/life dashboard. I keep my Beeminder dashboard open in a dedicated browser throughout the day, and use it like a to-do list. At the start of the day I uncollapse all the goals I intend to work on that day. That will be all of the red goals, and often...</description><pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Leet hacker bee with some keys, overlaid on the Beeminder dashboard&quot; title=&quot;1337&quot; width=&quot;450&quot; src=&quot;https://github.com/user-attachments/assets/7e058aed-4885-46aa-82b5-f7b56cc867b9&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve been telling people 
&lt;a href=&quot;https://forum.beeminder.com/t/work-life-dashboard-firefox-addon/12708&quot; title=&quot;It&amp;#39;s a followup to a post from 2019, talking about an obscure feature from 2016. Geez Louise.&quot;&gt;in the forum&lt;/a&gt; about my work/life dashboard.
I keep my Beeminder dashboard open in a dedicated browser throughout the day, and use it like a to-do list.
At the start of the day I uncollapse all the goals I intend to work on that day.
That will be all of the red goals, and often many of the orange ones too, though not necessarily all of them.
Occasionally there are some blue or green goals in the list as well for whatever rare instances of ambition or pre-planning may arise.
Then after I finish doing the things and enter the data, I can collapse the goal to make it smaller, and re-sort by deadline, to keep the done things shuffling down and the urgent things bubbling up.&lt;/p&gt;
&lt;p&gt;Only problem is, all this collapsing and uncollapsing and data entry etc involves a lot of clicking around, and I&amp;#8217;m vaguely anti-mouse. &lt;a class=&quot;footnote&quot; id=&quot;MEECE1&quot; href=&quot;#MEECE&quot;&gt;[1]&lt;/a&gt;
I&amp;#8217;ve used Vim for almost the entirety of my coding career, because I like the dichotomy of insert mode vs command mode.
And as a Vim fan, I like any other interface that uses h-j-k-l for navigation (in place of arrow keys), like hitting j and k to scooch up and down past emails I don&amp;#8217;t want to answer in Gmail, or bugs I don&amp;#8217;t want to fix in our GitHub repos.&lt;/p&gt;
&lt;p&gt;So after writing that forum post the other day, detailing all the clicking and scrolling and blah blah blah, it got me thinking about keyboard shortcuts again. As you do. I do?
And so today, just to please myself, I implemented them.
It turns out it was super easy, not just because robot minions, but because there were no UI tradeoffs.
If you&amp;#8217;re not into keyboard shortcuts, you never need know this exists.&lt;/p&gt;
&lt;p&gt;As of a couple hours ago, you can type &amp;#8220;&lt;code&gt;?&lt;/code&gt;&amp;#8221; to bring up a modal with this cheatsheet:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;395&quot; height=&quot;534&quot; alt=&quot;Screenshot of the keyboard shortcut help menu&quot; src=&quot;https://github.com/user-attachments/assets/43a21470-9683-4858-9cae-e2d96c7aef01&quot; /&gt;&lt;/p&gt;


&lt;p&gt;In text summary (because I can&amp;#8217;t stand to give an image of text as the sole description of it): use the &lt;code&gt;↓&lt;/code&gt;/&lt;code&gt;↑&lt;/code&gt; keys, or &lt;code&gt;j&lt;/code&gt;/&lt;code&gt;k&lt;/code&gt; to enter keyboard mode, and move up and down the list.
The &lt;code&gt;Enter&lt;/code&gt; key or &lt;code&gt;x&lt;/code&gt; will toggle the expanded-ness of the current goal row.
&lt;code&gt;e&lt;/code&gt; to add new data or refetch from the autodata source, if it&amp;#8217;s an autodata goal.
&lt;code&gt;r&lt;/code&gt; refetches from Beeminder&amp;#8217;s servers.
&lt;code&gt;g&lt;/code&gt; goes to the goal page.
&lt;code&gt;s&lt;/code&gt; toggles super-collapse.
&lt;code&gt;Esc&lt;/code&gt; or clicking anywhere exits keyboard mode.&lt;/p&gt;
&lt;h3&gt;Refetch&lt;/h3&gt;
&lt;p&gt;The first thing I want to highlight here is being able to refetch the latest data from the Beeminder server by selecting the goal and typing &amp;#8220;r&amp;#8221;. 
(Mouse people can also do this by double-clicking a goal&amp;#8217;s hexy chevron, i.e., expanding and collapsing in rapid succession.)
I have a lot of goals and some of them get data automatically from autodata sources, some of them I tend to update when I&amp;#8217;m at my computer (often work-related ones), and some of them I tend to update when I&amp;#8217;m away from the keyboard&amp;#8201;&amp;#8212;&amp;#8201;like my decluttering goal, or my flossing goal.
But after I put a few things away and floss my teeth, I&amp;#8217;m usually back at my computer doing more work and checking on my Beeminder dashboard.
So it&amp;#8217;s nice to refresh just the one goal that I know I already updated on my phone while I was AFK, rather than refreshing the entire page and reloading the whole dashboard.&lt;/p&gt;
&lt;h3&gt;Super-collapse&lt;/h3&gt;
&lt;p&gt;Another thing in my workflow, which I didn&amp;#8217;t mention above, is that I&amp;#8217;ve been using a browser extension,
&lt;a href=&quot;https://forum.beeminder.com/t/my-beeminder-browser-extension/6648&quot; title=&quot;It&amp;#39;s been lovingly developed for years; it would be bittersweet to sherlock it&quot;&gt;BeeBrowse&lt;/a&gt; written by 
&lt;a href=&quot;https://foxbenjaminfox.com/&quot; title=&quot;Zzq has been a huge help to Beeminder in all sorts of ways&quot;&gt;Benjamin Fox&lt;/a&gt; (aka zzq) 
for more than a year now, that allows you to super-collapse a goal row in the dashboard. 
So I had to implement that in Beeminder while I was at it with the keyboard shortcuts.
This is honestly kind of the secret sauce in my dashboard-as-to-do-list.
At the beginning of the day I actually super-collapse anything I&amp;#8217;m not going to work on today and as I finish off goals throughout the day I super-collapse them and they&amp;#8217;re basically out-of-mind.
It makes my workload visibly shrink as the day goes by and that&amp;#8217;s as pleasing as crossing out an item in a to-do list.
Your mileage may vary.&lt;/p&gt;
&lt;h3&gt;Anything else?&lt;/h3&gt;
&lt;p&gt;The dashboard header is also a navigable row, and has its own section in the help sheet for the hotkeys.
Hitting &lt;code&gt;a&lt;/code&gt; is like clicking the header row hexy chevron&amp;#8201;&amp;#8212;&amp;#8201;it toggles expansion/collapse of all of the goals at once.
And you can use keys 1-4 to select the different sort orders, so if you need to put them in alpha order to find that one goal or something, you can nav up to select the header row and then type &lt;code&gt;1&lt;/code&gt;. 
Or much more common for me: type &lt;code&gt;2&lt;/code&gt; to re-sort by deadline order. 
As in, I&amp;#8217;ve just dispatched several goals and now I want to re-sort them into proper order and get them out of the way of the other goals that are still red for the day.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s all for now.
Power users, go forth, tell us what&amp;#8217;s still missing.
We haven&amp;#8217;t quite sherlocked 
&lt;a href=&quot;https://forum.beeminder.com/t/my-beeminder-browser-extension/6648&quot; title=&quot;Huge thanks again to zzq for building this and inspiring us&quot;&gt;Benjamin&amp;#8217;s brilliant BeeBrowse browser extension&lt;/a&gt; but possibly we should?&lt;/p&gt;
&lt;h2&gt;Footnotes&lt;/h2&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;MEECE&quot; href=&quot;#MEECE1&quot;&gt;[1]&lt;/a&gt;
I swear I&amp;#8217;m not being a hipster about it, it&amp;#8217;s more like my fingers are suffering agoraphobia and don&amp;#8217;t want to leave the home row.
So I use Spotlight &lt;a class=&quot;footnote&quot; id=&quot;RAYCAST1&quot; href=&quot;#RAYCAST&quot;&gt;[2]&lt;/a&gt; to launch every application, and command-tab to switch applications.
But I don&amp;#8217;t use a chording keyboard to build elaborate symphonies of custom hotkeys.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;RAYCAST&quot; href=&quot;#RAYCAST1&quot;&gt;[2]&lt;/a&gt;
&lt;em&gt;*tilts head and puts finger to earpiece*&lt;/em&gt; 
I&amp;#8217;m being told that only Philistines use Spotlight and that I need to get on 
&lt;a href=&quot;https://forum.beeminder.com/t/now-you-can-manage-your-goals-using-raycast/10820&quot; title=&quot;See also Alfred, which some Beeminder fans still prefer&quot;&gt;Raycast&lt;/a&gt; immediately.
It even has a 
&lt;a href=&quot;https://forum.beeminder.com/t/now-you-can-manage-your-goals-using-raycast/10820&quot; title=&quot;Probably never mind about Alfred, the thing we mentioned in the other hover text. Raycast is where it&amp;#39;s at.&quot;&gt;Beeminder extension&lt;/a&gt;, thanks to the amazing 
&lt;a href=&quot;https://vivian.do/&quot; title=&quot;See also codequeen.io&quot;&gt;Vivian Guillen&lt;/a&gt;.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>new features</category><category>rationality</category><category>nerds</category><author>bsoule</author><comments>https://blog.beeminder.com/hotkeys#disqus_thread</comments></item><item><title>Beeminder &amp;hearts; Steam: Announcing the Steam Autodata Integration</title><link>https://blog.beeminder.com/steam</link><guid isPermaLink="true">https://blog.beeminder.com/steam</guid><description>We’re excited to officially announce our newest autodata integration:  Steam! Yes, the gaming platform.  Do you buy too many games and then never get around to playing them?  Do you spend too much time on that one game and have regrets? We have a solution for you.  Spoiler alert: it’s Beeminder.  It’s...</description><pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;A bee playing video games on Steam&quot; title=&quot;Steamy&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/e416d3be-9398-4952-96d1-b2bee621f800&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We&amp;#8217;re excited to officially announce our newest autodata integration: 
&lt;a href=&quot;https://store.steampowered.com/&quot; title=&quot;Steam is how the company Valve distributes its video games. Not to be confused with the gaseous state of water.&quot;&gt;Steam&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Yes, the gaming platform. 
Do you buy too many games and then never get around to playing them? 
Do you spend too much time on that &lt;em&gt;one&lt;/em&gt; game and have regrets?
We have a solution for you. 
Spoiler alert: it&amp;#8217;s Beeminder. 
It&amp;#8217;s always Beeminder. &lt;/p&gt;
&lt;p&gt;If you&amp;#8217;re new to Beeminder, we help you do the things you want to do by bringing long-term consequences right up and into your personal space. 
We do that by charging you money today if you&amp;#8217;re straying from the track to reach that goal by some distant tomorrow.&lt;/p&gt;
&lt;p&gt;So what does goal setting have to do with Steam?&lt;/p&gt;
&lt;p&gt;Well, what if you have a backlog of 14 games you bought last year that you haven&amp;#8217;t touched at all yet?
You can set up a Beeminder goal to spend more time playing games on your Steam account.
Or if those unplayed games are sitting there staring at you accusatorily while you keep playing Some Other Game obsessively, you can also set up a Beeminder goal to limit your time with that SOGgy bottom.&lt;/p&gt;
&lt;p&gt;Then if your game time playing SOG racks up too far and you go over the bright red line, you get charged money.
Contrariwise if you have a &amp;#8220;spend more time playing&amp;#8221;-type goal for the backlogged games, you get credit for playing your games.
If you don&amp;#8217;t play enough, you&amp;#8217;ll also get charged.
So if you&amp;#8217;re the type of person who manages to feel guilty about spending time doing things you enjoy, or even just if you sometimes forget because you were too busy flicking through you-tok-gram, now you&amp;#8217;ve set up an ironclad excuse for doing what you wanted to do anyway. 
&amp;#8220;Sorry, I have to go play video games for 5 minutes or I&amp;#8217;m going to get charged $10.&amp;#8221;
How&amp;#8217;s that for self-care?&lt;/p&gt;
&lt;h2&gt;Detail-ey-doodles&lt;/h2&gt;
&lt;p&gt;To set up a goal you&amp;#8217;ll look for the Steam logo in the new goal page and enter your 
&lt;a href=&quot;https://store.steampowered.com/account/&quot; title=&quot;This link to your Steam account is also in goal creation, but redundancy.&quot;&gt;Steam Id&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;340&quot; height=&quot;426&quot; alt=&quot;Entering your Steam ID&quot; src=&quot;https://github.com/user-attachments/assets/6af0cb4e-9529-4546-92cc-2b2adcbe0d25&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We check that we can actually see your profile&amp;#8201;&amp;#8212;&amp;#8201;your profile has to be public for us to read your info.
If the settings are copacetic then we fetch your owned games and show you the next goal creation screen.
There are three main things to fill out here. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Select a game to beemind (or All Games)
&lt;img class=&quot;aligncenter&quot; width=&quot;340&quot; height=&quot;381&quot; alt=&quot;Screenshot of selecting a game&quot; src=&quot;https://github.com/user-attachments/assets/0fe04a1d-6ed2-459a-84f6-b9ccda299ac9&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose between do-more and do-less. 
If this choice is not self-explanatory, you&amp;#8217;d better go back to 
&lt;a href=&quot;https://blog.beeminder.com/newbees&quot; title=&quot;Beeminder: A User&amp;#39;s Guide for New Bees. But these days the help docs -- help.beeminder.com -- are a better place to start.&quot;&gt;square one&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pick the daily time you&amp;#8217;re commiting to (for now&amp;#8201;&amp;#8212;&amp;#8201;you can always change it for next week if the rate you pick here is not quite right)
&lt;img class=&quot;aligncenter&quot; width=&quot;340&quot; height=&quot;274&quot; alt=&quot;Screenshot of choosing between do-more and do-less&quot; src=&quot;https://github.com/user-attachments/assets/a2da4f84-aa98-4a14-a9f4-84fbbb72b0f5&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Then all you&amp;#8217;ve gotta do is play your games.
Beeminder automatically fetches the time you&amp;#8217;re spending and logs it on your goals.
While you are playing your game, Steam only updates the information available to Beeminder in half-hour increments. 
It updates immediately once you exit your game.&lt;/p&gt;
&lt;p&gt;So if you&amp;#8217;ve set up a Do More goal, and you are down to the wire on getting your last few minutes in before the goal deadline, you may need to exit the game for the values to update. 
And same for a Do Less goal. 
If you have less than 30 minutes of buffer on the goal, you may need to exit the game to get an up-to-the-minute count of your time in Beeminder.
But either way, Beeminder won&amp;#8217;t necessarily be accurate to the minute if you&amp;#8217;re actively playing your game.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;re sold, head to 
&lt;a href=&quot;https://www.beeminder.com/new&quot; title=&quot;Follow this link, or go from your dashboard, or the top-right dropdown menu&quot;&gt;beeminder.com/new&lt;/a&gt;, pick the Steam icon from the list of integrations, and follow the prompts to connect Beeminder to your Steam account.
Or, here, have a button:&lt;/p&gt;
&lt;center&gt;
&lt;a href=&quot;https://www.beeminder.com/steam&quot;&gt;
&lt;span style=&quot;background-color:#1d76db;color:#FFF;padding:0 16px;font-size:16px;font-weight:600;line-height:3;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,&apos;Segoe UI&apos;,Helvetica,Arial,sans-serif;display:inline-block !important&quot;&gt;
Moderate Steam Ahead
&lt;/span&gt;
&lt;/a&gt;
&lt;/center&gt;

&lt;p&gt;(See also the full documenation of the Steam integration 
&lt;a href=&quot;https://help.beeminder.com/article/379-steam&quot; title=&quot;We hope that it&amp;#39;s mostly self-explanatory, especially after this blog post&quot;&gt;in our help docs&lt;/a&gt;.)&lt;/p&gt;
</content:encoded><category>bee-all</category><category>integrations</category><category>rationality</category><category>video games</category><category>new features</category><author>bsoule</author><comments>https://blog.beeminder.com/steam#disqus_thread</comments></item><item><title>Against Pseudovernacular Jargon</title><link>https://blog.beeminder.com/pseudovernacular</link><guid isPermaLink="true">https://blog.beeminder.com/pseudovernacular</guid><description>Beeminder is kind of notorious for its jargon. We’ve got beemergencies, an akrasia horizon, maxflux, and, most recently, tare tags. Some of these seem to us  perfectly self-explanatory — derail, pledge, ratchet, commitment dial, post-derail respite — but of course they’re not. From a newbee perspective,...</description><pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;450px&quot; alt=&quot;A drawing of 4 rows of people set up as a panel of experts, with talk bubbles full of illegible words&quot; title=&quot;Chicken clucking nonsense, for the love of Beejeezus&quot; src=&quot;https://github.com/user-attachments/assets/c9489f46-7037-42d9-9981-9770f1794897&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Beeminder is kind of notorious for its jargon.
We&amp;#8217;ve got beemergencies, an akrasia horizon, maxflux, and, most recently,
&lt;a href=&quot;https://blog.beeminder.com/tare&quot; title=&quot;Blog post from a couple months ago announcing the feature&quot;&gt;tare tags&lt;/a&gt;.
Some of these seem to us 
&lt;a href=&quot;https://xkcd.com/2501/&quot; title=&quot;Even when they&amp;#39;re trying to compensate for it, experts in anything wildly overestimate the average person&amp;#39;s familiarity with their field. (The famous &amp;#39;feldspars&amp;#39; xkcd.)&quot;&gt;perfectly self-explanatory&lt;/a&gt;&amp;#8201;&amp;#8212;&amp;#8201;derail, pledge, ratchet, commitment dial, post-derail respite&amp;#8201;&amp;#8212;&amp;#8201;but of course they&amp;#8217;re not.
From a newbee perspective, the site is full of chicken clucking nonsense. &lt;a class=&quot;footnote&quot; id=&quot;GARGLECLUCK1&quot; href=&quot;#GARGLECLUCK&quot;&gt;[1]&lt;/a&gt;
We have a whole 
&lt;a href=&quot;https://blog.beeminder.com/glossary&quot; title=&quot;AKA Jargon file. It&amp;#39;s a very old blog post but we&amp;#39;ve been updating it for, wow, 12 years now&quot;&gt;Beeminder glossary&lt;/a&gt;, for the love of Beejeezus.&lt;/p&gt;
&lt;p&gt;The downsides of that are obvious enough. 
Jargon can be pretentious and obfuscating.
The upsides are pretty obvious too.
Jargon is efficient and precise.
At its best, a piece of jargon puts a concept handle on a whole suitcase-ful of hard-won knowledge and insights.&lt;/p&gt;
&lt;h3&gt;The Worst of All Worlds&lt;/h3&gt;
&lt;p&gt;If you can say something in fewer words with more precision using plain English, the Loving Beejeezus commands you to do so.
That&amp;#8217;s obviously the &lt;em&gt;best&lt;/em&gt; of all worlds.
We might&amp;#8217;ve achieved something close to that when we 
&lt;a href=&quot;https://blog.beeminder.com/brl&quot; title=&quot;Goodbye Yellow Brick Rooaaaad 🎶 The Onomastic Interlude from the middle of this blog post announcing the terminology change from “yellow brick road” to “bright red line” is basically the seed of this blog post&quot;&gt;replaced the cute but opaque 
&amp;#8220;yellow brick road&amp;#8221; with 
&amp;#8220;bright red line&amp;#8221;&lt;/a&gt;.
(Apologies to those still wistful about the yellow brick road. 
I guess we can&amp;#8217;t call that one the best of &lt;em&gt;all&lt;/em&gt; worlds.)&lt;/p&gt;
&lt;p&gt;What I claim is the worst of all worlds is &lt;em&gt;pseudovernacular jargon&lt;/em&gt;:
using plain English &lt;em&gt;as&lt;/em&gt; jargon, rather than &lt;em&gt;instead of&lt;/em&gt; jargon.
There&amp;#8217;s a huge irony here.
Plain English can be too understandable.
It&amp;#8217;s like the quote tenuously attributed to George Bernard Shaw: 
&amp;#8220;The single biggest problem in communication is the illusion that it has taken place.&amp;#8221;&lt;/p&gt;
&lt;p&gt;If you say, for example, as we used to do, “max safety buffer” then users, understanding each of those words, will jump to the conclusion that they understand the phrase. 
But “autoratchet” (as we now say instead) means something very specific in Beeminderland and it’s less confusing for users to hear “autoratchet” and know that they don’t know what it means than to hear “max safety buffer” and think they know but be wrong. 
As Mark Twain supposedly said, it ain’t what you don’t know that gets you into trouble. 
It’s what you know that ain’t so.&lt;/p&gt;
&lt;p&gt;Mathematicians are the worst about this:
&lt;em&gt;real&lt;/em&gt;,
&lt;em&gt;complex&lt;/em&gt;,
&lt;em&gt;imaginary&lt;/em&gt;,
&lt;em&gt;rational&lt;/em&gt;,
&lt;em&gt;natural&lt;/em&gt;,
&lt;em&gt;normal&lt;/em&gt;,
&lt;em&gt;field&lt;/em&gt;,
&lt;em&gt;ring&lt;/em&gt;,
&lt;em&gt;group&lt;/em&gt;,
&lt;em&gt;smooth&lt;/em&gt;,
&lt;em&gt;set&lt;/em&gt;,
&lt;em&gt;function&lt;/em&gt;, &amp;#8230;
They even do things like make technical definitions for &amp;#8220;almost everywhere&amp;#8221; and 
&amp;#8220;&lt;a href=&quot;https://en.wikipedia.org/wiki/Almost_surely&quot; title=&quot;Am I joking? Almost surely not.&quot;&gt;almost surely&lt;/a&gt;&amp;#8221;. 
Some of those work surprisingly well, some work once you&amp;#8217;re sufficiently inculcated, and others are kind of a disaster.&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;re a mathematician and you&amp;#8217;ve invented a nifty new complete ordered set (don&amp;#8217;t get me started on &amp;#8220;complete&amp;#8221; and &amp;#8220;set&amp;#8221;&amp;#8201;&amp;#8212;&amp;#8201;but &amp;#8220;ordered&amp;#8221; I like) with binary operators that follow the distributive law, as a way to axiomatize the rational (🤨) and real (🤦) numbers, then, before deciding to call that set-plus-operators thing a &amp;#8220;field&amp;#8221;, at least consider whether it could cause confusion with the thing gravity and magnets do in physics.
Not to mention the dozen other definitions of &amp;#8220;field&amp;#8221; &lt;a class=&quot;footnote&quot; id=&quot;FIELD1&quot; href=&quot;#FIELD&quot;&gt;[2]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I don&amp;#8217;t deny that natural language is&amp;#8201;&amp;#8212;&amp;#8201;as the &amp;#8220;field&amp;#8221; example illustrates&amp;#8201;&amp;#8212;&amp;#8201;impressively robust to such ambiguity, but first of all, there are limits.
I think the worst example I&amp;#8217;ve encountered is the technical term &amp;#8220;common knowledge&amp;#8221;. &lt;a class=&quot;footnote&quot; id=&quot;CK1&quot; href=&quot;#CK&quot;&gt;[3]&lt;/a&gt;
And the illusion of transparency means it&amp;#8217;s dangerously easy to fail to notice these ambiguities.&lt;/p&gt;
&lt;p&gt;But my real gripe is how people imagine they&amp;#8217;re being less jargon-y and more layperson-friendly by sticking to simple English.
That only works if you&amp;#8217;re actually &lt;em&gt;translating&lt;/em&gt; the technical stuff to simple English.
(Which of course is tedious and inefficient among experts&amp;#8201;&amp;#8212;&amp;#8201;the whole reason we have jargon.) 
If you&amp;#8217;re just co-opting simple English words &lt;em&gt;as&lt;/em&gt; your jargon, that&amp;#8217;s what I&amp;#8217;m calling the worst of all worlds.&lt;/p&gt;
&lt;p&gt;If you overhear a pair of doctors talking about gastric emesis, it might be super pretentious that they&amp;#8217;re not just saying &amp;#8220;vomiting&amp;#8221;. 
They&amp;#8217;ve essentially encrypted their communication. 
But at least it&amp;#8217;s obvious it&amp;#8217;s encrypted. 
What&amp;#8217;s worse is steganographic encryption&amp;#8201;&amp;#8212;&amp;#8201;when you encrypt communication and embed it in other communication to conceal the very existence of the encrypted communication. 
That&amp;#8217;s what mathematicians talking about how &amp;#8220;in the field of the reals, almost all numbers are irrational&amp;#8221; are like &lt;a class=&quot;footnote&quot; id=&quot;DENSE1&quot; href=&quot;#DENSE&quot;&gt;[4]&lt;/a&gt;. 
I mean, I exaggerate. 
It doesn&amp;#8217;t take long to realize that two chatting mathematicians are on a different planet from you, but terms like 
&amp;#8220;real number&amp;#8221;, 
&amp;#8220;normal distribution&amp;#8221;, and 
&amp;#8220;almost surely&amp;#8221; &lt;a class=&quot;footnote&quot; id=&quot;ALMOST1&quot; href=&quot;#ALMOST&quot;&gt;[5]&lt;/a&gt;, if used in an even slightly normie-adjacent context, are ambiguity atom bombs.&lt;/p&gt;
&lt;p&gt;Check out the example of 
&lt;a href=&quot;https://youtu.be/DjLL06dnDCY?si=513YCm_0PNetQe2x&amp;amp;t=27m49s&quot; title=&quot;YouTube video, cued up to the relevant part, at 27m49s&quot;&gt;Grant Sanderson (of 3Blue1Brown fame) talking to Neil deGrasse Tyson&lt;/a&gt; about how in statistics 
&amp;#8220;people will often assume something&amp;#8217;s normal when it&amp;#8217;s not,&amp;#8221; 
and Neil has to interrupt to clarify for listeners that Grant means a normal distribution, making a bell shape with his hands.
Or if a math newbie hears you talking about &amp;#8220;real numbers&amp;#8221; and presumes you just mean &amp;#8220;actual numbers&amp;#8221; as opposed to hypothetical ones.
I&amp;#8217;ve had this happen myself, not for lack of knowing about the reals, but by accidentally saying &amp;#8220;real number&amp;#8221; to mean &amp;#8220;not a variable&amp;#8221;, before noticing the confusion I&amp;#8217;d unleashed.&lt;/p&gt;
&lt;p&gt;It would, ironically, be so much clearer if the math term for the reals were some fancy Latin thing like &amp;#8220;continuata&amp;#8221; or &amp;#8220;fluxorum&amp;#8221;.
You see that, immediately know you don&amp;#8217;t know what it means, look it up, et voilà; now you know. 
With &amp;#8220;real&amp;#8221; you have to see it enough times to catch on that it&amp;#8217;s being used in a technical sense and then construct a disambiguating search query like &amp;#8220;real number math&amp;#8221;.
(Of course LLMs have made this easier.)&lt;/p&gt;
&lt;p&gt;Again, I get that when fields (not that kind of &amp;#8220;field&amp;#8221;) do this it does mostly work and you can almost (not that kind of &amp;#8220;almost&amp;#8221;) always distinguish, say, &amp;#8220;real&amp;#8221; and &amp;#8220;real&amp;#8221; in context. 
But there really are so many examples of this causing problems and I want to hammer on them because so many people I argue about this with are determined to defend pseudovernacular jargon, as I&amp;#8217;m calling it.&lt;/p&gt;
&lt;p&gt;But I don&amp;#8217;t want to pick on mathematicians too much.
Using common words as technical terms is better than, as 
&lt;a href=&quot;https://www.johndcook.com/blog/2017/10/19/common-words-that-have-a-technical-meaning-in-math/&quot; title=&quot;See also the comments, featuring Peter Norvig&quot;&gt;John D Cook points out&lt;/a&gt;, how business does the complete opposite and coins technical terms to refer to common ideas.
I&amp;#8217;m not sure how fair that is but it feels true.
I think fear of gratuitous jargon is the biggest reason people do things like use the word &amp;#8220;group&amp;#8221; to refer to one of the most deep and powerful concepts in math.
John D Cook cites the term &amp;#8220;group&amp;#8221; as the candidate technical term likely to be most confusing for his readers.
If you don&amp;#8217;t know better it sounds like you mean &amp;#8220;collection&amp;#8221; which, Cook says, &amp;#8220;is just close enough to correct to be misleading.&amp;#8221; &lt;a class=&quot;footnote&quot; id=&quot;REELGROOP1&quot; href=&quot;#REELGROOP&quot;&gt;[6]&lt;/a&gt;
But at least it&amp;#8217;s a noun (and a verb, I guess).
I think the worst of all (close behind &amp;#8220;almost&amp;#8221;) might be &amp;#8220;onto&amp;#8221; to refer to a function that covers its whole range. &lt;a class=&quot;footnote&quot; id=&quot;ONTO1&quot; href=&quot;#ONTO&quot;&gt;[7]&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Suitcases of knowledge&lt;/h3&gt;
&lt;p&gt;Turning back to software engineering, and Beeminder specifically, the pseudovernacular &amp;#8220;tests&amp;#8221; bothered me enough that we now 
&lt;a href=&quot;https://blog.beeminder.com/quals&quot; title=&quot;Also considered: the term “specs”&quot;&gt;call them quals&lt;/a&gt;.
That was the topic of the previous Beeminder blog post:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Your software&amp;#8217;s meta-software for quality assurance and regression-prevention infrastructure is not “just some tests” [&amp;#8230;]
More pragmatically, the word “test” is just too common and overloaded.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There are many other examples of Beeminder jargon that&amp;#8217;s a result of us attempting to thread this needle.
Before we shipped the 
&lt;a href=&quot;https://blog.beeminder.com/tare&quot; title=&quot;Blog post from a couple months ago announcing the feature&quot;&gt;tare tags&lt;/a&gt; feature we debated whether the 
&lt;a href=&quot;https://blog.beeminder.com/magicdata&quot; title=&quot;Magic Strings In Datapoint Comments&quot;&gt;magic string&lt;/a&gt; should be &amp;#8220;#TARE&amp;#8221; or &amp;#8220;#RESET&amp;#8221;.
Ultimately I vetoed &amp;#8220;#RESET&amp;#8221; because of how overloaded that word is&amp;#8201;&amp;#8212;&amp;#8201;did the graph reset somehow, 
like derailing? 
a fresh start? 
resetting the commitment in some way?
So many conclusions a user might jump to, thinking they understand the word &amp;#8220;reset&amp;#8221; perfectly well. 
Which they do, which is the problem.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;ve given ourselves a lot of experience trying to find the sweet spot between all these competing constraints&amp;#8201;&amp;#8212;&amp;#8201;precision, concision, evocativity, approachability, greppability, &amp;#8230;
Hopefully I&amp;#8217;ve convinced you that you&amp;#8217;ve got to be careful around plain English, and you&amp;#8217;ll want to come back around for part 2 where I&amp;#8217;ll give my advice on what good alternatives to pseudovernacular jargon look like.
It doesn&amp;#8217;t (just) mean translating to Latin.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;h2&gt;Footnotes&lt;/h2&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;GARGLECLUCK&quot; href=&quot;#GARGLECLUCK1&quot;&gt;[1]&lt;/a&gt;
Fun fact: the word &amp;#8220;jargon&amp;#8221; comes to us from Old English via French &amp;#8220;jargoun&amp;#8221;, or &amp;#8220;gargoun&amp;#8221;.
It&amp;#8217;s an onomatopoeic word to describe the chattering of birds, thence applied to incomprehensible language. 
Also related: gargling!&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;FIELD&quot; href=&quot;#FIELD1&quot;&gt;[2]&lt;/a&gt;
Field a question, 
field of view, 
battlefield, 
field of biology, 
in the field as opposed to the lab/office/classroom, 
field of candidates, 
field in a database, 
field a team, 
&amp;#8230;&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;CK&quot; href=&quot;#CK1&quot;&gt;[3]&lt;/a&gt;
&amp;#8220;Common knowledge&amp;#8221;, ironically, is such a thorn in my side in trying to communicate unambiguously.
Unless you have common knowledge [technical sense] that everyone in the conversation is a game theorist, you&amp;#8217;re constantly having to disambiguate it. 
Because it&amp;#8217;s common knowledge [colloquial sense] that &amp;#8220;common knowledge&amp;#8221; is merely something commonly known.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;DENSE&quot; href=&quot;#DENSE1&quot;&gt;[4]&lt;/a&gt;
The math fact that &amp;#8220;almost no reals are rational&amp;#8221; is super cool.
It means that, even though there are an infinite number of rational numbers 
(rational is &amp;#8220;ratio&amp;#8221;-nal&amp;#8201;&amp;#8212;&amp;#8201;meaning fractions; this term I&amp;#8217;m kind of a fan of)
they&amp;#8217;re embedded in a literally bigger infinity of irrational numbers 
(like pi and the square root of two, numbers that can&amp;#8217;t be written as the ratio of integers)
such that the percentage of real numbers that are rational is exactly zero!
But, again, there are still lots of rationals, hence &amp;#8220;almost&amp;#8221; none are rational.
It&amp;#8217;s 0% of them and yet not none of them.
Infinity makes things weird.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;ALMOST&quot; href=&quot;#ALMOST1&quot;&gt;[5]&lt;/a&gt;
What if instead of &amp;#8220;almost certainly&amp;#8221; and &amp;#8220;almost always&amp;#8221; we used 
&amp;#8220;pen certum&amp;#8221; and &amp;#8220;pen universum&amp;#8221; or whatever the proper Latin would be?
It needs some more workshopping but the point is that terms like &amp;#8220;almost always&amp;#8221; are especially hostile to newbies who can be deceived into thinking they&amp;#8217;ve understood something when they haven&amp;#8217;t.
Would it have occurred to you to seek out the &amp;#8220;almost surely&amp;#8221; Wikipedia page if I hadn&amp;#8217;t already linked to it?
It almost surely would&amp;#8217;ve if we used something in Greek or Latin.
Also you&amp;#8217;d be able to grep for it in a paper or textbook.&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;re still skeptical that this is actually a problem in practice, have a
&lt;a href=&quot;https://news.ycombinator.com/item?id=20839472&quot; title=&quot;The topic is a science thing where the technical math term isn&amp;#39;t actually relevant and arguably there shouldn&amp;#39;t have been any confusion, but, y&amp;#39;know, nerds&quot;&gt;Hacker News thread&lt;/a&gt; full of people confused by &amp;#8220;almost always&amp;#8221; because of mathematicians ruining it.&lt;/p&gt;
&lt;p&gt;Or consider an example from @Sean in the Beeminder Discord who was very confused about 
&lt;a href=&quot;https://en.wikipedia.org/wiki/Large_deviations_theory&quot; title=&quot;“In probability theory, the theory of large deviations concerns the asymptotic behaviour of remote tails of sequences of probability distributions” (I&amp;#39;m surprised to see British spelling there; I wonder if that will get Americanized soon)&quot;&gt;large deviations theory&lt;/a&gt; specifically because he &lt;em&gt;didn&amp;#8217;t know that he didn&amp;#8217;t know&lt;/em&gt; what &amp;#8220;large deviation&amp;#8221; meant.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;REELGROOP&quot; href=&quot;#REELGROOP1&quot;&gt;[6]&lt;/a&gt;
Here&amp;#8217;s a silly idea to get the best of both worlds: 
Take the ostensibly normie-friendly naming to an even further extreme and use cute phonetic spellings.
Reel numbers, groop theory, etc.
Now readers can tell again that you don&amp;#8217;t mean the words it sounds like you&amp;#8217;re saying.
Which is good, because you don&amp;#8217;t.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;ONTO&quot; href=&quot;#ONTO1&quot;&gt;[7]&lt;/a&gt;
Here are my arguments that the jargon-y sounding terms &amp;#8220;injection&amp;#8221; and &amp;#8220;surjection&amp;#8221; are superior terms to the pseudovernacular &amp;#8220;one-to-one&amp;#8221; and &amp;#8220;onto&amp;#8221;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You can grep (aka control-f) for &amp;#8220;surjection&amp;#8221; but you can&amp;#8217;t grep for &amp;#8220;onto&amp;#8221;.&lt;/li&gt;
&lt;li&gt;When a newbie sees one of these -jection words they &lt;em&gt;know that they don&amp;#8217;t know&lt;/em&gt; what it means and can look it up.
That&amp;#8217;s less confusing than &amp;#8220;since f is &lt;em&gt;onto&lt;/em&gt;, blah blah blah&amp;#8221; which looks like a typo or the author had some kind of stroke midsentence.&lt;/li&gt;
&lt;li&gt;After a small upfront cost, the Latin-based terms are more evocative and memorable. 
For one, they&amp;#8217;re themed, by all ending in -jection.
(There&amp;#8217;s also &amp;#8220;bijection&amp;#8221; which means both an injection and a surjection.)&lt;/li&gt;
&lt;li&gt;&amp;#8220;Injection&amp;#8221; you can visualize as the elements of X mapping to a subset of Y&amp;#8201;&amp;#8212;&amp;#8201;the function &lt;em&gt;injects&lt;/em&gt; X into Y. 
&amp;#8220;One-to-one&amp;#8221; always makes me think it means a bijection&amp;#8201;&amp;#8212;&amp;#8201;that everything in X has a thing it corresponds to in Y and vice versa. 
That&amp;#8217;s the usual nontechnical meaning of &amp;#8220;one-to-one&amp;#8221;.&lt;/li&gt;
&lt;li&gt;(Which is my more general point: turning everyday words into technical terms is a recipe for confusion.)&lt;/li&gt;
&lt;li&gt;&amp;#8220;Surjection&amp;#8221; is easy to remember once you&amp;#8217;re used to it.
The prefix sur- means &amp;#8220;over/above/onto&amp;#8221;&amp;#8201;&amp;#8212;&amp;#8201;like surname is the name everyone in the family has; surface is the outer face; surmount means overcome; survey means look over. 
So a surjection maps over the whole codomain, covering all of it.&lt;/li&gt;
&lt;li&gt;We definitely need a word for &amp;#8220;bijection&amp;#8221; and the plain English equivalents of these terms have got nothing here other than &amp;#8220;one-to-one and onto&amp;#8221;.&lt;/li&gt;
&lt;/ol&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>writing</category><category>terminology</category><category>software engineering</category><category>math</category><author>dreev</author><comments>https://blog.beeminder.com/pseudovernacular#disqus_thread</comments></item><item><title>Call Them &quot;Quals&quot;</title><link>https://blog.beeminder.com/quals</link><guid isPermaLink="true">https://blog.beeminder.com/quals</guid><description>Attention conservation notice: This is of no actual relevance to Beeminder users. Except the ones who are software developers, which in fact seems to be most of you. (Also AI seems to be drastically lowering the barrier to entry for creating software, so maybe this is about to be relevant for everyone.)...</description><pubDate>Tue, 16 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;450px&quot; height=&quot;450px&quot; alt=&quot;An AI drawing of a guinea pig wearing a lab coat with a stethoscope around its neck. There are some test tubes, a magnifying glass, and a cucumber at its feet.&quot; title=&quot;We actually use Capybara for browser simulation, not guinea pigs. But Gio here was the only one working in the lab today. We use RSpec for our quals runner -- the cucumber is just Gio&apos;s lunch.&quot; src=&quot;https://github.com/user-attachments/assets/5f8f0e42-fecc-4525-a246-9f77abe3b5f6&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Attention conservation notice:
This is of no actual relevance to Beeminder users.
Except the ones who are software developers, which in fact seems to be most of you.
(Also AI seems to be drastically lowering the barrier to entry for creating software, so maybe this is about to be relevant for everyone.)
Or maybe you just like these random peeks behind the curtain.&lt;/p&gt;
&lt;p&gt;Let me get to the point.
I dislike the term &amp;#8220;tests&amp;#8221; (as in unit tests and test-driven development&amp;#8201;&amp;#8212;&amp;#8201;code that verifies the correctness of other code).
What&amp;#8217;s my beef with this perfectly innocuous and perfectly descriptive word? 
First, it has the wrong connotations.
You say something is &amp;#8220;just a test&amp;#8221; to mean it&amp;#8217;s a one-off trial.
Your software&amp;#8217;s meta-sofware for quality assurance and regression-prevention infrastructure is not &amp;#8220;just some tests&amp;#8221; in that sense.&lt;/p&gt;
&lt;p&gt;More pragmatically, the word &amp;#8220;test&amp;#8221; is just too common and overloaded.
You can&amp;#8217;t search GitHub for Issues that mention &amp;#8220;tests&amp;#8221;.
The results are overwhelmed by mentions of tests-as-in-experiments, offers to test something out, the Javascript regex checking function, pen-testing, developers with chips on their shoulders saying &amp;#8220;don&amp;#8217;t test me, motherforker&amp;#8221;, &amp;#8230; 
Am I exaggerating?
On that last one, yes, but I did test this in Beeminder&amp;#8217;s bug database, searching the word &amp;#8220;test&amp;#8221;, and got back 275 gissues (as we call them, for GitHub Issues).&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s similar for grepping the codebase for the string &amp;#8220;test&amp;#8221;: 316 lines.
That&amp;#8217;s more than twice the number of lines mentioning the thing we actually care about.&lt;/p&gt;
&lt;p&gt;How do I know?
Because we call them &lt;em&gt;quals&lt;/em&gt;.
It&amp;#8217;s an infinitely better term!
&amp;#8220;Qual&amp;#8221; already means &amp;#8220;test&amp;#8221; in some contexts, as an abbreviation for qualifier.
Like how you have to pass your quals before you&amp;#8217;re a Ph.D. candidate.
It also evokes quality assurance, which makes sense for software.&lt;/p&gt;
&lt;p&gt;Then there&amp;#8217;s verbability.
With &amp;#8220;test&amp;#8221; you&amp;#8217;ve got &amp;#8220;I tested that&amp;#8221; but it&amp;#8217;s impossibly ambiguous.
Did you just try it or did you actually qualsify it? &lt;a class=&quot;footnote&quot; id=&quot;QUALIFY1&quot; href=&quot;#QUALIFY&quot;&gt;[1]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is part of my broader jargon rant for a future blog post, about how confusing it can be when technical terms also have everyday meanings.
(UPDATE: The sequel has arrived!
&lt;a href=&quot;https://blog.beeminder.com/pseudovernacular&quot; title=&quot;It&amp;#39;s weirdly heavy on math jargon that&amp;#39;s disguised as non-jargon, and at one point talks about steganography&quot;&gt;Against Pseudovernacular Jargon&lt;/a&gt;.)&lt;/p&gt;
&lt;h3&gt;What about &amp;#8220;Specs&amp;#8221;?&lt;/h3&gt;
&lt;p&gt;We had a whole debate about this 
&lt;a href=&quot;https://forum.beeminder.com/t/quals-vs-specs-vs-tests/10050&quot; title=&quot;This forum thread was in fact the seed of this blog post&quot;&gt;in the forum&lt;/a&gt;.
I think it&amp;#8217;s a fine choice.
I&amp;#8217;ve come to like &amp;#8220;quals&amp;#8221; better, mainly because specs are both 
&lt;a href=&quot;https://stackoverflow.com/questions/16802030/whats-the-difference-between-tests-and-specs&quot; title=&quot;StackOverflow discussion about the difference between tests and specs&quot;&gt;more specific&lt;/a&gt; and overlap with 
&lt;a href=&quot;http://blog.beeminder.com/specs&quot; title=&quot;Beeminder blog post: How To Write Functional Specs&quot;&gt;another concept I&amp;#8217;m enamored with&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#8220;Spec&amp;#8221; definition 1: The document that states the goals or the problem being solved and how all the code will work from a user&amp;#8217;s perspective.&lt;/li&gt;
&lt;li&gt;&amp;#8220;Spec&amp;#8221; definition 2: Code that verifies that functions given known input produce expected output, or that some sequence of UI interactions yields the expected program behavior.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But it&amp;#8217;s not at all crazy to overload the term to just mean both of those.
They&amp;#8217;re pretty related.
One is a document in English specifying how future code will function and the other is code that verifies the behavior of existing code.
&lt;a href=&quot;https://rperce.net/&quot; title=&quot;Umpteen-time winner of Beeminder User Of The Month&quot;&gt;Robert Perce&lt;/a&gt; argues that thinking of those two senses of &amp;#8220;spec&amp;#8221; as the same thing leads to design and usage insights that improve both kinds of specs.&lt;/p&gt;
&lt;h3&gt;Uphill battles&lt;/h3&gt;
&lt;p&gt;&amp;#8220;Spec&amp;#8221; in 
this sense 
even has some 
&lt;a href=&quot;https://rspec.info/&quot; title=&quot;This is a Ruby-specific framework for composing and running automated quals. In fact, it&amp;#39;s the one we use for Beeminder.&quot;&gt;traction&lt;/a&gt; in the wider software world and so might&amp;#8217;ve been less of an uphill battle than &amp;#8220;qual&amp;#8221;.
We&amp;#8217;ve gotten used to saying &amp;#8220;quals&amp;#8221; now and I like it and hope it catches on.
But realistically, it&amp;#8217;s hard to argue it was worth the effort, especially if it doesn&amp;#8217;t catch on anywhere else.
Mostly I was just annoyed by ambiguities we&amp;#8217;d run into talking about &amp;#8220;tests&amp;#8221; and was nerd-sniped by the 
&lt;a href=&quot;https://messymatters.com/nominology&quot; title=&quot;A post about onomastics on my old blog, which I embarrassingly coined a new word for because I didn&amp;#39;t know the word “onomastics”&quot;&gt;onomastic&lt;/a&gt; challenge of finding something better.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;h2&gt;Footnotes&lt;/h2&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;QUALIFY&quot; href=&quot;#QUALIFY1&quot;&gt;[1]&lt;/a&gt;
In 
&lt;a href=&quot;https://en.wikipedia.org/wiki/Verification_(spaceflight)&quot; title=&quot;It&amp;#39;s not rocket science oh wait, it is&quot;&gt;some engineering contexts&lt;/a&gt;, 
&amp;#8220;qualify&amp;#8221; as a transitive verb already means running a set of checks to demonstrate that something meets its requirements.
So, yes, you could be less weird and verbify &amp;#8220;qual&amp;#8221; as &amp;#8220;qualify&amp;#8221;, but we are not in the business of being less weird.
(Also I think this existing sense of &amp;#8220;qualify&amp;#8221; is another point in favor of the term &amp;#8220;quals&amp;#8221; to refer to a software test suite.)&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>writing</category><category>terminology</category><category>software engineering</category><author>dreev</author><comments>https://blog.beeminder.com/quals#disqus_thread</comments></item><item><title>Writing About Writing: Highlights from Inkhaven</title><link>https://blog.beeminder.com/inkhavenredux</link><guid isPermaLink="true">https://blog.beeminder.com/inkhavenredux</guid><description>This post is adapted from an earlier and less Beeminder-specific  version on LessWrong. I returned from Inkhaven (see my  previous post about heading there) a week and a half ago.  It was intense and wonderful and I highly recommend it to fans of the Beeminder blog, if it happens next year, which it seems...</description><pubDate>Tue, 02 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;450px&quot; height=&quot;450px&quot; alt=&quot;A large blue raven flies through a green and golden hued sunset, over a small village of quaint houses. There is an infinibee hanging in the V between the raven&apos;s in-flight wings.&quot; title=&quot;I guess the raven represents Danny returning home from his literary retreat at Lighthaven and returning to his quaint and anachronistic home&quot; src=&quot;https://github.com/user-attachments/assets/87a8ef7a-58bf-4eef-8a4f-5270807421f6&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This post is adapted from an earlier and less Beeminder-specific 
&lt;a href=&quot;https://www.lesswrong.com/posts/9ZX2MMMc4oEYSNnk3/inkhaven-retrospective&quot; title=&quot;Inkhaven Retrospective&quot;&gt;version on LessWrong&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I returned from Inkhaven (see my 
&lt;a href=&quot;https://blog.beeminder.com/inkhaven&quot; title=&quot;Talks about Goodharting and why we don&amp;#39;t think that&amp;#39;s necessarily a pejorative&quot;&gt;previous post about heading there&lt;/a&gt;) a week and a half ago. 
It was intense and wonderful and I highly recommend it to fans of the Beeminder blog, if it happens next year, which it seems like it will.
I should clarify that I wasn&amp;#8217;t officially a participant myself.
The organizers recruited me as a Contributing Writer, to share my decades of blogging wisdom.
And to help with writing-related commitment devices, of course.
It was quite an honor, given the list of other contributing writers:
&lt;a href=&quot;https://www.astralcodexten.com/&quot; title=&quot;Astral Codex Ten&quot;&gt;Scott Alexander&lt;/a&gt;,
&lt;a href=&quot;https://scottaaronson.com/&quot; title=&quot;Scott Aaronson&amp;#39;s blog is Shtetl Optimized&quot;&gt;Scott Aaronson&lt;/a&gt;, 
&lt;a href=&quot;https://dynomight.net&quot; title=&quot;The name&amp;#39;s Might. Dynomight.&quot;&gt;Dynomight&lt;/a&gt;,
&lt;a href=&quot;https://gwern.net&quot; title=&quot;AI, psychology, statistics, self-experimentation&quot;&gt;Gwern Branwen&lt;/a&gt;,
&lt;a href=&quot;https://andymatuschak.org/&quot; title=&quot;Mnemonics and Tools for Thought&quot;&gt;Andy Matuschak&lt;/a&gt;, and many others.
The participants were no slouches either and included many friends and people I&amp;#8217;m a huge fan of (such as 
&lt;a href=&quot;https://life-in-a-monospace-typeface.tumblr.com/&quot; title=&quot;I&amp;#39;m especially a fan of Rob Miles&amp;#39;s work on AI safety as featured on various YouTube channels&quot;&gt;Rob Miles&lt;/a&gt;) and others who I&amp;#8217;ve become friends with and/or become a fan of.&lt;/p&gt;
&lt;p&gt;With 40 posts published per day by participants for 30 straight days (1200 total! not counting those by organizers and contributing writers) it feels impossible to highlight samples of them. 
Fortunately that&amp;#8217;s been done for me: 
&lt;a href=&quot;https://inkhavenspotlight.substack.com/&quot; title=&quot;A mere 30 posts&quot;&gt;the Inkhaven spotlight&lt;/a&gt;. 
And just to semi-randomly pick a single post to highlight, for making me laugh out loud, I&amp;#8217;ll link to 
&lt;a href=&quot;https://life-in-a-monospace-typeface.tumblr.com/post/800786180245504000/the-shibari-game&quot;&gt;one by Rob Miles&lt;/a&gt;. 
And to non-randomly pick one because it&amp;#8217;s somewhat about Beeminder, I&amp;#8217;ll link to Lucie Philippon&amp;#8217;s post about 
&lt;a href=&quot;https://aelerinya.substack.com/p/early-thoughts-on-cyborgs-and-mentats&quot; title=&quot;Cyborgs use external tools for incentive alignment, Mentats employ inner alignment&quot;&gt;Cyborgs vs Mentats&lt;/a&gt;.
It describes two schools of thought on 
&lt;a href=&quot;https://blog.beeminder.com/incentalign&quot; title=&quot;Old Beeminder blog post generalizing the concept of a commitment device&quot;&gt;incentive alignment&lt;/a&gt;.
There are also myriad poignant, insightful, informative, and otherwise delightful posts. 
And, sure, plenty that don&amp;#8217;t quite work yet. 
But that&amp;#8217;s the point: force yourself to keep publishing, ready or not, and trust that quality will follow.&lt;/p&gt;
&lt;p&gt;Which brings me to the two Inkhaven lessons for me personally as a writer.&lt;/p&gt;
&lt;p&gt;First I need to follow the advice 
(#5 in my 
&lt;a href=&quot;https://www.lesswrong.com/posts/kpfT5FexfXS42m6fd/16-writing-tips-from-inkhaven&quot; title=&quot;16 Writing Tips from Inkhaven, many gathered from Beeminder users from responses to a series of beemails&quot;&gt;collection of Inkhaven tips&lt;/a&gt;) to dedicate blocks of time to dumping words onto the page. 
Editing is separate. 
See the 
&lt;a href=&quot;https://www.lesswrong.com/posts/9ZX2MMMc4oEYSNnk3/inkhaven-retrospective&quot; title=&quot;Inkhaven Retrospective&quot;&gt;version of this post on LessWrong&lt;/a&gt; for an embarrassing illustration, where I started with &amp;#8220;here I am on the plane&amp;#8221; on my way home from Inkhaven.
It&amp;#8217;s a terrible opening but the alternative was sitting there agonizing about a better opening, getting distracted, and having nothing written.&lt;/p&gt;
&lt;p&gt;The second lesson for me in particular is that sometimes it&amp;#8217;s ok to hit publish before something is perfect. 
In addition to helping the participants, and some amount of work on Beeminder, I committed to the same thing the participants did while I was there:
publishing a 500-word blog post every day by midnight.
It was hard!
And sometimes&amp;#8201;&amp;#8212;&amp;#8201;as above&amp;#8201;&amp;#8212;&amp;#8201;something mildly embarrassing wound up in the published post because I ran out of time for the editing.
But I also managed to actually publish 
&lt;a href=&quot;https://www.lesswrong.com/posts/9ZX2MMMc4oEYSNnk3/inkhaven-retrospective&quot; title=&quot;The full list is here in the original version of this post, on LessWrong&quot;&gt;fourteen posts&lt;/a&gt; in fourteen days. 
I link to the more Beeminder relevant ones below.&lt;/p&gt;
&lt;p&gt;Write, publish, repeat.&lt;/p&gt;
&lt;p&gt;When I got home I agonized about committing to keep churning out a post every day for the rest of the month.
Obviously I needed to have created a Beeminder goal if I were serious about that.
So far I&amp;#8217;ve decided that my current blogging commitment is enough&amp;#8201;&amp;#8212;&amp;#8201;biweekly Beeminder posts, plus my new 
&lt;a href=&quot;https://agifriday.substack.com&quot; title=&quot;AGI = Artificial General Intelligence&quot;&gt;AGI Friday&lt;/a&gt; Substack.
I do have a pretty much unlimited number of ideas to write about, even sticking to the theme of writing about writing. 
Here are half a dozen of them:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Complaining about a list of words I&amp;#8217;ve been curating for which Google&amp;#8217;s built-in dictionary definitions are garbage.&lt;/li&gt;
&lt;li&gt;What a work of art the 1913 edition of Webster&amp;#8217;s dictionary still is and how to configure a Mac laptop so it pops up those definitions when you hard-press on a word with the touchpad.&lt;/li&gt;
&lt;li&gt;Why Overleaf is the bees&amp;#8217; knees for technical writing or collaborative writing (and definitely what you want for technical collaborative writing).&lt;/li&gt;
&lt;li&gt;More of my favorite word games (does that count as writing about writing? maybe I can find a way to make it count!).&lt;/li&gt;
&lt;li&gt;My ever-growing pile of notes about and examples of redefining everyday words as technical jargon (&amp;#8220;common knowledge&amp;#8221;, &amp;#8220;real number&amp;#8221;, &amp;#8220;normal distribution&amp;#8221;) and how bad this is.&lt;/li&gt;
&lt;li&gt;Tips for dealing with trolls (beyond not feeding them, which is rules 1 through 17).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The problem is how daunting it feels to do justice to some of those. 
But that&amp;#8217;s where the writing tip to First Just Write comes in. &lt;/p&gt;
&lt;p&gt;(Fun fact: I spent some hours today thinking today&amp;#8217;s Beeminder blog post would be the one about my thoughts on jargon before I threw up my hands and realized my Inkhaven retrospective deserved a translation to the Beeminder blog.)&lt;/p&gt;
&lt;p&gt;So let me end this with a recap of my at-least-vaguely-Beeminder-relevant posts from my Inkhaven stay:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lesswrong.com/posts/kPhsMipezDLTfgmSj/against-powerful-text-editors&quot; title=&quot;Very short post from my first full day at Inkhaven&quot;&gt;Against Powerful Text Editors&lt;/a&gt; (mindless, repetitive edits waste less time than it seems and avoiding them is more costly than it seems&amp;#8201;&amp;#8212;&amp;#8201;this is sort of a commitment device for not getting distracted by your own tools)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lesswrong.com/posts/8G24bWJ5nE2QjCGAb/see-your-word-count-while-you-write&quot; title=&quot;It&amp;#39;s a bookmarklet, so you paste in a blob of javascript and put it in your bookmark bar in your browser&quot;&gt;See Your Word Count While You Write&lt;/a&gt; (I made a tool, Tallyglot, to see your word count in various online editors)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lesswrong.com/posts/erXSZJ8JurXr8avKe/why-to-commit-to-a-writing-and-publishing-schedule&quot; title=&quot;More safety rope for slippery slopes&quot;&gt;Why to Commit to a Writing and Publishing Schedule&lt;/a&gt; (it matters for you and for your readers; also covers &amp;#8220;how&amp;#8221;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lesswrong.com/posts/so72tRiZitvDFEvmw/strategically-procrastinate-as-an-anti-rabbit-hole-strategy&quot; title=&quot;I&amp;#39;m starting to think &amp;#39;Just-in-timeboxing&amp;#39; might actually stick&quot;&gt;Strategically Procrastinate as an Anti-Rabbit-Hole Strategy&lt;/a&gt; (aka Just-in-timeboxing)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lesswrong.com/posts/NJeRBsjAMmHhEzeug/the-eightfold-path-to-enlightened-disagreement&quot; title=&quot;Wisdom distilled from the rationality community; also the Rogerian model of argument&quot;&gt;The Eightfold Path To Enlightened Disagreement&lt;/a&gt; (characterize, crux, ITT, steelman, scout-mindset, etc)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://agifriday.substack.com/p/writing&quot; title=&quot;Also how I write using AI tools&quot;&gt;Smarmbots, Secret Cyborgs, and Evolving Writing Norms&lt;/a&gt; (new rule: no plagiarizing LLMs)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lesswrong.com/posts/tKD6iG7qPNQ8Rx4GK/mnemonic-exposition&quot; title=&quot;Includes an appendix full of math puzzles&quot;&gt;Mnemonic Exposition&lt;/a&gt; (how to name and gender hypothetical characters)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lesswrong.com/posts/fFu4tZom8twYdEyeD/eat-the-richtext&quot; title=&quot;It&amp;#39;s so handy!&quot;&gt;Eat The Richtext&lt;/a&gt; (another tool I made for preserving formatting when pasting text)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.beeminder.com/delay&quot; title=&quot;People commonly overgeneralize the virtue of prudence and preparedness to cases where it’s blatantly irrational&quot;&gt;The Principle of Delayed Commitment&lt;/a&gt; (more pro-procrastination propaganda&amp;#8201;&amp;#8212;&amp;#8201;this one&amp;#8217;s already on the Beeminder blog)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lesswrong.com/posts/DZq6a6PyuKbhmzLWd/10-wrong-and-dumb-grammar-rules&quot; title=&quot;If you&amp;#39;re reading my link hovertext, I doubt you&amp;#39;ll learn anything new here. Except maybe about elocutionary punctuation.&quot;&gt;Ten Wrong and Dumb Grammar Rules&lt;/a&gt; (infinitive splitting, less-vs-fewer, syntactic vs elocutionary punctuation, etc)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.lesswrong.com/posts/kpfT5FexfXS42m6fd/16-writing-tips-from-inkhaven&quot; title=&quot;Some of these got turned into their own posts&quot;&gt;Writing Tips from Inkhaven&lt;/a&gt; (listicles, curse of knowledge, Hemingway Mode, the out-loud-to-your-friend constraint, etc&amp;#8201;&amp;#8212;&amp;#8201;two Beeminder users got $15 honey money bounties for two of these tips)&lt;/li&gt;
&lt;/ol&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>writing</category><category>commitment devices</category><category>tips</category><category>nanowrimo</category><author>dreev</author><comments>https://blog.beeminder.com/inkhavenredux#disqus_thread</comments></item><item><title>The Principle of Delayed Commitment</title><link>https://blog.beeminder.com/delay</link><guid isPermaLink="true">https://blog.beeminder.com/delay</guid><description>The irony is not lost on us that this post has been languishing as a draft + pile of notes for so long that it has a title image from the era when a human illustrated Beeminder’s blog. The Principle of Delayed Commitment says to consider whether a decision or task will be worse or harder if delayed. Often...</description><pubDate>Tue, 18 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;A bee yawning with a timer ticking down&quot; title=&quot;You snooze you... win?&quot; width=&quot;450px&quot; src=&quot;https://blog.beeminder.com/wp-content/uploads/2022/06/faire-bee-yawn.png&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The irony is not lost on us that this post has been languishing as a draft + pile of notes for so long that it has a title image from the era when a human illustrated Beeminder&amp;#8217;s blog.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The Principle of Delayed Commitment says to consider whether a decision or task will be worse or harder if delayed.
Often it won&amp;#8217;t be, so delaying is a no-brainer.
Procrastination isn&amp;#8217;t inherently bad. 
It&amp;#8217;s bad when it causes actual badness.
Consequentialism! 
People commonly overgeneralize the virtue of prudence/preparedness to cases where it&amp;#8217;s blatantly irrational. &lt;/p&gt;
&lt;p&gt;Yes, we know, this is Decision Theory 101 and intuitively obvious for some people.
Optionality has value, the end.
But writing it out for a lay audience is the best way we know of to establish it as a concept handle, and we&amp;#8217;ve found it to be a useful one.
In particular, principlifying it helps catch cases you might otherwise miss.
&amp;#8220;By the Principle of Delayed Commitment, let&amp;#8217;s not bother to do XYZ yet.&amp;#8221;
Saying it that way clarifies that you&amp;#8217;re not (just) procrastinating.
That we might do XYZ differently (or not at all) depending how other things play out.&lt;/p&gt;
&lt;h4 class=&quot;pullquote&quot;&gt;&amp;#8220;People commonly overgeneralize the virtue of prudence and preparedness to cases where it&amp;#8217;s blatantly irrational&amp;#8221;&lt;/h4&gt;

&lt;p&gt;This can absolutely be taken too far.
Some of us (especially me, dreev) may use it to rationalize procrastination beyond what&amp;#8217;s actually rational.
(&amp;#8220;What if a meteor destroys the city before April 15 and I did my taxes early for &lt;em&gt;nothing&lt;/em&gt;?&amp;#8221;)
As Scott Alexander astutely asks, 
&amp;#8220;&lt;a href=&quot;https://slatestarcodex.com/2014/03/24/should-you-reverse-any-advice-you-hear/&quot; title=&quot;This is a classic. We often abbreviate it facetiously as “reverse all advice!” Scott Alexander suggests that your exposure to any given piece of advice is evidence *against* you actually needing that advice, and maybe what you really need is the opposite advice&quot;&gt;Should You Reverse Any Advice You Hear?&lt;/a&gt;&amp;#8221;.
Some people need to be more prudent and pre-planny and others do that too much. 
But there&amp;#8217;s a theoretical sense&amp;#8201;&amp;#8212;&amp;#8201;and for plenty of people a practical sense&amp;#8201;&amp;#8212;&amp;#8201;in which it&amp;#8217;s true and useful.&lt;/p&gt;
&lt;h3&gt;Toilet seat toggling&lt;/h3&gt;
&lt;p&gt;Here&amp;#8217;s a simple example to start with:
Don’t toggle the state of the toilet seat&amp;#8201;&amp;#8212;&amp;#8201;up vs down&amp;#8201;&amp;#8212;&amp;#8201;after you use it.
You don&amp;#8217;t know who will be next to use the toilet, and therefore don&amp;#8217;t know what state they&amp;#8217;re gonna want it in, so don&amp;#8217;t waste effort lowering it when you&amp;#8217;re done.
What if you&amp;#8217;re the next person to use the bathroom? 
You&amp;#8217;d have lowered it for nothing!&lt;/p&gt;
&lt;p&gt;Though huge caveat here:
actually toilets are gross and you should put a lid on that germ bowl to separate it from the rest of your bathroom.&lt;/p&gt;
&lt;p&gt;But &lt;em&gt;in principle&lt;/em&gt;, toggling the seat is wasted effort. &lt;/p&gt;
&lt;p&gt;The same applies to other shared toggles as well.
Should you switch the TV back to cable input after you finish playing games?
Nope.
Should you switch the seat position and mirrors back after driving if you share the car with someone who is differently sized than you? 
Nope.&lt;/p&gt;
&lt;h3&gt;The kids&amp;#8217; carseats&lt;/h3&gt;
&lt;p&gt;Real world example from Bee, whose parents drive her niece and nephew around town often enough to have their own child carseats in their car.
They leave them installed in the backseat most of the time.&lt;/p&gt;
&lt;p&gt;They don&amp;#8217;t take the carseats out every time they drop the kids off in case they need to give an adult a ride before they see the grandkids again.
And when Bee gets a ride from them to go out antiquing or to a choir concert, and needs to use the back seat, she doesn&amp;#8217;t reinstall the carseat when she gets out of the car. &lt;/p&gt;
&lt;p&gt;On both ends of the transaction they wait until the next time the backseat needs used, and toggle the state&amp;#8201;&amp;#8212;&amp;#8201;carseat or no carseat&amp;#8201;&amp;#8212;&amp;#8201;appropriately.
Unless it&amp;#8217;s certain who is going to be the next passenger in that back seat, they delay commitment and deal with it in the future.&lt;/p&gt;
&lt;h3&gt;Bridge crossing&lt;/h3&gt;
&lt;p&gt;Sometimes when you&amp;#8217;re riding your double-decker bike to the neighboring town across the river, you think to yourself, 
&amp;#8220;I need to bike over that bridge. In order to get across the river.&amp;#8221; 
And you may be tempted to get that part of your journey out of the way early.&lt;/p&gt;
&lt;p&gt;But we propose that it&amp;#8217;s more prudent to cross the bridge when you come to it.&lt;/p&gt;
&lt;p&gt;(The related aphorism, about enumeration of pre-hatched chickens, says to not depend on things that haven&amp;#8217;t happened yet, as opposed to not &lt;em&gt;doing&lt;/em&gt; things it may not make sense to do yet.)&lt;/p&gt;
&lt;p&gt;You may be wondering at this point if we actually need the &amp;#8220;principle of delayed commitment&amp;#8221; concept handle when there&amp;#8217;s already the perfectly serviceable &amp;#8220;cross that bridge when we come to it&amp;#8221;.
Well, &amp;#8220;need&amp;#8221; is a strong word but we use both of them.
We&amp;#8217;d say the bridge version feels more casual&amp;#8201;&amp;#8212;&amp;#8201;&amp;#8220;let&amp;#8217;s not worry about that yet&amp;#8221;&amp;#8201;&amp;#8212;&amp;#8201;while the principle version prompts us to think about what&amp;#8217;s decision-theoretically optimal.&lt;/p&gt;
&lt;h3&gt;Premature optimization&lt;/h3&gt;
&lt;p&gt;Software devs will be familiar with this.
Indexing your database before you actually have any data in it.
Setting up geographic redundancy before you even have users outside your timezone.
Caching too soon.
Adding features or building out too much functionality before you&amp;#8217;ve had actual users. 
See especially the 
&lt;a href=&quot;https://blog.beeminder.com/shirknturk&quot; title=&quot;Another Beeminder post we immodestly think of as a classic. When writing a new app or website or feature, implement as little of it as you can get away with and manually fake the rest behind the scenes&quot;&gt;Shirk &amp;amp; Turk Principle&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Pre- or over-planning&lt;/h3&gt;
&lt;p&gt;As a real-world counterpart to the software version above, it can be tempting, especially if you are an anxious person, to expend a lot of effort planning for events that may never come to pass.
Applying the principle of delayed commitment can be useful if overplanning is your tendency.&lt;/p&gt;
&lt;p&gt;Don&amp;#8217;t borrow chairs from your neighbor for your dinner party until your RSVP count actually exceeds your chair capacity.
Don&amp;#8217;t buy a full kosher set of dishes and build a second kitchen until the Rabbi agrees to come to dinner.
Don&amp;#8217;t buy plane tickets to attend your grandmother&amp;#8217;s funeral until she&amp;#8217;s actually dead.&lt;/p&gt;
&lt;p&gt;Some of these are more obvious than others.
But, again, some people in some situations are prone to blatantly violate the principle and calling it a principle is sometimes helpful.&lt;/p&gt;
&lt;h3&gt;Lazy evaluation&lt;/h3&gt;
&lt;p&gt;Here&amp;#8217;s another one from computer science.
Suppose I ask you if it&amp;#8217;s true that &lt;em&gt;either&lt;/em&gt; 248 is an even number &lt;em&gt;or&lt;/em&gt; there are infinitely many twin primes. 
&lt;a href=&quot;https://en.wikipedia.org/wiki/Lazy_evaluation&quot; title=&quot;Read all about it. The Wikipedia page on the twin prime conjecture is more interesting though.&quot;&gt;Lazy evaluation&lt;/a&gt; means noticing that the or-statement is true as soon as you figure out that 248 is even, so don&amp;#8217;t bother solving the twin prime conjecture. 
That example is contrived and ridiculous but this comes up constantly in programming. 
Statments like &lt;code&gt;if(x &amp;gt; 0 and long_computation() == x)&lt;/code&gt; can be short-circuited and the &lt;code&gt;long_computation()&lt;/code&gt; avoided whenever x is not greater than zero.&lt;/p&gt;
&lt;h3&gt;Delaying those ticket purchases&lt;/h3&gt;
&lt;p&gt;There are lots of reasons to buy tickets early&amp;#8201;&amp;#8212;&amp;#8201;for concerts or flights or whatnot. 
The price might go up, for one thing.
And you get more choice in seating or departure time.&lt;/p&gt;
&lt;p&gt;But the principle of delayed commitment tells us to trade that off against the advantages to delaying:
Something might come up to keep you from going to that wedding.
Is there only a 50% chance your cousin will actually go through with it?
Are your mother and her brother constantly fighting and your whole family might get uninvited?
Are you getting a new boss next month and you&amp;#8217;re not sure if you&amp;#8217;ll be able to get time off work?&lt;/p&gt;
&lt;p&gt;If there&amp;#8217;s additional information that might decrease your excitement about attending (maybe the concert set list, or opener), or that might increase your excitement or otherwise change your decisions (you find a friend who wants to go too, but only if you can get seats together), then there&amp;#8217;s value in delay.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Ok, the principle of delayed commitment says it can be rational to delay in order to preserve optionality.
Ironically, and especially relevant to Beeminder, there&amp;#8217;s also a meta-rational reason to delay, in order to &lt;em&gt;remove&lt;/em&gt; optionality.
I (dreev) blogged about this the other day on LessWrong as part of my stay at 
&lt;a href=&quot;https://blog.beeminder.com/inkhaven&quot; title=&quot;Previous Beeminder blog post about Inkhaven&quot;&gt;Inkhaven&lt;/a&gt;:
&amp;#8220;&lt;a href=&quot;https://www.lesswrong.com/posts/so72tRiZitvDFEvmw/strategically-procrastinate-as-an-anti-rabbit-hole-strategy&quot; title=&quot;It also covers Structured Procrastination and Parkinson&amp;#39;s law&quot;&gt;Strategically Procrastinate as an Anti-Rabbit-Hole Strategy&lt;/a&gt;&amp;#8221;.
It points out that delaying starting a task can serve as a commitment device to cap the amount of time you spend on it.
&lt;em&gt;Just-in-timeboxing&lt;/em&gt;, we&amp;#8217;re tempted to call it.&lt;/p&gt;
&lt;p&gt;Final question: 
Does Beeminder not blatantly violate the principle of delayed commitment, locking you in to a course of action that might turn out to be suboptimal?
It sure does!
We&amp;#8217;ve thought about this forever and our best answer is still
&lt;a href=&quot;https://blog.beeminder.com/flexbind/&quot; title=&quot;Beeminder blog post from 2012&quot;&gt;Flexible Self-Control&lt;/a&gt;.
It&amp;#8217;s worth &amp;#8220;irrationally&amp;#8221; pre-committing to thwart your impetuous future self.
But retain as much flexibility and optionality as possible.
Beeminder does that with an &lt;em&gt;akrasia horizon&lt;/em&gt;:
You&amp;#8217;re only ever on the hook for the upcoming week.
So you can change what you&amp;#8217;re committed to at any time and that change takes effect with a one-week delay.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Coauthored with Bethany Soule.
Thanks to Mary Renaud for helpful discussion. 
Image credit: Faire Soule-Reeves.&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>tips</category><category>principles</category><category>procrastination</category><author>dreev</author><comments>https://blog.beeminder.com/delay#disqus_thread</comments></item><item><title>Inkhaven</title><link>https://blog.beeminder.com/inkhaven</link><guid isPermaLink="true">https://blog.beeminder.com/inkhaven</guid><description>Probably some of you will be pretty enamored with the concept of a writing retreat in which you have to publish a 500-word blog post every day by midnight or you get kicked out. Well, the concept is real! The inaugural such thing, dubbed  Inkhaven , kicked off three days ago in Berkeley with 41 participants....</description><pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;450&quot; alt=&quot;An enormous raven flying above a gothic castle&quot; title=&quot;Quoth the raven: &apos;Beemind more&apos;.&quot; src=&quot;https://github.com/user-attachments/assets/c55b87b5-0fd0-4bcb-9bcf-65b15ebd0185&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Probably some of you will be pretty enamored with the concept of a writing retreat in which you have to publish a 500-word blog post every day by midnight or you get kicked out.
Well, the concept is real!
The inaugural such thing, dubbed 
&lt;a href=&quot;https://www.inkhaven.blog/&quot; title=&quot;AKA The Inkhaven Residency&quot;&gt;Inkhaven&lt;/a&gt; &lt;a class=&quot;footnote&quot; id=&quot;WRITEHAVEN1&quot; href=&quot;#WRITEHAVEN&quot;&gt;[1]&lt;/a&gt;, kicked off three days ago in Berkeley with 41 participants.
On day 4 we&amp;#8217;re down to 40.
[UPDATE: Turns out that was incorrect.
I&amp;#8217;m not sure why it looked like that at the time on the website, but all 41 participants officially made it to the end!]
The prediction markets 
&lt;a href=&quot;https://manifold.markets/AmandafromBethlehem/how-many-inkhaven-residents-will-re&quot; title=&quot;Manifold Market on how many Inkhaven residents will reach the end on November 30&quot;&gt;currently expect&lt;/a&gt;, as of me writing this, about 34 people to make it till the end on November 30.
Here&amp;#8217;s a [static] graph:&lt;/p&gt;
&lt;a href=&quot;https://manifold.markets/AmandafromBethlehem/how-many-inkhaven-residents-will-re&quot;&gt;
&lt;img class=&quot;aligncenter&quot; width=&quot;450&quot; alt=&quot;screenshot of manifold market as of 2025-11-05T00:18&quot; title=&quot;We mean for this to be a nice live embed of the market, but we&apos;re having technical issues with the blog and iframes&quot; src=&quot;https://github.com/user-attachments/assets/6cf69938-2b79-4aa8-aeea-e49df62d85d4&quot; /&gt;
&lt;/a&gt;

&lt;p&gt;Or follow along with the 
&lt;a href=&quot;https://www.inkhaven.blog/fall-25&quot; title=&quot;There&amp;#39;s an RSS feed if you&amp;#39;re into that, or a Substack with highlights&quot;&gt;firehose of blog posts&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The idea for this thing was born when Scott Alexander made the observation that whenever he sees someone blogging every day, they almost invariably end up successful in some way.
Scott called it his best leading indicator of a good blogger.&lt;/p&gt;
&lt;p&gt;The Inkhaven organizers are perfectly aware that correlation doesn&amp;#8217;t imply causation, but, as the saying goes, sometimes correlation does 
&amp;#8220;&lt;a href=&quot;https://xkcd.com/552/&quot; title=&quot;The classic xkcd from, goodness gracious, 2009&quot;&gt;waggle its eyebrows&lt;/a&gt; suggestively and gesture furtively while mouthing &amp;#8216;look over there&amp;#8217;.&amp;#8221;
They refer to Inkhaven&amp;#8217;s conceit as Goodharting on that correlation and explicitly warn prospective participants that committing to writing every day might merely bring the correlation between daily writers and eventual good bloggers to zero.&lt;/p&gt;
&lt;h3&gt;Goodharting?&lt;/h3&gt;
&lt;p&gt;Yes, as in Goodhart&amp;#8217;s law, that any metric you try to optimize quickly becomes meaningless because people game the crap out of it.
We&amp;#8217;ve talked about it a lot on the Beeminder blog over the years.
Like in 
&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/icecream/&quot; title=&quot;Other topics: The Dirty Plate Club, and mashing one&amp;#39;s keyboard and hitting publish in order to keep Beeminder happy&quot;&gt;Ice Cream Truck Loopholes&lt;/a&gt;&amp;#8221;, where we argue that Goodhart&amp;#8217;s law doesn&amp;#8217;t tend to sting you too badly when you&amp;#8217;re the one making up the metrics.
Trying to game them is like pulling yourself up by your own petard?
Since you care about the underlying goal, you can just change the metrics if Goodharting is ruining things.&lt;/p&gt;
&lt;h3&gt;DIY Inkhavens?&lt;/h3&gt;
&lt;p&gt;I&amp;#8217;m proud to report that Beeminder is a minor sponsor of the event.
And I&amp;#8217;m especially opposite-of-humbled to report that I myself have been recruited as a mentor/&amp;#8221;Contributing Writer&amp;#8221; for the middle two weeks of Inkhaven.
My objective is to help participants set up their own Inkhavens after the retreat is over.&lt;/p&gt;
&lt;p&gt;The foundation is, naturally, setting up a goal to graph your wordcount over time, automatically, and commit to some number of average words per day.
(Unlike at Inkhaven, with Beeminder you can write more on some days and build up safety buffer. 
Unless you don&amp;#8217;t want that, in which case there&amp;#8217;s the autoratchet feature.
Beeminder is very flexible.)
See our old Newbee Corner blog post, 
&lt;a href=&quot;https://blog.beeminder.com/write/&quot; title=&quot;Originally highlighting NaNoWriMo, which I guess Inkhaven is sort of a descendent of&quot;&gt;Beemind Your Writing (By Word Count, Automatically)&lt;/a&gt;, for the basics.&lt;/p&gt;
&lt;p&gt;Finally, I should clarify that I&amp;#8217;m not technically a participant myself.
But I would crush it if I were.
Inhumanly astute readers will notice it&amp;#8217;s 11:59pm and this blog post 
(including this sentence, including this parenthetical)
is exactly 500 words.&lt;/p&gt;
&lt;h2&gt;Footnotes&lt;/h2&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;WRITEHAVEN&quot; href=&quot;#WRITEHAVEN1&quot;&gt;[1]&lt;/a&gt;
Yes, &amp;#8220;Writehaven&amp;#8221; would&amp;#8217;ve been a better pun on the name of the retreat venue, Lighthaven, but the name was taken by a 
&lt;a href=&quot;https://www.writehaven.space&quot; title=&quot;Confusingly, that tool doesn&amp;#39;t seem to exist at this URL anymore, which redirects to something about Solstice&quot;&gt;different tool&lt;/a&gt; they built.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>writing</category><category>commitment devices</category><category>tips</category><category>nanowrimo</category><author>dreev</author><comments>https://blog.beeminder.com/inkhaven#disqus_thread</comments></item><item><title>The Protein Dial</title><link>https://blog.beeminder.com/protein</link><guid isPermaLink="true">https://blog.beeminder.com/protein</guid><description>Background:  Mindful Munching with Metrics and especially Gauges and Dials. The short version of the background here is that there are a bunch of smart things you can do to manage your weight (more to the point: your size) and you should focus on those things more than the number on the scale. Also don’t...</description><pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Protein dial with various foods pictured&quot; title=&quot;💪&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/ddd876ea-c49e-4d91-9a83-be1f1d40749a&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Background: 
&lt;a href=&quot;https://blog.beeminder.com/melzaminder&quot; title=&quot;AKA Melzaminder, or mindfulness plus guardrails&quot;&gt;Mindful Munching with Metrics&lt;/a&gt; and especially
&lt;a href=&quot;https://blog.beeminder.com/homeostasis&quot; title=&quot;AKA feedback control systems for weight management&quot;&gt;Gauges and Dials&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The short version of the background here is that there are a bunch of smart things you can do to manage your weight (more to the point: your size) and you should focus on those things more than the number on the scale.
Also don&amp;#8217;t get stuck in diet mindset.
But also, Beeminder is all about bright lines and obsessing about numbers and we think there&amp;#8217;s a way to get the best of both worlds.
Mindfulness and healthy habits and moderation and all that as the foundation, along with numbers-based guardrails.&lt;/p&gt;
&lt;p&gt;Commonly we focus on 
&lt;a href=&quot;https://blog.beeminder.com/whyweigh&quot; title=&quot;To Weigh Or Not To Weigh&quot;&gt;scale weight&lt;/a&gt; as a 
&lt;a href=&quot;https://blog.beeminder.com/proxymetrics&quot; title=&quot;A proxy metric is a thing you measure because it&amp;#39;s easier to measure and correlates well enough with what you care about that it&amp;#39;s still useful&quot;&gt;proxy metric&lt;/a&gt; for a fitness goal (but there are other options).
We call such a measure of your progress a &lt;em&gt;gauge&lt;/em&gt;.
You also need a primary metric under your direct control that affects your gauge.
We call this a &lt;em&gt;dial&lt;/em&gt;.
Net calories is a classic dial.
Reduce your net calories, see your scale weight trend vaguely down.&lt;/p&gt;
&lt;p&gt;One big problem with net calories as a dial (besides how much some people hate tracking them) is that you can create a vicious cycle.
The less you eat, the more your body clings to every calorie you do give it.
Maybe you find yourself sleeping more, or feeling generally low-energy so you move less.&lt;/p&gt;
&lt;p&gt;A related problem with using scale weight as a gauge is that you might lose weight by losing muscle instead of fat.
We strongly recommend doing resistance training &lt;a class=&quot;footnote&quot; id=&quot;GYM1&quot; href=&quot;#GYM&quot;&gt;[1]&lt;/a&gt; while trying to lose bodyfat, to avoid that.&lt;/p&gt;
&lt;p&gt;But also: protein!&lt;/p&gt;
&lt;p&gt;Getting more protein makes everything easier.
It helps ensure you don&amp;#8217;t lose muscle, of course.
And it fills you up, making it easier to run a calorie deficit or avoid a calorie surplus.&lt;/p&gt;
&lt;p&gt;So I thought, what if we ignored calories and focused just on protein?
Maybe the right things tend to naturally happen when you do that.
Instead of reducing net calories when your gauge is in arrears, just up your protein.
Is that not abusable, you ask?
Would you just eat even more calories in order to hit the protein minimum?
Our solution to that is to make your dial metric be, not the absolute amount of protein you consume, but the fraction of your day&amp;#8217;s calories that are from protein.
(More on this in the &amp;#8220;couldn&amp;#8217;t you game this&amp;#8221; section below.)&lt;/p&gt;
&lt;h3&gt;Nitty gritty&lt;/h3&gt;
&lt;p&gt;Alright, the first thing to decide is the bounds (extrema) of the dial.
I&amp;#8217;ve picked 25-50%. 
That is, maximally lax is 25% and hyperstrict is 50%.
The latter is what hardcore gym types sometimes recommend for what they call a mini cut.
(See the related reading below.)&lt;/p&gt;
&lt;h4 class=&quot;pullquote&quot;&gt;&amp;#8220;When your [weight] is not near the bright red line then you just ignore all of this&amp;#8221;&lt;/h4&gt;

&lt;p&gt;Of course, per usual with the Gauge/Dial system, if your gauge is below Beeminder&amp;#8217;s maxflux line (think: not near the bright red line) then you just ignore all of this.
So even though the &amp;#8220;maximally lax&amp;#8221; setting of 25% protein is not exactly trivially easy, you don&amp;#8217;t even have that restriction when your gauge is far enough in the green.&lt;/p&gt;
&lt;p&gt;What we do recommend as general guideline regardless is to aim for at least twice as many grams of protein as your lean mass in kilograms. 
Like if you weigh 155 pounds and have 30% bodyfat, that&amp;#8217;s 49kg of lean body mass, so your target is &amp;gt;98g of protein.
This is hotly debated, maybe somewhat less is fine, but all our research sugggests that at worst excess protein is kind of wasted (or can make it hard to get a calorie surplus if your goal is to gain weight) so might as well err high.&lt;/p&gt;
&lt;p&gt;At the hyperstrict extreme of 50% it&amp;#8217;s actually hard to eat a balanced diet.
There aren&amp;#8217;t a ton of foods that have more than half their calories from protein.
We&amp;#8217;ll see an example with chicken breast (77%) in a moment.&lt;/p&gt;
&lt;p&gt;Being bound by the protein dial&amp;#8201;&amp;#8212;&amp;#8201;when you&amp;#8217;re in the red on whatever your gauge metric is&amp;#8201;&amp;#8212;&amp;#8201;means following one rule:&lt;/p&gt;
&lt;p&gt;Say your protein dial is set to D, something between 0.25 and 0.5.
And say P is the grams of protein you&amp;#8217;ve eaten so far today.
Then your total calories for the day, C, must always satisfy 
C ≤ 4P/D.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s the bright-line feedback control system part.
And of course you let the spreadsheet worry about the math for you, but for the nerds, here&amp;#8217;s where that limit comes from:&lt;/p&gt;
&lt;p&gt;Your fraction of calories from protein is 4P/C (each gram of protein has 4 calories) and the dial constraint is that this must be at least D.
I.e.,
4P/C ≥ D.
So solve for C and Bob&amp;#8217;s your uncle.&lt;/p&gt;
&lt;h4 class=&quot;pullquote&quot;&gt;&amp;#8220;Your total calories for the day, C, must always satisfy C ≤ 4P/D&amp;#8221;&lt;/h4&gt;

&lt;p&gt;For example, if D=1/3 and you have 100g of plain chicken breast for breakfast, that&amp;#8217;s 32g of protein and 166 calories. 
So your calorie cap is 4×32×3 = 384, of which you&amp;#8217;ve had 166. 
So 218 more non-protein calories until you have to get more protein.&lt;/p&gt;
&lt;p&gt;Again, this gets hard as the dial approaches D=0.5.
But the idea is that your gauge metric will improve with these high-protein days and, with a bit of mindfulness, you&amp;#8217;ll keep your gauge in the green and not need these abnormally high protein days often.
Of course it&amp;#8217;s still great to follow the general guideline every day, to hit your protein minimum.
Just that strictness isn&amp;#8217;t strictly required when your dial is all green.&lt;/p&gt;
&lt;h3&gt;Couldn&amp;#8217;t you game this by&amp;#8230;&lt;/h3&gt;
&lt;p&gt;Yes, suppose you&amp;#8217;re in the red (so the dial rule is in effect) but you get your heart set on a 730-calorie Crumbl cookie, which, sadly, is only 2.7% protein. 
No problem, even at the hyperstrict D=0.5, if you gulp down (&lt;em&gt;math math math&lt;/em&gt;) 896 calories of pure protein powder first, you&amp;#8217;re all clear for the Crumbl cookie!&lt;/p&gt;
&lt;p&gt;But any system can be gamed and thwarted if you try hard enough. 
Hopefully that&amp;#8217;s an 
&lt;a href=&quot;https://blog.beeminder.com/icecream/&quot; title=&quot;This is related to Goodhart&amp;#39;s Law. An ice cream truck loophole is one that would so blatantly ruin the system that you&amp;#39;re not tempted to exploit it. Because, it being your own system, not one imposed on you, you don&amp;#39;t actually want to ruin it. But if you do find yourself tempted to abuse a loophole, you should go ahead and close it.&quot;&gt;ice cream truck loophole&lt;/a&gt;. 
Also, would you even still want the Crumbl cookie after 896 calories of protein powder?&lt;/p&gt;
&lt;h3&gt;The Snackwell effect and the so-called Big Fat Lie&lt;/h3&gt;
&lt;p&gt;Speaking of gaming the crap out of things&amp;#8230;
Wavy flashback lines to the 1990s, when conventional wisdom was that dietary fat was public health villain number one. 
Eating fat would clog your arteries and give you a heart attack. 
But if you take, say, yogurt and add a bunch of sugar then the percentage of calories from fat goes down and you can call it LOW FAT and that sounds healthier. 
Oy.&lt;/p&gt;
&lt;p&gt;One company (or brand of Nabisco I guess) that cynically exploited this confusion was 
SnackWell&amp;#8217;s, which made sugary treats marketed as health food because they were FAT FREE.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;SnackWell&apos;s Devil&apos;s Food&quot; title=&quot;Avaunt!&quot; src=&quot;https://github.com/user-attachments/assets/7ffff4e4-8014-48b7-a3dd-4d99605bd1cc&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The 
&lt;a href=&quot;https://en.wikipedia.org/wiki/SnackWell_effect&quot; title=&quot;See also moral license and the rebound effect&quot;&gt;Snackwell effect&lt;/a&gt; refers to people eating more of something because it has less of something they think is bad.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m particularly amused by the irony here.
I grew up not questioning what Gary Taubes dubbed the 
&lt;a href=&quot;https://www.nytimes.com/2002/07/07/magazine/what-if-it-s-all-been-a-big-fat-lie.html&quot; title=&quot;Famous New York Times Magazine cover story from 2002, “What If It’s All Been a Big Fat Lie?”&quot;&gt;Big Fat Lie&lt;/a&gt;. &lt;a class=&quot;footnote&quot; id=&quot;LIE1&quot; href=&quot;#LIE&quot;&gt;[2]&lt;/a&gt;
Then I spent a couple decades shaking my head at how dumb I was to think skim milk was healthier than whole milk.
And now here I am, treating skim milk as almost twice as good as whole based on the percentage of calories from protein.&lt;/p&gt;
&lt;p&gt;Not that &amp;#8220;fat is the devil&amp;#8221; has been vindicated.
Just that fat is very calorie dense and crowds out protein.&lt;/p&gt;
&lt;h3&gt;Trying this in real life&lt;/h3&gt;
&lt;p&gt;I&amp;#8217;ve been logging what I eat (and burn) in Google Sheets like so:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;512&quot; height=&quot;334&quot; alt=&quot;Google Sheets screenshot&quot; src=&quot;https://github.com/user-attachments/assets/cd2e4ee6-1d0a-490a-b21c-fc48f608aa8d&quot; /&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s pretty slick, I think.
I can enter the number of calories directly and ignore the multiplier column (it defaults to 1) as in the 150-calorie protein bar above.
If I have a 2nd bar I can put a 2 in the &amp;#8220;mult&amp;#8221; column.
Or I can enter a formula like &amp;#8220;=100/113&amp;#8221; (shown as 0.8849 above) if a serving has 100 calories and 113 grams, as happens to be the case for 2%-milkfat cottage cheese.
Then I can use a kitchen scale to see how many grams I&amp;#8217;ve eaten and put that in the multiplier column.
Either way, the actual number of calories consumed is shown in yellow.&lt;/p&gt;
&lt;p&gt;What about home-cooked food or restaurant food with no nutrition labels?
For this I use the 
&lt;a href=&quot;https://macrofactorapp.com/&quot; title=&quot;It costs $6-12 a month, no free version, no ads.&quot;&gt;Macrofactor app&lt;/a&gt;.
It lets you take a picture of any food and magicAIally guesses all the nutrition facts.
(Or if you&amp;#8217;re eating something with a bar code, it knows all the bar codes.
You just scan it.)&lt;/p&gt;
&lt;p&gt;(ADDED LATER: 
You people are relentless.
Yes, you can drop a stick of butter in your spaghetti sauce and the AI calorie guesser will be none the wiser.
The solution to that is, don&amp;#8217;t do that.
The AI is making a guess based on what it can see and it will sometimes be over and sometimes be under and on average it will be&amp;#8230; pretty good, I think?
Unless you introduce a systematic bias by making deceptive-looking meals.
Again, maybe don&amp;#8217;t.
And let us link again to our post about 
&lt;a href=&quot;https://blog.beeminder.com/icecream&quot; title=&quot;This is related to Goodhart&amp;#39;s Law. An ice cream truck loophole is one that would so blatantly ruin the system that you&amp;#39;re not tempted to exploit it. Because, it being your own system, not one imposed on you, you don&amp;#39;t actually want to ruin it. But if you do find yourself tempted to abuse a loophole, you should go ahead and close it.&quot;&gt;ice cream truck loopholes&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;Of course Macrofactor is its own whole system for nutrition, fitness, and weight control.
I think it actually has a similar control system deep inside its black box.
It shows you your trend weight (if you tell it your weight) and adjusts your calorie and protein recommendations to nudge you towards whatever your goal is.
It&amp;#8217;s all too opaque for me though, as I suppose it has to be to be usable by normal humans.
Still, a Beeminder goal for adhering to its recommendations most days might well work as effectively as this protein dial system.&lt;/p&gt;
&lt;p&gt;But back to the protein dial, I also have this gauge/dial dashboard on the same spreadsheet:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;453&quot; height=&quot;371&quot; alt=&quot;Google Sheets screenshot&quot; src=&quot;https://github.com/user-attachments/assets/dfac2704-7061-4520-907d-d1d8743bf7d2&quot; /&gt;&lt;/p&gt;
&lt;p&gt;As you can see, today my scale weight is slightly above the maxflux line on my Beeminder graph so the target for my dial is 29%, slightly above the minimum (maximum laxity) of 25%.
Of the 483 calories I&amp;#8217;ve eaten so far, 285 are from protein, so my actual dial is at 59%, far above what it needs to be.
I can then enter a hypothetical protein percentage for the rest of the day to see how many more calories I can eat such that my dial doesn&amp;#8217;t dip below the 29% target.&lt;/p&gt;
&lt;p&gt;If I wanted to reward myself with Crumbl cookies at this point, I&amp;#8217;d change that 27.5% to 2.7% and I&amp;#8217;d see that final line change to 550 calories.
So I could eat like three quarters of a Crumbl cookie and I&amp;#8217;d be done.
If I, in gross violation of this system, ate the whole 730-calorie cookie, I&amp;#8217;d see the final two lines as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2.7% protein for remaining calories&lt;/li&gt;
&lt;li&gt;&amp;minus;180 remaining calories eatable&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In other words, I exceeded my allowed calories by 180.
But the situation is salveagable if from here on I exceed the dial target&amp;#8217;s 29% for my remaining calories.
Suppose I decide to start eating non-fat Greek yogurt, which has 69% of its calories from protein.
I put that 69% in the protein percent cell and now the final two lines show this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;69% protein for remaining calories&lt;/li&gt;
&lt;li&gt;119 remaining calories &lt;em&gt;needed&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So 119 calories of yogurt and my dial will hit 29% on the nose.
Perfect.
For the rest of the day I can eat what I like as long as it&amp;#8217;s not below today&amp;#8217;s dial target of 29% protein.&lt;/p&gt;
&lt;h2&gt;The Five Theses of Dials &amp;amp; Gauges&lt;/h2&gt;
&lt;p&gt;Melanie and I have been debating this endlessly in the weightloss channel of the Beeminder Discord.
I gravitate strongly to quantified systems and bright lines; Melanie&amp;#8217;s all about flexible rules and addressing one&amp;#8217;s underlying psychology.
She worries that my approach can engender an unhealthy relationship with food.
(Bethany has very gamely experimented with both of our approaches and may have more to say about her own happy medium in a future post.)
But Melanie and I managed to converge on the following five principles for getting the best of both worlds&amp;#8201;&amp;#8212;&amp;#8201;mindfulness and healthy habits along with a feedback control system.&lt;/p&gt;
&lt;p&gt;(One more review: you monitor a proxy metric of your health called a &lt;em&gt;gauge&lt;/em&gt; and have another metric you control (like protein percentage) called a &lt;em&gt;dial&lt;/em&gt;.
Adjust the dial, per a formula, to control the gauge.
And critically, if you&amp;#8217;re far enough in the green on your gauge, you ignore the dial altogether.)&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Adding dial&amp;amp;gauge guardrails rarely hurts&lt;/strong&gt;.
In theory they can be a 
&lt;a href=&quot;https://blog.beeminder.com/crutch&quot; title=&quot;Why we think Beeminder is not (the bad kind of) crutch&quot;&gt;crutch&lt;/a&gt;, like in that Batman movie where he couldn&amp;#8217;t manage to climb out of the pit until he ditched the safety rope and was nice and motivated by a fear of death.
Just learn to not let the graph psyche you out rather than ditch the graph. &lt;/li&gt;
&lt;li&gt;If you get past Thesis 1, &lt;strong&gt;adding guardrails is just a backup system&lt;/strong&gt;.
You can and should use mindfulness to avoid ever hitting the guardrails. 
(And if in doubt, and especially if using scale weight as a gauge, set your red line much higher than you may think you want it. 
That way you have plenty of breathing room to practice mindfulness without pressure.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;If you do hit the guardrails, they help&lt;/strong&gt;.
They do not backfire by putting you in a what-can-I-get-away-with mindset or make you feel guilty for eating &amp;#8220;bad&amp;#8221; foods or any of that. 
If you&amp;#8217;re prone to those psychological traps, address them separately. 
The guardrails are a more systematized and distilled version of mindfulness for people who can benefit from bright-line rules.&lt;/li&gt;
&lt;li&gt;If the rules that kick in when you hit the guardrails are counterproductive in any way, well, we&amp;#8217;re all adults. 
You should be trusted to perceive that counterproductiveness and &lt;strong&gt;construct better rules&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Or even simpler: dial up (in the informal sense) the strategies 
&lt;a href=&quot;https://melzafit.com&quot; title=&quot;Melanie&amp;#39;s fitness coaching business; especially check out her Mindful Munching program&quot;&gt;Melanie teaches&lt;/a&gt; to &lt;strong&gt;mindfully minimize bumping into the guardrails&lt;/strong&gt; in the first place.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Protein in various foods and food-adjacent products&lt;/h2&gt;
&lt;p&gt;As a handy reference, here are some options for upping your fraction of daily calories that are from protein.
To compute these protein percentages, take grams of protein times 4 (usually) and divide by the number of calories.
(Sometimes this can get fussy, either due to rounding on the label or because technically some sources of protein have a bit less than 4 digestible calories per gram.
This is called Atwater specific factors.)&lt;/p&gt;
&lt;p&gt;Thanks to Melanie and Bethany who helped compile these.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;83-96% for 
&lt;a href=&quot;https://www.amazon.com/s?k=whey+protein+isolate&quot; title=&quot;Amazon search&quot;&gt;whey protein isolate&lt;/a&gt; protein powder.
I get pretty sick of this pretty fast.&lt;/li&gt;
&lt;li&gt;80-91% for liquid egg whites. 
I haven&amp;#8217;t tried this.&lt;/li&gt;
&lt;li&gt;80% for tilapia.&lt;/li&gt;
&lt;li&gt;78-90% for canned white 
&lt;a href=&quot;https://fdc.nal.usda.gov/food-details/175158/nutrients&quot; title=&quot;The USDA&amp;#39;s FoodData Central database&quot;&gt;tuna&lt;/a&gt; packed in water.&lt;/li&gt;
&lt;li&gt;77% for skinless 
&lt;a href=&quot;https://fdc.nal.usda.gov/food-details/2646170/nutrients&quot; title=&quot;The USDA&amp;#39;s FoodData Central database&quot;&gt;chicken&lt;/a&gt; breast. (50% for skinless chicken thighs.)&lt;/li&gt;
&lt;li&gt;75% for 
&lt;a href=&quot;https://davidprotein.com/&quot; title=&quot;I got a sample pack of these; I think they&amp;#39;re all pretty good&quot;&gt;David protein bars&lt;/a&gt; which I think taste better (no worse anyway) than Cliff bars. 
They&amp;#8217;re very processed, of course, but the ingredients seem fine enough.
I doubt it&amp;#8217;s much less healthy than protein powder.&lt;/li&gt;
&lt;li&gt;72% for turkey lunch meat.&lt;/li&gt;
&lt;li&gt;69% for non-fat Greek yogurt.&lt;/li&gt;
&lt;li&gt;60% for non-fat cottage cheese.&lt;/li&gt;
&lt;li&gt;47-59% for tofu.&lt;/li&gt;
&lt;li&gt;59% for salmon.&lt;/li&gt;
&lt;li&gt;58% for 
&lt;a href=&quot;https://us.musashi.com/products/high-protein-bar-3-3oz-box-of-12-bars?variant=40880439066679&quot; title=&quot;I&amp;#39;ve only tried the fudge brownie flavor of these&quot;&gt;Musashi bars&lt;/a&gt; which have grown on me and I think taste at least as good as the David bars.
The ingredients also seem fine enough.
Both Musashi and the David bars use fake sugar, which I think 
&lt;a href=&quot;https://dynomight.net/aspartame/&quot; title=&quot;Dynomight on aspartame&quot;&gt;is fine&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;53-54% for, what&amp;#8201;&amp;#8212;&amp;#8201;spinach! Who&amp;#8217;d a thunk it? &lt;/li&gt;
&lt;li&gt;49% for Built Puff bars (brownie batter flavor) which taste, bizarrely, about as good as normal candy bars. Suspicious.&lt;/li&gt;
&lt;li&gt;43-47% for 
&lt;a href=&quot;https://www.safeway.com/shop/product-details.960471167.html&quot; title=&quot;Much cheaper per gram of protein than protein bars, but this URL claiming it&amp;#39;s at Safeway seems to be lies&quot;&gt;dry roasted edamame&lt;/a&gt; (too dry for me). And also for non-dry-roasted aka soy beans.&lt;/li&gt;
&lt;li&gt;44% for Quest protein bars (chocolate chip cookie dough flavor).&lt;/li&gt;
&lt;li&gt;40% for skim milk.&lt;/li&gt;
&lt;li&gt;34% for a hard-boiled egg.&lt;/li&gt;
&lt;li&gt;33% for Snickers Hi Protein bars (not palatable IMO).&lt;/li&gt;
&lt;li&gt;28% for brussel sprouts. 
These brassicas and leafy greens keep surprising me. 
Kale, kohlrabi, cauliflower, collard greens&amp;#8201;&amp;#8212;&amp;#8201;they&amp;#8217;re all in here from ~25-32%.&lt;/li&gt;
&lt;li&gt;27% for lentils.&lt;/li&gt;
&lt;li&gt;26% for black beans.&lt;/li&gt;
&lt;li&gt;24-27% for RXBARs.&lt;/li&gt;
&lt;li&gt;24% for Gatorade protein bars (chocolate caramel flavor).&lt;/li&gt;
&lt;li&gt;23% for broccoli!&lt;/li&gt;
&lt;li&gt;23% for cheddar cheese.&lt;/li&gt;
&lt;li&gt;22% for chickpeas.&lt;/li&gt;
&lt;li&gt;22% for whole milk (note skim milk all the way up at 40%).&lt;/li&gt;
&lt;li&gt;20-23% for cabbage.&lt;/li&gt;
&lt;li&gt;20% for 
&lt;a href=&quot;https://mealsquares.com/pages/nutrition-facts&quot; title=&quot;Rationalist community startup that&amp;#39;s been around for many years&quot;&gt;Mealsquares&lt;/a&gt;, which are minimally processed.&lt;/li&gt;
&lt;li&gt;14-22% for whole wheat bread. (We looked up a handful of our local supermarket brands to get a range.)&lt;/li&gt;
&lt;li&gt;14-17% for Cliff bars (and they don&amp;#8217;t even taste good, what the fork).&lt;/li&gt;
&lt;li&gt;15% for quinoa.&lt;/li&gt;
&lt;li&gt;14% for oatmeal.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Related Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;MacroFactor has a 
&lt;a href=&quot;https://macrofactorapp.com/how-much-protein/&quot; title=&quot;I&amp;#39;m pretty impressed with MacroFactors research and writing on nutrition&quot;&gt;handy article&lt;/a&gt; about how much protein to eat.&lt;/li&gt;
&lt;li&gt;Cited in the above is a 
&lt;a href=&quot;https://pubmed.ncbi.nlm.nih.gov/24864135/&quot; title=&quot;Evidence-based recommendations for natural bodybuilding contest preparation: nutrition and supplementation (2014)&quot;&gt;survey paper&lt;/a&gt; about natural bodybuilders suggesting 2-3 grams of protein per kilogram of lean body mass.
That would be 150ish grams of protein for me.&lt;/li&gt;
&lt;li&gt;Rob Felty&amp;#8217;s 
&lt;a href=&quot;https://robfelty.com/2024/07/24/the-importance-of-the-denominator-and-a-nutrition-experiment&quot; title=&quot;The importance of the denominator and a nutrition experiment&quot;&gt;protein experiment&lt;/a&gt; and 
&lt;a href=&quot;https://robfelty.com/2024/07/30/nutrition-experiment-results&quot; title=&quot;Featuring Beeminder&quot;&gt;results&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A YouTuber that Melanie of 
&lt;a href=&quot;https://melzafit.com&quot; title=&quot;Danny&amp;#39;s sister is a personal fitness trainer&quot;&gt;Melzafit&lt;/a&gt; recommends, Redefining Strength,
&lt;a href=&quot;https://www.youtube.com/watch?v=nxcu5c-sbAE&quot; title=&quot;This one&amp;#39;s a bit too YouTube-influencer for me but seems to know their stuff. Key points from the video: There are three phases of fat loss that you can cycle between. (1) Lifestyle Build: focus on sustainability, with only a small calorie deficit, and getting 30-35% of your calories from protein. (2) Mini Cut: short-term (7-14 days), hard-core, high-calorie-deficit, and 40-50% of your calories from protein. (3) Diet Break: what it sounds like, 7-21 days, still target 30% of calories from protein.&quot;&gt;recommends&lt;/a&gt; getting at least 30% of your calories from protein while on a &amp;#8220;diet break&amp;#8221; and up to 50% of your calories from protein while doing a &amp;#8220;mini cut&amp;#8221;.&lt;/li&gt;
&lt;li&gt;As far as I can tell so far, 
&lt;a href=&quot;https://fdc.nal.usda.gov&quot; title=&quot;When it lists both Atwater General Factors and Atwater Specific Factors, you generally (and specifically) want the latter. The former uses heuristics like 4 calories per gram of protein and the latter uses more accurate multipliers for the specific food in question.&quot;&gt;FoodData Central&lt;/a&gt;, part of USDA.gov, is an authoritative source for nutritional information.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;h2&gt;Footnotes&lt;/h2&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;GYM&quot; href=&quot;#GYM1&quot;&gt;[1]&lt;/a&gt;
Melanie would like us to emphasize here that you need 
&lt;a href=&quot;https://en.wikipedia.org/wiki/Progressive_overload&quot; title=&quot;Excerpt: Progressive overload not only stimulates muscle hypertrophy, but it also stimulates the development of stronger and denser bones, ligaments, tendons and cartilage.&quot;&gt;progressive overload&lt;/a&gt;, meaning that you keep increasing weight and reps.
In the wise words of Greg LeMond, it never gets easier, you just go faster.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;LIE&quot; href=&quot;#LIE1&quot;&gt;[2]&lt;/a&gt;
My robominion is pushing up its glasses and saying that &lt;em&gt;technically&lt;/em&gt; it was the New York Times Magazine that came up with that title&amp;#8201;&amp;#8212;&amp;#8201;“What If It’s All Been a Big Fat Lie?”&amp;#8201;&amp;#8212;&amp;#8201;for Gary Taubes&amp;#8217;s article.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>weight loss</category><category>tips</category><category>fitness</category><category>diet</category><category>melzaminder</category><category>rationality</category><author>dreev</author><comments>https://blog.beeminder.com/protein#disqus_thread</comments></item><item><title>Feature Announcement: Tare Tags</title><link>https://blog.beeminder.com/tare</link><guid isPermaLink="true">https://blog.beeminder.com/tare</guid><description>As promised, tare tags are live! And the old “odometer reset feature” is dead, thoroughly subsumed by the new tare tags. Background Besides knowing that taring (aka zeroing) is what you do to a scale when you want to weigh stuff not already on the scale, you need to know that Beeminder really likes cumulative...</description><pubDate>Tue, 07 Oct 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Someone sitting on a scale with a zero/tare button and a pile of books&quot; title=&quot;Dramatization&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/bcc4947c-aeae-40b9-af59-bafde922d06e&quot; /&gt;&lt;/p&gt;
&lt;p&gt;As promised, tare tags are live!
And the old &amp;#8220;odometer reset feature&amp;#8221; is dead, thoroughly subsumed by the new tare tags.&lt;/p&gt;
&lt;h2&gt;Background&lt;/h2&gt;
&lt;p&gt;Besides knowing that &lt;em&gt;taring&lt;/em&gt; (aka zeroing) is what you do to a scale when you want to weigh stuff not already on the scale, you need to know that
Beeminder really likes cumulative graphs.
See the 
&lt;a href=&quot;https://blog.beeminder.com/grayson/&quot; title=&quot;You don&amp;#39;t even have to read it. Just look at the two images and you&amp;#39;ll get the idea.&quot;&gt;classic post from Grayson Bray Morris&lt;/a&gt; explaining why, for Beeminder goals, cumulative graphs are Good and Correct.
(Very briefly: it&amp;#8217;s how we allow you to accumulate safety buffer, getting ahead of the bare minimum you committed to maintain as an overall average.)
But the important thing for now is that Beeminder graphs are cumulative whether or not you enter cumulative data.
Let us explain.&lt;/p&gt;
&lt;p&gt;Most Beeminder graphs, like standard do-more or do-less graphs, don&amp;#8217;t expect cumulative data.
These graphs are &lt;em&gt;auto-summing&lt;/em&gt;.
That means you enter the additional amount (&amp;#8220;the delta&amp;#8221;) that you did each day and the cumulative total is plotted on the y-axis for you. &lt;a class=&quot;footnote&quot; id=&quot;KYOOM1&quot; href=&quot;#KYOOM&quot;&gt;[1]&lt;/a&gt;
&lt;em&gt;Odometer-style&lt;/em&gt; graphs do not auto-sum.
Whatever value you enter is directly plotted on the y-axis.&lt;/p&gt;
&lt;p&gt;(Ignore weight-loss and weight-gain goals for now.
They&amp;#8217;re neither auto-summing nor cumulative, exactly, but also they&amp;#8217;re not relevant to taring.
Not yet anyway.
We&amp;#8217;re intrigued by a use case where you tare your weight after getting dressed so you can log your true weight throughout the day without actually getting naked for each weigh-in.
But it&amp;#8217;s weird and messy&amp;#8201;&amp;#8212;&amp;#8201;with the numbers and the taring algorithm, not the nakedness&amp;#8201;&amp;#8212;&amp;#8201;so we&amp;#8217;re not officially supporting that yet.
If you really want to experiment, you&amp;#8217;ll need to change your weight-loss goal to use aggday &amp;#8220;last&amp;#8221; instead of aggday &amp;#8220;min&amp;#8221;.
Beeminder experts only!)&lt;/p&gt;
&lt;p&gt;So usually you want auto-summing. 
Like if you ate 3 vegetables today, you enter a +3 on your veggies goal.
Easy peas-y.
But sometimes the convenient number to report is the new total.
Maybe you&amp;#8217;ve read 7 pages today but to figure that out you&amp;#8217;d need to subtract the page number you started at from the current page number. 
Easier to just tell Beeminder your current page number!
Especially since&amp;#8201;&amp;#8212;&amp;#8201;if you started on page 1 (more on this shortly)&amp;#8201;&amp;#8212;&amp;#8201;the current page number is your total number of pages read, exactly what&amp;#8217;s plotted on the y-axis.&lt;/p&gt;
&lt;h2&gt;Quick version if you don&amp;#8217;t want to learn any (more) new things&lt;/h2&gt;
&lt;p&gt;It used to be that a zero datapoint on an odometer goal would be treated as a reset of the odometer.
Maybe you were beeminding numbers from a literal odometer and it literally got reset.
Like you tracked your miles driven and your car died at 123,456 miles.
If you want to keep tracking your cumulative miles 
(let&amp;#8217;s pretend you got a brand new car with 0 miles on the odometer) 
then it would be pretty annoying to have to add 123,456 to the reading on the new car every time you reported the number to Beeminder.&lt;/p&gt;
&lt;p&gt;Instead, Beeminder would &lt;em&gt;presume&lt;/em&gt; that any zero datapoint was an accidental odometer reset and magically add the previous total to all new datapoints from then on.
It was very handy for a lot of things, like beeminding total pages read by reporting the page number.
Starting a new book is like getting a new car with zero on the odometer.&lt;/p&gt;
&lt;p&gt;But it was also a gross violation of the 
&lt;a href=&quot;https://blog.beeminder.com/magic&quot; title=&quot;AKA If-Statements Considered Harmful&quot;&gt;Anti-Magic Principle&lt;/a&gt;, as we talk about in the second half of our recent post about 
&lt;a href=&quot;https://blog.beeminder.com/magicstrings&quot; title=&quot;Section: The worst anti-magic violation in all of Beeminder&quot;&gt;magic strings&lt;/a&gt;. 
I may have mentioned punching my past self in the face.&lt;/p&gt;
&lt;p&gt;So now everything is exactly the same except that if you want that to happen, you have to explicitly tag the datapoint with &amp;#8220;#TARE&amp;#8221; in the comment.
See our previous blog post about 
&lt;a href=&quot;https://blog.beeminder.com/magicdata&quot; title=&quot;There are currently 4 magic strings Beeminder recognizes in datapoint comments: #DERAIL, #RESTART, #SELFDESTRUCT, and #TARE&quot;&gt;magic strings in datapoint comments&lt;/a&gt; for background on how that works in general.&lt;/p&gt;
&lt;p&gt;Ok, this concludes the quick version.
You used to implicitly get an odometer reset with a zero datapoint.
Now you explicitly get it by tagging the zero datapoint with &amp;#8220;#TARE&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Also we took the liberty of converting all your existing data.
Zeros on odometer graphs now have the tare tag appended.
(We used the @TARE version instead of the #TARE version, for reasons explained in the 
&lt;a href=&quot;https://blog.beeminder.com/magicdata&quot; title=&quot;There are currently 4 magic strings Beeminder recognizes in datapoint comments: #DERAIL, #RESTART, #SELFDESTRUCT, and #TARE&quot;&gt;previous blog post&lt;/a&gt;.)
Expect an email about this shortly if it applied to you. [Now sent.]&lt;/p&gt;
&lt;h2&gt;The wonderful generality (and explicitness)&lt;/h2&gt;
&lt;p&gt;What&amp;#8217;s really new is that you can tare &lt;em&gt;any&lt;/em&gt; datapoint. 
Maybe the shiny new car you bought was test-driven by some grubby grubkins and you only start driving it when the odometer already says &amp;#8220;7&amp;#8221;.
Gasp.
Here&amp;#8217;s how you&amp;#8217;d enter the datapoints (the carets are Beeminder&amp;#8217;s shorthand for &amp;#8220;today&amp;#8221;):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;^ 123456 &amp;#8220;RIP my old car&amp;#8221;  [123456]  &lt;/li&gt;
&lt;li&gt;^ 7 &amp;#8220;New car acquired with 7 on the odometer #TARE&amp;#8221;  [123456]  &lt;/li&gt;
&lt;li&gt;^ 107 &amp;#8220;Inaugural 100-mile road trip&amp;#8221;  [123556]  &lt;/li&gt;
&lt;li&gt;^ 999 &amp;#8220;About to hit 4 digits on the odometer but 8 more miles till I&amp;#8217;ve driven this car 1000 miles&amp;#8221;  [124448]&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In brackets we&amp;#8217;ve put the actual values plotted on the y-axis of the graph.
Notice how the 7 miles that were already on the new car are never added to the running total&amp;#8201;&amp;#8212;&amp;#8201;which is just miles &lt;em&gt;you&amp;#8217;ve&lt;/em&gt; driven&amp;#8201;&amp;#8212;&amp;#8201;thanks to taring the graph.
But all that you, as the user, ever have to worry about is reporting the actual odometer reading.&lt;/p&gt;
&lt;p&gt;As a simpler example, maybe you want to beemind your way through a book but skip the boring introduction.
Say chapter 1 starts on page 30.
When you enter a &amp;#8220;30&amp;#8221;, that should mean you&amp;#8217;ve actually read just the first page of the meat of the book.
You can now enter data like this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;^ 29 &amp;#8220;Skipping the first 29 pages before chapter 1. #TARE&amp;#8221;  [0]&lt;/li&gt;
&lt;li&gt;^ 30 &amp;#8220;Finished page 30, ie, the first page of chapter 1&amp;#8221;  [1]&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here&amp;#8217;s a more convoluted example if you want to really make sure you&amp;#8217;ve got your head around it:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;data entered&lt;/th&gt;
&lt;th&gt;&amp;nbsp;&lt;/th&gt;
&lt;th&gt;value plotted&lt;/th&gt;
&lt;th&gt;&amp;nbsp;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;#TARE&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;It doesn&amp;#8217;t actually matter if there&amp;#8217;s an explicit TARE tag on an initial 0 datapoint&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;First real datapoint&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;If this were auto-summing we&amp;#8217;d plot &amp;#8220;70&amp;#8221; but it&amp;#8217;s not&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;#TARE&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;A traditional odometer reset&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;td&gt;Odometer shows 10 + previous 50 = 60 total&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;65&lt;/td&gt;
&lt;td&gt;Again, add previous 50 to current odometer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;#TARE&lt;/td&gt;
&lt;td&gt;65&lt;/td&gt;
&lt;td&gt;Ignore current reading of &amp;#8220;100&amp;#8221; but remember it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;130&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;95&lt;/td&gt;
&lt;td&gt;30 more on the odometer means 30 more than the 65 previously tared at&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;


&lt;h4 class=&quot;pullquote&quot;&gt;&amp;#8220;We&amp;#8217;re relieved that you now have to be less of a supergenius to make Beeminder behave as you want it to&amp;#8221;&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;The general algorithm&lt;/strong&gt; (feel free to skip this if you&amp;#8217;ve got the idea already):
Until there&amp;#8217;s a taring, the y-values plotted on the graph match the entered datapoints.
Now say a datapoint with value &lt;code&gt;v&lt;/code&gt; is marked as a tare and let &lt;code&gt;u&lt;/code&gt; be the previous y-value (or 0 if this is the first datapoint) before &lt;code&gt;v&lt;/code&gt; was entered. 
Then the actual value of &lt;code&gt;v&lt;/code&gt; is disregarded (but remembered). 
The plotted value corresponding to &lt;code&gt;v&lt;/code&gt; is still &lt;code&gt;u&lt;/code&gt; and subsequent datapoints are measured as the delta from &lt;code&gt;v&lt;/code&gt; and added to &lt;code&gt;u&lt;/code&gt;. 
When that happens more than once, those deltas just accumulate.&lt;/p&gt;
&lt;p&gt;(Fun fact: 
All of this was &lt;em&gt;technically&lt;/em&gt; possible with the old odometer reset feature but it involved outrageously clever / excruciating 
&lt;a href=&quot;https://forum.beeminder.com/t/restarting-odometer-to-non-zero-value/299/17?u=dreev&quot; title=&quot;It involves carefully arranging positive, negative, and zero datapoints&quot;&gt;abuse of the feature&lt;/a&gt;.
Credit to 
&lt;a href=&quot;https://forum.beeminder.com/u/scarabaea/summary&quot; title=&quot;Beeminder user of the month, if not year&quot;&gt;Scarabaea&lt;/a&gt; for the ingenuity there.
We&amp;#8217;re relieved that you now have to be less of a supergenius to make Beeminder behave as you want it to.)&lt;/p&gt;
&lt;h3&gt;Whittle-Down use case&lt;/h3&gt;
&lt;p&gt;We don&amp;#8217;t know if this one&amp;#8217;s a good idea yet, but&amp;#8230;
As an alternative to the schemes we&amp;#8217;ve blogged about for 
&lt;a href=&quot;https://blog.beeminder.com/freshenable&quot; title=&quot;This post links to a whole series about whittling down backlogs, and then extending that to what we call Freshenable Collections&quot;&gt;backlog-minding&lt;/a&gt;, you could beemind something like your inbox with a whittle-down goal, but every so often, maybe even at the end of every weekend, you just tare the graph at whatever value it ballooned up to.&lt;/p&gt;
&lt;p&gt;In this scenario you are still beeminding the size of your inbox, entering the current size and always trying to make that number go down.
But you&amp;#8217;re kind of giving yourself a free reprieve periodically.
Your inbox size can jump up but the plotted y-values will keep going down. 
Possibly into negative numbers.&lt;/p&gt;
&lt;p&gt;Like we said, it could be a bad idea.
It seems to violate the 
&lt;a href=&quot;https://blog.beeminder.com/whattomind/&quot; title=&quot;What To Mind: Picking a Metric&quot;&gt;Quantified Self First principle&lt;/a&gt;.
And unless you have a principled rule for when it&amp;#8217;s ok tare your inbox at a higher value, that could be too much of a loophole.
(Or maybe it&amp;#8217;s an 
&lt;a href=&quot;https://blog.beeminder.com/icecream&quot; title=&quot;An ice cream truck loophole is a loophole so gaping and blatant as to utterly ruin a goal -- except that, ipso facto, that makes it easy to resist ever exploiting it, since you care about the goal and don&amp;#39;t want it utterly ruined. Your personality may vary.&quot;&gt;ice cream truck loophole&lt;/a&gt; and it&amp;#8217;s fine?)&lt;/p&gt;
&lt;p&gt;Probably you should mostly think of tare tags as applying to graphs that go up.
Book reading, bike riding, word writing, Anki reviewing.
Those sorts of things.
We assume someone will do something wildly creative with this though.&lt;/p&gt;
&lt;h3&gt;Oh my goodness the sheer number of things this fixes&lt;/h3&gt;
&lt;p&gt;Here&amp;#8217;s a dumb one:
Sometimes users would create an odometer goal, which would naturally have an initial datapoint of zero.
That would technically yield an odometer reset&amp;#8201;&amp;#8212;&amp;#8201;what we now call a taring&amp;#8201;&amp;#8212;&amp;#8201;but when you do that to the first datapoint, it&amp;#8217;s a no-op.
Fine.
Then maybe the user would add a datapoint of 10 for today, in addition to the initial zero.
Still fine.
But &lt;em&gt;then&lt;/em&gt; maybe they&amp;#8217;d backfill a datapoint for yesterday of 5.
Do you see the problem?
The person doing this probably didn&amp;#8217;t.
The 5 yesterday, followed by a &lt;em&gt;tared zero&lt;/em&gt; today, would mean that today&amp;#8217;s 10 is now added to yesterday&amp;#8217;s 5.
So the graph would plot 15 today instead of the expected 10.&lt;/p&gt;
&lt;p&gt;That one at least is fairly corner-casey.&lt;/p&gt;
&lt;p&gt;How about this disaster that happened to my own 
&lt;a href=&quot;https://blog.beeminder.com/write/&quot; title=&quot;Newbee Corner: Beemind Your Writing (By Word Count, Automatically)&quot;&gt;URLminder&lt;/a&gt; goal, for automatically fetching wordcounts of documents and beeminding my total words written:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Beeminder graph with infinite safety buffer and a smear of vertical dotted lines for odometer resets&quot; title=&quot;Beeminder graph with infinite safety buffer and a smear of vertical dotted lines for odometer resets&quot; src=&quot;https://github.com/user-attachments/assets/36bb3737-3c22-4485-a795-fbc1bf5b672e&quot; /&gt;&lt;/p&gt;
&lt;p&gt;What is going on there?
Well, the documents I&amp;#8217;m pointing to sometimes fail to load when Beeminder requests them, which means Beeminder sometimes fetches a zero datapoint.
Now you see the problem.
All those zeros got processed as odometer resets, so each subsequent non-zero fetch got added cumulatively to the previous total.
(Btw, tarings are indicated visually on the graph with faint vertical dotted lines, same as odometer resets were.)
This is especially tragic because it just silently inflated my total wordcount higher and higher until I had infinite safety buffer and the graph was buried at the bottom of my dashboard, out of sight, out of mind.&lt;/p&gt;
&lt;p&gt;All these problems are now mercifully a thing of the past.&lt;/p&gt;
&lt;p&gt;You could say we&amp;#8217;re zeroing them out and making a fresh start. #TARE&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;h2&gt;Footnotes&lt;/h2&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;KYOOM&quot; href=&quot;#KYOOM1&quot;&gt;[1]&lt;/a&gt;
We sometimes, like in 
&lt;a href=&quot;https://api.beeminder.com/#attributes-2&quot; title=&quot;The API docs may not be up to date with all these changes when this blog post goes to press. It&amp;#39;s on our list though!&quot;&gt;the API&lt;/a&gt;, call auto-summing graphs kyoom graphs, or kyoom=true.
It&amp;#8217;s phonetic for &amp;#8220;cumulative&amp;#8221;.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>PSA</category><category>tips</category><category>feature announcements</category><category>odometer goals</category><author>dreev</author><comments>https://blog.beeminder.com/tare#disqus_thread</comments></item><item><title>Magic Strings In Datapoint Comments</title><link>https://blog.beeminder.com/magicdata</link><guid isPermaLink="true">https://blog.beeminder.com/magicdata</guid><description>This is a followup to our previous post on  magic strings. There are three (soon to be four) magic hashtags that Beeminder can add to a datapoint comment. They’re reasonably self-documenting and if you’re a newbee you probably don’t care about any of this nitty-gritty. But we just finished cleaning this...</description><pubDate>Tue, 23 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; width=&quot;450&quot; alt=&quot;Three odd fuzzy bee-ish critters on a table with some electronics, talking math&quot; title=&quot;This is pretty much exactly what our creative process looks like&quot; src=&quot;https://github.com/user-attachments/assets/8dc4d29c-a205-4bf8-8605-c0b0b8991e74&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This is a followup to our previous post on 
&lt;a href=&quot;https://blog.beeminder.com/magicstrings&quot; title=&quot;Magic Strings are Anti-Magical. In which we might be slightly abusing the term &amp;#39;magic strings&amp;#39;. If this bothers you, pretend we&amp;#39;re saying &amp;#39;in-band signaling&amp;#39;.&quot;&gt;magic strings&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There are three (soon to be four) magic hashtags that Beeminder can add to a datapoint comment.
They&amp;#8217;re reasonably self-documenting and if you&amp;#8217;re a newbee you probably don&amp;#8217;t care about any of this nitty-gritty.
But we just finished cleaning this all up in the codebase and we want to document how everything works now.
Also we have a heads-up for veterans who may have been counting on some crufty backwards-compatibility for wild use cases that even we can&amp;#8217;t fathom.
You&amp;#8217;ll need to get with the program, as laid out here.
(But of course if this is ruining your day or 
&lt;a href=&quot;https://blog.beeminder.com/pdp/&quot; title=&quot;See the embedded xkcd about how every change breaks someone&amp;#39;s workflow. In particular the hover text.&quot;&gt;murdering children&lt;/a&gt;, definitely let us know and we&amp;#8217;ll help get you sorted.)&lt;/p&gt;
&lt;h3&gt;#SELFDESTRUCT (or #THISWILLSELFDESTRUCT)&lt;/h3&gt;
&lt;p&gt;We&amp;#8217;ve talked about this magic string extensively 
&lt;a href=&quot;https://forum.beeminder.com/t/subtle-change-to-self-destructing-datapoints/10655?u=dreev&quot; title=&quot;Subtle change to self-destructing datapoints&quot;&gt;in the forum&lt;/a&gt; and in our previous blog post, but we&amp;#8217;ll repeat everything here for completeness.&lt;/p&gt;
&lt;p&gt;First, a quick review of 
&lt;a href=&quot;https://help.beeminder.com/article/157-pessimistic-presumptive-reports&quot; title=&quot;Help doc with more details&quot;&gt;Pessimistic presumptive reports (PPRs)&lt;/a&gt;. 
Think of them as the do-less analog of flatlining on a do-more goal. 
For a do-more if you don&amp;#8217;t enter any data, Beeminder assumes you did &lt;em&gt;nothing&lt;/em&gt;, and soon enough that&amp;#8217;ll derail you. 
If you don&amp;#8217;t enter anything on a do-less goal, it&amp;#8217;s pretty critical that Beeminder &lt;em&gt;not&lt;/em&gt; presume you did nothing, since that would have you safe forever and you could just stick your head in the sand and pretend the goal didn&amp;#8217;t exist. 
Instead Beeminder presumes you did twice the daily amount you committed to stay below, on average, if you don&amp;#8217;t report anything. 
Meaning that, as with a do-more goal, not reporting any progress means you&amp;#8217;ll soon derail.&lt;/p&gt;
&lt;p&gt;The other thing to know about PPRs is that they automagically self-destruct when you enter an actual datapoint.
And the mechanism by which they do that is to include the string #SELFDESTRUCT in the datapoint comment.
(Or #THISWILLSELFDESTRUCT&amp;#8201;&amp;#8212;&amp;#8201;we use that variant to make it as self-documenting as possible.)&lt;/p&gt;
&lt;p&gt;That means you can make your own datapoints self-destruct if you want!
Why would you want that?
Well, superuser Alys has a very clever 
&lt;a href=&quot;https://forum.beeminder.com/t/advent-2022-06-pessimistic-presumption-in-do-more-goals/10646&quot; title=&quot;From Alys&amp;#39;s brilliant advent calendar series&quot;&gt;use case&lt;/a&gt;.
Suppose Alys has a lot of safety buffer on a goal, but wants to get herself to do at least some work on it today. 
She enters a #SELFDESTRUCT datapoint with a large negative value (for a do-more goal), putting the goal into the red, which sorts it to the top of her dashboard. 
Once she&amp;#8217;s done some work and enters the data&amp;#8201;&amp;#8212;&amp;#8201;voila! 
The #SELFDESTRUCT datapoint is automatically removed and her safety buffer is safely back where it belongs.&lt;/p&gt;
&lt;p&gt;Now the fine print and a heads-up.&lt;/p&gt;
&lt;p&gt;If for some reason you try to add multiple #SELFDESTRUCT datapoints for the same day, separately or as a batch, each will annihilate its predecessor and only the last of them will remain.
Probably that&amp;#8217;s the logical, natural thing to happen, but, again, wild use cases we can&amp;#8217;t fathom, so we thought we&amp;#8217;d spell it out.&lt;/p&gt;
&lt;p&gt;And the heads-up is that in the past, datapoint comments that started with &amp;#8220;PESSIMISTIC PRESUMPT&amp;#8230;&amp;#8221; were yet another way to make a datapoint self-destructing.
That&amp;#8217;s officially gone now and we appended &amp;#8221; #SELFDESTRUCT&amp;#8221; to all such datapoints so nothing changes on you retroactively (we don&amp;#8217;t think).
(And actually we used @SELFDESTRUCT with an &amp;#8220;@&amp;#8221; instead of a &amp;#8220;#&amp;#8221; in this case, for a reason we&amp;#8217;ll talk about at the end.)&lt;/p&gt;
&lt;h3&gt;#DERAIL&lt;/h3&gt;
&lt;p&gt;This one essentially marks a dummy datapoint indicating when a derailment happened.
Such datapoints are displayed on your graph as a red triangle, pointing up or down depending on which side of the bright red line was the bad side to cross into.&lt;/p&gt;
&lt;p&gt;We want this recorded as if it&amp;#8217;s a datapoint in order to record exactly where you were at the point when you derailed.
There&amp;#8217;s not necessarily a real datapoint at that point due to 
&lt;a href=&quot;https://blog.beeminder.com/glossary#flatline&quot; title=&quot;When you report no data, Beeminder assumes that you did nothing (or stayed the same weight). We add a placeholder datapoint to the graph for today — graphed as a tiny triangle — to show you where you are with respect to the bright red line. It’s not a real datapoint and is not added as actual data. Exception: pessimistic presumptive reports.&quot;&gt;flatlining&lt;/a&gt;. 
That is, there&amp;#8217;s a good chance that if you derailed today, it&amp;#8217;s due to not entering any data.
For a do-more goal, we show a faint triangle today with the same y-value as yesterday, indicating a presumed zero for today.
So the #DERAIL datapoint reifies that into an angry bright red triangle.&lt;/p&gt;
&lt;p&gt;(This one also had some backward-compatibility that we ruthlessly excised.
Derail datapoints used to be marked by a datapoint comment that started &amp;#8220;RECOMMITTED ON&amp;#8221;.
No more!)&lt;/p&gt;
&lt;h3&gt;#RESTART&lt;/h3&gt;
&lt;p&gt;Restarting a goal that&amp;#8217;s been archived is very similar to derailing a goal in terms of the dummy &amp;#8220;#RESTART&amp;#8221; datapoint, and what we do with your bright red line.
First we lock the red line in place up until now, so we aren&amp;#8217;t changing the past.
Then we make the line jump to whatever your current y-value is and add an initial flat spot and the new rate.
We also add a #RESTART datapoint, analogous to the #DERAIL datapoint, and as extra insurance that we don&amp;#8217;t accidentally trigger the derail condition.&lt;/p&gt;
&lt;p&gt;In the case of an ordinary do-more goal that was properly archived it&amp;#8217;s probably superfluous, though still nice to have it demarcated. &lt;/p&gt;
&lt;p&gt;In other cases it can be totally fluous.
Take the case of restarting an odometer-type goal.
Your current datapoint might have no correlation to your last datapoint at all.
You might have gone back to start your book over again because it&amp;#8217;s been so long, or you stopped beeminding your email inbox, and it ballooned back up from the optimistic 10 messages you&amp;#8217;d committed to the last time you beeminded it.
Or maybe the goal wasn&amp;#8217;t archived in the usual way&amp;#8201;&amp;#8212;&amp;#8201;say you lost your credit card and had to cancel it, and then an ordinary derail caused the graph to freeze because your payment didn&amp;#8217;t go through.
In any of those cases, the usual flat-lined datapoint from whatever your last entered value was might not be safely on yesterday&amp;#8217;s red line.
That&amp;#8217;s when a #RESTART datapoint is required to keep it from insta-derailing when you restart.
Because 
&amp;#8220;&lt;a href=&quot;https://forum.beeminder.com/t/revisiting-red-yesterday/12540&quot; title=&quot;Discusses the exact algorithm for Beeminder saying you’ve derailed&quot;&gt;red yesterday&lt;/a&gt;&amp;#8221; is the core criterion Beeminder uses to decide if you derailed.
A Beeminder graph matrix has to be continuous, so there&amp;#8217;s no way to indicate that yesterday didn&amp;#8217;t count because the goal was inactive so we have to retroactively make it have-been active and safe yesterday.&lt;/p&gt;
&lt;p&gt;Ok, phew, that was really more than you wanted to know.
Probably as a user you only care about this one as a marker of, as it says in the hashtag, when you restarted a goal.&lt;/p&gt;
&lt;h3&gt;Coming soon: #TARE&lt;/h3&gt;
&lt;p&gt;As in taring a scale.
Tune in next time for the whole story on this one.&lt;/p&gt;
&lt;h3&gt;More Fine Print, The Hashtag Feature, and Alternate Syntax&lt;/h3&gt;
&lt;p&gt;All of these are case-sensitive&amp;#8201;&amp;#8212;&amp;#8201;they have to be in all caps. 
And if there&amp;#8217;s anything else in the comment, it has to be separated from the hashtag by whitespace.
So if you make a datapoint comment like &amp;#8220;I&amp;#8217;m gonna #SELFDESTRUCT!&amp;#8221; it won&amp;#8217;t work unless you stick a space in front of the &amp;#8220;!&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Ok, do you know about the hashtag feature?
It&amp;#8217;s in the privacy section of graph settings:
&amp;#8220;Show hashtags from comments on the graph&amp;#8221;.
It lets you annotate your graph with any hashtags you like by including them in your datapoint comments.
This includes all magic hashtags above.
Mostly we think that&amp;#8217;s right and proper, explicitly labeling derailments, PPRs, restarts, and tarings.
But if don&amp;#8217;t want those annotations, only your own custom-crafted annotations, we finally have a solution.
Namely, all the magic strings work equally well with &amp;#8220;#&amp;#8221; or &amp;#8220;@&amp;#8221;.
If you use the &amp;#8220;@&amp;#8221; versions&amp;#8201;&amp;#8212;&amp;#8201;@SELFDESTRUCT, @DERAIL, @RESTART, and (soon) @TARE&amp;#8201;&amp;#8212;&amp;#8201;then everything we&amp;#8217;ve said about these magic strings still applies, but they won&amp;#8217;t be hashtags and so won&amp;#8217;t be shown explicitly on your graph, whether or not you have the hashtag feature turned on.&lt;/p&gt;
&lt;p&gt;For now, those who want only their own hashtags annotating their graphs will have to manually change the &amp;#8220;#&amp;#8221; to &amp;#8220;@&amp;#8221; on the instances that Beeminder generates.
We&amp;#8217;re reluctant to add an 
&lt;a href=&quot;https://blog.beeminder.com/choices&quot; title=&quot;Choices are Bad: The Anti-Settings Principle&quot;&gt;explicit setting&lt;/a&gt; for this unless there&amp;#8217;s enough demand for it.
So let us know!&lt;/p&gt;
</content:encoded><category>bee-all</category><category>nitty-gritty</category><category>navel-gazing</category><category>PSA</category><category>tips</category><category>feature announcements</category><author>dreev</author><comments>https://blog.beeminder.com/magicdata#disqus_thread</comments></item><item><title>Magic Strings are Anti-Magical</title><link>https://blog.beeminder.com/magicstrings</link><guid isPermaLink="true">https://blog.beeminder.com/magicstrings</guid><description>A magic spell is an incantation that, just by being incanted, makes something happen in the physical world.  You say “avada kedavra” and someone dies — that sort of thing.  Did you know that’s a literal real thing in programming and it’s called a magic string?  We use them in Beeminderland occasionally....</description><pubDate>Tue, 09 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Bee in a witch&apos;s workshop&quot; title=&quot;This is what Midjourney imagines the life of a bumblebee witch is like. I hope that bee is being careful with that magic word.&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/279176b3-48dc-4655-a2cb-f39f75009b07&quot; /&gt;&lt;/p&gt;
&lt;p&gt;A magic spell is an incantation that, &lt;em&gt;just by being incanted&lt;/em&gt;, makes something happen in the physical world. 
You say &amp;#8220;avada kedavra&amp;#8221; and someone dies&amp;#8201;&amp;#8212;&amp;#8201;that sort of thing. 
Did you know that&amp;#8217;s a literal real thing in programming and it&amp;#8217;s called a magic string? &lt;a class=&quot;footnote&quot; id=&quot;INBAND1&quot; href=&quot;#INBAND&quot;&gt;[1]&lt;/a&gt;
We use them in Beeminderland occasionally. 
The source document from which this blog post was generated uses them. 
That means that I absolutely cannot tell you what those magic strings are in this blog post. 
If I did it would literally break the blog and you would not be reading these words. 
Sounds dangerous, you say? 
Kind of! 
But it&amp;#8217;s pretty ok with a couple ground rules:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Only pick a magic string that can never possibly be uttered accidentally. &lt;/li&gt;
&lt;li&gt;Treat magic strings with some reverence and don&amp;#8217;t casually type them out if you don&amp;#8217;t mean to invoke them.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Like how in the 
&lt;a href=&quot;https://hpmor.com/&quot; title=&quot;Harry Potter and the Methods of Rationality is the version we think of as canon around here&quot;&gt;Harry Potter&lt;/a&gt; universe people refer to &amp;#8220;the killing curse&amp;#8221; rather than actually utter &amp;#8220;avada kedavra&amp;#8221; in casual conversation.&lt;/p&gt;


&lt;p&gt;Magic strings done right are, ironically, kind of the opposite of magic in the sense of the 
&lt;a href=&quot;https://blog.beeminder.com/magic&quot; title=&quot;AKA If-Statements Considered Harmful. We&amp;#39;re very proud of this post and link to it allll the time. Mostly because it&amp;#39;s advice our past selves desperately needed, as you&amp;#39;ll see later in this post.&quot;&gt;Anti-Magic Principle&lt;/a&gt;. &lt;a class=&quot;footnote&quot; id=&quot;SCI1&quot; href=&quot;#SCI&quot;&gt;[2]&lt;/a&gt;
Namely, they&amp;#8217;re a way to have something happen transparently, consistently, and predictably.
Never accidentally, opaquely, or silently.&lt;/p&gt;
&lt;p&gt;An example in Beeminder (besides the blog post ones we can&amp;#8217;t tell you about on the blog) is certain hashtags in datapoint comments.
You may know about 
&lt;a href=&quot;https://help.beeminder.com/article/157-pessimistic-presumptive-reports&quot; title=&quot;Help doc that tells you alllll about them. Short version is that they&amp;#39;re the do-less analog of flatlining on a do-more goal. For a do-more if you don&amp;#39;t enter any data, Beeminder assumes you did *nothing*, and soon enough that&amp;#39;ll derail you. If you don&amp;#39;t enter anything on a do-less goal, it&amp;#39;s pretty critical that Beeminder *not* presume you did nothing, since that would have you safe forever and you could just stick your head in the sand and pretend the goal didn&amp;#39;t exist. Instead Beeminder presumes you did twice the daily amount you committed to stay below, on average, if you don&amp;#39;t report anything. Meaning that, as with a do-more goal, not reporting any progress means you&amp;#39;ll soon derail.&quot;&gt;pessimistic presumptive reports (PPRs)&lt;/a&gt; and how they automagically self-destruct when you enter an actual datapoint.
Did you know that the mechanism by which they do that is to include the string &lt;code&gt;#SELFDESTRUCT&lt;/code&gt; in the datapoint comment?
And that you can include that string yourself if, 
&lt;a href=&quot;https://forum.beeminder.com/t/advent-2022-06-pessimistic-presumption-in-do-more-goals/10646&quot; title=&quot;TL;DR Alys has a lot of buffer on a goal, but wants to get herself to do *some* work on it today. She enters a #SELFDESTRUCT datapoint with a large negative value (for a Do More), putting the goal into the red, and sorting it to the top of the dashboard. Once she&amp;#39;s done some work and enters the data -- voila! The #SELFDESTRUCT datapoint is automatically removed and her safety buffer is safely back where it belongs.&quot;&gt;for reasons (HT superuser Alys)&lt;/a&gt;, you want any particular datapoint to self-destruct when a new datapoint for that day is added?&lt;/p&gt;
&lt;h3&gt;The worst anti-magic violation in all of Beeminder&lt;/h3&gt;
&lt;p&gt;Let us pause to tell you about the
&lt;a href=&quot;https://www.beeminder.com/faq#qodo&quot; title=&quot;FAQ entry, maybe to be subsumed by a help doc soon&quot;&gt;odometer reset feature&lt;/a&gt;.
It&amp;#8217;s so bad that I (dreev) want to punch my past self in the face for having been the one to come up with it.
It&amp;#8217;s the feature where, if your datapoint is ever zero we just silently, magically start adding your cumulative total so far to every future datapoint.&lt;/p&gt;
&lt;p&gt;(There are mitigating factors: 
(1) It only applies to goals specifically created as odometer goals and so is not super likely to confuse normal users. 
(2) It really is exactly what you want to happen most of the time and is super handy for things like beeminding your way through multiple books and being able to always just tell Beeminder the page number you&amp;#8217;re on.
(3) We did this before we figured out the 
&lt;a href=&quot;https://blog.beeminder.com/magic&quot; title=&quot;AKA If-Statements Considered Harmful&quot;&gt;Anti-Magic Principle&lt;/a&gt;.
We&amp;#8217;d never implement something like that today.)&lt;/p&gt;
&lt;p&gt;The way to fix that 
(&lt;a href=&quot;https://github.com/beeminder/road/issues/216&quot; title=&quot;GitHub issue with the incipient spec&quot;&gt;coming soon!&lt;/a&gt; PS: 
&lt;a href=&quot;https://blog.beeminder.com/tare&quot; title=&quot;Feature Announcement: Tare Tags&quot;&gt;ok, now&lt;/a&gt;) is with, &lt;em&gt;drum roll&lt;/em&gt;, another magic string in the datapoint comment.
In this case the plan is to use &lt;code&gt;#TARE&lt;/code&gt;. &lt;a class=&quot;footnote&quot; id=&quot;TARE1&quot; href=&quot;#TARE&quot;&gt;[3]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The way it would work in the book reading example above is you complete your first book and enter the final page count as your datapoint value on Beeminder:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;^ 349 &amp;#8220;finished Adventures of Tom Sawyer&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And then you pick out the next book and add a &lt;code&gt;#TARE&lt;/code&gt; point like so:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;^ 0 &amp;#8220;starting Huckleberry Finn #TARE&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This can also work for other more literal odometers.
Say a goal tracking your total cycled miles across multiple bikes and bike computers over the course of your life.
And things like taring your weight graph so you can weigh in multiple times in one day without getting naked each time.
Also 
&lt;a href=&quot;https://blog.beeminder.com/nebulous&quot; title=&quot;How To Beemind Nebulous Goals&quot;&gt;nebuminding&lt;/a&gt;, where you want to beemind words added to a document but not let words deleted count against you.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;re not saying a magic string in the datapoint comment is the best implementation of this tare feature, but it&amp;#8217;s expedient and a huge step up from the anti-magic violating abomination that is the current odometer reset feature.&lt;/p&gt;
&lt;h2&gt;Footnotes&lt;/h2&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;INBAND&quot; href=&quot;#INBAND1&quot;&gt;[1]&lt;/a&gt;
See also 
&lt;a href=&quot;https://en.wikipedia.org/wiki/In-band_signaling&quot; title=&quot;HT Robert Perce for pointing out the similarity/overlap&quot;&gt;in-band signaling&lt;/a&gt; which is mostly what we mean here.
The 
&lt;a href=&quot;https://en.wikipedia.org/wiki/Magic_string&quot; title=&quot;Part of their anti-pattern category. Ouch.&quot;&gt;Wikipedia article on magic strings&lt;/a&gt; is mostly about ways magic strings are abused.
Possibly this means we should find a different term!&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;SCI&quot; href=&quot;#SCI1&quot;&gt;[2]&lt;/a&gt;
Not the opposite of magic in the sense of &amp;#8220;science&amp;#8221;.&lt;/p&gt;
&lt;figure&gt;

&lt;a href=&quot;https://www.girlgeniusonline.com/comic.php?date=20081205&quot;&gt;
&lt;img alt=&quot;A mad scientist improves her fairy godmother&apos;s magic wand&quot; title=&quot;Any sufficiently analyzed magic is indistinguishable from science!&quot; src=&quot;https://github.com/user-attachments/assets/8fc4201d-ab0c-4aa5-b260-e05ea0f4d0f2&quot; /&gt;
&lt;/a&gt;

&lt;caption&gt;
(From the Moste Excellent Webbe Comik, 
&lt;a title=&quot;read all of girl genius. for real.&quot; href=&quot;https://www.girlgeniusonline.com&quot;&gt;Girl Genius&lt;/a&gt;, 
by Phil and Kaja Foglio, et al.)
&lt;/caption&gt;

&lt;/figure&gt;

&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;TARE&quot; href=&quot;#TARE1&quot;&gt;[3]&lt;/a&gt;
Like when you zero a scale. 
There was some debate in the Beeminder Discord a while back about how common-knowledge the term &amp;#8220;tare&amp;#8221; is. &lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>computer science</category><category>software engineering</category><category>case studies</category><author>dreev</author><comments>https://blog.beeminder.com/magicstrings#disqus_thread</comments></item><item><title>Time Bridges: Beeminder on The Future of Life Institute Podcast</title><link>https://blog.beeminder.com/timebridges</link><guid isPermaLink="true">https://blog.beeminder.com/timebridges</guid><description>This is embarrassingly out of date, but since it’s literally about Time Bridges, that makes it all the more apropos, right? (If you’re wondering how we even dug up something this old, you might like our recent series on backlogs and freshenable collections.) The  Future of Life Podcast is mostly about...</description><pubDate>Tue, 26 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Time bridge blueprint, with bees&quot; title=&quot;We asked the robo-illustrator to include a flux capacitor but it really doesn&apos;t appreciate having it&apos;s artistic freedom impinged upon&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/05fb3088-21b3-4d35-a11c-aed0db25c3c3&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This is embarrassingly out of date, but since it&amp;#8217;s literally about Time Bridges, that makes it all the more apropos, right?
(If you&amp;#8217;re wondering how we even dug up something this old, you might like our recent
&lt;a href=&quot;https://blog.beeminder.com/freshenable&quot; title=&quot;This also contains a sidebar about the backlog of Beeminder blog posts in particular&quot;&gt;series on backlogs and freshenable collections&lt;/a&gt;.)&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The 
&lt;a href=&quot;https://futureoflife.org/project/future-of-life-institute-podcast/&quot; title=&quot;Tagline: Conversations with far-sighted thinkers (and they do have a lot of impressive ones)&quot;&gt;Future of Life Podcast&lt;/a&gt; is mostly about AI these days, reasonably enough.
Actually it&amp;#8217;s been particularly prescient in having that as a focus for 9 years or so.
But back on the eve of 2019, they did one called 
&amp;#8220;&lt;a href=&quot;https://futureoflife.org/podcast/podcast-existential-hope-in-2019-and-beyond/&quot; title=&quot;Featuring Anthony Aguirre, Max Tegmark, Gaia Dempsey, Allison Duettmann, Josh Clark, and Anders Sandberg&quot;&gt;Existential Hope in 2019 and Beyond&lt;/a&gt;&amp;#8221;.
They interviewed several experts, including Beeminder fan 
&lt;a href=&quot;https://fianxu.co/about-me/&quot; title=&quot;Gaia&amp;#39;s personal homepage&quot;&gt;Gaia Dempsey&lt;/a&gt; who talked about Beeminder and related strategies for what we call
&lt;a href=&quot;https://blog.beeminder.com/incentalign&quot; title=&quot;Old Beeminder blog post on incentive alignment&quot;&gt;incentive alignment&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Since it&amp;#8217;s a beautiful bit of Beeminder evangelism (and entirely organic and unpaid, we hasten to add) and because it coins a handy term, we wanted to preserve the relevant bit of the transcript for posterity.
We&amp;#8217;ve edited it for clarity and concision but, to keep us honest, the original recording is 
&lt;a href=&quot;https://soundcloud.com/futureoflife/existential-hope-in-2019-and-beyond&quot; title=&quot;Thanks to shanaqui for the original transcription!&quot;&gt;hosted on SoundCloud&lt;/a&gt; (from 20m38s to 23m59s).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Gaia Dempsey&lt;/strong&gt;: 
My favorite type of tool I think is very rare: 
the kind that support us developing the capacity for longterm thinking, and for being true to the longterm intentions and goals that I set for myself.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Ariel Conn&lt;/strong&gt;: 
Can you give some examples of those?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Gaia Dempsey&lt;/strong&gt;: 
One example comes from the book &lt;em&gt;Ready Player One&lt;/em&gt;. 
The main character is interacting with his VR system that he lives and breathes every single day. 
At a certain point the system asks him, &amp;#8220;Do you want to activate your health module?&amp;#8221; 
[It&amp;#8217;s called the &amp;#8220;Fitness Lockout protocol&amp;#8221; in the book.]
And without giving it too much thought, he says, &amp;#8220;Sure, yeah, I&amp;#8217;d like to be healthier.&amp;#8221; 
And it instantiates a process whereby he&amp;#8217;s not allowed to log in to the OASIS without going through his exercise routine every morning.&lt;/p&gt;
&lt;p&gt;This is an interesting system design choice, because he didn&amp;#8217;t actually do that much deep thinking about &amp;#8220;oh yeah, this is a choice I really want to commit to&amp;#8221;. 
But the system&amp;#8217;s saying, &lt;em&gt;we&amp;#8217;re&lt;/em&gt; thinking through how your decision-making works, and we think that this is something that you really do want. 
And we think you&amp;#8217;re going to need about three months before you make a final decision as to whether this is something you want to continue with.&lt;/p&gt;
&lt;p&gt;So that three month period (or whatever it was in the book) is what&amp;#8217;s known as an &lt;em&gt;akrasia horizon&lt;/em&gt;. &lt;/p&gt;
&lt;p&gt;Which is a term that I learned through a different tool that is sort of a real-life version of that, which is called Beeminder. 
The akrasia horizon is a time period that&amp;#8217;s long enough that it will circumvent a cognitive bias that we have to really prioritize the near-term, at the expense of the future. &lt;/p&gt;
&lt;p&gt;In the case of the &lt;em&gt;Ready Player One&lt;/em&gt; example, the near-term desire that would circumvent his longterm health is, 
&amp;#8220;I don&amp;#8217;t feel like working out today, I just want to get into my email, or I just want to play a video game right now.&amp;#8221; 
And a very similar setup is created in this tool, 
&lt;a href=&quot;https://www.beeminder.com&quot; title=&quot;Yes, this is us, Beeminder, shamelessly linkifying this&quot;&gt;Beeminder&lt;/a&gt;, 
which I love to use to support some goals that I&amp;#8217;m very motivated to meet. 
So it&amp;#8217;s a tool where you can put in your goals and you can track them, either yourself by entering the data manually, or you can connect to a number of other tracking capabilities like 
&lt;a href=&quot;https://www.beeminder.com/rescuetime&quot; title=&quot;Beeminder&amp;#39;s RescueTime integration&quot;&gt;RescueTime&lt;/a&gt;
and others. 
And if you don&amp;#8217;t stay on track with your goals, they charge your credit card. 
It&amp;#8217;s a very effective motivating force. &lt;/p&gt;
&lt;p&gt;I have a nickname I call these systems: &amp;#8220;time bridges&amp;#8221;. 
Which are really choices made by your long-term thinking self that in some way supercede the gravitational pull toward mediocrity inherent in your short-term impulses. &lt;/p&gt;
&lt;p&gt;It&amp;#8217;s about experimenting, too. 
This is one particular system that creates consequences and accountability, and I love systems. 
For me, if I don&amp;#8217;t have systems in my life that help me organize the work that I want to do, I&amp;#8217;m hopeless. 
So that&amp;#8217;s why I like to collect and am an avid taster of different systems. 
And I&amp;#8217;ll try anything to see what works. 
I think that&amp;#8217;s important.
It&amp;#8217;s a process of experimentation to see what works for you.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Amen to all of that.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>linguistics</category><category>evangelism</category><author>dreev</author><comments>https://blog.beeminder.com/timebridges#disqus_thread</comments></item><item><title>Downtime and DEFCON Levels</title><link>https://blog.beeminder.com/defcon</link><guid isPermaLink="true">https://blog.beeminder.com/defcon</guid><description>A couple weeks ago we had close to 9 hours of downtime. Some kind of meltdown in the datacenter in Newark where our servers live. A lot of websites/apps were affected, which I guess lessens the shame of it, though it’s embarrassing we’re not more robust to this kind of thing. Anyway, check out  status.beeminder.com...</description><pubDate>Tue, 12 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;https://github.com/user-attachments/assets/1774c74e-822e-49d5-a080-ef04188f920b&quot; class=&quot;aligncenter&quot; alt=&quot;a weird military-esque bee at a command center control panel with DEFCON:pS written on it&quot; /&gt;&lt;/p&gt;
&lt;p&gt;A couple weeks ago we had close to 9 hours of downtime.
Some kind of meltdown in the datacenter in Newark where our servers live.
A lot of websites/apps were affected, which I guess lessens the shame of it, though it&amp;#8217;s embarrassing we&amp;#8217;re not more robust to this kind of thing.
Anyway, check out 
&lt;a href=&quot;https://status.beeminder.com&quot; title=&quot;See also the so-called poppy page, but hopefully you won&amp;#39;t, since it&amp;#39;s only visible if Beeminder is down&quot;&gt;status.beeminder.com&lt;/a&gt; for a link to the gory details.
And keep that URL in mind to check in case Beeminder is down in the future.&lt;/p&gt;
&lt;p&gt;But let&amp;#8217;s not dwell on that.
It reminded us that we have a system for conveying the priority of bugs and other brokenness that&amp;#8217;s sometimes handy.
It goes like this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/DEFCON&quot; title=&quot;It&amp;#39;s a military thing -- 5 levels of &amp;#39;defense conditions&amp;#39; from &amp;#39;everything&amp;#39;s normal&amp;#39; to &amp;#39;nuclear war is imminent&amp;#39; -- but no one can ever remember whether DEFCON 1 or DEFCON 5 is the scariest one. No one outside the military, I mean. Hopefully military people can keep it straight.&quot;&gt;DEFCON&lt;/a&gt;:pS&amp;#8201;&amp;#8212;&amp;#8201;seconds matter, the servers are literally on fire&lt;/li&gt;
&lt;li&gt;DEFCON:pM&amp;#8201;&amp;#8212;&amp;#8201;minutes matter, the servers are figuratively on fire&lt;/li&gt;
&lt;li&gt;DEFCON:pH&amp;#8201;&amp;#8212;&amp;#8201;hours matter, brokenness we have to fix before we can sleep&lt;/li&gt;
&lt;li&gt;DEFCON:pd&amp;#8201;&amp;#8212;&amp;#8201;days matter, it&amp;#8217;s something that preempts all other normal work&lt;/li&gt;
&lt;li&gt;DEFCON:pw&amp;#8201;&amp;#8212;&amp;#8201;weeks matter, lower priority&lt;/li&gt;
&lt;li&gt;DEFCON:pm&amp;#8201;&amp;#8212;&amp;#8201;months matter, no hurry&lt;/li&gt;
&lt;li&gt;DEFCON:py&amp;#8201;&amp;#8212;&amp;#8201;years matter, i.e., maybe/someday, i.e., wishlist&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In practice, we never use anything beyond &amp;#8220;pd&amp;#8221; (days matter).
See our old post on 
&lt;a href=&quot;https://blog.beeminder.com/buglabels&quot; title=&quot;Actual title: Our Label Ontology For Issue Tracking&quot;&gt;our system of bug labels&lt;/a&gt; and the ill-fated &amp;#8220;OMG&amp;#8221; label for why we mostly don&amp;#8217;t assign priorities to bugs/tickets.
(Except for regressions aka zombies, which we talk about in 
&lt;a href=&quot;https://blog.beeminder.com/control&quot; title=&quot;See the first subsection under Examples&quot;&gt;Control Systems For Backlogs&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;We do combine the seconds/minutes/hours/days levels to get finer-grained priorities.
Like DEFCON:pMH means &amp;#8220;minutes or hours matter&amp;#8221;.
So definitely don&amp;#8217;t go to sleep before it&amp;#8217;s fixed but it&amp;#8217;s not quite at the point where you should hold your pee.
Or DEFCON:pHd means &amp;#8220;hours or days matter&amp;#8221;.
So don&amp;#8217;t literally lose sleep but get back at it as soon as you roll out of bed.&lt;/p&gt;
&lt;p&gt;I don&amp;#8217;t think we&amp;#8217;ve ever used DEFCON:pS.
No, wait, there was that time we 
&lt;a href=&quot;https://blog.beeminder.com/mongo&quot; title=&quot;Destroy All! (Exciting/harrowing tale from the early days of Beeminder. See also &amp;#39;crashes of ineptitude&amp;#39;.&quot;&gt;ran a bad query&lt;/a&gt; that started deleting the database row by row.
But that might&amp;#8217;ve predated this DEFCON nomenclature.&lt;/p&gt;
&lt;p&gt;For a 
&lt;a href=&quot;https://blog.beeminder.com/burglebug&quot; title=&quot;The Burgle Bug Fairness Principle&quot;&gt;burgle bug&lt;/a&gt; we&amp;#8217;d probably say DEFCON:pM.
For a merely embarrassing bug, either DEFCON:pMH if it affected all users, or DEFCON:pH or DEFCON:pHd if it was more niche.
Or I guess :pd or even :pdw if it was niche enough.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;re telling you this because having this shorthand has been handy for us, so maybe you&amp;#8217;ll like it too?
I think the advantage of it is that it straightforwardly combines priority and severity in a way that&amp;#8217;s intuitive to set a value for.&lt;/p&gt;
&lt;h2&gt;Related Reading&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://web.archive.org/web/20160502113406/http%3A//help.fogcreek.com/8593/priority-vs-severity&quot; title=&quot;Remember Fog Creek? wistful-emoji. This was part of the documentation for FogBugz, which... I just learned maybe technically still exists?&quot;&gt;Fog Creek on priority vs severity&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.debian.org/Bugs/Developer#severities&quot; title=&quot;I think this conflates ease of fixing with severity&quot;&gt;Debian&amp;#8217;s hierarchy&lt;/a&gt; kind of parallels our system.
Roughly, :pS = &amp;#8220;critical&amp;#8221;, :pM = &amp;#8220;grave&amp;#8221;, :pH = &amp;#8220;serious&amp;#8221;, :pd = &amp;#8220;important&amp;#8221;, :pw = &amp;#8220;normal&amp;#8221;, :pm = &amp;#8220;minor&amp;#8221;, :py = &amp;#8220;wishlist&amp;#8221;.&lt;/li&gt;
&lt;li&gt;And of course the links to our own previous posts in the prose above.&lt;/li&gt;
&lt;/ul&gt;
</content:encoded><category>bee-all</category><category>nerdery</category><category>navel-gazing</category><category>linguistics</category><category>crashes of ineptitude</category><author>dreev</author><comments>https://blog.beeminder.com/defcon#disqus_thread</comments></item><item><title>Why Danny Hates the Beemium Plan</title><link>https://blog.beeminder.com/boobeemium</link><guid isPermaLink="true">https://blog.beeminder.com/boobeemium</guid><description>We keep raising the price of  Beemium (currently $64/month as I write this). When we do, we grandfather existing users for a year. Most businesses warn everyone when they raise prices. It’s a classic Act Now inducement: lock in the old price before it’s too late. We don’t do that for the Beemium price...</description><pubDate>Tue, 22 Jul 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;A bee eschewing a representation of the Beemium plan&quot; title=&quot;Do we hate money? No, we&apos;re just trying to suppress demand (for the Beemium plan in particular).&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/2ddf2a36-0b94-4ec7-bba4-8ed6d970c6ac&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We keep raising the price of 
&lt;a href=&quot;https://www.beeminder.com/premium&quot; title=&quot;Note the Premium FAQ on this page, which should answer many questions this blog post might be raising&quot;&gt;Beemium&lt;/a&gt; (currently $64/month as I write this).
When we do, we grandfather existing users for a year.
Most businesses warn everyone when they raise prices.
It&amp;#8217;s a classic Act Now inducement: lock in the old price before it&amp;#8217;s too late.
We don&amp;#8217;t do that for the Beemium price hikes.
Why not?
Because we don&amp;#8217;t want more people getting Beemium. 
Do we hate money, you ask?
Not exactly.
We actually have a list of reasons we want to wean people off Beemium and discourage new users from opting for it. 
Setting a high price is saying &amp;#8220;don&amp;#8217;t go for this one unless you really, really want it&amp;#8221;.&lt;/p&gt;
&lt;p&gt;So here are the reasons.&lt;/p&gt;
&lt;h3&gt;1. It&amp;#8217;s unbeeminder-y&lt;/h3&gt;
&lt;p&gt;I, as an avid Beeminder user (as opposed to ex officio as CEO), personally dislike Beemium and have never paid for it as a user.
Bee (my cofounder and CTO) is the same.
We do both pay for Bee Plus, and would pay much, much more for it (were it to cost much, much more).
Beemium&amp;#8217;s zero-dollar pledge caps feel especially wrong.
A Beeminder graph with nothing at stake is hardly a Beeminder graph.
And the 50% charity option: 
see our old post on 
&lt;a href=&quot;https://blog.beeminder.com/anticharity&quot; title=&quot;In short, what kind of jerk is motivated to not give to charity?&quot;&gt;why we hate anti-charities&lt;/a&gt;, which includes a bit about why we don&amp;#8217;t think commitment devices with (good) charities as the beneficiary are ideal either.&lt;/p&gt;
&lt;h3&gt;2. We might kill it eventually&lt;/h3&gt;
&lt;p&gt;See our old 
&lt;a href=&quot;https://blog.beeminder.com/focus/&quot; title=&quot;Short version: We kind of regret introducing premium plans, it&amp;#39;s way easier said than done to kill them, but we&amp;#39;re at least focusing our efforts on our pledge-based revenue model&quot;&gt;Strategy Memo: Beeminder Is Pledge-Focused&lt;/a&gt;.
Though more likely Beemium is the principled exception, the thing we &lt;em&gt;would&lt;/em&gt; keep charging for even if we made everything else free.
Beemium is where the revenue-eating features go.
Which brings us to&amp;#8230;&lt;/p&gt;
&lt;h3&gt;3. It&amp;#8217;s expensive for us&lt;/h3&gt;
&lt;p&gt;In particular, Beemium includes quasi-real-time support and the charity option which is partially 
&lt;a href=&quot;https://blog.beeminder.com/shirknturk&quot; title=&quot;Shirk-n-turk is related to Paul Graham&amp;#39;s &amp;#39;do things that don&amp;#39;t scale&amp;#39;&quot;&gt;shirk-n-turked&lt;/a&gt; so we&amp;#8217;re a bit averse to creating more Beemium users especially if they don&amp;#8217;t care much about those expensive features.&lt;/p&gt;
&lt;h3&gt;4. Pledge short-circuiting is a honey trap&lt;/h3&gt;
&lt;p&gt;Not that we intended it to be.
It just, in our pretty vast experience, is something people think they want but tend to be wrong about.
When someone jumps to a huge dollar amount at stake because they&amp;#8217;re feeling all gung ho and hard-core, they&amp;#8217;re more likely to weasel when they derail. 
Or freak out and quit when it gets hard. 
Climbing the pledge schedule like God intended is, empirically, more awesomeness-inducing. 
But this is admittedly highly individual; if you&amp;#8217;re sure that &lt;em&gt;you&lt;/em&gt; want pledge short-circuiting, you could be right.&lt;/p&gt;
&lt;h3&gt;In conclusion&lt;/h3&gt;
&lt;p&gt;Mostly we could call this a boring business decision. 
Beemium is expensive for us and expensive for you. 
Also the cool kids don&amp;#8217;t need Beemium. 
Bee Plus is the coolest plan, in our humble opinion. 
And look how cheap it looks, next to Beemium! 🤑&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Thanks to 
&lt;a href=&quot;https://oldgods.net/alys/&quot; title=&quot;aka Alice Harris aka lady_alys&quot;&gt;Alys&lt;/a&gt;
for encouraging us to blog about this.&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>bee-all</category><category>premium</category><category>perks</category><category>navel-gazing</category><author>dreev</author><comments>https://blog.beeminder.com/boobeemium#disqus_thread</comments></item><item><title>Deprecation Warning: Using “Deprecated” To Mean “No Longer Supported”</title><link>https://blog.beeminder.com/deprecate</link><guid isPermaLink="true">https://blog.beeminder.com/deprecate</guid><description>Welcome to the Dreevpeeve of the day. I’ve actually seen “deprecate” misused so often that I was worried that, as  usual, the prescriptivists would soon have to concede defeat. But so far all the dictionaries are holding firm. This is merely in the category of Common Misconception and so I’m doing my...</description><pubDate>Tue, 08 Jul 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;A human bee person with music and caption DON&apos;T YOU DEPRECATE ME&quot; title=&quot;Fun linguistic fact: precari is Latin for &apos;to pray/ask/entreat&apos;. To deprecate originally meant &apos;to pray against&apos;. See also &apos;imprecate&apos; and &apos;precatory&apos;.&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/b86727c9-6192-4998-abd2-b3ade481dae4&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Welcome to the Dreevpeeve of the day.
I&amp;#8217;ve actually seen &amp;#8220;deprecate&amp;#8221; misused so often that I was worried that, as 
&lt;a href=&quot;https://messymatters.com/scarequotes&quot; title=&quot;Ancient blog post by me about scare quotes&quot;&gt;usual&lt;/a&gt;, the prescriptivists would soon have to concede defeat.
But so far all the dictionaries are holding firm.
This is merely in the category of Common Misconception and so I&amp;#8217;m doing my part with this blog post to hold the line.
We don&amp;#8217;t want another 
&amp;#8220;&lt;a href=&quot;https://www.merriam-webster.com/dictionary/literally&quot; title=&quot;Definition 2: In effect / virtually: used in an exaggerated way to emphasize a statement or description that is NOT LITERALLY TRUE...&quot;&gt;literally&lt;/a&gt;&amp;#8221; on our hands here.&lt;/p&gt;
&lt;p&gt;First, what it actually 
&lt;a href=&quot;https://www.merriam-webster.com/dictionary/deprecate&quot; title=&quot;See also the hovertext on the title image for more lexicographic fun&quot;&gt;means&lt;/a&gt; to deprecate something: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;To express disapproval of it&lt;/li&gt;
&lt;li&gt;To play it down or belittle or disparage it&lt;/li&gt;
&lt;li&gt;To withdraw official support for it or discourage the use of it in favor of a newer or better alternative (chiefly of software)&lt;/li&gt;
&lt;li&gt;To seek to avert it, or (archaic) to pray against it&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Definition 3 is the one people are confused about.
But as you can see, they&amp;#8217;re all variations on the same theme.
Google&amp;#8217;s dictionary (which I hate, but that&amp;#8217;s a story for another blog) groups the software definition of &amp;#8220;deprecated&amp;#8221; with their main &amp;#8220;disapproved of&amp;#8221; definition:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(Chiefly of a software feature) [to] be usable but regarded as obsolete and best avoided, typically due to having been superseded. &amp;#8220;This feature is deprecated and will be removed in later versions.&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 class=&quot;pullquote&quot;&gt;&amp;#8220;Deprecated&amp;#8221; just means &amp;#8220;disapproved of&amp;#8221;&lt;/h4&gt;

&lt;p&gt;The Common Misconception is betrayed, for example, in this request (edited to protect the innocent) from one of our integration partners:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We&amp;#8217;d appreciate it if you can update Beeminder to not use [thingamabob] so that we can hopefully deprecate it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You&amp;#8217;re not &lt;em&gt;hopefully&lt;/em&gt; deprecating it, you&amp;#8217;ve deprecated it, right there in the first half of the sentence.
What you hope is to actually remove the old thingamabob! &lt;a class=&quot;footnote&quot; id=&quot;LINKS1&quot; href=&quot;#LINKS&quot;&gt;[1]&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s another example I found&amp;#8201;&amp;#8212;&amp;#8201;someone talking about a thing from OpenAI called the Assistants API:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;They promise more to come, and that chat completions will be supported going forward but they plan to deprecate the Assistants API mid-2026.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What OpenAI actually says:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[After the Responses API subsumes the Assistants API] we plan to formally announce the deprecation of the Assistants API with a target sunset date in the first half of 2026.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It&amp;#8217;s admittedly confusing, talking about a plan to formally deprecate something.
I even found an example of us falling for this ourselves, culled from Twitter back in 2013:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;@fitbit you deprecated activeScore a month early! The api is returning -1 as of Sept 28th, not Oct 29 per [rotted link to Fitbit support forum]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&amp;#8217;m almost surely the one who wrote that, and am duly embarrassed. &lt;a class=&quot;footnote&quot; id=&quot;BEE1&quot; href=&quot;#BEE&quot;&gt;[2]&lt;/a&gt;
Presumably I was following Fitbit&amp;#8217;s misuse of the term.&lt;/p&gt;
&lt;p&gt;I polled beemail subscribers on this a few months back.
They&amp;#8217;re super savvy and mostly didn&amp;#8217;t actually recall hearing this kind of misuse. &lt;a class=&quot;footnote&quot; id=&quot;STEEL1&quot; href=&quot;#STEEL&quot;&gt;[3]&lt;/a&gt;
But I predict that now that I&amp;#8217;ve pointed it out you&amp;#8217;re going to 
&lt;a href=&quot;https://en.wikipedia.org/wiki/Frequency_illusion&quot; title=&quot;AKA the Baader-Meinhof phenomenon&quot;&gt;hear it all the time&lt;/a&gt;.
Please glare disapprovingly when you do.&lt;/p&gt;
&lt;h2&gt;Footnotes&lt;/h2&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;LINKS&quot; href=&quot;#LINKS1&quot;&gt;[1]&lt;/a&gt;
In the case of deprecating old URLs, we recommend just adding them to an eternal list of legacy redirects and not worrying about how big that list gets. 
Even over decades it&amp;#8217;ll stay perfectly wieldy.
We&amp;#8217;re old enough to know!
The failure to create permanent legacy redirects for old URLs is definitely another Dreevpeeve.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;BEE&quot; href=&quot;#BEE1&quot;&gt;[2]&lt;/a&gt;
Conceivably it was Bee.
She&amp;#8217;s the one who was (still is) dealing with Fitbit&amp;#8217;s API.
But I&amp;#8217;ve almost always manned the Twitters and whatnot.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;footnote&quot; id=&quot;STEEL&quot; href=&quot;#STEEL1&quot;&gt;[3]&lt;/a&gt;
One of those savvy beemail subscribers came up with a steelmanning of at least one of these supposed misuses.
You could read &amp;#8220;we&amp;#8217;ll hopefully deprecate it&amp;#8221; as shorthand for going through a formal deprecation process, with the usual warnings in the documentation, culminating in eventual removal of support for the thing.
Perhaps this conflation of &amp;#8220;deprecation with scheduled removal&amp;#8221; and mere deprecation is the source of the Common Misconception.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>software engineering</category><category>arguing with developers</category><category>language nerds</category><category>descriptivism vs prescriptivism</category><category>linguistics</category><author>dreev</author><comments>https://blog.beeminder.com/deprecate#disqus_thread</comments></item><item><title>Freshenable Collections</title><link>https://blog.beeminder.com/freshenable</link><guid isPermaLink="true">https://blog.beeminder.com/freshenable</guid><description>Welcome to the next post in our Freshening Series. Before we get to that, let’s review our related posts on clearing and preventing backlogs: Redqueening, Inbox Zero, Backlogs, and Fluid Dynamics describes Mark Forster’s  Backlog Method — “isolate and redqueen” — using lots of analogies. Control Systems...</description><pubDate>Wed, 18 Jun 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;A neat stack and a messy stack of paper&quot; title=&quot;Before and after, not in that order&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/986deae6-e023-4531-9e99-c138377ac739&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Welcome to the next post in our Freshening Series.
Before we get to that, let&amp;#8217;s review our related posts on clearing and preventing backlogs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.beeminder.com/redqueen&quot; title=&quot;So old it has a human-generated title image&quot;&gt;Redqueening, Inbox Zero, Backlogs, and Fluid Dynamics&lt;/a&gt; describes Mark Forster&amp;#8217;s 
&lt;a href=&quot;http://markforster.squarespace.com/blog/2009/8/31/backlog-method.html&quot; title=&quot;In Forster&amp;#39;s words: (1) Isolate the backlog. (2) Get the system for handling new stuff sorted. (3) Keep working away at the backlog. (He then goes on to point out that it applies to a lot of things that aren&amp;#39;t obvious, such as tidying an office or getting out of debt.)&quot;&gt;Backlog Method&lt;/a&gt;&amp;#8201;&amp;#8212;&amp;#8201;&amp;#8220;isolate and redqueen&amp;#8221;&amp;#8201;&amp;#8212;&amp;#8201;using lots of analogies.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.beeminder.com/control/&quot; title=&quot;Examples: Software bugs, paper, clutter, read-it-later queues, browser tabs, trello cards, email, ...&quot;&gt;Control Systems For Backlogs&lt;/a&gt; lays out a particular beemindable system for whittling down a backlog.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Freshening is for the case that you have something &lt;em&gt;like&lt;/em&gt; a backlog except you have no illusions of ever clearing it.
So a collection more than a backlog.
Here&amp;#8217;s the Freshening Series so far:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.beeminder.com/freshen&quot; title=&quot;Beeminder blog post about backlog freshening (for tech nerds)&quot;&gt;Backlog Freshening&lt;/a&gt; introduces the core idea: a beemindable system for ensuring nothing in your collection ever gets too stale, focused on a GitHub use case.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.beeminder.com/freshdocs/&quot; title=&quot;Sequel to the more tech-oriented post on Backlog Freshening&quot;&gt;Backlog Freshening For Humans&lt;/a&gt; by Beeminder Support Czar Nicky broadens the idea beyond tech nerdery, focusing on the example of keeping Beeminder&amp;#8217;s 
&lt;a href=&quot;https://help.beeminder.com&quot; title=&quot;Very helpful, such documentation (seriously, it&amp;#39;s an impressively expansive collection of every aspect of using Beeminder, big beautiful beast that it is)&quot;&gt;help docs&lt;/a&gt; fresh. (This continues to be a smashing success.)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.beeminder.com/rolodex&quot; title=&quot;We feel old just knowing what a physical rolodex is but I guess it&amp;#39;s in the dictionary now as just one&amp;#39;s personal list of contacts, however that&amp;#39;s manifested&quot;&gt;Rolodex Goals&lt;/a&gt; gets specific about how Bethany and I use a freshening system on our database of contacts, i.e., how we beemind being less neglectful of our friends and family.&lt;/li&gt;
&lt;li&gt;This post, Freshenable Collections, in which&amp;#8230;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;#8230;we start with a partial list of other collections we have ongoing freshening goals for on Beeminder, in case anyone&amp;#8217;s inspired.
Some of these may be worth their own future posts; just ask if you want details.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Beeminder&amp;#8217;s Operations Manual&lt;/li&gt;
&lt;li&gt;Beeminder blog post ideas and drafts&lt;/li&gt;
&lt;li&gt;My and Bethany&amp;#8217;s relationship repo aka conversation stack&lt;/li&gt;
&lt;li&gt;Post ideas for my other blogs/newsletters&lt;/li&gt;
&lt;li&gt;Beeminder&amp;#8217;s main bugtracker&lt;/li&gt;
&lt;li&gt;BeemiOS&amp;#8217;s bugtracker&lt;/li&gt;
&lt;li&gt;Beebrain&amp;#8217;s bugtracker&lt;/li&gt;
&lt;li&gt;Omnitask aka my personal tasks/notes (yes, I use a collection of gissues the way other people use Notion or Obsidian)&lt;/li&gt;
&lt;li&gt;Math puzzles (but actually this is currently just part of Omnitask&amp;#8201;&amp;#8212;&amp;#8201;gissues tagged PUZ)&lt;/li&gt;
&lt;li&gt;Beeminder&amp;#8217;s Tips of the Day that we auto-include in bot emails&lt;/li&gt;
&lt;li&gt;Bibliophilia aka books I want to read&lt;/li&gt;
&lt;li&gt;Household projects&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I&amp;#8217;ve been on a tear lately with freshening goals, and my protocol to bootstrap them has been like so (this parallels the &amp;#8220;Phase 1: Migration&amp;#8221; section of the 
&lt;a href=&quot;https://blog.beeminder.com/rolodex&quot; title=&quot;Phase 1: Migration. Phase 2: Steady State. Epilog: Dialing It In.&quot;&gt;Rolodex post&lt;/a&gt;):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I notice I have something like 
&lt;a href=&quot;https://forum.beeminder.com/c/buzzles/49&quot; title=&quot;Buzzles: the math puzzle section of the Beeminder forum&quot;&gt;math puzzles&lt;/a&gt; or 
&lt;a href=&quot;https://agifriday.substack.com&quot; title=&quot;My other blog, in which I freak out every Friday about the prospects for Artificial General Intelligence in a frighteningly small number of decades or conceivably years&quot;&gt;AGI Friday&lt;/a&gt; post ideas that I want a freshenable collection of.&lt;/li&gt;
&lt;li&gt;Create the empty collection, which for me usually means creating a repo in GitHub.&lt;/li&gt;
&lt;li&gt;Create the freshening goal on Beeminder.&lt;/li&gt;
&lt;li&gt;To get the +1, look for an existing puzzle or post idea, wherever it currently lives, and migrate it to an item in the new collection.&lt;/li&gt;
&lt;li&gt;If all the pre-existing stuff is already migrated, then make an epsilon improvement to the oldest item, i.e., freshen it. 
That&amp;#8217;s where all +1&amp;#8217;s come from in the steady state.&lt;/li&gt;
&lt;li&gt;Creating new items doesn&amp;#8217;t give you +1&amp;#8217;s&amp;#8201;&amp;#8212;&amp;#8201;freshening is all about the old stuff.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The short version of all those steps is that migrating pre-existing items to your collection counts as freshening.&lt;/p&gt;
&lt;br /&gt;
&lt;div style=&quot;border-style:solid;border-width:1px;padding:10px 70px 20px&quot;&gt;

&lt;h3&gt;&lt;center&gt;Sidebar: Blog Dogfood&lt;/center&gt;&lt;/h3&gt;

&lt;p&gt;I&amp;#8217;ve been doing this for Beeminder blog post drafts/notes/ideas for over three years.
At the moment there are 
&lt;a href=&quot;https://github.com/beeminder/blog/issues?q=is:issue%20state:open%20-label:DEV%20-label:pub%20-label:nix&quot; title=&quot;Yes, the repo for this is technically public, if you&apos;re really curious about what&apos;s in the blog pipeline&quot;&gt;135&lt;/a&gt;
future potential blog posts in the works!
Most are extremely low-fractionally-baked ideas and probably most will never and should never see the light of day, but it&amp;#8217;s really nice to have a way to curate the collection sanely and not just have it be a black hole.)&lt;/p&gt;


&lt;/div&gt;

&lt;br /&gt;

&lt;p&gt;Finally, thanks to brainstorming help from many of you, here&amp;#8217;s a meta-collection of ways to maintain a collection that all support the critical feature for freshening:
a way to sort or query for the least-recently-edited item.&lt;/p&gt;
&lt;p&gt;(Optional additional feature: a way to mark items as snoozed, meaning they&amp;#8217;re immune from freshening.
Which means your query/sort-by-stalest needs to be able to exclude snoozed items. 
For example, if you&amp;#8217;re using a kanban tool like Trello, you can manually drag items to the bottom of their column when you freshen them, and move them to another column to snooze them.)&lt;/p&gt;
&lt;p&gt;Without further ado, the meta-collection:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;GitHub Issues (I use this for evvvverything (and maybe this is 
&lt;a href=&quot;https://simonwillison.net/2025/May/26/notes/&quot; title=&quot;HT aad. And apparently I&amp;#39;ve created over ten thousand combined gissues and comments!&quot;&gt;not crazy?&lt;/a&gt;))&lt;/li&gt;
&lt;li&gt;The Things 3 app on iOS, with 
&lt;a href=&quot;https://forum.beeminder.com/t/things3-to-beeminder-todozero/10254/8?u=dreev&quot; title=&quot;Forum post in which Philip lays it out&quot;&gt;hackery from Philip Hellyer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kanban apps like Trello or GitHub Projects (see parenthetical above)&lt;/li&gt;
&lt;li&gt;A spreadsheet with a &amp;#8220;last freshened&amp;#8221; column&lt;/li&gt;
&lt;li&gt;Plain text files in a directory sorted by last-edited&lt;/li&gt;
&lt;li&gt;Emacs Org mode, probably&lt;/li&gt;
&lt;li&gt;Airtable, almost surely&lt;/li&gt;
&lt;li&gt;Obsidian with the Dataview or Tasks plugin&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://taskwarrior.org/&quot; title=&quot;Super nerdy, open-source tool that&amp;#39;s been around forever and supports GTD principles though is agnostic about them&quot;&gt;Taskwarrior&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mark Forster&amp;#8217;s 
&lt;a href=&quot;http://markforster.squarespace.com/autofocus-system/&quot; title=&quot;We often call these dot lists&quot;&gt;Autofocus&lt;/a&gt; on paper&lt;/li&gt;
&lt;li&gt;Any collection of paper, like sheet music for songs in one&amp;#8217;s piano repertoire&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Thanks to Alys, Marcin Borkowski, lanthala, Brent Yorgey, and Robert Perce for contributing ideas for this post.&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>akrasia</category><category>case studies</category><category>productivity porn</category><author>dreev</author><comments>https://blog.beeminder.com/freshenable#disqus_thread</comments></item><item><title>Time Stream &amp;hearts; Beeminder: A New App by a Long-Time Beeminder User</title><link>https://blog.beeminder.com/timestream</link><guid isPermaLink="true">https://blog.beeminder.com/timestream</guid><description>We’re thrilled and honored to welcome back to the blog the esteemed Mary Renaud, PhD. Though for now, only iPhone people can reap what Mary has sown… I’m excited to officially announce my first iOS app: Time Stream! What is Time Stream? Time Stream is a routine management app that adapts when your day...</description><pubDate>Thu, 05 Jun 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;Swimming in a stream of clocks&quot; title=&quot;Dramatization. Actual app experience may differ. We (the Beeminder founders) are Android people, so we&apos;re not entirely sure.&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/f91b59bc-b884-42e5-ba8f-8ba51a23d492&quot; /&gt;
 &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;We&amp;#8217;re thrilled and honored to welcome back to the blog the esteemed Mary Renaud, PhD.
Though for now, only iPhone people can reap what Mary has sown&amp;#8230;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’m excited to officially announce my first iOS app: Time Stream!&lt;/p&gt;
&lt;h3&gt;What is Time Stream?&lt;/h3&gt;
&lt;p&gt;Time Stream is a routine management app that adapts when your day doesn&amp;#8217;t go as planned.
Routines will wrap around things that get scheduled into your day or adjust when something takes longer than expected.&lt;/p&gt;
&lt;p&gt;I’ve had a lot of trouble with rigid scheduling apps and calendar templates that broke in the face of life’s little interruptions or when my schedule changed a little&amp;#8230; 
So I built something that lets my routines kind of ride the current of the day.&lt;/p&gt;
&lt;p&gt;You can create personalized morning, evening, and custom routines, each with activities with estimated durations. 
The app estimates when each routine will be finished and those completion time estimates update as you go. 
When the inevitable happens and things change (something runs late or gets interrupted or procrastinated), it automatically recalculates when the other activities and routine can fit in, so you can see exactly what you’ll still have time for, and you can adjust without losing track or spending a bunch of time fiddling with changing today’s plan. 
It also shows you exactly how your routines will wrap around your calendar events, and will give you visual cues if your routines are going to run past important critical times in your day, like when you need to leave for work. 
And it keeps me honest about whether “I’ll just do that later” is actually feasible, because I always know how much buffer I have in my day between my routines and my events or important times thresholds.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://github.com/user-attachments/assets/1a94a4e0-d60a-4483-b6cd-930f048b4d03&quot; alt=&quot;Example Today screen from iphone app&quot; width=&quot;450px&quot; class=&quot;aligncenter&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;What’s The Benefit of Adding Beeminder Goals to Time Stream?&lt;/h3&gt;
&lt;p&gt;As a Beeminder user of over 12 years, it was critical to me that it work with Beeminder. 
Beeminder has had a huge effect on the shape of my life. 
But, given I tend to beemind a lot, I’ve also had a hard time being able to visualize when my day was getting off the rails and my infinitely many Beeminder goals wouldn’t all be accomplishable if I didn’t get moving RIGHT NOW. 
(I used to use the fantastic 
&lt;a href=&quot;https://blog.beeminder.com/waterfalls&quot; title=&quot;Beeminder blog post about deadline waterfalls&quot;&gt;waterfall method&lt;/a&gt;, but things changed a little in my day’s structure, making it harder to make that work.)&lt;/p&gt;
&lt;p&gt;Each activity can be linked to a Beeminder goal so that, when you check it off in Time Stream, it adds a +1 datapoint to that Beeminder goal immediately (or, as of a recent update, if you check it off while offline, it will add it as soon as you&amp;#8217;re back online).&lt;/p&gt;
&lt;p&gt;And since I’ve never seen an over-engineered system I didn’t love, I also added “critical times” which are visual representations of thresholds in the day that I want to be aware of. 
We can use this for things like making sure morning routines are done before the “critical time” to leave the house or that evening routines don&amp;#8217;t extend past bedtime. 
Beeminder users can also, if we want, set the deadlines for activities in a given routine to a specific deadline, and then set that deadline as a critical time in the app. 
The app will then flag if a routine connected to that critical time is going to go past that deadline, so you know if you’re at risk of derailing any of the goals in that set.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://github.com/user-attachments/assets/03f5ecbc-8f2f-4b51-b13b-6547ac8108a9&quot; alt=&quot;Screenshot of after critical screen in iphone app&quot; width=&quot;450px&quot; class=&quot;aligncenter&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;Setting Up Your Time Stream + Beeminder Goals&lt;/h3&gt;
&lt;p&gt;In the Time Stream app, go to Settings &amp;gt; Integrations &amp;gt; Beeminder. 
You&amp;#8217;ll need to authenticate with Beeminder. 
This does not get sent to or saved to any Time Stream servers or anything (nothing does). 
Then, select which Beeminder goal should receive +1 data from Time Stream activities by selecting the goalname and the activity.&lt;/p&gt;
&lt;p&gt;That’s it. Done.&lt;/p&gt;
&lt;p&gt;You can connect more than one activity to a goal. 
(I use this, for example, because my Weekend routine and Weekday routines are different, but &lt;em&gt;some&lt;/em&gt; of the activities overlap, and I don’t want two different Beeminder goals for the Weekday &amp;amp; Weekend versions of that commitment.)&lt;/p&gt;
&lt;h3&gt;Caveats&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;A New App from a New Developer&lt;/strong&gt;: 
I’m brand new to developing for Apple devices, so there are still a few bugs being worked out. 
I’m fairly confident there are no bugs left in the Beeminder integration, though. 
Since those are potentially costly to users, they’re top priority. 
The price will go up between 50% and 100% down the line but, for now, I’m keeping it at the current price ($8 USD), in case there is the occasional bug that might be frustrating to users as I learn.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Upgrades won’t be free, but there’s no subscription cost&lt;/strong&gt;: 
There are no server costs, so I’m going with a no-subscription model. 
You buy the current version and don’t have to pay for it again. 
When major updates happen, you can choose between sticking with what you’ve got, or upgrading. 
Bug fixes will be included for two years for each version (as long as we’re still in business!) but new major versions or fixing older version when new a iOS break things won’t be.&lt;/p&gt;
&lt;h3&gt;In the End&amp;#8230;&lt;/h3&gt;
&lt;p&gt;Building Time Stream has been my own answer to years of life&amp;#8217;s unpredictability clashing with my &amp;#8220;perfectly&amp;#8221; planned routines and Beeminder goals.&lt;/p&gt;
&lt;p&gt;If you, too, know the pain of frantically calculating whether you can still hit all your goals when your day goes sideways, maybe this will be helpful for you too.&lt;/p&gt;
&lt;p&gt;Want to get started with Time Stream? 
Download it at 
&lt;em&gt;&lt;a href=&quot;https://time-stream.app/&quot; title=&quot;Time Dash Stream Dot App&quot;&gt;time-stream.app&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>akrasia</category><category>integrations</category><category>productivity porn</category><category>rationality</category><category>startups</category><category>apps</category><author>Mary Renaud</author><comments>https://blog.beeminder.com/timestream#disqus_thread</comments></item><item><title>Rolodex Goals</title><link>https://blog.beeminder.com/rolodex</link><guid isPermaLink="true">https://blog.beeminder.com/rolodex</guid><description>We have a pair of blog posts from 2022 called “Backlog Freshening” and “Backlog Freshening For Humans” that we’re still very pleased with. To recap, say you have a backlog of something — tasks, emails, blog post drafts, bugs, you name it — that it’s not realistic to clear. (If you do need to clear it,...</description><pubDate>Wed, 21 May 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/5dd3d925-65bd-4a7e-a7fd-9ff66169af63&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We have a pair of blog posts from 2022 called
&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/freshen&quot; title=&quot;Beeminder blog post about backlog freshening (for tech nerds)&quot;&gt;Backlog Freshening&lt;/a&gt;&amp;#8221; and
&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/freshdocs/&quot; title=&quot;Sequel to the more tech-oriented post on Backlog Freshening&quot;&gt;Backlog Freshening For Humans&lt;/a&gt;&amp;#8221; that we&amp;#8217;re still very pleased with.
To recap, say you have a backlog of something&amp;#8201;&amp;#8212;&amp;#8201;tasks, emails, blog post drafts, bugs, you name it&amp;#8201;&amp;#8212;&amp;#8201;that it&amp;#8217;s not realistic to clear.
(If you do need to clear it, see 
&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/control/&quot; title=&quot;Another Beeminder blog post from 2022. Or if you really want to go down the rabbit hole, see our 2019 post (linked from the Control Systems one) about Redqueening, Inbox Zero, Backlogs, and Fluid Dynamics.&quot;&gt;Control Systems For Backlogs&lt;/a&gt;.&amp;#8221;)
Which is to say, you have a collection of items.
And you don&amp;#8217;t want the collection to be the place where items go to die.
Enter freshening, in which you sort the collection by least-recently-touched, and then you beemind regularly revisiting the collection, stalest item first.
Every +1 that Beeminder demands is satisfied by making progress on or improving in some way that stalest item.
You can also think of it as doing spaced repetition on your collection.&lt;/p&gt;
&lt;p&gt;It turns out we have a lot more to say about this, most of which we&amp;#8217;re saving for a future post about Freshenable Collections generally.
Today we want to share a particular example we think this works great for: your rolodex.&lt;/p&gt;
&lt;p&gt;Oh, sorry non-ancient people, that means your database of contacts.
As in friends and family and colleagues.
Fellow humans with whom you have relationships.&lt;/p&gt;
&lt;p&gt;Being weirdos, Bee and I keep ours in a GitHub repository as a set of gissues (er, GitHub Issues&amp;#8201;&amp;#8212;&amp;#8201;we call them &amp;#8220;gissues&amp;#8221;; did we mention we&amp;#8217;re weirdos?).
You need something that lets you sort or query by least-recently-updated, and gissues are such a thing.
So here&amp;#8217;s the protocol we use.&lt;/p&gt;
&lt;h3&gt;Phase 1: Migration&lt;/h3&gt;
&lt;p&gt;Assuming you don&amp;#8217;t already have your address book in a collection that&amp;#8217;s sortable by least-recently-touched, you can make the migration part of the Beeminder freshening goal.
Here&amp;#8217;s how that looked for us:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Export your Google Contacts to a big text file&lt;/li&gt;
&lt;li&gt;Create an empty private GitHub repository called &amp;#8220;rolodex&amp;#8221;&lt;/li&gt;
&lt;li&gt;Create a freshening goal on Beeminder (also &amp;#8220;rolodex&amp;#8221;)&lt;/li&gt;
&lt;li&gt;When Beeminder demands its +1, satisfy it by moving a contact from the text file into a newly created gissue for that person&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In other words, migrating pre-existing items to gissues counts as freshening.&lt;/p&gt;
&lt;p&gt;Note: In the event you someday make a new friend you should certainly make a gissue for them, but that doesn&amp;#8217;t count as a +1 on the freshening goal.
Freshening is all about the old stuff.
Eventually the new friend will become the stalest gissue and you&amp;#8217;ll freshen them then.&lt;/p&gt;
&lt;h3&gt;Phase 2: Steady State&lt;/h3&gt;
&lt;p&gt;Ok, suppose there&amp;#8217;s no one left to migrate.
You keep right on going with the same Beeminder goal, just that how you get those +1&amp;#8217;s changes.
Now you get your +1 by pulling up the stalest gissue and freshening it, i.e., updating it so it&amp;#8217;s no longer the least recently updated one.&lt;/p&gt;
&lt;p&gt;Things that change the updated-at date on GitHub include editing the description or title, changing tags, adding or editing a comment, and assigning the gissue to someone.&lt;/p&gt;
&lt;p&gt;(That last one matters for Bee and me, sharing a rolodex. 
She can assign me people on my side of the family, for example.
Then when sorting by least-recently-touched, we can also filter out gissues assigned to the other person.
Also we&amp;#8217;re currently doing this with individual goals but this is a great use case for
&lt;a href=&quot;https://blog.beeminder.com/groupies&quot; title=&quot;Blog post announcing the group goals feature. Short version is you can have a single goal that appears in multiple people&amp;#39;s galleries, any of those people can add data to it, and if it derails, everyone is charged.&quot;&gt;group goals&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;Emoji reacts and external references don&amp;#8217;t seem to update the timestamp.&lt;/p&gt;
&lt;p&gt;That said, and possibly especially because there are two of us beeminding the same list (consistency! accountability!), we like to have some guidelines for what counts.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adding or updating contact info (addresses, phone numbers, etc)&lt;/li&gt;
&lt;li&gt;Adding any notes about birthdays or children&lt;/li&gt;
&lt;li&gt;Editing keywords or labels/tags (maybe you want to be able to search up all the lawyers or nurses you know?)&lt;/li&gt;
&lt;li&gt;Adding notes about your history together&lt;/li&gt;
&lt;li&gt;And of course: actually pinging the person&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Of course, contacting a person IRL doesn&amp;#8217;t update the timestamp of the gissue, so either leave a comment with a brief description of how/why you pinged them, or add a list of dates you talked. &lt;/p&gt;
&lt;p&gt;What if there&amp;#8217;s someone whose entry in your rolodex has reached quiescence/efflorescence and you don&amp;#8217;t have it in you to reach out to them?
(Hopefully this isn&amp;#8217;t because it&amp;#8217;s been so long that you&amp;#8217;re embarrassed to, but that&amp;#8217;s all the more reason to get a rolodex freshening goal up and running!)
Whatever the reason, there&amp;#8217;s one other option for freshening them, which we call snoozing them.
Technically, that means applying a special label that you exclude when you query for the stalest contact in the rolodex.
Pragmatically/morally, it means admitting that you&amp;#8217;re ok with that person going out of sight and out of mind if they don&amp;#8217;t initiate contact themselves.
They&amp;#8217;re still in the system, still searchable, but you&amp;#8217;re taking them out of your freshening rotation.
Probably permanently, since Beeminder will never prompt you to ping them again.&lt;/p&gt;
&lt;h3&gt;Dialing It In&lt;/h3&gt;
&lt;p&gt;I&amp;#8217;m at 316 freshenings and counting, dialed to 0.29 per day.
It doesn&amp;#8217;t really matter how steep your bright red line is but one way you might want to think of it is that, if you dialed it to 1 per day and you have, say, 350 unsnoozed contacts, that&amp;#8217;s almost a year between freshening each contact.
If you have 700 contacts, maybe commit to 2/day (or 1.9) if you don&amp;#8217;t want to neglect anyone for more than a year.
If you&amp;#8217;re ok going a few years between freshening any given person, well, you can do the math.
(Namely, dial the bright red line to \(\frac{n}{d}\) where \(n\) is how many contacts you have and \(d\) is your preferred staleness cap in days.)&lt;/p&gt;
&lt;p&gt;We&amp;#8217;ve been evolving this system for three years now and hope others can get value out of it as well, or take inspiration from it.
We&amp;#8217;ll end with Beeminder superuser Lanthala&amp;#8217;s description of her rolodex system, since it&amp;#8217;s more normal-person-friendly and generally much simpler than ours:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I keep a spreadsheet called Friends &amp;amp; Contacts, where each person is a row. 
One of the columns is &amp;#8220;last pinged&amp;#8221;, and I usually keep the sheet sorted by that column so I can see who has been neglected. 
It is very low lift and high usefulness, especially for former work colleagues who I&amp;#8217;d normally lose touch with. 
And I have a Beeminder goal to ping a person on my spreadsheet about once every 10 days, which keeps me checking the sheet.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Beeautiful!&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>akrasia</category><category>case studies</category><category>social graph</category><author>dreev</author><comments>https://blog.beeminder.com/rolodex#disqus_thread</comments></item><item><title>Maximal Motivation At Minimal Cost: A Calculus Problem</title><link>https://blog.beeminder.com/optivate</link><guid isPermaLink="true">https://blog.beeminder.com/optivate</guid><description>The golden mean of Beeminder: If you never derail, dial up your bright red lines — if you’re derailing all the time, dial them down. Thanks to felixm and others in  the forum for inspiring this post. The previous blog post in our series on how derailing is good-actually (see the sidebar for a review)...</description><pubDate>Wed, 07 May 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;A golden bee at a chalkboard, optimizing, with math&quot; title=&quot;It&apos;s funny how, if you didn&apos;t know that Aurea Mediocritas is Latin for Golden Mean or Happy Medium, you&apos;d think it was Aura of Mediocrity&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/756db57a-e87a-4df3-8202-d4d3ae519e40&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The golden mean of Beeminder: If you never derail, dial up your bright red lines&amp;#8201;&amp;#8212;&amp;#8201;if you&amp;#8217;re derailing all the time, dial them down.
Thanks to felixm and others in 
&lt;a href=&quot;https://forum.beeminder.com/t/my-accumulated-spending-on-beeminder-just-exceeded-1-000/10910?u=dreev&quot; title=&quot;Kicked by felixm with “My accumulated spending on Beeminder just exceeded $1,000”&quot;&gt;the forum&lt;/a&gt; for inspiring this post.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The previous blog post in our series on how derailing is good-actually (see the sidebar for a review) ended thusly:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The (meta) goal is to be pushed to do as much as possible&amp;#8201;&amp;#8212;&amp;#8201;or whatever maximizes the motivational value you get from Beeminder&amp;#8201;&amp;#8212;&amp;#8201;at minimal cost.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Shall we do math to that?&lt;/p&gt;
&lt;p&gt;Backing up, we&amp;#8217;ve been making a gradual shift in Beeminder philosophy from the early days.
We used to lean in to the 
&lt;a href=&quot;https://blog.beeminder.com/contrapositive/&quot; title=&quot;Why Beeminder is a Glutton For Punishment -- but it&amp;#39;s less contradictory to our current framing than it sounds&quot;&gt;punishment framing&lt;/a&gt;, where pledge payments were penalties for falling short of your commitments and quantified how bad of a person you were.
Just kidding.
But we&amp;#8217;re now pretty serious about treating it as the exact opposite of that.
The pledges you commit towards your goals are helping you make progress on your goals, &lt;em&gt;even when you pay them&lt;/em&gt;.&lt;/p&gt;
&lt;br /&gt;
&lt;div style=&quot;border-style:solid;border-width:1px;padding:10px 70px 20px&quot;&gt;

&lt;h3&gt;&lt;center&gt;Sidebar: The &amp;#8220;derailing is good-actually&amp;#8221; series&lt;/center&gt;&lt;/h3&gt;

&lt;ol&gt;

&lt;li&gt;&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/beenice&quot; title=&quot;Over ten years old now!&quot;&gt;Bee Nice To Yourself&lt;/a&gt;&amp;#8221; 
(2014) 
planted the seed for the rest of this list.
It&amp;#8217;s our cofounder, Bee, pointing out that treating oneself to a derailment now and then is ok.
It even helps clarify the value you have for various behaviors. 
Bee asks herself, for example, &amp;#8220;how much do I want to &lt;em&gt;not&lt;/em&gt; go for a run right now?&amp;#8221;
If it&amp;#8217;s less than $10, she&amp;#8217;ll run.
If it&amp;#8217;s more, she&amp;#8217;ll pay.
And if she gets up to $90 at stake and still does&amp;#8217;t want to go running, she&amp;#8217;ll re-evaluate why she&amp;#8217;s trying to get herself to run in the first place.&lt;/li&gt;

&lt;li&gt;&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/defail&quot; title=&quot;Footnote: Exceptions apply. If we lock everyone out of their goals, collect all the derailment money, and flee to Mexico, that could count as revenue being incongruent with users’ awesomeness.&quot;&gt;Derailing Is Not Failing&lt;/a&gt;&amp;#8221;
(2019) 
argues that Beeminder revenue is proportiional to user-awesomeness&amp;#8201;&amp;#8212;&amp;#8201;that pushing yourself hard enough that you sometimes derail is great for us and great for you. You don’t know how much more you could be accomplishing unless you sometimes find your limits!&lt;/li&gt;

&lt;li&gt;&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/depunish&quot; title=&quot;The title image on this one, by the cofounders&apos; kid, is especially great. We could also make you wear a scarlet B when you derail. Kidding. The point is to be the opposite of that.&quot;&gt;Paying Is Not Punishment&lt;/a&gt;&amp;#8221;
(2022) 
is a prelude to the subsequent announcement of &lt;a href=&quot;https://blog.beeminder.com/noexcuses&quot; title=&quot;Blog post announcing how we replaced weaselproofing with No-Excuses Mode (but probably once the old dumb version of weaselproofing is forgotten we&apos;ll probably reuse the term as a synonym for enabling No-Excuses Mode)&quot;&gt;No-Excuses Mode&lt;/a&gt; and advocates for a generally less excuse-making and more results-oriented mentality with Bee
minder.&lt;/li&gt;

&lt;li&gt;&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/nailingit&quot; title=&quot;New idea: Give you a gold star to wear when you derail. Excerpt: Each derailment is a time you reestablished your commitment to completing your goal by getting back on track.&quot;&gt;Derailing It Is Nailing It&lt;/a&gt;&amp;#8221; 
(2023) 
turns the concept up to eleven and gives it a positive spin.&lt;/li&gt;

&lt;li&gt;&amp;#8220;&lt;a href=&quot;https://blog.beeminder.com/pigou&quot; title=&quot;Excerpt: It’s a tax on excess indulging. It’s ok to pay it sometimes, just not too often.&quot;&gt;Beeminder As Your Personal Pigouvian Tax&lt;/a&gt;&amp;#8221;
(2024) 
argues for a reframing from a punitive to a taxing mindset, where you treat Beeminder&amp;#8217;s stings as a behavior-shaping tax and accept that some derailments are inevitable.
You can view that tax as the cost of the service Beeminder provides: nudges or rumble strips keeping you on track.&lt;/li&gt;

&lt;li&gt;This post (2025) refines the derailing=good advice.
The ideal amount to derail on Beeminder is not never and it&amp;#8217;s not constantly.
You don&amp;#8217;t need to solve a calculus problem but do dial in the slope of your bright red line and your pledge cap to find your happy medium by feel.&lt;/li&gt;

&lt;/ol&gt;



&lt;/div&gt;

&lt;br /&gt;


&lt;h3&gt;Why not not maximal motivation at zero cost?&lt;/h3&gt;
&lt;p&gt;This is theoretically possible!
Nick Winter advocates for it in his 2013 post, 
&lt;a href=&quot;https://blog.beeminder.com/nick&quot; title=&quot;Key concept handle: success spirals&quot;&gt;Spiraling Into Control&lt;/a&gt;.
And see especially his classic book, &lt;em&gt;The Motivation Hacker&lt;/em&gt;.
We&amp;#8217;re in awe of Nick but we don&amp;#8217;t think this is sustainable (for anyone but Nick?).
Or at least that it entails non-monetary costs, like stress and elaborate setup.
Nick had to literally commit to writing a book about it to make that all work.&lt;/p&gt;
&lt;h3&gt;The extremes&lt;/h3&gt;
&lt;p&gt;If we don&amp;#8217;t think the best of both worlds is realistic, how do we optimize this?
Let&amp;#8217;s first consider two extremes.&lt;/p&gt;
&lt;p&gt;At one extreme is a total lack of ambition:
A flat red line, no risk, no cost, nothing accomplished beyond what you would&amp;#8217;ve accomplished with no Beeminder graph at all.&lt;/p&gt;
&lt;p&gt;At the other extreme is maximal ambition: 
your red line is as steep as is humanly achievable, your pledge is at the edge of affordability, and so you get the maximum accomplished at high cost.&lt;/p&gt;
&lt;p&gt;Neither of those sound great and they suggest a happy medium in which you accomplish a lot and derail sometimes but not too often.&lt;/p&gt;
&lt;p&gt;So the final section of this post is just for fun.
We don&amp;#8217;t actually have to do math to this.
In reality, you can and should dial in your sweet spot by feel.
If you haven&amp;#8217;t derailed a goal for months, make it a bit harder.
If you&amp;#8217;re derailing every week, ask yourself: is it that the goal is too hard, or is it too cheap to be motivating?
Adjust the stakes or the steepness of the bright red line accordingly.
If it&amp;#8217;s stressing you out, drop the pledge and/or dial down the commitment.
Maybe keep reassessing 
&lt;a href=&quot;https://blog.beeminder.com/calendial&quot; title=&quot;Blog post about a handy meta-beeminding protocol&quot;&gt;week by week&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;The calculus problem&lt;/h3&gt;
&lt;p&gt;Ok, but pretend you&amp;#8217;re a robot, or homo economicus, and can model everything about your life with a nice clean equation.
(Even I wouldn&amp;#8217;t actually do this; like I said, this is just for fun.)
We&amp;#8217;ll assume that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;\(s\) is your stakes&lt;/li&gt;
&lt;li&gt;\(r\) is the daily rate of your bright red line&amp;#8201;&amp;#8212;&amp;#8201;the amount of work you&amp;#8217;ve committed to do per day&lt;/li&gt;
&lt;li&gt;\(R\) is the maximum possible value for \(r\)&lt;/li&gt;
&lt;li&gt;\(v\) is the value you get per unit of work accomplished&lt;/li&gt;
&lt;li&gt;\(u\) is the probability of an unavoidable derailment (we&amp;#8217;re assuming 
&lt;a href=&quot;https://blog.beeminder.com/noexcuses&quot; title=&quot;Blog post announcing how we replaced weaselproofing with No-Excuses Mode (but probably once the old dumb version of weaselproofing is forgotten we&amp;#39;ll probably reuse the term as a synonym for enabling No-Excuses Mode)&quot;&gt;No-Excuses Mode&lt;/a&gt; here)&lt;/li&gt;
&lt;li&gt;\(\lambda\) and \(\alpha\) are tunable parameters determining how steeply your risk of derailing drops as your stakes (\(s\)) go up and how much it increases with your rate (\(r\)).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So we&amp;#8217;re treating \(v\cdot r\) as your total daily motivation, assuming you don&amp;#8217;t derail.
Next, assume your daily probability of avoidably derailing is (why not?) like so:&lt;/p&gt;
&lt;p&gt;$$
d(r,s) = \left(\frac{r}{R}\right)^{\alpha} e^{-\lambda s}.
$$&lt;/p&gt;
&lt;p&gt;So your total probability of derailing is \(d(r,s)+u\).
Now we can work out your expected motivation per dollar:&lt;/p&gt;
&lt;p&gt;$$\text{MP\$}(r,s)=\frac{\text{motivation gained}}{\text{dollars lost}}.$$&lt;/p&gt;
&lt;p&gt;Which is:&lt;/p&gt;
&lt;p&gt;$$
\frac{(1-d-u)\cdot v\cdot r}{(d+u)\cdot s}.
$$&lt;/p&gt;
&lt;p&gt;Inserting \(d(r,s)\) and simplifying yields:&lt;/p&gt;
&lt;p&gt;$$
-\frac{r v\left(\left(\frac{r}{R}\right)^\alpha+(u-1) e^{\lambda s}\right)}{s\left(\left(\frac{r}{R}\right)^\alpha+u e^{\lambda s}\right)}.
$$&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s strictly concave in \(r\) if \(0&amp;lt;\alpha&amp;lt;1\),
so a unique interior maximum exists.
Finally we&amp;#8217;ve found our calculus problem!
For given stakes, the rate that maximizes motivation per dollar is the one satisyfing&lt;/p&gt;
&lt;p&gt;$$
\frac{\partial}{\partial r}\text{MP\$}(r,s)=0.
$$&lt;/p&gt;
&lt;p&gt;Differentiation, whee:&lt;/p&gt;
&lt;p&gt;$$
-\frac{v \left((\alpha+2 u-1) e^{\lambda s}\left(\frac{r}{R}\right)^\alpha+\left(\frac{r}{R}\right)^{2\alpha}+(u-1)u e^{2 \lambda s}\right)}{s\left(\left(\frac{r}{R}\right)^\alpha+u e^{\lambda s}\right)^2} = 0.
$$&lt;/p&gt;
&lt;p&gt;And algebra, whee:&lt;/p&gt;
&lt;p&gt;$$
r^{\ast}(s) = 2^{-1/\alpha} R \left(-e^{\lambda s}\left(\pm \sqrt{4 \alpha u+(\alpha-1)^2}+\alpha+2u-1\right)\right)^{\frac{1}{\alpha}}.
$$&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s how it looks in Mathematica:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; src=&quot;https://github.com/user-attachments/assets/e5035e4d-8bc2-4eac-880c-651634023524&quot; /&gt;&lt;/p&gt;
&lt;p&gt;So there you have it, gruelingly Goldilocksed.
Under a blizzard of contrived assumptions, you now know that when your stakes are at $90 you should dial your bright red line to 29.9% of the maximum you can do, in order to maximize motivation per dollar spent on derailments.&lt;/p&gt;
</content:encoded><category>bee-all</category><category>rationality</category><category>akrasia</category><category>navel-gazing</category><category>math</category><author>dreev</author><comments>https://blog.beeminder.com/optivate#disqus_thread</comments></item><item><title>Beeminder ♥ Maayot</title><link>https://blog.beeminder.com/maayot</link><guid isPermaLink="true">https://blog.beeminder.com/maayot</guid><description>We’re excited to officially announce our newest integration partner:  Maayot! We’ve even got the Maayot folks here in their own words to tell you about it. Want an extra push to stay consistent with your Chinese reading? We (Maayot) are thrilled to announce our new integration with Beeminder, a powerful...</description><pubDate>Tue, 22 Apr 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img class=&quot;aligncenter&quot; title=&quot;Alternate punchline: I stopped winging it and started bee(eee)minding my daily Maayot lessons!&quot; alt=&quot;Hey Buzz, how&apos;d you get so good at reading those Chinese characters? Simple, You&apos;ve gotta BEE consistent with Maayot &amp;amp; Beeminder! -- White clouds embrace the green hills, Clear springs flow through the verdant mountains. (Claude&apos;s translation of the Chinese in the artwork)&quot; width=&quot;450px&quot; src=&quot;https://github.com/user-attachments/assets/0ce101f6-23b9-4d13-a57f-23f0f268f003&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;We&amp;#8217;re excited to officially announce our newest integration partner: 
&lt;a href=&quot;https://www.maayot.com&quot; title=&quot;Tagline: Learn Chinese as you read it&quot;&gt;Maayot&lt;/a&gt;!
We&amp;#8217;ve even got the Maayot folks here in their own words to tell you about it.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Want an extra push to stay consistent with your Chinese reading?
We (&lt;a href=&quot;https://www.maayot.com&quot; title=&quot;Tagline: Learn Chinese as you read it&quot;&gt;Maayot&lt;/a&gt;) are thrilled to announce our new integration with
&lt;a href=&quot;https://www.beeminder.com&quot; title=&quot;That&amp;#39;s us&quot;&gt;Beeminder&lt;/a&gt;, a powerful tool that helps you stick to your goals using commitment pledges.
You can now:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Track stories you read directly in Beeminder, and graph out your progress.&lt;/li&gt;
&lt;li&gt;Set goals for yourself, such as to read your daily story, every day; or a couple of times a week.&lt;/li&gt;
&lt;li&gt;Add real accountability with Beeminder&amp;#8217;s pledge system to keep you motivated:
Pledge a certain amount of money that will be debited by Beeminder if you don&amp;#8217;t meet the commitment you set.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Keep your learning sharply on track and build lasting habits.&lt;/p&gt;
&lt;p&gt;As a word of advice, if you find committing to a story a day too much, you can enter, for example, &amp;#8220;5/7&amp;#8221; in Beeminder to commit to read 5 stories a week.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Us bees chiming in again.
If you&amp;#8217;re sold, head to 
&lt;a href=&quot;https://www.beeminder.com/new&quot; title=&quot;Follow this link, or go from your dashboard, or the top-right dropdown menu&quot;&gt;beeminder.com/new&lt;/a&gt;, pick the Maayot icon from the list of integrations, and follow the prompts to connect Beeminder to your Maayot account.
Or, here, have a button:&lt;/em&gt;&lt;/p&gt;
&lt;center&gt;
&lt;a href=&quot;https://www.beeminder.com/maayot&quot;&gt;
&lt;span style=&quot;background-color:#1d76db;color:#FFF;padding:0 16px;font-size:16px;font-weight:600;line-height:3;border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,&apos;Segoe UI&apos;,Helvetica,Arial,sans-serif;display:inline-block !important&quot;&gt;
小心蜜蜂
&lt;/span&gt;
&lt;/a&gt;
&lt;/center&gt;

&lt;p&gt;&lt;em&gt;(See also the full documenation of the Maayot integration 
&lt;a href=&quot;https://help.beeminder.com/article/369-maayot&quot; title=&quot;Screenshots and everything, though we hope that it&amp;#39;s mostly self-explanatory&quot;&gt;in our help docs&lt;/a&gt;.)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Image credit:
&lt;a href=&quot;https://www.metmuseum.org/art/collection/search/77026&quot; title=&quot;Magnolia and Bees, Ding Yingzong, ca. 1700–50&quot;&gt;The MET&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>bee-all</category><category>integrations</category><category>language learning</category><category>guest posts</category><category>new features</category><category>startups</category><author>Maayot</author><comments>https://blog.beeminder.com/maayot#disqus_thread</comments></item></channel></rss>