44 comments

[ 3.4 ms ] story [ 100.0 ms ] thread
So, is angry good or is angry bad?

Developers who care with a passion, or developers who can't stand what they're doing?

Totally depends, they were just looking for key words say "shit". But that could be used as

- "This shit is awesome!"

or

- "This shit sucks..."

totally different meanings.

This could be improved with natural language processing but I guess it is just a quick and dirty "15 minutes" kind of solution
Maybe, but can it detect sarcasm?

    d59b0a8 - Oh, this shit is case sensitive. Awesome.
In my experience with curse-worded commit messages it means the codebase is very frustrating and working on it feels like editing hack upon hack to get small changes to work. The curse words either are for "heck yeah, it finally works!" or "try again for the 12th freaking time"
If your project makes me angry, that is the best sign you will ever see. If I'm angry because of duplicate code, quick hacky fixes, stupid function signatures, outdated and harmful comments and workarounds, chances are I'm going to stay awake that night to sort it out.

Angry is good.

And after day 14 of endless crap, how is anger working out?
I've been there, it's not nice. That said, I always try to slow down and focus on quality at the detriment of quantity.
Context is everything :-) how many devs do you think thought they would be exposing the commit history to the world in that company you worked at?
"While cursing in your git commit messages probably doesn't correlate to actual anger at your company,"

So first sentence goes against the title, then again, the title is more catchy and broader than "how to find swears in git commit messages".

"I thought about checking on GitHub for which projects contain the "angriest" developers."

I don't know if it just me, but I wouldn't say that the person with the most swears in the commit messages are the angriest, but the least professional.

I would say the best way to tell how angry a developer is would be to look at the code they are writing.

Is it hurried, written in poor style or maybe even sadistic :/

Sometimes the comments yield clues to that. Best one I ever saw:

# !!!XXX WTF

Funny example:

http://stackoverflow.com/a/184673

No, the best way to tell how angry a developer is would be to ask them. To think that one could get any insight into emotional feelings from code is preposterous (with the exception of emotionally charged variable names or ASCII art).
There is no difference at all in the style of my code whether I'm angry or not. I just happen to make more typos which makes me even more angrier.

However, if poor style were the best emotional indicator, I think the angriest developers are all coming from oDesk.

Hey that thread is where the "There is nothing as permanent as temporary code" quote came from.
I've got some cursing in my git commits. Most of the anger typically stems now from the company, but from external sources (e.g., buggy software that we rely on, but for business reasons cannot ditch.)
This is not so much "how angry are your developers" as it is "how creative are your developers at commit messages".
Why curse in commit msgs? I usually associate them with happy/getting things done. Comments however...
It's not so much they were "angry" than they wanted to look "cool/extraordinary" by using those words.
Wow I would put this down as something more like "how mature are your developers?" I would never curse in a git commit message, any more than I would curse in an email to all my colleagues. No decent programmer I've worked with would, either. Completely unprofessional.
What about one example I encounted?

   boolean alanIsABastard = true;
I was the Alan in question - I guess I should have been pleased it was a variable! :-)
at least you can submit a patch to that :)
That's a prejudice I would be careful with. English is the working language for most developers all over the world, but not every culture is overly sensitive to swearing. Context is everything.
> English is the working language for most developers all over the world, but not every culture is overly sensitive to swearing.

