this post was submitted on 04 Nov 2024
109 points (96.6% liked)

Programmer Humor

32386 readers
584 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
top 26 comments
sorted by: hot top controversial new old
[–] [email protected] 4 points 3 days ago (1 children)

i have so may questions; why are the top right and dead center duplicates? why do they have different images? why are the phrases inconsistent? why are the images and phrases distributed at random? how did you miss this?

[–] [email protected] 1 points 3 days ago (1 children)

the best thing about memes is that anybody can take it and remix it to make it better :)

[–] [email protected] 2 points 3 days ago
[–] [email protected] 3 points 3 days ago

One thing, I don't know why

[–] [email protected] 13 points 4 days ago (1 children)

Where does "it used to work, but now it doesn't, and I don't understand how it could ever have worked" fit in?

[–] [email protected] 4 points 3 days ago

haha can't believe I forgot that gem

[–] [email protected] 4 points 4 days ago

this is what fighting with renderman's outdated OSL scripts is like lmao

[–] [email protected] 7 points 4 days ago (1 children)

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

[–] [email protected] 8 points 4 days ago

Any problem that's not repeatable is incredibly frustrating, and you're rarely sure if you've truly fixed it in the end.

[–] [email protected] 15 points 4 days ago

There might be a bug in the labeling code here

[–] [email protected] 37 points 4 days ago* (last edited 4 days ago) (2 children)

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

[–] [email protected] 6 points 3 days ago

haha nice work, that is an improvement :)

[–] [email protected] 8 points 3 days ago
[–] [email protected] 13 points 4 days ago (2 children)

You doubled the "everything works, and I don't know why"

[–] [email protected] -2 points 4 days ago (1 children)

one's not sure why and the other is don't know

[–] [email protected] 7 points 4 days ago* (last edited 4 days ago) (1 children)

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.

[–] [email protected] 3 points 4 days ago

oh haha oops

[–] [email protected] 6 points 4 days ago (1 children)
[–] [email protected] 2 points 4 days ago

I, in fact, don't

[–] [email protected] 6 points 4 days ago

Brain clot inducing labeling job here

[–] [email protected] 10 points 4 days ago (2 children)

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.

[–] [email protected] 4 points 4 days ago (1 children)

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.”

[–] [email protected] 2 points 3 days ago

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.

[–] [email protected] 7 points 4 days ago (1 children)

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.

[–] [email protected] 5 points 4 days ago (1 children)

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.

[–] [email protected] 6 points 4 days ago

lol yeah that sounds like a nightmare