Haskell Researchers Announce Discovery of Industry Programmer Who Gives a Shit

I actually found this to be rather funny.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I'm really disappointed that

I'm really disappointed that more programmers don't get actively involved in reading endless threads about how to subvert Haskell's type system to accomplish basic shit you can do in other languages.

Lol. I agree, this is quite funny.

But I'd prefer you keep naughty words off the home page of the LtU weblog. It makes it feel less professional.

Yeah

But I'd prefer you keep naughty words off the home page of weblog. It makes it feel less professional.

Agreed! Ehud should have replaced the word with "poop." Much more professional that way.

Just avoid the four letter

Just avoid the four letter words entirely.

... Gives a 'Poo'.

or perhaps

... Gives a Number Two.

Ewww. Rot-13 is the clear

Ewww. Rot-13 is the clear solution: Fuvg

Oh dear, naughty words, what shall we do

What? Bowdlerizing an article title or proper noun out of some quaint notion of propriety doesn't feel terribly professional, either. Please tell me you're not actually being serious here.

I will not

I am being serious. I wouldn't have bothered commenting if the topic were in the regular forums or the comments area. Your implications of hypocrisy don't bother me because I have different standards for LtU home page vs. the rest of the site.

I'd like the front page of LtU to be something I'd be comfortable displaying to my professional acquaintances, or opening on the main screen during a conference presentation. Thus, I would favor a higher standard for home-page topics - their title, their summaries, and even the referenced content.

This topic doesn't seem to be of LtU home-page quality. But as authoritative sources setting precedents go, you cannot on LtU get any higher than Ehud. Thus, I feel some alarm and express my concern.

I won't be snarky

Given Ehud's unsnark on the FP survey at Microsoft and now this, could it be that your notion of the standards does not jive with his? Neither incident appears to have been an accident.

I actually think the profanity here is an integral part (notice the bit about programmers and sense of humor at the end of the post ;)

I have reddit if I'm looking

I have reddit if I'm looking for boorish humor and profanity.

Ehud's pseudo-snark didn't really bother me.

Okay, serious it is

I am being serious. I wouldn't have bothered commenting if the topic were in the regular forums or the comments area. Your implications of hypocrisy don't bother me because I have different standards for LtU home page vs. the rest of the site.

The comment was somewhat flippant, granted, but I wasn't implying anything, about hypocrisy or otherwise. I was being wholly sincere and forthright in finding your complaint to be frankly absurd bordering on outright objectionable.

Any "professional acquaintance" who would be upset by the title of Yegge's post has achieved such a transcendent level of uptight superficiality that I would advise breaking off contact with them as quickly as possible on the grounds that they are terminally incapable of putting things in reasonable context and the disease may be contagious.

I'm all for not wanting offensive content on LtU's home page (and Yegge can be pretty borderline at times, though this article wasn't bad) but scandalously naughty words really, really shouldn't even enter into consideration. Take offense at semantics, not at syntax; four letter words are just 4-byte tokens, nothing more or less. Looking for offensive content using regexps only serves to provide cover and comfort for those who've learned the gentle art of spewing poison with perfumed words.

Spewing poison with perfumed

Spewing poison with perfumed words and keeping our skeletons in their respective closets are basic arts for civility.

And it isn't that I find the words offensive. Nor do I believe most people would be offended by the words - in the right company. But I do find it unprofessional, and I believe most people would share that same impression.

Yegge's blog is full of humor, makes no attempt to be professional. I don't feel that's an example LtU should follow.

Also, you'll need to casually use a few more of those four-letter words in order to convince me they are 'just' 4-byte tokens to you.

I agree with David

Unprofessional is separate from offensive.

Offensive is really a more personal thing.

As a funny anecdote, my CEO once called me out for using the phrase "code smell" in a technical document, saying that I was insulting my fellow coworker's ability to produce quality work, and that we do not do that here. This is how a nerd like me learns the difference between offensive and unprofessional, and other business world nuances.

Offended by a Term of Art?

Well, in my opinion, this is quite a different case where your (clearly non-technical, at least this area) CEO was in the wrong.

"Code smell," at least for anybody involved in the "Refactoring" movement started by Martin Fowler's book, is a term of art at this point: it's a technical phrase with a specific technical meaning when used in this context, and should not be confused with whatever meanings people might assign to it in a non-technical context.

An example from outside of programming would be from the legal world where a case may be "dismissed with prejudice." To the layman that may sound rather bad, not to mention offensive that a judge might display prejudice within what is supposed to be a fair and balanced legal system. But actually, all it means is that the petitioner can't refile the case.

So I would suggest that you explain this to your CEO and either determine that it's not actually a technical report after all (i.e., it's likely to be read by non-programmers, and thus you should keep potentially confusing terms of art out of it), or that someone in your company (quite possibly only the CEO himself) is misunderstanding certain technical terms.

