Live CEOing Ep 712: Language Design Review for Visualization continued

Stephen Wolfram leads a design review of Wolfram Language visualization features for version 13.3, covering new color schemes for contour plots, interactive highlighting with callouts and pointer design, rendering bugs, and backward compatibility strategies using template boxes and dynamic fallbacks.
Chapters
All right. Hi, everyone. This is part of our version 13.3 design reviews for Wolfram Language. And it's about visualization. And our first step is what we.
Were wanting to update the colors for the contour and density plots.
This is your proposed new color scheme.
That is the. Yes. And the other plots there are just for reference of, you know, what everything else is.
But. So is Jeremy Davis here?
Yeah, I'm here.
Yep.
Well, I mean, I do prefer this somewhat to this. At least for this example.
Yeah, me too.
Okay, so what about some of these other ones? Anything changing on these other ones?
Nothing there is changing right now. Yeah, probably, you know, 14. We might do some more color updates into that blue, red space.
I mean, I do think that these colors are not the most wonderful in the world. And by the way, we had another fiasco with this stupid dynamic thing of something rasterizing wrong. Are you aware of this?
I'm trying to find out exactly what's going wrong because, you know, the way it's being described to me, you know, I. I've seen statements like, you know, cloud can't rasterize dynamic graphics, which is not true. So then. So I'm trying to find out, you know, what cloud, what dynamics.
Yeah. Okay, so ask. I mean, this came up. Where did this come up? Did this.
I've emailed Michael, who seems to know.
You know, where did it come from to you, Steven, because it was. I remember I. Disembodied statement with no information in it.
Was it part of the chat GPT plugin story? I forgot.
I. I think it is.
I think it is.
Okay. All right, fine. Okay, that was that. That's the only change there being made there. I mean, you know, and then we're.
Going to, you know, make the curves slightly thicker. Yeah, but that's not represented there yet. So.
Okay, fine. Okay.
And then the next big thing is, you know, the high. The interactive highlighting, highlighted plot highlighting.
Okay. This is mostly design.
Mostly design and some, you know, philosophical questions.
Okay. I hate. Not philosophical, very thick arrows. I hate them. Okay. Okay. Just my statement. So. So wait a minute. Where can I actually see the thing? What are you showing me here?
So these are just all these. This is a gallery of things that we could do.
Okay, well, first of all, fix the digit stuff. Is that a true statement or not?
It's in process.
Okay, so if I say plot sin X, This. Okay, why did it take a moment to come up?
I'm not sure.
Okay, so this is what it is right now. Right? It's at Least got that background color. It's three digits everywhere.
And I believe it's padding for the minus sign on that Y coordinate.
It looks like it's padding for a minus on the X coordinate as well. Even though it doesn't need it.
It's possible, but that's okay.
I mean, I think. Okay, so now let's talk about the, the appearance of the call out. Right. First of all, I think that the. The border is way too thick here.
Okay.
Anybody else want to comment on. On.
Okay.
You want it to be a different weight than the line.
We just want it to be a thin border. I don't see why it can't be arbitrarily thin. Really.
The.
The thickness of the border has to. Has something to do with the rounding areas. Sorry, rounding radius. If it is too thin, it looks. It doesn't look good.
And don't round it. I mean, I don't know. Do we need to round it? I. That. That's not Jeremy Davis or Tim. Can you comment on this, please?
Tim has an example. Without rounding that looks good. I don't think we have to have rounding.
Yeah, I think it's better without rounding. That way it contrasts the curves.
That's a good point as well. Okay, so Tim, do you want to share some stuff? What are you going to show here?
This is that first one there is this one here. Some things I did. Yeah, those are the squared corners. These are ones. These are actual things we could do with call out now.
Okay. Well, I don't like the gray background. I think the gray. I think the. What do we think about black versus other colors for the numbers?
Well, on that light background, the black shows up really well. Matches the ticks.
And we did a test. If you'd say plot theme, which one is web or marketing? Which one is dark Marketing? Marketing. And it actually works, which is good. But on the other hand, having white text on a dark background would work there too. So.
Yeah, I mean that looks fine.
Yeah.
So this is a high opacity. I mean this one could even be, you know, more transparent. Look, I think if it had thinner borders, this, this color would be perfectly reasonable. That background color. You know what I'm saying?
The really pale.
Yeah. I mean if I say. I think this is pretty decent except for that. Except for the thickness. Except for the fact that the thing isn't centered top, bottom. Now what's going to happen if I multiply this thing by, you know, 10 to the 8 or something?
Put it inside the evaluate just to.
Why is that four digits. Why is that second one four digits. 8.259.
Not sure.
Well, that's. Those are looking fine. What happens if I make the x axis be big as well? Is it going to leave. It's going to leave space here. Okay, let's go to 10 to the 4. So we're then going to cross over.
See, this is way you intended. Five, I think is where the crossover is.
That's a lot of digits. That's a lot of digits. I mean, sort of okay there, but. But it's, you know.
The default of the threshold for scientific form to kick in is 10 to the 6 and 10 to the minus 5.
10 to the 6.5, let's say. That's not that horrifying, that transition. Now how did the thing, the thing end up so far away from the dot? Is that the way you want it?
No, that can be improved.
Okay.
I'm wondering if that happened when you move resize the graphic. If there's right, you know, measurement thing.
Right.
Isn't being, you know, not in the right coordinate system, I guess.
Right.
Yeah, that's what's happened. Okay, let me try something else just for fun.
The one thing we looked at this morning is when you do a log plot because then you have orders of magnitude scaling difference.
That's very confused.
That's a scaled size, scaled thickness.
I'm aware.
Okay.
I'm just trying to see what happens in this case.
I think that looks great.
I think it looks great. I think it's a success. Now there's something non responsive about this. Yeah, I think it's very good. I think this, the way that that magnifying glass thing works is really nice. I think this is a win. Cool.
So just thin down the border on that.
I think so. I mean, what the hell are those things?
Okay, say plot style goes to directive thickness 0.05, opacity point 2.
Directive.
Yeah. Oh, what?
Wait a minute. What the hell is that? Look, you have a bug, guys.
No, no, no. It's the graphics bug.
So what happens is depending on the os, lines with lots of points get chunked into segments of still multiple points. You're like a thousand points and you do like 100 of them at a time.
Yeah.
And so that is, you know, the overlap between those segments which don't have.
Line caps that are.
Right. We should set the caps on them so that those will go. I mean, they'll still show up as a pass.
What am I, what I do? Do I say line cap, do cap.
Form, round.
Or join form.
I think it's cap form.
Is it cap form? Okay.
But who does the chunking? I mean, isn't that as a part of the graphics rendering has nothing to do with the top level code.
And why does it. Why does it change when I move out?
I think it's switching. You know, I think when you're. When you mouse over the curve, it brings up that, you know, call outs. And I think that's probably switching it to the 3D renderer for some reason.
Okay, guys, you got a bug. Fine. Track it down. Okay, I'm not, I'm not. I'm not buying that this thing here is something to do with the computer. It's a bug of some kind. All right, let's. Let's come back to what we're talking about before. Okay, so again, significant digits question. I mean, I didn't think it was that horrible, what we've got here. Yeah, I mean, Jeremy, Tim, anybody else do you want to comment on? I think this opacity could go just a teeny bit lighter, maybe the background opacity here.
It's just a lightness though, right? There's. I don't think there's opacity.
Right.
The question is whether it should be. Should it be?
Well, worries.
We shouldn't have much of any. Yeah. On dark, Roger. It would get muddy, like in your marketing.
Okay.
Yeah. So. So then what I'm saying is lighten it the tiny, tiny bit more maybe.
Okay.
Because we've been successfully using scrims, which are these transparent backgrounds.
Was that what this is? No, it's not.
No, it's not. No, there's no opacity here.
Okay.
I mean, nobody wants opacity. Everybody wants transparency.
Was that. Was that a dry joke or is that something different?
Yeah, but I don't think we need it here. I think we can do without it, actually. I think it's okay. The scrims, they. They are really useful when you're. When you have very little screen real estate. So then if you have a call out or a tooltip or something like that.
Yeah, but by the way, is this correct?
Covers up so much of your screen.
Real estate access is slicing this, this call out. That doesn't seem right.
That is annoying, for sure.
And that's rendering order, isn't it?
Yeah, we don't have a lot of control over that at the moment.
Okay, fine. It's a bug. I find those, um. Let's talk about significant digits here for a minute, please. Right.
I mean, I, I think you Know, the main requirement I have for significant digits is that, you know, if I move up or down or left or right.
Why is this jumping? I'm moving just a teeny bit and it's jumping.
It's picking the points. It's not interpolating with this model.
It's infinitely smooth.
What do you mean? It's picking the points? It's picking the sample point.
So if you have a mesh, if you say mesh goes to all, if you see mesh goes to all, you'll see that those are in fact the sample points.
Roger, does that change on image size? Do you get more points on like a giant image size?
No, no, no.
Okay.
It's rendered at the time when the plot comes through and renders it right.
Right.
The highlighting has a granularity.
Okay. You know, Santa was commenting on a live stream. You know, does it snap to maximum minimum and zeros and crossings and so on? Given that it's snapping at all, it might as well snap to those things.
It doesn't know. But this is what we want to do in the future. That.
Why does it. Wait a minute, Just lost it? Lost didn't come in immediately to being able to do this. What's going on there?
I didn't quite see it. Or, I mean, well, it just didn't.
It wasn't, it was inactive. I mean, it didn't. I, I, I, I changed focus. Okay. I come back over here. This notebook, I guess, is not in focus. So now it is in focus and now it came back. Okay, fine. Okay. So in the future there will be a snap to the zeros and unmaxor and things. Is that right?
We can do that. But, but part of what we had planned was to be able to, you, you might want to highlight zeros, highlight maximum minima. And we could do this snapping thing. We actually have that in system modeler.
I think we should do the snapping thing anyway because I think that's useful to be able to just, you know, as you move through here, to be able to snap to those things, because that's something you're going to want to do. And it's a, it's a, you know, it's a harmless thing to do, so to speak.
Yeah.
Okay. All right. Is there anything else we need to. Okay, again, I want to talk about these little thought bubbly things. You know, that, the way that this, the way this hoax. Well, I know what you call it. The stalk. What do you call it? The stalk, as in stalk, S, T, A L, K stalk.
Right. The, the pointer.
Yes. Okay. So, Jeremy Davis, what do you think of this thing?
I think it's fine. I think it's good. I prefer it to the lines like somebody now.
Yeah, I do too. All right, maybe we ready to declare victory here.
Right?
You didn't comment on the fact that we don't have any parentheses or you know, braces around the numbers. You know, it's just.
Because it's the right thing to not have any parentheses or braces around the numbers.
I thought we talked about that last time, didn't we?
Did we?
I don't remember.
Yeah, I think we did.
Right. I mean look, the significant digits thing seems a bit wrong.
I think you want just enough digits so that you're guaranteed that when you move up or down a little bit or left or right, the numbers change.
Change. Yeah.
We might catch more cases. We caught one this morning which, you know, when you're in a log plot, when you look up over many decades that, that you, you know, having exponential notation is really, really nice.
Right?
Yeah.
Yo Woo on a live stream is commenting about changing purpose numbers to the curve color. We are changing the curve color. That's what this is doing. Can you send out, when you have a thinner thing, can you send that out to and, and maybe non rounded. Can you send out some screenshots please? Sure.
Brad, what happens when you have like a linear color function?
So I don't think it does it right now, but my thought is, you know, if it's like if you have a plot with a color function, it will, you know, just use gray.
Yeah.
Okay, let's take a look at that. Let's just take a look at that.
I mean right now it's using the default blue but. Or I mean three curves. So it's using the three colors.
No, it's using, so it's using the color the defaults.
Right. It's still using the plot style colors. Even though you can't see, you know, that reflected in the curve.
It's not the worst thing in the world.
It still gives you some identification purposes, I guess.
Yeah, I think, don't think it's the worst thing in the world to do that. I mean, you know, it might be considered a fall through case but you know, to, to rainbow it as you go through this seems crazy.
Right? Right.
I, I was gonna, you know, use like a D go monochrome.
I think what it's doing right now is actually okay. I mean it's a weird corner case, but I think it's okay. Roger, do you want to.
No, I Agree with you. I. It's. It's.
It's decent. It's pretty nice, right? I mean, worst case is that's just the color of the tool tip. If there's only one curve, if there are multiple curves, you get to see a difference. Now, I mean, if I were to. But obviously if I say plot, style, arrow, red, green, blue. What the heck is that? I mean, I know I asked for one more than I gave. That's. Can somebody make a note of that, please?
Okay.
Okay. I'm just.
What's that? Oh, I'm just laughing at the white.
Yeah. Well, I'm here. Time to see what happens.
Yep.
Right. Okay.
I think one can classify the white as Geigo. Right.
It's a choice.
Yeah.
I mean, but if he gets over the whites, you know, the coordinates I think will show up.
Yeah, I think so too. There we go.
Oh my God.
Okay. Okay, so a comment here, I think. And we can see that also on the yellow. Although, I mean, the yellow is a bit goofy, I guess. It's okay. I'm wondering whether there should be some darkness added to the outer border to deal with a case like that. Because I mean, I think that's too, you know, that honestly is too red in the outside. You see what I'm saying? And I'm thinking maybe we could gray the outside a little bit to deal with both of these cases. Both the.
It might help when we make it thinner.
Yeah, it might help when it lens thinner.
I've just grayness. I mean, the white case, you can't improve without I think making the dark case like marketing worse. Unless.
Yeah, I wouldn't worry about. I wouldn't worry about this case. This is a stupid case.
I mean, on the other hand, you know, you created a pure red curve when we all know that you don't really like pure red.
Yeah, I know, but that's okay. What it did in the pure red case is. Okay, can I try? Let me just try one more thing. Oh, it's all right. It's harmless.
Yep.
There's a question on live stream. Does this work with complex plot as well? Let's look at it.
There nothing in complex plot yet.
It would probably work with a curve.
Plots before we reimplot would work.
Yeah.
Okay.
Is it already hooked up or.
No, it worked automatically.
That's magic sword.
Okay, so the, the dotted lines. It's just doing the same thing. Okay. It's going to look much better when this. When the. When the, you know, when the. When the borders are thinner. I think I know I'm asking for a lot, but why is there a gap there?
That's a.
It's.
It's a discontinuity.
No, it's not. Yes, it is.
If you look at the branch. Yeah, it's a branch cut. If you say exclusions. None, then it won't compute any of those.
No, but wait a minute. Doesn't this go to PI over two at. At one?
But there is a little.
We can't.
We don't. There's no. You know, there. There are potential discontinuities are all the things that we can detect.
Yeah. Okay, fine.
Right. If things cancel out or turn out to be continuous, this is a nice.
Picture, but generically, they don't.
I mean, I should have seen the plot of arc sine in the car. I've never seen this plot before. If you don't have this as an example in both arcsine and reimplote, you should, because it's a nice picture, don't you think?
I mean, there's probably something like that in arcsine at least.
Yeah, I just think it's a nice picture. Okay, what else should we look at here? Go ahead.
I was gonna say, I think the other thing that we should discuss is the backward compatibility issue.
Yes.
Did I already see that?
You sent me an email about it over the weekend, I think, or the other evening or something.
Okay, wait, wait, wait, wait, wait, wait, wait. What's going on here?
What? The message is from your. You know, the Primus hero is not good. Zero for prime.
Yeah, that's okay. Who cares about that? I don't know why three messages, though, but.
Because it returned unevaluated. And then something else tried to do something with it. It was like, oh, I'll evaluate again.
Why is there a big space before the 17? Doesn't it know that there are no negative values?
We'll look into that. It may just be always leaving the space for a minus sign. We can toggle that.
Yeah. Right. Okay. Backward compatibility.
Right. So we have two ways implemented at the moment of, you know, sort of doing these. I mean, they're very closely related, but, you know, in terms of boxes, they're different.
Okay, let me just give a boundary condition. It's got to be backward compatible, period. End of story.
Well, I mean, you can't always do that. That means we couldn't ever introduce new things.
No, I understand that. If you take a plot, no notebook can fail to render. That's the constraint.
Okay.
So long as a notebook generated in version 13.3 renders in previous versions. It's all good.
Previous versions. How far back?
11.
Okay, so if you generate one of These things in 13, 3, you open in V12, you will get a dynamic warning, but once you okay the dynamic, it will display your plot without any of the interactive stuff. I can make that work.
Okay, to pity we have the dynamic warning, but that's because we had stupid dynamic warnings going back in these previous versions.
Yep.
And so pointing. But so Stephen. So what we are doing then is that we are going to do packlet updates to these older versions for some things, but we can't yet. But we would like to switch eventually into use a newer technology called template box. But that didn't exist in previous version. It cannot be updated because it's front end code.
I mean, and to be clear, template boxes existed for a while, but it's only in 13.3 that it has started working in graphics box.
Yeah.
And so at some point in the future.
Gonna be a while. It's gonna be a while.
Yeah.
Okay.
I mean five years. Type while.
Right. So we, until then we're gonna generate a lot more code, you know, in the graphics.
What do you mean a lot more code? Because we have to deal with previous versions.
No, I mean bits of meta information so that we can do the highlighting.
As opposed to what?
As opposed to using a template box, which is kind of very, you know, minimalistic.
Right. Well, obviously any new function that you.
Introduce can use the.
No, actually that's not right. Because a notebook has to be renderable. I think this is not the conversation here. We should talk to John Fultz about what possibilities exist. He may have some better idea. I mean, if the thing ends up having something that says, you know, you need to upgrade or something, that will be okay, but having it splatter all over the place is not okay.
No, it won't splatter.
It's not going to splatter.
It's just not going to render right now. But I just had another idea, Brett, which is that just as we update the update we're talking about now that we back propagate.
Right.
What about if we provided a tool that can recognize these graphics and say would you like to convert it at some point in the future when we do switch to cleaner and more efficient graphics code, we don't need to do it now. We can generate the thing that's just gonna work. But do you see what I'm saying? Because at some point we're gonna cut the cord, right? And then means it's not renderable in the older ones. Unless we have some kind of conversion tool there.
Well, I mean, the other possibility. Look, we've dealt with this kind of issue before.
Boy.
The lack of a time machine is very annoying.
Yeah.
Okay, let's think about this for a second. Really.
I mean, I know that Lou will frequently put something in place, you know, like in 13:3, with the idea that 14 will use it.
Yeah.
Which is sort of the path we're on now. But if Stephen says five years, then. Then, you know.
Well, let's just think about it for a second. I mean, the issue is this. Somebody sends somebody a notebook, and it's a question of what exactly it does. You see what I'm saying? Because it's going to say this notebook was produced in a more recent version of the product. Now, we talked about recently removing that message, but we should now pull back on removing that message.
I was gonna say if you do it with, you know. Well, I guess that's the other way. You know, I was thinking of the thing where, like, if you were to open a V6 notebook in your, you know, the thing you're running right now.
Oh, no, no. Then it gives you a bunch of nice messaging and that's all good.
Yep.
Just offers you to upgrade some stuff. But that's easy. That's. That's not a time machine. Look, you're gonna already have a warning saying this was produced in a more recent version. I think you have to look in detail at what it does. Okay. In previous versions. Because it might be okay. I mean, it might be. It's in a more recent version. Oh, something doesn't render. I mean, it might also be the case that it's worth us putting something in. Let's see. You see, again, you've got to have Lou and John and so on here. I don't know if we can.
Yeah, no, I mean, but, Brett, we should go down this path of thinking about sort of, because at some point we're going to want to cut the cord, so to speak. But then if we have an actual conversion routine deployed for the older versions, then they have a chance.
Yeah, but. But also, here's another point. There may be some trickery which will allow us. When it doesn't render, you know, with the template box and so on, there may be some, you know, hook that already existed in templates boxes from version 6 or something that we could plug into. See what I'm saying? Nobody in this meeting knows that. Right. This is a piece of archeology. Right. But there Might be some, you know, alternate graphics rendering mode thingy that we can generate, which will be utterly useless in version 13:3 will do nothing. But in the case where it was a, you know, a desperation rendering thing in version 6 point whatever, it will do something. So, I mean, that's. I don't know. Do you. Can somebody try to get John and Lou here for a minute to see if they're available, just to ask them.
John, folks.
Yes, yes, yes, yes, yes, yes.
Grabbing him.
Well, he may not be available, but let's find out, please. RB asks on livestream asks how about changing the arrow cursor into a crosshair when hovering over the curves? Graph. Arrowing cursor. Oh, the, the. I see, I see. The, the. The. The pointer arrow.
Oh.
It'S an interesting thought. I don't think we modify the, the. The cursor again. That's a front end story. Do we modify the cursor when we go into a graph? That's an interesting idea.
We do.
We certainly do it in 3D.
Yeah.
And we do for graphs. You know, graph, as in graph theory. You know, we, we do modify the cursor in many cases.
Well, I'm seeing something. I'm seeing an arrow there, a little double arrow there. What the heck's that about?
It's got an arrow with like an edge at the base of it.
Yeah, it's got, it's got the. Yeah. What does that show?
Just that you're in a graph, not a graphic.
But it's only when it's over the vertices. Or does it do with the edges also?
What? It does it for the edges. Okay, I see John has joined. Okay, we have a question. Okay. These guys would like to use a modern graphics box template box construction to do this highlighting business. John, are you with us? Yeah. And the issue is what happens when that template box is fed to an earlier version of the front end?
So if there's no explicit display function, then. Then it'll pink box.
And.
What do you mean if there's no explicit.
What could they do? John, template box support in graphics box is new in 13.3.
Oh, oh, oh, okay. Okay. Then probably the whole graphic would pink box.
Okay. Is there anything they could include in the graphic that could be caused not to render in 13.3 and beyond that would render successfully or at least limp in earlier versions? And further question, we have been discussing taking out the. This is a new version. You know, this, this was creating a new version. We obviously shouldn't do that given this development. Remember that we Discussion we had.
Yeah.
The.
No, I mean, one of the things to understand is old version will not corrupt the notebook. So it will not be the case that, like, if you open in the old version, then you save it. It doesn't.
Yeah, I understand. Well, that's good. But I just want to ask, to clarify this point. We had talked about removing the new version. Warning we should not do that.
I think it's a more complex issue than.
No, no, no, no, no, no, no.
We're looking at right now.
No, no, John, I'm just saying we had talked about within the last few weeks.
Yes.
The annoyance of the fact that we're seeing. I'm not saying that solves this problem in the slightest bit. Okay. I'm just saying we were not thinking straight about why. To put that. Why we didn't actually make a decision.
It was. It was an agenda item that we never got to. So we didn't actually make a decision.
All right, fine. But I'm saying. I'm saying if we. Okay, I'm glad we didn't make a decision. We should leave it as it is right now.
Well, nothing is changing until we have a proper talk about it. I'm just.
Okay, fine. That's fine.
I'm just claiming that this also does not constitute a proper talk.
No, that's fine. Okay. We can talk about, you know, richening that. That dialogue. Okay, question. Is there anything these guys could do that they can write in 13:3 that allows them to have a fighting chance?
And there's nothing crazy stuff like. Like a dynamic version that, you know, a dynamic box that includes a legacy version and a new version side by side and selects based on a version check. That's absolutely possible. It's not difficult to do. It potentially constitutes crazy.
Okay, so what are you guys planning? You said you had a plan. What is your plan?
So basically what we are doing right now is not using the template box and we are generating the normal primitives and then we have, you know, dynamic stuff that implements the highlighting.
I hate it. I hate it. That dynamic stuff is going to be another horrible mess.
So. So I have two. I have two more things to say about the general issue. I don't know anything about this specific issue, but first of all, this isn't the first time we've come across this sort of thing. And our general mo, which, you know, is a bit painful when you want to get something out. Now. Now, now. But our general MO get the template box definition in one version ahead of the version that actually generates the template Box. And depending on, you know, how often people might come across it, maybe even more than one version.
Well, people will come across this in every single graphic.
That, that, that's what we did for the typesetting of colors, for example. But. And then the other thing to say, not relevant for 13.3, unfortunately, or 13.2, but is it's definitely on our roadmap to have a packlet updatable way to ship isolated templates without having to. Right now, the fact that they're in core NB causes some difficulties with packlet updating. It basically means we would have to packlet update every style sheet we ship for reasons and. But we're not unaware that this is a problem. And the goal I'm hoping in 14 is that we can have a library of templates that A doesn't need to be bound to a style sheet and B can be incrementally added to by packlet. Okay, that doesn't help you now, but just so you know, we're thinking about.
Okay, so what you're suggesting is these guys would introduce the template box definition in 13:3. For 13:3, they would use Dynamics to get this highlighting stuff.
Yeah. And basically boxes. Yeah.
And then for 14. Oh, you're suggesting they could cut the chord.
Yes.
Or 15 or.
Well, no, but let's agree. Let's understand what we're actually talking about. Because if at 14. Oh, we do that, that means everybody with 132 and below will get pink boxes for their graphics from. From a, A A notebook. From the future.
Correct. And we. And we've done this sort of thing.
Before and we haven't had a lot of pitchforks.
No, I mean, probably the most notable one is hyperlinks. Hyper. Hyperlinks used to be explicit boxes. Now they're template boxes. We knew that hyperlinks would be a big deal, so I think, I think we sat two or three versions on that one.
Okay, well, fine. But now with the Dynamics, that means that. Are we going to get stupid? I mean, we're dealing with the trusts stuff correctly for this.
Right. We're not going to get warnings in 13.3, but in the previous ones.
Right, but we will get warnings because the previous versions didn't have self trusting, is that correct?
Because the previous ones won't know about the new code that we want to declare as trusted in 13.3.
All right, well, that's life. I mean, I don't see we can avoid that. But with Dynamics the stuff will work in previous versions. This sounds okay to me.
And you know, to be clear, you know, when I say it works, I mean it. You will see. You know, if you do a plot, you will see the plot. You know, if you mouse over the plot, nothing's going to happen.
That's okay.
Yep.
You can't. You can't have features from the future in the past.
Right, Exactly.
I mean, that's not surprising. That doesn't work.
Right.
Okay. Sounds good. Anything else we need to discuss here?
I think that covers everything.
Sounds good. All right. I think. Okay. For people who are following our live streams, we are about to start another one about elegant code formatting. So.
Yeah. And I'll not be totally prepared because you called me while I was preparing for it.
Sorry about that. Okay.
Sorry, John.
See you guys. See you. Okay, bye.
More from Guy

Cheryl Strauss Einhorn | The Human Edge: Smarter Decisions in the Age of AI | Talks at Google

Rachel Glennerster | Innovation and the Center for Global Development | Talks at Google

Rebecca Winthrop | Rethinking the Purpose of Education in the Age of AI | Talks at Google

Dr. Robert Wachter | A Giant Leap: How AI Is Transforming Healthcare... | Talks at Google






