|
|
Subscribe / Log in / New account

Code humor and inclusiveness

By Jonathan Corbet
June 11, 2021
Free-software development is meant to be fun, at least some of the time. Even developers of database-management systems seem to think that it is fun; there is no accounting for taste, it seems. Part of having fun is certainly allowing the occasional exercise of one's sense of humor while working on the code. But, as some recent "fix" attempts show, humor does not always carry through to developers all over the planet. Balancing humor and inclusiveness is always going to be a challenge for our community.

There is a function in the kernel scheduler that will, if things go badly wrong, inform users that a bug is present, describing it as "arch topology borken". The message is, of course, breathtaking in its clarity; users will immediately know what to do when they see it. Recently, though, a well-intentioned developer sent a patch changing the message to read "broken" instead. This patch was not accepted, but it did result in a brief discussion explaining the nature of the intended joke to the submitter.

The following day, somebody else attempted to fix another scheduler function containing a comment that cites "histerical raisins". This time, the poster was instructed to search for "humour", which is rather less illuminating. Other examples abound; one of the more amusing such attempts came last year, when a developer concluded that the title of this document required a spelling correction; the response this time politely declined the patch, but encouraged the poster by saying "rest assured that you did get [the] point!".

Anybody who has spent any amount of time trying to function in a non-native language understands that humor can be difficult. It is deeply tied to both the language it is expressed in and the specific context where it is found. Words that fluent speakers find funny can simply fly over the head of those who are less proficient, and attempts to be funny in a non-native language do not always go well. Your editor has a hard time getting a laugh from native English speakers; he has learned that it's better not to even try in other settings.

Source code is meant to be precise and understandable. Comments are there to help when the code itself is not enough to explain why a particular action is taken. When those comments contain plays on words, creative misspellings, or jargon-laden inside jokes, they will become less clear to people who may be struggling to understand even plainly written English. Such readers will trip over the language in question, and some of them may then be moved to try to "fix" it. The result is a certain amount of confusion and lost time.

One possible solution could be to eliminate this kind of play on words as an impediment to global free-software development. As Zhen Lei said in the first discussion linked above: "Linux is an open-source code for the world, so it's better to use a more common word." If we stuck with common words, we would see less confusion, fewer "fixes" for intentional humor, and possibly better participation overall.

But, remember, free-software development is supposed to be fun as well as useful; that is part of why many of us got into it in the first place. Turning a free-software project into a humor-free zone would make it distinctly less fun, which could be seen as an inclusiveness problem in its own right. The cure could be far worse than the disease.

Fortunately, nobody is proposing any such thing. Most of us are agreed that life can only be improved by something that brings a little smile in the middle of an extensive code-reading session. With any luck at all, our code will continue to acquire the occasional comment that makes it clear that we do not take ourselves too seriously.

But that means we will also continue to receive the occasional "fix" from readers who were unable to appreciate a humorous turn of phrase and wish to straighten it out in some way. Those will be the best occasions of all to demonstrate that, indeed, we do not take ourselves too seriously. A curt response from a developer who clearly feels that their time is being wasted may turn away an aspiring contributor who we would much rather keep. A kind response, explaining the phrasing in question, will help that contributor appreciate the humor, improve their language skills, and get them to the point where, someday, they will embed some humor in useful code of their own. Others, silently watching the conversation, may also benefit.

For better or worse, English is the language of the free-software development community. English is not the native language of a majority of our contributors, though, and some of those contributors will struggle with it at times. But, with some patience, we can have our code and laugh at it too.

Index entries for this article
KernelDevelopment model/Diversity


to post comments

Code humor and inclusiveness