I'm not an American, but it's interesting to see how strongly people from the States react to swearing. I know that for every 10 guys thinking that the usage of the word "fuck" is unprofessional there is at least one George Carlin (https://www.youtube.com/watch?v=AsZwRirDOYQ), Lenny Bruce or Bill Gates (http://philip.greenspun.com/bg/), it just seems that this "puritanical" point of view has gotten stronger and stronger lately. I'd be curious about the underlying reasons.

In my opinion this view is getting weaker. I'm encountering more and more otherwise excellent technical posts or blogs that I'm unwilling to share with others because the author drops an f-bomb just for emphasis.
Just the fact that you used the term "f-bomb" instead of "fuck" shows that the "puritanical point of view" alive and well.

Does it really even matter what word you use if we already know what you're talking about?

On the contrary, the theme of my post shows that. Can you explain why you think the 'puritanical' attitude is a bad thing (which you are clearly assuming). Aside from any religious points anyone would like to make, I view this behavior as highly unprofessional.
It's humourless, homogenous, prissy, inhuman (in the sense that it removes emotional context) and fucking boring. Correlating professionalism with the above is very USAian. You should focus on breadth of successful interaction on the human side and ongoing effective fulfilment of job description. Not sure where religion comes into it outside of the Puritans who buggered off to America.
I am quite sure that the concept of "polite conversation" is not american or puritan-centric.

In my experience, the people using the f-word in business interactions are the same people trying to con me. Maybe this is because several of my early experiences correlated this behavior with people trying to get me to join Ponzi schemes (these 'businesses' often target college-age people in the US).

The phrase "polite conversation" is meaningless in its ambiguity. I assume from the context that for you it refers to words one may or may not use to maintain propriety. To me it refers to the meaningless pleasantries one uses when temporarily sharing an environment with strangers.
From outside the US:

The fuss caused by the wardrobe malfunction during a sports event was baffling.

Some TV programs (not aimed at children, an example is "The Good Wife") have to avoid all swears. That's okay, but sometimes characters need to swear. In one episode they jokingly used traffic noise from a window to mask the swears.

I don't understand the torture porn of shows like 24 and the refusal to allow swearing.

Facebook made a decision to not allow any nipples. That's okay, their servers their rules. But they extended that to disallow any images of women breast-feeding children. That is baffling. Especially when FB also has some hate pages.

> I'd be curious about the underlying reasons.

I'd guess diverse population, with a vocal group who cares about it and a clear issue to campaign against. It's harder to say "More swearing on TV!".

If mine is an American company, I expect the context would be American, and would expect others to be sensitive to my culture. I make every effort to be sensitive to others when I visit theirs.

Tone also matters a lot. And generally, profanity is used in a negative tone. Developers who are constantly negative are like poison and should be removed from a team as quickly as possible.

> And generally, profanity is used in a negative tone.

I'm English.

Profanity is used joyfully. Swearing is fun. Glorious, playful, creative.

See Roger's Profanisaurus for an example.

> tandoori whisper n. Silent, yet exquisitely rancid, burst of wind following an Indian meal.

(http://www.viz.co.uk/profanisaurus.html)

I always enjoy finding a good rant or otherwise "unprofessional" comment when I'm going through code. It's like a little inside joke that somebody left for you. A little profanity doesn't bother me as long as its funny!

I've had people tell me that they ran into a comment of mine many years after the fact and what a great laugh they got from it. Easily 99.9% of my comments are totally boring but once in a while you run into a situation where it's appropriate to vent a little.

PG wrote about this:

"I've never heard more different explanations for anything parents tell kids than why they shouldn't swear. Every parent I know forbids their children to swear, and yet no two of them have the same justification. It's clear most start with not wanting kids to swear, then make up the reason afterward.

So my theory about what's going on is that the function of swearwords is to mark the speaker as an adult. There's no difference in the meaning of "shit" and "poopoo." So why should one be ok for kids to say and one forbidden? The only explanation is: by definition."

source: http://www.paulgraham.com/lies.html

So swear words are both: Restricted to adults only. Unprofessional.

I would think a likely explanation is: they are emotionally charged. They signal danger. You are not allowed to have dangerous emotions while being a non-adult (lack of self-restraint) or while being a professional (can affect sales or internal relationships).

Is it not frustration, as opposed to anger?
Interesting…so are those swear words meant to be place holders?

I sometimes use images of friends/TV characters, or even lolcats for giggles. I guess some developers chose to channel creativity this way…

Wonder what place holders 'angry' designers would use?

I got a pretty good chuckle out of this.

Cheekiness aside, what's a good way determine how angry your developers are?

Talk to them - most developers aren't remiss in telling you what's wrong.

I'd almost go further and say if you don't know without asking you've got an issue. I can tell you how happy or otherwise 75% of the people working for me are and hazard a decent guess at the other 25%.

I don't swear much, but when I do, it always ends up being in Windows parts of code.

Seriously though, I've written a lot of portable code and consequently quite a few of glue layers and there is always something in the Windows API that is done ass-backwards. From something as benign as InterlockedCompareExchange taking 'exchange' first, 'comparabd' second, to mother of all clusterfucks - the IOCP networking model.

Oh my, and here I code song lyrics into my code.

I wonder if the copyright police can get me.

As to the article, I have seen some creative ways to embed messages into code, including vertical arrangements and clever use of capitalization; string the capitals together etc which combined with texting can say a bit.

This is hilarious, but a symptom that the boss is very bored and avoiding the real work.

First of all, profanity is not taken so seriously in other countries, so "angry" is a relative term. Probably because to kill someone in those countries is a much more strenous physical task, so you can say "fuck you" as many times as you want to your neighbor without risking to have a bullet in your leg. Chicks impressed and nobody was killed... perfect civilised way to solve a small problem about property boundaries.

f-words in those countries can express humour, angry, frustration, irony, and even a sense of victory over the evil code when you solve a bug. We try to avoid profanity in presence of childrens of course, but not a lot of childrens are expected to jump to read source code, so... adult territory, sorry boy.

And finally, profanity can be very useful. If you need to put a landmark you need to find a rare word, short, not commonly used as name of a variable, nor a reserved word or one that another script will put automatically in your file. They are a relief and also an, easy to remember, way to mark a frustrating line, and these comments are easily stripped in the final version, so if you have a "shit" floating around a subroutine you know that something smells still in your code.