I think you misunderstand my point

Spewing poison with perfumed words and keeping our skeletons in their respective closets are basic arts for civility.

And it isn't that I find the words offensive. Nor do I believe most people would be offended by the words - in the right company. But I do find it unprofessional, and I believe most people would share that same impression.

In that case, I suspect we may be operating under very different definitions of "civility" and "professional".

Also, you'll need to casually use a few more of those four-letter words in order to convince me they are 'just' 4-byte tokens to you.

In context of this conversation, doing that would be rather petty of me, wouldn't it? Disagreement or no, deliberate violation of your expressed preference would be needlessly rude. Again, it's about content and intent, not form and phrase.

On the other hand, in the title of the article, the context is clearly benign: it's a stock phrase incidentally containing profanity ("give a shit" is a single unit with meaning not obvious from its components) being used incongruously for humorous effect.

The idea is, I don't know, trying to be polite and respectful to the people you're talking to, I guess? Worrying about words without paying attention to context is just inane. It's imitating the form of politeness without the substance, like children wearing their parents' clothing and playing at being adults.

But okay, whatever, maybe superficial childishness is one of those "business nuances" that Z-Bo mentioned. I've said my piece on the matter. Pursuing the issue further would likely be far too off-topic for LtU, so I'm done.

Mildly sic

It wouldn't have hurt to add "(sic)", emphasizing that the text is just as it appears in the original source.

We thought about renaming BitC along similar lines, but the prospect of headlines such as "BitC Turns Into Sh*t" dissuaded us. Several wags in our discussion of a possible BitC# implementation noted that '#' looks a lot like 'h' in some type faces, though, so perhaps our standards have been eroded by events.

But in truth, I think Ehud missed his headline. The best part of the whole thing was the fake "next article" at the bottom:

Next article: Microsoft to Introduce Mutually Recursive Error Messages Software giant Microsoft announced today the launch of their new REDRUM platform, an elegant system that allows Windows system error messages to shuffle blame around indefinitely by using continuation-passing.

The rest was funny, but that part had me laughing so hard it hurt. Second vote goes to the experimental humor monad.

I thought this was the best part

MacFarlane concluded, "Our elegant approach didn't work, so we hired a Perl hacker to go dig up the personal details on all 38 accounts that had ever upvoted a Haskell post, and the only one we didn't know was Seth Briars. So we reached out to him, and thankfully so far he hasn't threatened to sue us."

I love how Steve doesn't even mention how dumb either approach is. He paints Haskell researchers as ivory tower guardians who have no clue how to achieve practical tasks, and then backslaps Perl hackers as being too lazy to actually just sift through 38 replies, and so they'd write a perl script instead. The best part is where they mention that every Haskell researcher knew the 37 other people, and it never dawned on them to check who that other person was.

It just fit with the whole article. I remember lounging in #haskell once and somebody gave this wild answer on how to do memoization in Haskell, and the answer amounted to "Go read this Ph.D. this dude wrote, then you can do memoization in Haskell." This is what made this article so funny, because I've seen this attitude first hand when I first started learning Haskell.

Lazy Perl Hackers

Laziness, of course, is one of Larry Wall's three great virtues of a programmer.

36?

...every Haskell researcher knew the 36 other people, and it never dawned on them to check to that other person was.

Now if we can just build a dependently-typed forum comment verifier we can be sure to avoid similar foul-ups in the future! ;)

Re: …it never dawned on them…

This is not surprising to anyone familiar with The Evolution of a Haskell Programmer (which has been mentioned many times before).

Hilarious!

I was laughing my head of. His puns are done with fine understanding of the subject, but think it is actually good advertising for Haskell too.

BitC turns into Shit? Hey, Hi is just climbing out of it!

And that now makes it two attempts at trolling, Ehud. ;-)

Clarification

I am traveling so I cannot engage with this debate at the moment. Let me just say that norms can be subtle, and vary from place to place. I certainly didn't mean to be offensive or unprofessional, and personally I still don't think the post qualifies as such. I am respectful of the fact that others feel otherwise.

