it’s really fucking with me that neither axis follows a progressive ordering so I’m going to post a fixed (debugged) version. EDIT: lmao this is the most fucked up, inconsistent alignment chart I’ve seen. here it is fixed:
everything -> sometimes -> nothing
know -> not sure -> don’t know
haha nice work, that is an improvement :)
Thank god
Where does “it used to work, but now it doesn’t, and I don’t understand how it could ever have worked” fit in?
haha can’t believe I forgot that gem
There might be a bug in the labeling code here
You doubled the “everything works, and I don’t know why”
Do you know why?
I, in fact, don’t
one’s not sure why and the other is don’t know
The center one is the same as the top right. I think the center is supposed to say “nothing works, I’m not sure why” to match the pattern with the rest.
oh haha oops
the “sometimes works, don’t know why” is the most maddening, I love tearing my hair out just trying to get it to fail reliabily so I’ve got a single hint
Any problem that’s not repeatable is incredibly frustrating, and you’re rarely sure if you’ve truly fixed it in the end.
Brain clot inducing labeling job here
I helped a friend debug a script last week that was working inconsistently in really weird ways. I looked at the script and it was all event hooks littered with sleep calls. I told him he was basically fuzz testing his own script and then getting surprised when he found race conditions. Shit was wild. Also, sometimes getters in Python are a mistake.
Aren’t setters and getters discouraged in Python?
I remember reading something like, “This isn’t C++ , and Python doesn’t have private vars. Just set the var directly.”
In the way that’s common in languages like Java where you’re making a property read-only, yes. But there’s a whole protocol in Python called descriptors where you can override the . on a field. The most common form of these is class methods annotated with the @property annotation, which makes it so the method can be accessed as if it were a property.
I find setters/getters are generally an antipattern because they obfuscate behavior. When you access a field you know what it looks like, but if you pass it through some implicit transformation in a getter then you have to know what that was.
Yeah. I can understand the use case when it’s something relating to keeping simple state in sync by replacing it with derived state. But this particular case was flushing a cache after each get, which made each get of the property non-deterministic based on the class’s state.
lol yeah that sounds like a nightmare
this is what fighting with renderman’s outdated OSL scripts is like lmao