Your code stands for itself. Simple as that.
And I tell this to almost every programmer I work with at some point or another. If they have an emotional response to a code review, or criticism of any kind—"Code is never personal. Whatever I say about your code has nothing to do with you. All I want is for us to improve this together, and we do that by exchanging ideas."
Criticisms are never directed at people, they are never intended to be personal attacks—they are simply evaluations of quality, and we're all trying to achieve higher quality. When you put code out there, you open it up to response. If people decide that it's good, then great; if people decide that it's bad, then great! You have an opportunity to improve it. That is a godsend. It's a million times better than if you received no feedback at all.
Male, female, good coder, bad coder, I don't care who you are: if you go sob in a corner because you receive criticism, then you're not going to improve. You have to join the discussion like an adult. Cramer may have an asshole opinion here, but sometimes assholes are right. Sometimes the world is harsh, but through adversity we can become better. Deal with it.
* Update: Well, I've read up more. These criticisms were not the productive kind, and were tactless and mean. I stand by what I said, but the people in question didn't criticize right, and they deserve the vitriol being directed at them. Shame.
You don't start "discussion" with "how to make sed and grep worse", you just don't. She (harthur) even attempted to get some real feedback out of the snarky twitter mob, but it turns out that "nothing's _wrong_ with it, but I don't want to build my app on top of others' code who are at this level of understanding".
I also agree that assholes certainly don't have to apologize, as long as you agree that we're free to carry on considering them assholes.
My father always told me, "It's a damn shame that it's legal to be an asshole in this damn country." But yes, it is, and yes, you absolutely are. I am a strong proponent of calling out assholes when they're being assholes; myself included.
I've heard this repeated ad nauseum (not just in this thread) and I think it's total crap. You cannot tell me that if you spend dozens of hours writing something then someone comes along and goes line by line telling you how what you wrote is an abomination that you're not going to have an emotional response.
If that's the case it has to go the other way as well. Just finish writing a new process that will save the company $30k a month? Doesn't matter. If your code doesn't have anything to do with you then it's not an accomplishment to write good code (I don't believe this).
Just to be clear, I do think code is personal but I do think people should welcome any constructive feedback, particularly the negative. Yes I feel a twinge in my ego any time someone criticizes my code, even minor stuff; but guess what? When they look at it next time they won't be able to make the same criticism, because I will have fixed it.
Who reads code without thinking of the author? When I'm derailed by a bug in some library I'm depending on, or see code that works in a way I find unintuitive, clunky, etc., I absolutely think judgmentally about the person who wrote it.
When I'm reading someone else's code and find a solution that's significantly more elegant than I was imagining, I'm impressed by the person's accomplishment, and they basically get points in my head. If I meet them in person I'll quite possibly shake their hand a bit more warmly.
This is normal and natural, and I have to consciously counter-balance that with the learned (but not instinctive...) knowledge that I've written bad code myself, released buggy or clunky code, taken questionable shortcuts, etc..
When I'm in a position to criticize someone else's code (and it's part of my job to do it sometimes!) I usually rewrite my feedback a few times (and sometimes decide it's not needed at all) before writing or speaking to the developer, because it takes a lot of conscious thought to modify my instinctive response into something more fair and effective based on what I've learned over the years.
That's my experience.
Does everyone else actually think that differently?
Heck developers are still fine, try talking to a doctor about some other doctor's work, even if all you utter is a minor work of praise for the other guy you will receive nothing short of total angry response loaded with utmost display of ego possible.
Never needlessly criticize someone's work or praise a competitor in front of the person. Unless something big is at stake.
Everything is subjective and everything is personal. That's how human beings work.
These comments weren't constructive, by any means.
Maybe this is fine for psychopaths, economists, or machines that can eventually understand the criticism one day, but for normal people it doesn't apply. Someone's code is like someone's child.
It's great and I'd say necessary to use constructive criticism, but I just don't see the need to bully and make fun of people.
Having said that though, when you ridicule someone, you've made it personal. When someone ridicules someone else, there's a high chance that they secretly feel ridiculed by others (Jungian shadows).
I forgot who observed this: adult males will kill off younger competition, unless they are teaching. One of the core values of the Open Source community is sharing and teaching. I suppose, if you stick around in opinionated software long enough, then you start moving away from that core value.
I guess it depends on context. For team work projects, maybe your coworkers don't feel like they have ownership over their work. I feel that this is very different compared to open sourcing your personal work.
"if you go sob in a corner because you receive criticism, then you're not going to improve."
The corner part is up for discussion, but who says crying renders you un-improvable or non-adult? It's what you do after you cry that matters. I did not know harthur's gender until it was brought up, but women cry more easily than men and it isn't really relevant to their coding nor is it calibrated to feelings in the same way it is for guys. It's not the nuclear option guys think it is.
As for evaluations of code quality, I'd be thrilled to read a discussion of the actual "issue" somewhere. That would at least be interesting.
You don't have to like what he said but he puts it in context and within the realm of Twitter - a 140 limited space of communication.
His original tweet was "Ever wanted to make sed or grep worse?".
Really. Can we not be critical on the internet any more?
And here is EVERYONE saying worse things about him in the comments!?
Go look in the mirror people. I'll take the downvotes.
[updated: typos]
This is part of why I dislike Twitter - the 140-char restriction supposedly makes you to the point and concise, but in reality it just encourages snark and imprecision.
It's a world of sound bites, and "Ever wanted to make sed or grep worse" sounds wittier and has more jazz than "I really dislike this open source project and here's why."
That said, if a platform disallows you from being clear and fair to fellow people, don't use it. Ultimately the responsibility to be good to one another is your own to enforce, not Twitter's.
> "Can we not be critical on the internet any more?"
Honestly? No. The internet is full of flippant, callous, outright dismissals. It's reached epidemic scale - and it extends far beyond our little corner of tech. Everyone wants to have their little sound bite hating on something, and it's juvenile.
Given the current state of things, IMO criticism demands a higher standard than ever before. It's not that we can't be critical, it's that we can't be critical without qualifying and substantiating said criticism - there's just too much "hurr this sucks" floating around.
This may necessitate using communications platforms that permit more than 140 chars at a time ;)
> the 140-char restriction supposedly makes you to the point and concise, but in reality it just encourages snark and imprecision.
This is, of course, a false dichotomy. It does both, depending on the author, and the author's mood. The solution to this problem is to not follow jerks on Twitter. Follow cool people whose tweets have wit, poetry, interesting facts, and/or links to the same.
140 characters forces only minimalism, which exaggerates any number of latent traits, good and bad.
See my other post further down the thread. One of the prevailing attitudes I'm seeing in this thread is the notion that jerks/assholes are somehow exceptional. We're all more than capable of being terrible to each other, given the right context and the right triggers. Pretending that jerks are somehow a different class of people from "the rest of us" is folly.
No one is solely defined as "jerk" - most people have valuable things to contribute, the question is if the system is set up in a way that encourages good behavior.
I don't doubt there are many people who are able to tweet within 140 chars without behaving badly towards others. That's not the part under doubt, the question is if people behaving badly are in large part doing so because of forced brevity. We can make jerks contribute positive things if we set up the system correctly, we can also make more non-jerks into jerks by setting them up badly.
> "140 characters forces only minimalism"
This is a claim often trotted about, but I just don't see this. Looking at my Twitter feed it seems to encourage abbreviations, bad spelling, incomplete sentences, and truncated thoughts. Twitter proponents act like the internet was a giant cesspool of wordiness, and that Twitter was somehow the savior - I don't remember this internet when everyone was writing run-on sentences and long essays about their day.
Or rather,
replace 'critical' 'snarky'
I think that's a vast oversimplification.
I actually don't think this has ANYTHING TO DO WITH CODE. Anyone can walk into a subway restaurant, ask for a sandwich, take pictures of the people who made the sandwich, tweet their pictures laughing at how stupid they are and what a shitty job they did making your sandwich. You can do that to waiters, barstaff, cleaners, you can do that to anyone... but it makes you an asshole.
If you find yourself pulling up individual repos with <5 users and shouting 'Hey everybody look at these people recreating the wheel! What fools! Let's all point and laugh!' wouldn't you agree that's being an asshole? Is that bettering the community? No, frankly all you are doing is choosing to piss on a few people.
I have a ton of files on github and gist, most of them are absolute crap. I put them out there on the off chance someone happens by a similar issue/problem they might find something useful.
This morning there was a gist I was reading, and yeah it was mostly rubbish but it had the one line of code I was looking for.
That behavior needs to be encouraged by more people. We need to encourage people to put out their code and not delete it. Regardless of if it is crap.
If you see something picking up momentum with a growing base of users that you disagree with then by all means start raising the alarms; create a blog discussing the downside of using process X (examples of X could be nosql, sql, node, coffeescript, python, java, grails, groovy, haskell, go, maven, ant, gradle, etc etc)
I have a ton of files on github and gist, most of them are absolute crap.
Honest question:Is it okay for someone else to say (without swearing or making personal jabs) in public that it is also crap?
And again, to emphasize, this is a sincere question.
Will it bother me? Maybe, depends on who it is. XxHackerPants420xX's tweet of 'Columbo is teh code suxxor' wouldn't bother me as much as pg choosing to write a personal blog post titled 'ode to Columbo's shitty github account'.
Is it okay? Meh. It isn't a community I'd want to be part of. I truly believe in the power of constructive criticism and I don't believe anyone can survive this environment by wearing their hearts on their sleeve. However, there's never justification for rudeness.
And I agree - constructive criticism trumps criticism.
Is it okay? Meh. It isn't a community I'd want to be part of
Also agree. However I'm unease about people flogged in public over generic criticisms. I think its important that people can say things (yeah, even mean things) since sometimes its warranted.I'd prefer we save the public flogging to those that step over a hard-to-define line. I don't think that line was crossed in his case.
It's one thing to be critical. It's another to ridicule. Being critical is rational and objective. Ridiculing is a form of contempt, an emotion. When you ridicule, you are not taking apart what you criticize, you are trying to take apart the other person. Those skilled at this will often do it in such a way to make it sound as if they are being rational, objective, and focus only the work, when in fact, they are projecting emotions of contempt and cutting someone apart. The way our society is structured, you can "get away" with something like that because there's a fallacy ... that what you can somehow separate the criticism and feedback you give from the feelings that you experience (or suppress).
Well. You can't. Emotions arise and pass: they are real, they are experienced, and they affect behavior.
You can, but why? What good is served?
Seriously, what an asshole.
That basically summed it up. I guess it's clear the 140 character limit was never the issue.
Here's the thing - if you ever even consider saying things like this to someone on the internet, you're an asshole. It's not a one time accidental thing. Nope, it's in your personality. I hope I never meet either of these two individuals, but if I ever meet them face to face I will make sure to tell them exactly what I think of them.
Don't you think you're taking this a bit far?
Here's his quote from twitter:
>Ever wanted to make sed or grep worse? http://github.com/harthur/replace
In the world I live in, that's called being an asshole.
Look, I'm not saying these guys should apologize (in fact, if this is how they apologize it's probably best they don't), I'm simply stating that they're dicks. I know a lot of computer programmers just like them.
Edit: And I hate working with people like them. I don't care how brilliant they are, programming is a team sport in most places. If you're a jerk I don't want you on my team, no matter how many awesome sed scripts you can whip up.
Fact: The vast majority of people would take the twitter conversation Heather posted as a personal attack. Not many people are able to separate attacks on their work product from attacks on themselves (for good reason - since I feel like most people derive a sense of pride from their work).
I dare say it would also take an asshole to not recognize this fact and make rude comments and not realize someone would be personally offended even though "it's just some code".
But I'm going to hope it's not just a post you disagree with. Just like I hope you don't call code bad because it uses OTB or omits semicolons. It should be failing to solve the problem it sets out to solve, and in an interesting manner. (Note: I have not looked at the code tweeted about.)
Edit: Wait how did THIS post get downvoted? I can understand the earlier posts but I can't even imagine what's objectionable about this one.
The outrage is not about constructive (or even unconstructive) criticism of the code itself (which appears to be fine): At least one of the guys ridiculed the author and questioned her competence for the sole reason of implementing a subset of the features of GNU find+sed on top of Node.js.
Thank you for the useful info.
You are way too attached to your code.
. . .
What these guys said was still extremely rude.
> You are way too attached to your code.
For most people this is subconscious. If you're not, good for you.
Someone who's so attached to their code that they can't accept criticism (even harsh criticism) of it is pretty much guaranteed to be writing crappy code.
You'll notice that harthur didn't flip out as if her child was insulted. Instead she asked for constructive feedback, a sign of professional maturity.
Whoever came up with the orig quote does have good sense. I've worked with a lot of people ranging from NASA to new hotness start ups. I would say 95% people would be pissed no matter the skill level if you just made fun of their work as opposed to offering constructive criticism.
> Someone who's so attached to their code
I'm sure that most people who care about the quality of their work is somewhat attached to their code.
> that they can't accept criticism (even harsh criticism) of it is pretty much guaranteed to be writing crappy code
The issue at hand isn't that Heather can't accept any sort of criticism. The issue is still that you don't have to be a fucking dick to criticize someone else's work. It's not hard to offer constructive criticism as opposed to just trashing and making fun of something someone worked on for months or even years.
> You'll notice that harthur didn't flip out as if her child was insulted.
Umm she was crying; not only that - she posted that she cried. I would say she was pretty upset; she just handled herself well despite the circumstances.
Everything in this world is subjective. When you talk about someone's work you are inevitable bringing some degree of comparison into it, and human ego has huge troubles dealing with that.
Nobody ever forgets an insult, it comes back sooner or later.
I wasn't saying people wouldn't get pissed if you insult their work. I'd be annoyed if someone made fun of my work. But I certainly would not be as angry as if someone insulted my child. Or even my dog.
> The issue at hand isn't that Heather can't accept any sort of criticism.
Obviously not. She handled the situation with an overabundance of grace and asked for meaningful criticism.
> The issue is still that you don't have to be a fucking dick to criticize someone else's work. It's not hard to offer constructive criticism as opposed to just trashing and making fun of something someone worked on for months or even years.
Absolutely. These guys were being jerks. My comment was about being as attached to your code as you are to your child.
> Umm she was crying; not only that - she posted that she cried. I would say she was pretty upset; she just handled herself well despite the circumstances.
I'd say the fact that she asked for feedback is clear evidence that she is not attached to her code the way she might be to a child. Try walking up to a parent and tell them that their child makes your eyes bleed and let me know if they ask you for constructive feedback, vs hitting you, screaming at you, spitting in your face, or just walking away scowling.
It's not "a single skill" as if you were telling Torvalds that his juggling skills were crap and he should keep his day job; if someone has enough coding experience that they're releasing OSS on GitHub, coding is quite likely their job (or they're in school to make it their job).
So yeah, snarkily saying that the product of someone's career activity makes your eyes bleed (or whatever) is demeaning to them -- i.e., directly attacking their dignity and others' respect for them.
Also: "should" != "is", I'm afraid.
That's a beautiful bit of writing and thinking, right there :)
There's a difference between "being an asshole" and "sometimes acting like an asshole". We all do the second thing sometimes.
A snarky comment and a bad apology may be an instance of the second thing. But they don't imply the first.
Compare another toxic noun, "racist". There's a difference between "being a racist" and "making a racist comment". If people could apologize for the latter when it happens, understanding that it does not imply the former, the world would be a better place.
Sorry chief, I'm gonna have to go ahead and disagree with you there. The snarky comment can be forgiven. (although I've since read other tweets/posts from David Cramer and it appears as though he really is that abrasive all the time)
By contrast, a bad apology is a clear indication of someone's true nature. If the apology is backhanded or otherwise poor, it implies a lot. If you issue an apology but don't really feel sorry, then you're just doing it to placate others, and you really are a jerk.
Holly Ass, Twitter, by essence is an assholy thing. What can you expect from someone who has "3500 friends" or "50 000 followers" ? Follow the Holy Shoe of Jerusalem :)
Their actions weren't advisable by any measure, but you've certainly demonstrated a willingness to make up your mind about them, based off a number of extremely extremely short pithy statements. Dial down your indignation, friend: help us get rid of this reek.
I agree with you and gave you an upvote. Maybe my comments do make me look like a "tosser" - but these people were behaving like bullies, plain and simple. And man, I can't stand that shit. I see it every day. People will go out of their way to make others feel miserable. Or they use their power/standing/influence to pick a fight with someone weaker just because they can.
The fact is Nodeites are renowned for rehashing the entrenched. It also, gasp, has callbacks. These people weren't gentle in pointing out a capital example of just these two things. I don't think that makes them bullies or bad people, nor do I guess they even considered the human behind the works nor hardly the work itself: my _guess,_ and indeed, everyone is guessing here, is that they were making a crack on the idea of replacer, as justly emblematic of what Node is renowned for.
And although I think one would be a fool to become so polarized in view as these people showed themselves to be, I would much rather we have open channels where such conduct is permitted, where we can be a little low brow, boorish or lively, and express our ruffian selves: I'd rather have a wildness. I prefer tolerance and resilience. I loath the intolerance that says we must sterilize and purify and be of good behavior, must watch ourselves constantly.
Harthur talks about feeling like her identity has been injured, wounded forever. Yet here we are condemning and slining insults, armed with the zeal she has given us. Here we are, enacting new moral codes, legislating terms where nothing but support and good manners towards one another will be accepted. She felt that she had not been tolerated, not encouraged, yet the response is to mandate intolerance of another behavior, yes a boorish one, but regardless, just another tripline for ourselves to unintentionally trip over. Let's instead seek discourse- which she did- and failing that, tolerance. Let's not go troll hunting, lest we lay too onerous a minefield for any man to hazard.
A girl got caught in the crossfire of polarized communities. She cried. Everyone felt bad, many got indignant and decried other people and other communities for their action or contact with the affair. The internet got more uptight about itself. That, to me, is the absolute losingest situation imaginable, and I'd handily pass out yellow cards to 80% of this topic as contributors towards winding ourselves up, of taking ourselves too seriously, of ascribing way too much levity to an event that was tiny in size, and which we have not been given a codex to understand- it remains a context free situation, one we merely make projections about, without knowing what the real intent was, we just know people tweeted, for whatever reason, because something struck them, and they created, made and shared new content about their experiences.
They shared. I don't understand, they haven't explained, I don't think I'd like it even if they did explain it better, but these were people keeping themselves amused, first and foremost. That that would be subject to so much scrutiny, the cause of injury, is itself the most tragic here. We need to be tolerant, and find good, not focus on censoring bad or fretting about our identities, as first Heather did, and now the three authors are likely doing.
Sorry for labeling your writing as tosser like, not cool of me. I feel like ascribing intent to what happened is an impossibility, and even with bad intent I'm still very uneasy with censoring, with mandatory good behavior. I beg for de-escalation.
"At no point in your rambling, incoherent response were you even close to anything that could be considered a rational thought. Everyone in this room is now dumber for having listened to it. I award you no points, and may God have mercy on your soul. " - Billy Madison
Man I love your version of tolerance.
First things first, bullying is not always conscious. You seem to imply that and I happen to believe that is not true. Someone can act bullying-ish without being a bully. It happens. It sucks, always. It sucks especially when you're not in fact a bully and you didn't mean to act like one. (someone made a comment about "being a racist" and "saying something racist". It's similar.)
This point has been made over and over again: Someone with such a large audience and such a public channel has a certain responsibility. For better or worse, they represent a certain part of a community, they are looked up to. You can't deny that with a certain amount of, let's say "Power" comes a certain amount of, let's call it "Responsibility" ;)
And that responsibility is that they can't afford the same boorishness and low brow-ness on their e.g. public twitter channels. It's not just a developer expressing an opinion anymore. It becomes a community thing. I even read tweets in German, bashing this github repo. And when it goes that far, the vitriol in the air just grows exponentially. People don't think about it anymore, it's suddenly a hive mind thing. That's why it spreads so quickly. Monkey see, monkey do.
It may have been only one tweet per person by three people, but they happened to be high-profile enough to spread it far and wide. I also want to keep the communication channels open and tolerant, but it is important to conduct yourself in a courteous manner that you would also use face to face. Especially if you have follower counts in the thousands or ten-thousands. (it's a tight-knit community...)
I don't, however think that the public communication channels need to be tolerant or indeed designed for low-brow, ruffian, boorish behaviour. You can do that at home with your friends. Or indeed on Jabber/XMPP. Or on your own forums. Or mailing lists. Not that I would want to ban people from exhibiting these behaviours on public channels (To the tolerance-mobile!), but I would like to see the community frown upon them. In my opinion, they add very little value to the content and they benefit mostly the person exhibiting them and not the community at large. That to me means definitely that it should stay in private circles, especially if it can be detrimental to a single person.
You say that the community doesn't do itself a favour, reacting as harshly as that. But many of us (I think) love the idea of open source. Many of us would put out a small tool like that on github and we would probably be upset if someone (seemingly) just took a quick look at it and go to twitter and just essentially start a high profile pitchfork mob. That is why the reaction has been soo strong and passionate.
Also, the fact that Heather got caught between communities warring (apparently. that was not known to me...) is fairly irrelevant. This kind of conduct needs to stop. If someone wants to duke it out on twitter, take it up with someone who 1. agrees to it, i'm sure there are enough zealots in either community. or 2. is of a similar high-profile stature.
Some thoughts on what was said, what was meant, what was perceived. What was said: "I cannot even make this stuff up [link to gh:harthur/replace]" What was meant [speculation?]: "Hmm, I wonder why someone would remake sed with node.js? Weird." What was perceived [speculation?][citation needed]: "OMGWTF, LOOK AT THIS IDIOT MORON!!11 DOESN'T TEHY KNOW THAT THIS IS LIEK SED BUT SHIT? ALSO NODE.JS, LAWL!!!11"
This is only one of the examples. This is a problem, agreed? Most people seem to forget that perception is the most relevant of these three things when you conduct yourself in public.
Wow, this got more rambly than expected.
PS: To everyone that says "grow a thicker skin, the world is bad", please don't do this. It should be very reasonable to expect people to not be idiots. It's not a stupid thing. It's something we as a community should strive for. We should be moving towards a community that frowns upon these behaviours, protecting the new and the defenseless. (What you do in your startup world is none of my business, of course.) Why this hit so close to home for Heather [speculation?] and many of us [speculation?] is because we feel safe in this community and we didn't expect to [citation needed] be backstabbed out of our own ranks.
That.
Have you really never made a comment without fully thinking out the ramifications, without missing some of the consequences, or just simply without really thinking period? People say shitty things sometimes, but labeling them as an asshole for all time based on that is patently ridiculous.
They picked a repo on Github that they thought was duplicating functionality in Unix (oh the horror!) and engaged in classic schoolyard bullying. Publicly shaming the code and the author, apparently to make themselves feel better and show the world how smart they were. And at the end of it, the apologies they issued after the internet turned against them were poor.
So yes, I do occasionally say dumb things, but I'm never a bully. If I say something mean it's because it was provoked. And if I need to apologize for something, I do it with real contrition.
If you want to judge a person with any degree of finality by one isolated incident that you barely were involved in, that's your prerogative. I think that speaks more about you than it does the person. Hopefully you'll give me some evidence that changes my mind, I'm at least still open to that.
http://blog.steveklabnik.com/posts/2010-09-24-trolling-is-a-...
This post was from 2010 where he admits he's a jerk and can't help it. I think that pretty clearly is a victory for my thesis.
The man HIMSELF admits he is intrinsically an asshole, and that even when he uses his real identity he can't help himself. Yes, he's trying to be better. But an alcoholic trying to fight the bottle is still an alcoholic.
Since we are talking about insults, reputation and constructive criticism: Does HN think the quoted text is appropriate?
Personally I think it is about on par with "makes my eyes bleed".