692
you are viewing a single comment's thread
view the rest of the comments
[-] Zagorath@aussie.zone 39 points 7 months ago

Why comment here at all

Because we're programmers, and programmers are infamous for being rules-/logic-driven.

If, as a comment below suggests, the joke is that it's meant to be read in order 3, 1, 2, that violates the rule that race conditions typically don't cause an entirely different program to produce the output. So if the joke is meant to be "lol we have a race condition", bubbles should be mixed up for one person, not mixed between people.

People don't get the joke because the joke violates its own internal rules.

[-] qqq@lemmy.world 11 points 7 months ago

It doesn't violate any rules.. Imagine both the "speaker" and the "text" are being updated by separate threads. A program that would eventually display the behavior in this meme is simple, and I'm a bit embarrassed to have written it because of this comment:

#include <pthread.h>
#include <stdio.h>

char* speakers[] = {
    "Alice",
    "Bob"
};
int speaker = 0;

void* change_speaker(void* arg)
{
    (void)arg;

    for (;;) {
        speaker = speaker == 0 ? 1 : 0;
    }
}

char* texts[] = {
    "Hi Bob",
    "Hi Alice, what's up?",
    "Not much Bob",
};
int text = 0;

void* change_text(void* arg)
{
    (void)arg;
    for (;;) {
        switch (text) {
        case 0:
            text = 1;
            break;
        case 1:
            text = 2;
            break;
        case 2:
            text = 0;
            break;
        }
    }
}

int main(int argc, char* argv[])
{
    pthread_t speaker_swapper, text_swapper;

    pthread_create(&text_swapper, NULL, change_text, NULL);
    pthread_create(&speaker_swapper, NULL, change_speaker, NULL);
    for (int i = 0; i < 3; ++i) {
        printf("%s: %s\n", speakers[speaker], texts[text]);
    }
}
[-] CanadaPlus@lemmy.sdf.org 2 points 7 months ago

Oh, I guess that makes sense. One person asks if the other is an expert, they reply they read the for dummies book, cue comically aggressive response.

There's so much going on in this exchange, including two separate jokes as well as weird multi-person race conditions, that I couldn't reverse engineer it.

this post was submitted on 23 Apr 2024
692 points (94.9% liked)

Programmer Humor

32559 readers
927 users here now

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

Rules:

founded 5 years ago
MODERATORS