More substantively, let me say that I agree that "gives a sh-t" is an idiom, and idioms should be judged as units. We, of all, should be the first to notice this. Remind me to tell you sometime about my experience with the term clusterf... !

I also want to say that I knew this post will result in a meta-discussion on what is appropriate, accusations and bickering. It never crossed my mind that the word sh-t would cause this. It is just that recently it seems to me that the only posts that don't result in this type of debate are ones that link to research papers, dissertations etc. Personally, I find this sad. I think the highest level of professionalism and rigor is not mutually exclusive with fun and even impishness at times. I think we managed that in the past, and I enjoyed it (all in good measure, of course). But norms evolve and change, and maybe what we could pull off five years ago, is different than what the current community feels is acceptable.

Peace.

I always thought context was

I always thought context was more important, words do not have profane meanings in themselves. The s-bomb can be profane when used in many contexts, but this is not really one of them.

Personally, I find nothing wrong here but the world moving to more political correctness really bothers me. I'm fortunate that where I work (in Beijing), I don't have to watch what I say so much since no offense is often taken (well, at least in English). We have a term for being edgy...something along the lines of being a grass mud horse, and the opposite is "harmonizing" your speech (self or imposed censorship), also called being a river crab. I hope Ehud does not fall to far into the river crab category.

"gives a beep"

Keep in mind that "gives a fuck" is just as much an idiom as "gives a shit", with the same meaning. If you'd have second thoughts about the former, then the same reasoning applies to the latter. Neither idiom, even judged as a unit, is widely considered acceptable in professional correspondence - nor even in polite, familiar company. Even though I might find it amusing, neither are phrases I would like to see on LtU's homepage.

As programmers familiar with type systems, we should know that it's not what we say that determines what is acceptable, but rather how we say it.

The same reasoning doesn't apply

If you'd have second thoughts about the former, then the same reasoning applies to the latter.

No it's not

As programmers familiar with type systems, we should know that it's not what we say that determines what is acceptable, but rather how we say it.

Stop while you're behind.

Where is your logic?

Where is your logic? Is your judgement emotional?

Why would one 4-byte token be so different than another, especially wrapped in a common 'idioms' as they are, that you suggest different reasoning is necessary? Or is it the scatological versus sexual nature of the words that bother you? Perhaps where you live one is considered 'worse' than the other?

There isn't logic in your rational

There is no logic in the two blockquotes of yours.

After your edit

Or is it the scatological versus sexual nature of the words that bother you?

You're getting close. But it's not me that is being bothered.

Is that scatological with a

Is that scatological with a 'c' or an 'h'?

Where is (y)our problem?

Why are you bothered by a 4-byte token wrapped in an idiom or by the choice of other mature individuals? It's perfectly OK to be offended by things (after all it's part of human nature (as are other things which gave rise to terms which are deemed unprofessional by some people solely based on apodictic reasoning) and we will not get rid of the impulse to state or even defend ones point of view (hence this posting of mine)), but most of the time it's the polite and/or intelligent thing to do to just keep quiet about it as to not draw any more attention to what is essentially not an issue at all. I thought this site was about programming languages and not a sunday school. If you don't like what's written here or how it is phrased then don't read it. It's not like someone is forcing you to peruse the headlines of LtU. Maybe you could start your own site about programming languages that prevents users from posting things that contain certain words or phrases. There are sites out there which work like this, why shouldn't there be one about PLT?

I am not offended or

I am not offended or bothered by the words, and I have said as much.

I do not consider them to be mere 4-byte tokens - they are used initially for their shock value, and eventually by habit. They are vulgar because society deems it so. People often act offended because they believe they are expected to act offended, rather than any sort of righteous indignation. But even the whole issue of 'offense' isn't relevant to me.

My concern is with the context - a larger context than that three word idiom.

If I share a link to LtU with others, LtU's content, especially its homepage, reflects upon me and often upon my organization. There are professional contexts such as ACM, pseudo-professional contexts such as Stack Overflow, impersonal contexts such as Slashdot, and personal contexts such as Yegge's blog. I would like LtU's homepage to range more towards the former than the latter. I would like LtU to be a place I feel comfortable pointing people with whom I have no personal rapport but are interested in the subjects LtU professes.

It doesn't even matter whether or not people see something as offensive. It only matters whether they see it as professional. And I don't see "gives a shit" - not even as a unit idiom - as acceptable in professional correspondence.

but most of the time it's the polite and/or intelligent thing to do to just keep quiet about it as to not draw any more attention to what is essentially not an issue at all