Posted Jun 12, 2021 0:47 UTC (Sat) by yootis (subscriber, #4762) [Link] (3 responses)

When I saw the title of this post, I was afraid it would be about racist, sexist, or political jokes. I was quite relieved to see it was about good old fashioned UNIX Dad Jokes.

Code humor and inclusiveness

Posted Jun 13, 2021 12:46 UTC (Sun) by Subsentient (guest, #142918) [Link] (2 responses)

The offensiveness of my comments depends entirely on what kind of project it is. If it's professional, you can expect to see a little cursing and my usual cynicism, but nothing too edgy. If it's open source, I have code that instructs readers to perform analingus on me and/or their grandmother if, per chance, they dislike and/or wish to change a particular section of code.

Does it disturb people? Sure. But, abhorrent humor is an integral part of who I am, and I am a true believer in The Satanic Temple's 4th tenet: "The freedoms of others should be respected, including the freedom to offend. To willfully and unjustly encroach upon the freedoms of another is to forgo one's own."

Similar reasons are why I refuse to follow language-specific style guides much of the time, particularly Rust's, because the compiler attempts to enforce it with a warning, which I find, ironically, very offensive.

Code humor and inclusiveness

Posted Jun 13, 2021 15:36 UTC (Sun) by sjj (guest, #2020) [Link]

Funny. Got me going there for a while. Granted, the smug self righteous programmer stereotype is getting a bit long in the tooth.

Code humor and inclusiveness

Posted Jun 14, 2021 5:37 UTC (Mon) by proski (subscriber, #104) [Link]

A "professional" software told me once: operator "doofus" is not supported

Code humor and inclusiveness

Posted Jun 12, 2021 1:11 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link] (13 responses)

If you have to explain a joke then it's a bad joke.

Code humor and inclusiveness

Posted Jun 12, 2021 1:30 UTC (Sat) by dskoll (subscriber, #1630) [Link]

Well, it might have been a good joke to someone who didn't need the explanation... but once you have to explain it, it's ruined.

Code humor and inclusiveness

Posted Jun 12, 2021 1:35 UTC (Sat) by felixfix (subscriber, #242) [Link] (10 responses)

That's silly. I doubt there's a single joke understood by everybody, which would mean there are no jokes at all.

Code humor and inclusiveness

Posted Jun 12, 2021 4:16 UTC (Sat) by jkingweb (subscriber, #113039) [Link] (9 responses)

Fart jokes are pretty universal, but otherwise I agree.

Code humor and inclusiveness

Posted Jun 12, 2021 7:07 UTC (Sat) by bof (subscriber, #110741) [Link]

I disagree. Fart jokes stink.

Code humor and inclusiveness

Posted Jun 12, 2021 8:15 UTC (Sat) by excors (subscriber, #95769) [Link] (1 responses)

> Fart jokes are pretty universal

They're certainly widespread:

> The world’s oldest joke is revealed to be an ancient Sumerian proverb dating back to 1900 BC - Something which has never occurred since time immemorial; a young woman did not fart in her husband’s lap.

(https://www.wlv.ac.uk/news-and-events/latest-news/2008/au...), though I feel like in this case some of the humour may still have been lost in translation.

Code humor and inclusiveness

Posted Jun 12, 2021 14:18 UTC (Sat) by jkingweb (subscriber, #113039) [Link]

It's not presented in a particularly clear way: I was still waiting for the proverb to begin by the time I was half-way through reading it. That's even before you consider the double negative (which I'd assume is half the joke).

Still, fascinating! Thanks for sharing.

Code humor and inclusiveness

Posted Jun 12, 2021 15:48 UTC (Sat) by chris_se (subscriber, #99706) [Link]

Honestly, I never found fart jokes funny. People have tried to explain to me why they did find them funny, but even with the explanation I've never had a moment where I was like "oh yeah, that makes some sense", which I usually have when it comes to other jokes I don't get immediately.

I'm not saying this to argue whether fart jokes are actually funny or not, because I don't think there's an objective answer to that; I just want to provide another data point that humor is very subjective and therefore agree very much with the sentiment that there are no universal jokes.

Code humor and inclusiveness

Posted Jun 13, 2021 7:11 UTC (Sun) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

Not really universal. Some cultures consider them extremely distasteful.

Code humor and inclusiveness

Posted Jun 13, 2021 11:46 UTC (Sun) by jkingweb (subscriber, #113039) [Link]

Granted. The question was whether there was anything that could be universally understood, though, not universally appreciated.

Code humor and inclusiveness

Posted Jun 15, 2021 8:24 UTC (Tue) by error27 (subscriber, #8346) [Link] (2 responses)

My brother told about a time some year back he was in Sudan, completely lost. He was looking for a certain primary school. This was quite a dangerous area to drive around in because there were no roads but there were lots of old landmines and other unexploded ordinance.

They arrived at a village, but no one had a shared language. So they're trying to for directions to the school through pantomime.

They weren't making any progress until this two year old kid comes up. This kid is not wearing a stitch of clothing. The kid farts and wanders away nonchalantly. Everyone falls apart laughing. Universal humor.

Code humor and inclusiveness

Posted Jun 19, 2021 2:20 UTC (Sat) by giraffedata (guest, #1954) [Link] (1 responses)

It's "ordnance" (for some reason).

Code humor and inclusiveness

Posted Jun 21, 2021 10:13 UTC (Mon) by error27 (subscriber, #8346) [Link]

LoL. No, that's what I meant. Unexploded religious ceremonies. ;)

Code humor and inclusiveness

Posted Jun 13, 2021 17:52 UTC (Sun) by lkundrak (subscriber, #43452) [Link]

That is the best kind!

Code humor and inclusiveness

Posted Jun 12, 2021 5:50 UTC (Sat) by pwfxq (subscriber, #84695) [Link] (7 responses)

Even amongst native English speakers, words can vary in meaning (& offensiveness.) In the UK, "Going for a fag" is quite innocuos ("I'm going to smoke a cigarette"). But I believe in the USA that phrase can mean something quite different. The phrase "Two countries separated by a common language" is often used to describe the differences between the UK & USA.

Culture & context are so important in language (& humour) and it's very hard for humour to travel - just ask any professional comedian. Then, when you add into the mix that many people aren't native speakers of English and trying to understand this sutble word-play, it gets even harder.

Words' meaning & culture change over time and at different speeds in different countries. Going back to my example, "fag" used to be a homophobic slur in the UK but now it's just slang for cigarrette* whereas in the USA I believe it still maintains the homophobic connotations.

And this cultural context issue don't just apply to words. In many parts of the world, the thumbs up Emoji means "OK" or "Good". In some parts of the world, this emoji is deeply offensive. We've had support tickets asking us to remove the thumbs up emoji from systems because of its offensiveness.

TL;DR Writing for an international audience is very hard and humour is an order of magnitude harder.

* - Fag, in the UK, also has other meanings but it's mostly used to refer to cigarettes.

Code humor and inclusiveness

Posted Jun 12, 2021 18:33 UTC (Sat) by NYKevin (subscriber, #129325) [Link]

> Going back to my example, "fag" used to be a homophobic slur in the UK but now it's just slang for cigarrette* whereas in the USA I believe it still maintains the homophobic connotations.

It's complicated and depends on who you ask.

In general, it is a slur in US English, and will not be understood* to mean "cigarette." In some circles, there have been attempts to reclaim it in various ways (most of which keep the base meaning of "a homosexual man" but seek to change the connotations). Not everyone agrees that this is desirable or practical.** Regardless, it should never be used as a pejorative, and it's probably unwise to use it in any context where it might be mistaken for a pejorative. I would also respectfully suggest that straight people may want to steer clear of this discourse, unless they are deeply involved with LGBTQ+ activism and have a thorough understanding of all of the relevant issues.***

* Unless the listener or reader recognizes that you're not speaking US English in the first place.
** This is mostly because it's still used pejoratively by some (small but extremely vocal) groups in the US. Many people still have strong negative feelings about this word because it was wielded against them in childhood or sometimes adulthood, and in many cases this is only one part of a broad campaign of physical or emotional abuse.
*** Look, if you want to put your foot in your mouth, nobody is going to stop you. But we're also not going to give you a break for being ignorant. If you deliberately jump in at the deep end, you are expected to know how to swim.

Code humor and inclusiveness

Posted Jun 12, 2021 22:30 UTC (Sat) by randomguy3 (subscriber, #71063) [Link] (4 responses)

Going back to my example, "fag" used to be a homophobic slur in the UK but now it's just slang for cigarrette* whereas in the USA I believe it still maintains the homophobic connotations.
A word of caution in case anyone not well versed in British English takes this as gospel and attempts to employ it in practice - this is highly context dependent. Don't try to be clever about using this word in the UK. If you use it in a context where "cigarette" is a good-faith interpretation of the word, that's how people will interpret it. But the slur form is also well understood and used (either as a slur or as a reclaimed word).

Code humor and inclusiveness

Posted Jun 13, 2021 11:48 UTC (Sun) by tialaramex (subscriber, #21167) [Link]

Yeah, "now it's just slang for cigarette" implies that if you were to tell somebody they "look like a fag" you'd just be suggesting they resemble a cigarette (tall and thin maybe?) and that's not what you'll be doing at all.

Code humor and inclusiveness

Posted Jun 17, 2021 18:50 UTC (Thu) by klbrun (subscriber, #45083) [Link] (2 responses)

Since a cigarette is something you burn, could the use of fag to mean cigarette be, in fact, homophobic?

Code humor and inclusiveness

Posted Jun 17, 2021 19:09 UTC (Thu) by mpr22 (subscriber, #60784) [Link]

Practically? Possibly.

It appears the etymology's independent. Having poked around on en.wiktionary.org:

The "gay man" usage is a contraction of "faggot", which as well as meaning "bundle of sticks", "bundle of metal rods", "burning ember", and "English meatball" also came to mean "shrewish woman" and later (I dare say by extension of the "shrewish woman" sense, with some possible influence from a Yiddish term "feygele" which means "little bird", "loved one", and (offensively) "homosexual man") came to mean "homosexual and/or effeminate man".

The "cigarette" usage appears to me to be likely to be a back-construction from using "fag-end" (a very old term meaning "remnant or worst portion", etymologically distinct from the above) to refer to the unsmoked remnant of a cigarette.

Code humor and inclusiveness

Posted Jul 13, 2021 9:21 UTC (Tue) by roblucid (guest, #48964) [Link]

No, the word as used most commonly in literature before the cigarette slang, meant junior boarding school boys who had chores for seniors. All intended to be character building and young gentleman would never abuse such power, would they?
You can contort any words for cigarette to be homophobic following your argument, which disproves it by reductio ad absurdum.

Code humor and inclusiveness

Posted Jun 17, 2021 17:56 UTC (Thu) by esemwy (guest, #83963) [Link]

As a student of various languages, though, I can tell you that when you are finally able to “get” jokes in your non-native language, it’s glorious. We shouldn’t deprive people of that joy, even if it does cause the occasional inconvenience.

The miscommunications will happen anyway in a diverse environment. It’s much better if we can learn to laugh at them instead of automatically taking offense.

Code humor and inclusiveness

Posted Jun 12, 2021 7:02 UTC (Sat) by magfr (subscriber, #16052) [Link] (8 responses)

This do remind me of the "printer on fire" message debate.
I seem to remember that it was reworded a while ago.

Code humor and inclusiveness

Posted Jun 12, 2021 10:59 UTC (Sat) by Deleted user 129183 (guest, #129183) [Link] (7 responses)

> I seem to remember that it was reworded a while ago.

Unfortunately not.

https://git.kernel.org/pub/scm/linux/kernel/git/stable/li...

But I guess that preservation of a “wOw So RaNdUm” joke was more important than writing actually useful error messages. Priorities.

Bad joke on fire, eh?

Posted Jun 12, 2021 14:12 UTC (Sat) by michaelkjohnson (subscriber, #41438) [Link] (5 responses)

As the person who initially added that particular message about thirty years ago, I'll say that I also thought it had been replaced with something like "lp%d unknown error (on fire, eh?)" to preserve a bad joke while being unlikely to freak people out.

I'd fully support removing all reference to fire, but at this point, who even has a parallel port any more? If a joke falls flat in a forest, and there is no one around to hear it, does it matter that no one laughed at it?

Bad joke on fire, eh?

Posted Jun 12, 2021 14:44 UTC (Sat) by flussence (guest, #85566) [Link] (1 responses)

Times change, maybe we could preserve this particular joke as a deadpan line in the USB4 stack...

Bad joke on fire, eh?

Posted Jun 20, 2021 15:57 UTC (Sun) by jengelh (guest, #33263) [Link]

With all the Power Delivery stuff going on, it would even be as accurate as the printer fire (when paper gets stuck, the same location will receive more and more heat, hence the fire).

Bad joke on fire, eh?

Posted Jun 14, 2021 14:58 UTC (Mon) by plugwash (subscriber, #29694) [Link]

It looks like that same error message is present in the USB printer support.

https://elixir.bootlin.com/linux/latest/source/drivers/us...

Bad joke on fire, eh?

Posted Jun 18, 2021 9:46 UTC (Fri) by metan (subscriber, #74107) [Link] (1 responses)

To be honest it was pretty accurate in my case. Back in the day I had a short in wiring on a parallel port in the printer cable. I got this message in dmesg which was followed shortly by a smoke from the computer case.

Bad joke on fire, eh?

Posted Jun 18, 2021 22:35 UTC (Fri) by michaelkjohnson (subscriber, #41438) [Link]

Thank you for sharing that. Now I have an excuse!

Code humor and inclusiveness

Posted Jun 18, 2021 10:11 UTC (Fri) by jschrod (subscriber, #1646) [Link]

Just a hint: get a life.

Code humor and inclusiveness

Posted Jun 12, 2021 7:17 UTC (Sat) by andy_shev (subscriber, #75870) [Link] (4 responses)

Once I have tried iff ==> if (not a humor, though), but had been told the difference. After that I rather don’t fix anything than very obvious typos.

Code humor and inclusiveness

Posted Jun 12, 2021 16:34 UTC (Sat) by chris_se (subscriber, #99706) [Link] (1 responses)

> Once I have tried iff ==> if

Even in academia "iff" is not always known to everybody. If your target audience consists of mathematicians, philosophers, theoretical physicists and/or some subset of computer scientists, you may be able to use it without explanation. But even when writing a scientific paper to wider audience (fields outside of those mentioned), it is considered good form to either always expand it to "if and only if", or at the very least to define the abbreviation at it's first usage in the paper.

In code, where typos are vastly more common than scientific notation, I would always want to avoid "iff". Because either it doesn't matter that the reverse arrow is also true in that comment, and then you can just use a plain "if", or it does matter, and then "if and only if" is so much clearer to everyone.

I'd maybe think differently about this if the abbreviation for "if and only if" were some word that wasn't so close to a typo that people who didn't understand it would at least think of putting it into a search engine. For example, in German, "if and only if" is "genau dann, wenn" while a plain "if" is "wenn" -- so people sometimes use "gdw" as an abbreviation. But Germans who've never heard of "gdw" won't mistake it for a different German word, because it's not that close to anything that it could be a typo, so they'll probably put it into a search engine. People who've never heard of "iff", on the other hand, will most definitely think that it's just a typo for "if" -- native speaker or not.

Code humor and inclusiveness

Posted Jun 13, 2021 10:26 UTC (Sun) by zauguin (subscriber, #138185) [Link]

I always seen the similarity of "iff" to "if" more as an advantage, especially when it is used carefully. I agree that when the difference really matters, "if and only if" is much cleaner, but often is doesn't matter and is more of an additional remark. Then using "iff" adds a small bit of additional context for everyone who understands it, while the important part is still perfectly readable for everyone else (even if it looks like a typo).

Code humor and inclusiveness

Posted Jun 14, 2021 16:36 UTC (Mon) by Chris_Lesiak (subscriber, #4179) [Link] (1 responses)

I unserstood your "iff ==> if" as "if and only if implies if". True.

Given a diverse enough audience, there is always room for misunderstanding.

Code humor and inclusiveness

Posted Jun 17, 2021 7:38 UTC (Thu) by nim-nim (subscriber, #34454) [Link]

Use ⇔, non ambiguous, non English-specific.

Code humor and inclusiveness

Posted Jun 12, 2021 8:09 UTC (Sat) by rsidd (subscriber, #2582) [Link] (10 responses)

My granddad once complained to me about the quality of language in newspapers these days, eg, an article that said something was becoming "curiouser and curiouser". I had to explain that was a quote from Alice in Wonderland. But in an international context, one must accept that misspellings have limited scope for humour.

I have come across "borken" but it's more commonly "borked"; as for "histerical raisins", ESR's jargon file spells it "hysterical" (a play on "historical reasons", which I didn't know), and I don't see the humour in the additional misspelling of "histerical".

In short: most of this "humour" is lame anyway. There's no harm in fixing it!

Code humor and inclusiveness

Posted Jun 12, 2021 8:27 UTC (Sat) by jafd (subscriber, #129642) [Link] (4 responses)

Fortunately, yours is just one opinion.

Code humor and inclusiveness

Posted Jun 12, 2021 9:27 UTC (Sat) by MickeyDance (guest, #112575) [Link] (1 responses)

I suggest we create a focus group for the removal of Lame And Useless, Gratuitous Humour

Code humor and inclusiveness

Posted Jun 15, 2021 0:03 UTC (Tue) by neilbrown (subscriber, #359) [Link]

Cancel Humour Using Colloquial Knowledge or Lame Expression.

Code humor and inclusiveness

Posted Jun 12, 2021 9:28 UTC (Sat) by pwfxq (subscriber, #84695) [Link] (1 responses)

And so is yours.

Neither of you is "right" or "wrong". You both just have different opinions on the subject.

Code humor and inclusiveness

Posted Jun 13, 2021 8:11 UTC (Sun) by diegor (subscriber, #1967) [Link]

I agree, and I also think that removing humor for being lame, it's not a good reason, because someone had to judge if someone else humour is lame or not, but there is no objective rules for lameness in humour. Some jokes resonate with some reader and not with someone else, but this is not a reason per se to avoid it.

I suspect that humour is like beauty, it is in the eye of the beholder.

Code humor and inclusiveness

Posted Jun 12, 2021 10:47 UTC (Sat) by Deleted user 129183 (guest, #129183) [Link] (2 responses)

> In short: most of this "humour" is lame anyway. There's no harm in fixing it!

Basically this. Most of the “hacker humour” is _painfully_ unfunny, and that includes all of examples in the article. It was maybe funny back in the 80s, but in 2021? It’s just cringy.

Code humor and inclusiveness

Posted Jun 12, 2021 12:11 UTC (Sat) by ju3Ceemi (subscriber, #102464) [Link] (1 responses)

Yeah ?

You should read "The Little Prince", from Antoine de Saint-Exupéry

Code humor and inclusiveness

Posted Jun 14, 2021 6:44 UTC (Mon) by LtWorf (subscriber, #124958) [Link]

And then run "aptitude moo" and add a "-v" at every iteration.

Code humor and inclusiveness

Posted Jun 15, 2021 15:52 UTC (Tue) by nilsmeyer (guest, #122604) [Link]

For many applications all you would need is an additional "translation" that can replace the message as needed.

Code humor and inclusiveness

Posted Jun 15, 2021 16:00 UTC (Tue) by Wol (subscriber, #4433) [Link]

> and I don't see the humour in the additional misspelling of "histerical"

Because actually histerical is closer to the "correct" "historical". It's only one letter wrong, not two.

Cheers,
Wol

Code humor and inclusiveness

Posted Jun 12, 2021 9:27 UTC (Sat) by tchernobog (guest, #73595) [Link] (7 responses)

I like the practice used in printing of adding "(sic)", with or without an exclamation mark, to make it clear that this is indeed intended. Then you would be spared well-intentioned but ultimately useless patches.

So:

- pr_err("BUG: arch topology borken\n");
+ pr_err("BUG: arch topology borken\n"); /* (sic!) */

For me reads as: somebody reviewed this line, deemed it correct and not a mistake, so don't try correcting it.

Code humor and inclusiveness

Posted Jun 12, 2021 9:35 UTC (Sat) by dottedmag (subscriber, #18590) [Link] (2 responses)

Ha, turns out "// nolint" is a recent reinvention of venerable "(sic!)".

Code humor and inclusiveness

Posted Jun 12, 2021 12:57 UTC (Sat) by dskoll (subscriber, #1630) [Link]

I vote for #pragma try_the_fish__im_here_all_weekend

Code humor and inclusiveness

Posted Jun 13, 2021 7:37 UTC (Sun) by tchernobog (guest, #73595) [Link]

Doesn't nolint turn off linter checking also outside strings? Might be dangerous to disable for e.g. format strings usage.

Code humor and inclusiveness

Posted Jun 13, 2021 8:12 UTC (Sun) by jezuch (subscriber, #52988) [Link] (1 responses)

Ten obviously you'll get patches from people not familiar with "sīc erat scriptum" to fix the "(sic)" :)

Code humor and inclusiveness

Posted Jun 13, 2021 23:28 UTC (Sun) by intgr (subscriber, #39733) [Link]

- pr_err("BUG: arch topology borken\n"); /* (sic!) */
+ pr_err("BUG: arch topology borken\n"); /* (sick!) */

Code humor and inclusiveness

Posted Jun 14, 2021 12:56 UTC (Mon) by tlamp (subscriber, #108540) [Link]

Yeah, a simple comment would solve all issues IMO, anyone thinking about writing a patch can see the comment and not waste further time on it while the joke still stays and in the wild the explanation doesn't "ruins" it, as it's compiled out there anyway.

Adding "sic" is a good idea

Posted Jun 14, 2021 17:38 UTC (Mon) by david.a.wheeler (subscriber, #72896) [Link]

I think humor is a *good* thing, but it would be good to avoid wasting everyone's time in "fixing" it. Adding "sic" is a good idea. If they don't know what that means, they can just search for "sic" and find more information. There's even a Wikipedia page:
https://en.wikipedia.org/wiki/Sic

Code humor and inclusiveness

Posted Jun 12, 2021 14:36 UTC (Sat) by willy (subscriber, #9762) [Link] (2 responses)

A related problem is people denoting half-open intervals with the mathematical convention, [0..INT_MAX); I've seen a number of patches "correcting" the ) to a ]. Really not sure what to do about that, since clearly it's not a well-understood convention.

Code humor and inclusiveness

Posted Jun 12, 2021 15:24 UTC (Sat) by magfr (subscriber, #16052) [Link] (1 responses)

That convention also suffers from not beeing universal. I was introduced to writing half-open intervals as [0..INT_MAX[ and got confused when I first came across the [..) style.

Code humor and inclusiveness

Posted Jun 12, 2021 15:35 UTC (Sat) by chris_se (subscriber, #99706) [Link]

I was very fortunate that my high school math teacher taught us both conventions, so I was never surprised by either. But regardless of which of these conventions is used in the comment of the code, you'll get corrections for both if the reader doesn't understand that the author meant a half-open interval (or doesn't even know that such a thing exists).

I personally tend to write [0..INT_MAX-1] to be extra clear, because the ) in [0, INT_MAX) could theoretically even be a typo -- on German keyboard layouts "]" is "AltGr + 9", while ")" is "Shift + 9".

Code humor and inclusiveness

Posted Jun 12, 2021 15:28 UTC (Sat) by chris_se (subscriber, #99706) [Link] (2 responses)

This reminds me of a time when I was still a child visiting a website back in the mid 90s, and the web server returned an error message "Broken pipe" (alongside a 500 error code). I did have some minimal experience with computers back then, but was still just starting out; and I believed that this error message meant that the data center hosting the server was met with a plumbing disaster. ;-) I actually felt really sorry for the sysadmins at that data center for having to deal with water damage in their equipment.

I spoke English to a level as close to a native speaker as can be at the time (factoring in my age as a child, obviously), having lived in England during very formative years as a child and having just moved away a year or so before that story took place, so this specific language barrier I encountered was not related to me not knowing English well enough, but to me not knowing the special meanings of otherwise everyday vocabulary in a computing context well enough back then.

I hence don't think you can ever get rid of all language barriers, even if you were only dealing with native speakers. The penultimate paragraph in the article is therefore something that I agree with wholeheartedly.

Code humor and inclusiveness

Posted Jun 12, 2021 22:29 UTC (Sat) by tedd (subscriber, #74183) [Link]

That's a great anecdote. Thank you!

Broken pipes and bad numbers

Posted Jun 13, 2021 3:03 UTC (Sun) by corbet (editor, #1) [Link]

This reminds me of a story...I didn't think of this while writing the article.

Way back in the prehistoric past, the University of Colorado's first VAX 11/780 lived a schizophrenic existence: to meet the demands of various faculty members, it toggled between VMS and an early BSD distribution in the late afternoon each day. This was effected by shutting down and swapping the disk pack in an RP06 drive....those were the days.

I was lucky enough to be able to mess around with this machine, and was tasked with porting a Fortran program from the VMS side over to Unix. With some effort I got the file (let's call it FOO.FOR) onto the Unix disk, and struggled through enough vi (straight from the fingers of Bill Joy) to make some changes to it. Then it came time to do the compilation. Some research turned up the fact that the Fortran compiler was called f77, so I typed:

    $ f77 foo.for

You'll see I'd already gotten into the Unix mindset by renaming the file to lower case. The system helpfully answered:

  foo.for: bad magic number

I immediately faulted my undergrad teachers for not teaching me about magic numbers...perhaps the problem was that I was actually studying EE, where magic numbers are not generally welcomed. Then I went and asked a grad student for help.

The real problem, of course, the thing the system was trying to tell me, is that my file had the wrong extension — it should have been foo.f. Since the compiler didn't recognize the extension, it simply passed the file name through to the linker which, upon failing to find an indentifying code for the "object" file it had been passed, complained at me. Once the file was renamed things worked, and my Unix experience had truly begun.

Code humor and inclusiveness

Posted Jun 13, 2021 12:35 UTC (Sun) by sumanah (guest, #59891) [Link] (2 responses)

I've several times performed stand-up comedy about the free and open source software industry at tech conferences. I always rehearse in front of a preview audience; for a recent performance at ÖzgürKon (a virtual international conference, organized by FLOSS enthusiasts in Turkey), I rehearsed several times via videocall and included people from multiple countries in my preview audiences. I'm from the US. I asked them to specifically tell me what jokes they did not understand, and what jokes they thought would not land well with people from outside the US, either because of incomprehension or because it might rub them the wrong way. I took that feedback and modified or removed stuff and wrote new material to replace it. And my final performance (30 minutes long) worked well and made people from multiple countries laugh.

There are lots of kinds of humor in the world. Wordplay is one (and I love it and engage in it when conversing with people fluent in my language). Sarcasm is another. In-group cultural references are another. Those can be shorter -- more amenable to being used in a short code comment, an error message or a name -- but a bit harder to notice and understand as jokes to someone who doesn't have background context. On the other hand, observational humor, self-deprecation, and anecdotes often carry more context with them, but are necessarily longer, more suitable for longer code comments. People who would like to use humor in their code comments but would like to avoid unnecessarily confusing some readers might like to try out observational humor, self-deprecation, and anecdotes as tools to employ. Plus, a winky-face emoticon carries fairly useful intent metadata...

Code humor and inclusiveness

Posted Jun 13, 2021 13:55 UTC (Sun) by martin.langhoff (subscriber, #61417) [Link]

> took that feedback and modified or removed stuff and wrote new material to replace it.

Kudos for the hard work!

Code humor and inclusiveness

Posted Jun 14, 2021 17:24 UTC (Mon) by shemminger (subscriber, #5739) [Link]

Sometimes humor in other cultures is fun to hear even if you don't understand it.
At Linux event in Japan, was listening to simultaneous translation of the Japanese speaker.
He put up a slide and the translation was "Its a Kanji joke, you won't understand it".

Code humor and inclusiveness

Posted Jun 14, 2021 8:54 UTC (Mon) by eru (subscriber, #2753) [Link]

The problem here is really a particular kind of humor: word play and puns, which do not cross language barriers, and do look like typos for non-native speakers (or even native speakers unfamiliar with hacker jargon). Instead of banning humor, more universal kind could be encouraged?

Code humor and inclusiveness

Posted Jun 14, 2021 9:12 UTC (Mon) by taladar (subscriber, #68407) [Link] (1 responses)

I think humour is alright in comments and error messages as long as it doesn't get in the way of clarity. This is especially true for error messages where the last thing you want to do is frustrate the person trying to debug a problem indicated by the error message even more.

Code humor and inclusiveness

Posted Jun 14, 2021 14:07 UTC (Mon) by clugstj (subscriber, #4020) [Link]

When I have the source code, I never believe the error messages. Just grep the source for the message and figure out what it actually means.

Code humor and inclusiveness

Posted Jun 14, 2021 16:19 UTC (Mon) by sdalley (subscriber, #18550) [Link]

I really like this one from backalong, which I first saw in the venerable fortune quote of the day:

The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as 3.141592653589793... at every appearance, the variable PI can be given that value with a DATA statement and used instead of the longer form of the constant.

This also simplifies modifying the program, should the value of pi change.

- FORTRAN manual for Xerox Computers

Code humor and inclusiveness

Posted Jun 14, 2021 23:26 UTC (Mon) by miquels (guest, #59247) [Link] (1 responses)

Once upon a time the shutdown.c code in sysvinit had some code that went like:
char *shutdown_msg;
if (strcmp(username, "tyler") == 0) {
  shutdown_msg = "well hello mister Tyler ... going down?";
} else {
  shutdown_msg = "system going down";
}
Even in the 90s or early 2000s, someone found this, decided it was not appropriate, and sent in a patch to remove that particular attempt at humour.

Code humor and inclusiveness

Posted Jun 15, 2021 15:22 UTC (Tue) by pr1268 (guest, #24648) [Link]

Interesting...

Even in the 90s or early 2000s, someone found this, decided it was not appropriate, and sent in a patch to remove that particular attempt at humour.

Hey, popular hit songs usually have a finite shelf life. For those who still don't quite get the humor, it's a spoken quote near the beginning of a hit song from 1989.

Code humor and inclusiveness

Posted Jun 15, 2021 9:08 UTC (Tue) by marcH (subscriber, #57642) [Link] (10 responses)

> Others, silently watching the conversation, may also benefit.

Explaining a joke can ruin it. On the other hand, realising that a joke was overlooked tens or even hundreds of times can be very funny.

> For better or worse, English is the language of the free-software development community.

American English.

BTW it's funny to read in documents like this one https://developers.google.com/style/inclusive-documentation "avoid being too culturally specific to the US" while they list US-specific issues like "dummy" or "blacklist" and none from other places.

Code humor and inclusiveness

Posted Jun 15, 2021 10:19 UTC (Tue) by Wol (subscriber, #4433) [Link]

It can be rather hard to ban unintentional humour, yes ... :-)

Cheers,
Wol

Code humor and inclusiveness

Posted Jun 15, 2021 16:10 UTC (Tue) by nilsmeyer (guest, #122604) [Link] (8 responses)

> BTW it's funny to read in documents like this one https://developers.google.com/style/inclusive-documentation "avoid being too culturally specific to the US" while they list US-specific issues like "dummy" or "blacklist" and none from other places.

It often strikes me as odd how jargon-filled the language around inclusiveness is and also how it's extremely specific to the US and certain sensibilities.

Code humor and inclusiveness

Posted Jun 15, 2021 18:28 UTC (Tue) by marcH (subscriber, #57642) [Link] (6 responses)

Yeah, there's no hard and fast rule but the more offensive the slang and the deeper the wound, the more culture-specific they tend to be. So while paved with all the best intentions, some "universal" inclusiveness efforts can be actually naive and narrow minded.

In fact culture and language differences can be felt even inside the US. Social media: people separated by a common language and talking across each other.

To be fairer with this document the "avoid being too culturally specific to the US" does not seem to be about language. The examples given are holidays, sports and figures of speech. They should add boustrophedon dates, calendars with split "week-ends" and of course non-decimal units :-)

Code humor and inclusiveness

Posted Jun 24, 2021 8:51 UTC (Thu) by nilsmeyer (guest, #122604) [Link] (5 responses)

The problem I have is that I as a non-native speaker have is to keep up on the ever-changing landscape of words that are replaced in the name of inclusiveness, while also having to maintain a dictionary in my head for when I encounter those terms that are now deemed non-inclusive. It's like having to learn a new language all over. That is what I meant by jargon. And it also leaves me feeling bad because if someone took the time to record what might offend people, have I been hurting people all the time without intent?

To me it seems a bit silly and paternalistic, I was orphaned at a young age as the result of murder but that doesn't mean I'm traumatized anytime anyone uses the word "orphan" or "kill" or "shoot the other node in the head" - and even if I was, as long as it wasn't the intent of the other party, it is on me to deal with those issues.

> To be fairer with this document the "avoid being too culturally specific to the US" does not seem to be about language. The examples given are holidays, sports and figures of speech. They should add boustrophedon dates, calendars with split "week-ends" and of course non-decimal units :-)

Most of that is benign, and I think the reader should be given some credit. If I don't understand a metaphor I can look it up. It does not offend me if someone doesn't use the metric system, on the other side it would be a pain for me to have to convert all the units I use to some other system - we have computers for that.

Code humor and inclusiveness

Posted Jun 24, 2021 20:36 UTC (Thu) by marcH (subscriber, #57642) [Link] (4 responses)

> The problem I have is that I as a non-native speaker have is to keep up on the ever-changing landscape of words that are replaced in the name of inclusiveness, while also having to maintain a dictionary in my head for when I encounter those terms that are now deemed non-inclusive.

While politics are complicated and messy, the technical solution to this problem is dead-simple:

./scripts/checkpatch.pl --codespell --dictionary inclusive_US_english

Problem solved, back to work.

I've been asking a couple inclusion "authorities" for such a machine-usable dictionary. I haven't even asked any of them to agree with each other and produce a single one, after all it would be trivial to just:

./scripts/checkpatch.pl --codespell --dictionary inclusive_US_english1
./scripts/checkpatch.pl --codespell --dictionary inclusive_US_english2
...

Problem solved, back to work.

However I only got silence so far.

> It does not offend me if someone doesn't use the metric system, on the other side it would be a pain for me to have to convert all the units I use to some other system - we have computers for that.

You mean like NASA computers for instance? https://www.wired.com/2010/11/1110mars-climate-observer-r... :-)

The units problem is not about inclusion, sorry I gave that impression.

Code humor and inclusiveness

Posted Jun 25, 2021 8:56 UTC (Fri) by Wol (subscriber, #4433) [Link] (3 responses)

The problem with that is --dictionary inclusive_GB_English

There's more than a few words that have VERY different meanings depending on which version of English you are using. And what happens when a word is in inclusive_GB but exclusive_US, or vice-versa?

The only solution that works is "try not to give offense, be slow to take offense". The first is not always possible! and the second is needed to defuse failures. (And the reason the first is not always possible, is there are FAR too many people for whom the second does not apply. One only has to look at the discussion about fags to see why.)

Cheers,
Wol

Code humor and inclusiveness

Posted Jun 25, 2021 9:23 UTC (Fri) by marcH (subscriber, #57642) [Link] (2 responses)

I think you missed my first sentence:

> While politics are complicated and messy, the TECHNICAL solution to this problem is dead-simple.

Once the technical problem is solved, any project can decide to use any dictionaries they want.

> And what happens when a word is in inclusive_GB but exclusive_US, or vice-versa?

Spellchecker and inclusive checkers always exclude terms, they never force you to use certain words. How would they!?

Code humor and inclusiveness

Posted Jun 25, 2021 20:49 UTC (Fri) by Wol (subscriber, #4433) [Link] (1 responses)

I had great problems discussing race issues on Groklaw because "black" is in Inclusive_GB, but the translation "African American" is both wrong and, imho, belongs in Exclusive_GB.

Spell checkers etc don't force you to use certain words, true, but if your words are in someone else's exclusive dictionary then it makes it impossible to communicate ...

Cheers,
Wol

Code humor and inclusiveness

Posted Jun 26, 2021 2:54 UTC (Sat) by marcH (subscriber, #57642) [Link]

Understood: finding common language can be difficult when discussing sensitive topics. On the other hand, I don't expect to ever have to use "African American" in source code and no one has requested to rename red-black trees yet. Worst case we'll just do as the Americans do and get back to work, what's new? After all what countries are the GAFAM, FAANG and many others based from?

Code humor and inclusiveness

Posted Jun 17, 2021 5:35 UTC (Thu) by flussence (guest, #85566) [Link]

Inclusive corporate language is invariably going to be US-centric because it's a subset of Advertising, and nowhere else on earth do people have such mastery of saying one thing while meaning and doing the opposite.

Code humor and inclusiveness

Posted Jun 17, 2021 19:21 UTC (Thu) by ecree (guest, #95790) [Link]

It might help if people whose first language is not English were less eager to submit spelling and grammar corrections. In recent weeks I've seen quite a spate of patches of this kind on the netdev list, of which a considerable proportion have been erroneous; most of them haven't been missing jokes but simply showing their limited understanding of the English language. (For a representative example, see [1].) I don't know what has caused these to appear all of a sudden.

While this isn't putting any strain on reviewers that can't be borne, I can't help but feel that these submitters are making an inefficient use of their _own_ time and effort, and that they would serve both themselves and the project better if they focused on tasks where the language barrier put them at less of a disadvantage.

> Your editor has a hard time getting a laugh from native English speakers

Don't sell yourself short, Jon! Your articles always get a chuckle out of me :)

[1] https://lkml.org/lkml/2021/6/16/1167

Code humor and inclusiveness

Posted Jul 1, 2021 0:28 UTC (Thu) by rlhamil (guest, #6472) [Link]

As long as it's not likely to mislead someone resulting in incorrect patches, and not specifically targeting anyone (except lusers and pointy-haired bosses, who deserve to have jokes told about them), inclusiveness is the responsibility of the reader.


Copyright © 2021, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds