I’m confused. Shouldn’t derailment happen as soon as you cross the wrong side? Or if you’re on the wrong side at the next deadline? (I’m now asking about after YBHP.)
What’s the new derailment condition?
I’m confused. Shouldn’t derailment happen as soon as you cross the wrong side? Or if you’re on the wrong side at the next deadline? (I’m now asking about after YBHP.)
What’s the new derailment condition?
You can be in the red during the current day, before your deadline. In fact, on an emergency day, you start out in the red. If you haven’t moved back to safety (any other color) by your deadline (default: midnight), you derail.
I very, very strongly suppose this will not change.
I’m asking about the roads now, which are sans autowidening.
How is the width of roads now determined? Is it just one day’s worth?
And do the lanes now correspond to different colors and different numbers of days till derailment?
And I think @dreev’s answer is also true now:
if you’re on the wrong side of it you’re in the red (will derail within 24 hours), if you have 24-48 hours (< 2 days) till you derail then you’re in the orange zone approaching the YBR, a little further away is the blue zone (2 days of buffer), and then the green zone (3 or more days of buffer).
@howtodowtle no - unfortunately it’s a lot more complicated than that currently. Right now, you derail if, at any time, you’re in the red and you were in the red yesterday.
I’m asking @dreev what the new derailment condition under YBHP will be.
Isn’t that (the current situation) de facto what I wrote, just in other words?
If you start in the red today and were in the red yesterday, you derail. That’s the same as being in the red and failing to get back on the road by midnight.
It’s a lot more complicated than that. Check out:
Currently, as I understand it, Beeminder has a patch to fix some problems, and this patch makes it so that the derail condition is something like: IF you were in the red at your last deadline, and IF you will be in the red at the next deadline if no additional data points are entered, THEN derail. This is, of course, a counterintuitive derail condition that will often cause derails when it shouldn’t. Because of this problematic derail condition, numerous other patches were introduced to fix…
I’m doing two “do less” goals (Internet browsing, as measured by Rescuetime, and iPhone usage which I can track on my phone and input manually). Between them, I have gone into the red three times. When I do, beeminder gives me all sorts of scary warnings and, shortly before midnight assures me I’m minutes from derailing. But when midnight rolls around I’m back in the orange again. Despite my $5 pledges I haven’t paid out any money. Perhaps the first derailment is free, but I just had my second d…
I think I may have found one explanation for the “multiple derailments on the same day” bug. I had assumed that you could only derail at the time of your deadline. But apparently if you were in the red yesterday, the system will derail you if you’re in the red at any time during the day. This causes a problem with any goal that always goes into the red mid-day. One of my goals is always in the red during the day but goes back by my deadline. So if I derailed the previous day I will always dera…
@dreev sorry - I was confused.
Wait a second - autowidening was only for weight loss?
https://blog.beeminder.com/roadwidth/
The idea is to use a zero-width road but shift it to give you enough safety buffer
So that’s just for weight loss goals, right?
So the yellow brick road has no width but if you’re on the wrong side of it you’re in the red (will derail within 24 hours),
I still don’t understand this.
There’s at least three ways the road width can change:
lanewidth
on the goal.lanewidth
as if by #1.Type #3 is called “autowidening”. Type #2 (which applies to all goals) is automatic but it doesn’t have a name that I’m aware of.
As I understand it, #3 is no longer true:
https://blog.beeminder.com/roadwidth/
Some experimenting with changing road width shows that the colors now are inconsistent but generally go with the lanes, not the number of days till derailment, sadly.
Relevant:
Interesting. This seems to be an artefact of setting a custom road width. By the custom road width of 1000, it’s clearly green because you’re above it. By the ‘natural’ road width of 2500 (related to your slope), it would be in the upper lane, so blue. I suspect that the graph colour is set by something related to beebrain that generates the graphs (and so knows/cares about road width), and that the headline blue colour is based on the time-to-derailment. Agreed that it would be good for the…
Addendum: Beeminder is actually inconsistent with itself about colors! When you load the goal page for https://www.beeminder.com/kenoubi/bike (for example) the HTML returned says <span class="doom blue" data-doom="2147306399">, but then the Javascript doom counter immediately changes it to green. The behavior of the updateDoom function is responsible for this (IMO better) behavior. @dreev @bee Would you consider just changing the API for roadstatuscolor to match this code (from the Beeminder …
I have two goals with two safe days that are showing orange on the dashboard: [image] But on the goal pages they’re showing blue, eg: [image] I know some goals are tricky in terms of safe days vs colors, but these are straightforward Do More goals where the lane width is a day’s worth of effort. Probably worth fixing (if possible) to lower newbee confusion. (I note that these two goals appear to need exactly a day’s worth of effort to stay on track, which means they’re right on the boundary…
Looking at my numbers here https://www.beeminder.com/apolyton/goals/weight The latest value is 86.8 The “hard cap by day” table shows that the 86.8 value is over the hard cap for the coming days including Thursday. But the “time left” is only 3 days (2 and today)? What am I missing?[image]
So basically beeminder will hit maturity when YBHP is here and all these weird bugs go away.
@dreev With YBHP will derailments occur only if you’re on the wrong side at your deadline? So that’s why it’s “within 24 hours”?
As I understand it, #3 is no longer true
Correct, except we’re not done migrating existing roads and have other loose ends before we’re happy with declaring auto-widening fully dead.
With YBHP will derailments occur only if you’re on the wrong side at your deadline? So that’s why it’s “within 24 hours”?
Right. Gory details: Mother of Bugs: Two Consecutive Days In The Red - #2 by dreev
@dreev thanks!
Any chance we’ll get color coding based on the “lead days” setting, like I suggested here?
Well the easiest way to implement would be to make use of the “lead days” setting. That way there would not need to be any new settings - instead, you just base the colors on the lead days for the goal. So for instance: Default: Lead Days 4, Blue 2, Orange 1, Red 0 but if you change Lead Days to 6, everything else gets bumped up 2: Lead Days 6, Blue 4, Orange 3, Red 2 But eventually there could be a detailed color configurer where you could specify which colors the goal would become at …
So rather than “red” triggering the day before, it would trigger at a number of days based on the “lead days” setting.
Status report on the key visual aspect of the Yellow Brick Half-Plane project, thanks to Uluc (@saranli)! This is all deep in the guts of Beebrain and, as usual in this thread, users don’t need to care about this at all, other than how the graph ends up looking, which is very much in flux.
Our technical term for this is days-to-derail (dtd) isolines. Oh and the yellow brick road (ybr) itself is now assumed to be zero width. It’s the bright line that you derail if you cross. Well, if you end the day on the wrong side of. So the ybr is the 1-day isoline. (Technically 0-day in the implementation right now. We have a big off-by-one error in everything that follows. See item #0 below.) The 2-day isoline is the boundary between being in the orange and being in the blue. Beyond 3 days of safety buffer is green. Seems simple enough so far but this is much easier said than done and Uluc is a literal genius.
(My favorite quote from when we were hashing this out and he wrote a Matlab script to figure out how it should work: “I just lifted the PPR function to the continuous domain as a vector, taken the integral of its negation and plotted a curve through its isopoints.”)
Here are questions and comments for each other as we get ready to ship this for a few intrepid guinea pigs:
We’re currently drawing this with the first region closest to the road as red but you’re actually safe for more than 24 hours in that region so we need to shift all the colors. It’s the bad half-plane that’s red. The shading for the oinkzone (nee pinkzone) is kinda perfect but then we need another way to visually represent the oinkzone. Grayed out? Something like caution tape?
The ppr() function in broad.js enforced ppr=0 for t < asof. We put in an option to that function to force computation of past PPRs as well so we can show colored regions for t < asof. Otherwise the entire region before asof appeared green, which is technically correct but not very useful. We want to see what the dtd margins looked like in the past.
We haven’t yet implemented the yellow guiding lines for dtd > 7, but that will be really easy. We have the green region up until dtd - 7 for now, but any region between any two dtd values can be drawn. The algorithm Uluc devised can generically compute isolines for any dtd value, which are by definition guidelines anyway.
The current color selection is too saturated; region colors should probably be less pronounced.
If you open roadeditor_test.html in the browser, you should be able to edit the road and see the regions change in real-time.
Regions can be somewhat unintuitive for doless goals, but we’re fairly certain they’re correct. Inflection points in isolines either coincide with t=t_node for inflection points on the road, or when they cross boundaries across which the ppr function changes.
Palette optimization has not yet been done for png outputs, but we can do that once and for all once we decide on the colors.
Uluc is lobbying for not cutting of the green region at the 7-day boundary as Dreev suggested. It might be ugly or confusing. Maybe much lighter colors but having the green region cover the half-plane all the way out. We can still have the yellow guiding line to indicate the special 7-day boundary.
Still need to change the color and style of the centerline-cum-bright-derailment-line. Dreev was thinking it could be bright red or something. (The dotted line was a cute thing for emulating the painted line in the center of a physical road and doesn’t make sense in the new world order.)
Finally, there are some technically incorrect aspects of the isolines for do-more goals with downward sloping segments that we’re working on. Some parts of the isolines are closer to the actual derailment points on the road since they are offset from further parts of the road. A picture should make that make more sense:
Normally, that should just be a flatline up until the point where the isoline goes above the inflection point. (Uluc was hoping to avoid another pass over the isolines for monotonicity enforcement but probably not actually a big deal if that’s the best way to do it.)
Here is a do-less example:
For do-less goals with upward vertical slopes on the road, Uluc ensured consistency with very steep segments by shifting the dtd isoline by 2*delta where delta is the vertical displacement associated with that segment. That’s why you see weird looking blocky parts on the do-less graph above.
To get a better understanding, compare the following two graphs:
This way, regions don’t jump around when going from near-vertical to true vertical. We should probably do something similarly consistent for flat road segments, says Uluc. One possible interpretation for this vertical fix is that the PPR would be twice as much as the vertical displacement on the road. The ppr() function may also want to reflect that for consistency, but that’s probably an extreme edge case.
(PS: the centerline of the road appears wrong in those screenshots because it’s from the dynamic road editor which shows the centerline pre-edits.)
what is asof?
I’ll put in my vote in agreement with Uluc on point 7.
me too!
Uluc is lobbying for not cutting of the green region at the 7-day boundary as Dreev suggested. It might be ugly or confusing. Maybe much lighter colors but having the green region cover the half-plane all the way out. We can still have the yellow guiding line to indicate the special 7-day boundary.
Seems like the Uluc lobbying has won?
This is what I get ->
I don’t really have an eye for design, but: 1) I am anti-hard green boundary at 7, but 2) what does a gradient look like?
lol, I think he meant on the graph
what is asof?
That’s like “as of”, as in, the date the data is plotted as of. Or what counted as today, as of when the graph was generated. Very gory details in GitHub! http://github.com/beeminder/road
agreement with Uluc on point 7
Yeah, I think having the good side green and the bad side red is going to look best. Much fainter green and red, but, yes. Remaining aesthetic things to work out are:
what does a gradient look like?
Ooh, smart. Possibly easier said than done to make the gradient fade parallel to the road?