I made two comments in my initial post. Was not I who decided to focus upon and bring attention to just one of them.

The tyranny of the offended

N/T

I don't care one single bit

I don't care one single bit what o'er refined church ladies think. Laughed my ass off. Thanks.

Funny because it's true?

Ignoring the title, and focusing on the content of the linked post for a little while, I think there are a couple of quotes that are quite telling (perhaps falling into the "funny because it's true" category):

I'm really disappointed that more programmers don't get actively involved in reading endless threads about how to subvert Haskell's type system to accomplish basic shit you can do in other languages.
and
"I believe the root cause of the popularity problem is Haskell's lack of reasonable support for mutually recursive generic container types. If we can create a monadic composition-functor wrapper that is perceived as sufficiently sexy by hardened industry veterans, then I think we will see an uptick in giving a shit, possibly as much as a full extra person."

One of the arguments for using a purely-functional language is that it makes programs easier to reason about. Similarly, Haskell's type system is supposed to help catch all sorts of programmer errors by formalizing various program properties. But if the only way (as hinted at by the first quote) to achieve practical results is to create a logical structure so baroque that most people struggle to understand it anyway, have we really gained anything? What good does it do me to know that in principle I could reason about something if, in practice, it's so complicated that it's difficult to fully grasp the implications of what I've constructed? I suppose this is where something like Coq enters the picture...

Funny, but false

In actual practice things aren't that complicated and it really does make it easier to reason about programs.

The main issue is that people mistake unfamiliarity for complexity. The attitude of "it sounds nice, but it's too complicated/difficult/etc." is pretty much exclusively the province of people who hear that Haskell is a cool new thing and decide to try it, spend maybe a couple weeks being baffled and confused by really basic stuff, then give up and start acting like everything in Haskell is always that painful, in lieu of actually expending any effort to learn it.

There are certainly some kernels of truth in the article (particularly where it comes to the academic tilt of the Haskell community--I'm sorry, a Ph.D. thesis is not acceptable as the only extant documentation for a library) but the supposed difficulty of accomplishing basic tasks in Haskell isn't one of them.

Productive fallacies

I'd say the latter quote has an equivalent in almost any ambitious non-mainstream project. It highlights the comical aspect of programmers ( and academics ) reflecting their hopes for a breakthrough success by means of little tweaks and technical improvements which will turn them into super-stars whose inventions will rule the world - something which is almost never going to happen and when it happens then accidentally. It's a popular but very productive fallacy in our circles.

BTW I do think that Haskell is a super-successful project but more in the way we would say that poststructuralism was a super-successful fad in the humanities and publications/media devoted to intellectuals. Suddenly everyone who wanted to be up-to-date had to know what the problems of "logocentrism" are and what deconstruction is. All of this was super-important, produced plenty of conferences, books, novices who imitated the jargon of their masters and so on. On the other hand, when you work at Google and compare the sales figures and popularity statistics, you might come to the conclusion that this whole thing was just a silent fart compared to the big brown turd that is Harry Potter.

Misdirection

if the only way (as hinted at by the first quote) to achieve practical results is to create a logical structure so baroque that most people struggle to understand it anyway, have we really gained anything?

The premise is false, and an example of the perfect being the enemy of the good.

One thing that distracts and confuses people, and provides a lot of FUD fodder, is that Haskell is used as a research vehicle to, among other things, explore ways to push the boundaries of what can be done with a type system.

This is usually the wrong thing to focus on if, like quite a few of us, you're "an industry programmer who gives a shit". It's perfectly possible to use Haskell like a practical, non-research programming language, and still get benefits from a type system that completely puts to shame anything available in any mainstream language.

In those places where the type system doesn't provide a benefit, you can usually just implement things in the same sort of way you would in a language with a lesser type system. You don't lose anything, and you keep the gains that the type system provides elsewhere.

Real World Haskell

It's perfectly possible to use Haskell like a practical, non-research programming language, and still get benefits from a type system that completely puts to shame anything available in any mainstream language.

Sure. I think books like Real World Haskell demonstrate that. I was deliberately being a little provocative, partly in the hope that this thread might drift back to being about PLT instead of four-letter words.

I found this rather funny as

I found this rather funny as well. Having learnt about it first via "scala-debate", it is amazing how people freak out because of this funny story. It's sad.

I especially like how he makes fun of the Haskell type system and monadic stuff. When I first came in contact with Haskell more than a decade ago, I was totally blown away by it. But there are really those among us who take types and monads too seriously and forgot how to look at programming in an unprejudiced way.