
Node, Twitter, and Apologies - bradly
http://blog.steveklabnik.com/posts/2013-01-23-node
======
kyro
That is my number 1 complaint with Twitter. Sometimes when I write my tweets,
I find that the app randomly inserts expletives and will turn the entire
message into an @ reply. They must have some really wild NLP stuff going on
too, because sometimes I'll even have words of praise switched out for ones of
ridicule.

I mean, it's already hard enough to be civil in 140 characters.

~~~
MartinCron
Let's give the benefit of the doubt, maybe it was autocorrect and he was
trying to be positive and civil on his phone, but his phone turned it into
mean-spirited ridicule.

------
fletchowns
_accidentally being an asshole_

Is it just me or does this blog post just make this guy look like an even
bigger asshole?

~~~
gruseom
Lots of us are accidental assholes sometimes, if it means hurting someone's
feelings without meaning to.

~~~
niggler
He was not being an accidental asshole. It's not just about hurting a person's
feelings. 140 character limit aside, there are better ways of expressing your
criticism without derision, and its better for the community if we try to
maintain some decorum.

~~~
gruseom
Who's arguing for derision and indecorum?

I find it easy to identify with a guy who screws up, hurts someone's feelings,
and then trips over himself trying to make it better because he feels bad.

~~~
niggler
Accidental asshole isn't a real concept. I highly doubt any of the people
would have reacted differently in person, for example. The character traits
that we ascribe as being an asshole are developed over many days, during which
many of the reactions are intentional.

------
wpietri
Being sorry that somebody else felt bad is the _beginning_ of an apology. But
it's not the end of one. You can't just say to yourself, "Well now I'll never
make somebody feel bad again. Problem solved!"

When you fuck up and hurt someone, people don't want just to hear about _you_
feeling bad. That's making it about your pain instead of theirs. It's asking
for people to pat you on the head and tell you it's all ok. That's kinda weak.

They want to hear what you've learned, and why this won't be a problem again.

~~~
TallboyOne
In his defense he has apologized like 600 times on twitter so far. Im sure it
was a genuine mistake just getting carried away in moment. Twitter makes that
kind of easy I suppose.

~~~
wpietri
Sure. But in those 600 times, is there evidence of him learning something?
Contrast it with Corey Haines's apology, where he talked about how it violated
his principles, that his specific mistake was forgetting that there are always
people behind software. That's the sort of lesson-learning that I thought was
missing from Steve Kalabnik's post.

------
excid3
I understand it was unintentional, but saying something was an accident in any
apology makes it sound insincere. It shouldn't matter if it was an accident or
not.

~~~
dekz
Not sure how this comment is an accident:

    
    
        Steve Klabnik
        ‏@steveklabnik
        @harthvader @zeeg 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
    

<http://twitter.com/steveklabnik/status/293830888003887104>

~~~
voidlogic
Did he perhaps mean to direct his criticism at node/js as a framework/language
but rather made it sound like he was critical of the author of the node.js
application in question?

Even if that is the case, it seems like he should have been able to read how
other people would read his comment. I'm not sure I buy it.

------
instakill
Dear Steve, Heather and anyone else that fits the bill

It's okay. People sometimes say hurtful things despite historically having
strong opinions about never belittling other people publicly. It doesn't mean
that they truly mean it, and it doesn't mean that you should take these
negative things to heart either. People slip up because we're multifaceted
creatures and despite our intentions to be the best person all the time, well
that's just not possible.

Regardless of whether what you're being criticized for is justified or not, it
is inevitable if it's been made public. The irony in this case is that the
bully is being made feel worse because of his past blog posts, which is also
sad but just as inevitable. It's okay Steve, we all fuck up, and the ease of
doing it on Twitter doesn't help.

Heather, I promise you that any decent potential employer is still exactly
that. Nobody will disqualify you from a job position based on something you've
made. You've open-sourced it, so if anything you get bonus points. You will
always be criticized, the trick is to ignore the haters and know that people
in a situation of genuine critique (i.e. candidate interviewer) will never
judge you (as badly) as some people on Twitter did.

Do not let this discourage you from contributing publicly in future either,
even if your code IS shit. Everyone's code is shit, at least to some people.
As long as you're happy with it, that's all that matters. Also, somewhere down
the line you'll look back at it and think "Wow, that's shit code", which just
means you've gotten so much better.

------
kylec
No sincere apology ever starts with "Soooooo".

------
jimmyjazz14
Apologizing for "making someone feel bad" seems like a way of dodging blame.
Honestly this whole thing feel like a half-assed apology sandwiched with
excuses. If you are wrong say so, take the blame and move on.

------
venus
This post seems like he is trying to apologise, but it's also coming out wrong
and he is again accidentally being an asshole.

------
MartinCron
This comes down to "I wasn't being disrespectful and dismissive of _your_
project, just this other project, so we're cool, right?"

I think we can all do better than this.

~~~
askimto
Not sure we can do better but I'm absolutely positive we can critique anyone
who tries!

------
zeeg
I was one of the people who made a comment about this.

I'm not going to defend that I think attempting to replace sed/grep is a bad
idea (especially not in 140 characters), but I will defend people's opinions.

Everyone has one, most of them you won't agree with. Whether they're nice or
not. I'm generally not a nice person, at least online, that's my choice. That
said, especially with this being the internet, you have to deal with others
opinions.

While some people may go above and beyond (even myself sometimes) and actually
be very mean with their opinion, that doesn't change the fact that they're
entitled to it. If you don't like it, ignore it. If you can't ignore it, then
you won't survive.

The fact that people somehow managed to turn this into the continuous drama
debate about gender is just pathetic.

~~~
tunesmith
Why do you choose to not be a nice person (online)? Just curious.

Also, I think the "If you don't like, ignore it. If you can't ignore it, then
you won't survive," is self-serving advice. It'd be easier to take seriously
if you were one of the nice people.

~~~
zeeg
I don't necessarily choose it, I just don't go out of my way (like most
people) to be nice.

I would argue, that what makes me who I am (a driven, passionate person) also
leads to traits like being honestly vocal about things. Whether the way these
things are presented is directly related or not is a little bit different.

If I see something I don't like, whether it's on the internet, at work, or
just in general, I will usually say I don't like it. Now Twitter doesn't make
a great means of communication for things like this (e.g. you can really
provide much insight, or realistically follow up), it does make it __easy __.

I would argue that people who are unwilling to give their opinion (and I know
that there's many on both sides of everything, that are quiet), are simply
forcing themselves into an uncomfortable situation.

Often you (or rather I) will deal with the results of your opinion, but for
the freedom it offers, and the drive it gives me, I'll stick by it.

That said, I admire Heather for doing something, but I am rather unhappy that
the result of this was a (IMO, unnecessary) blog post, a ton of ignorant
comments on the internet, and more importantly, people attempting to turn the
situation into something it isnt.

~~~
rosser
_...and more importantly, people attempting to turn the situation into
something it isnt._

The only party I've seen so far _actually_ trying to make this storm in a
teacup into anything other than what it is — namely, people being assholes on
the internet — is you, with your weak, if persistent, attempts to make it
about gender. It's not, it never was, and I'm pretty sure you know that, so
playing that card is cheap and dishonest, at best.

I'm no psychologist, but to my mind, that kind of behavior absolutely _reeks_
of awareness that the thing you're trying to make be about something else
wasn't kosher in the first place.

~~~
keppy
People give me shit about code and no one cares because I'm like everyone else
here--male and single :(

------
IvyMike
I'm gonna copy what I said in the other thread, because it's more relevant
now:

You know, reading the various devs' tweets, they use twitter in a way that is
completely foreign to me. Is there anything these guys think that they don't
tweet? ("Hey, who's picking me up from the hotel?" is not something I'd ever
announce to the world at large.)

This incident shows a danger of working that way--one of these guys apparently
had a rude little thought best kept private--and let's admit it, we all have
those thoughts at one time or another. But because he tweets everything, that
little passing thought was pushed to the world, which is not good for anyone
involved.

~~~
rhizome
I've noticed that the most boorish developer types (and I've worked with a
few), are those who tweet conversationally.

------
karterk
_I'm sorry, and feel terrible that I made someone feel terrible_

This does not come across as a strong apology because Steve keeps stressing on
_making someone feel terrible_ and not really accepting that he was _wrong_ to
ridicule code without offering constructive criticism.

------
niggler
I would like to see someone respond to a twitter message called out (like the
one in question) and give a real apology. If you are truly apologetic for the
tone but not the substance, use the apology as an opportunity to say as much!
It offends our sensibilities to see a half assed apology that completely
misses the point. If you think the tool is unnecessary, say why! Give a
coherent argument and then we can have a discussion. Otherwise it comes off as
phony.

------
sunwooz
Why do people hate Node so much?

~~~
jmspring
I don't hate node However, the tools around using Node and JS are inferior to
other languages (C/C++, Java, C#, even PHP and Python). Further, the language
doesn't have the cleanest history in terms of design, so in a project with
multiple people on it, you are leveraging coding guidelines, linters, and the
like to have any real consistency.

A colleague raised an interesting question which I will paraphrase -- given
the desire to build a project that exposes webservices from the ground up,
what language would you choose?

My first response was, it depends on the platform. If you are using Azure, for
instance, C# is the first class candidate, Node and other languages are tier
2/3. EC2, sky is the limit. Heroku, probably start with Ruby. If all things
were equal, I would personally choose Python over Javascript.

Python and Twisted give a lot of the same benefits as Node in terms of async
development. Python is more consistent and has a more mature (and featureful)
standard library. Node and modules are plentiful, but a lot (even socket.io)
still show some signs of being young.

For me, the choice is - right tool for the platform, group, and project you
are working on. Personally, I will err towards the more mature when you are
talking about scripting languages. (PHP doesn't count, it's super easy and
I've used it a lot, but I always feel dirty afterward :) )

~~~
fletchowns
_the tools around using Node and JS are inferior to other languages (C/C++,
Java, C#, even PHP and Python)_

You are comparing a language that is like 2 years old vs languages that are
pushing 20 years old.

 _the language doesn't have the cleanest history in terms of design_

It is certainly no worse than several of the languages you just listed.

 _Personally, I will err towards the more mature when you are talking about
scripting languages._

Psssst, JavaScript is a year older than PHP.

~~~
jmspring
JavaScript for server side is much younger than PHP, yet inherits the client
side warts. :)

------
jupake
I think the only reason people like this are apologizing publicly is to save
face.

Behold people.. the underbelly of programmer culture :-(

------
SeanDav
To decide if we should give Steve the benefit of the doubt, look at his
tweet/post history. If he does this often, he is an asshole, if not he is an
accidental asshole, which is fine because it is so easy to get real intention
completely wrong in even long emails let alone a tweet. Also anyone can have a
bad day...

------
js2
_explaining what I said had the affect of feeling like I was trying not to
apologize_

Steve - <http://public.wsu.edu/~brians/errors/affect.html>

------
w3pm
Why is this on the front page of HN? Anyone read
[http://corte.si/posts/socialmedia/trouble-with-social-
news.h...](http://corte.si/posts/socialmedia/trouble-with-social-news.html)?

Unfortunately, that article is spot-on. I want to be reading industry news,
not someone's social gossip. Specifically, I want to read articles about
optimizing Erlang, the latest developments in NoSQL databases, developer war
stories, and changes in the funding landscape. I don't want to hear about
someone apologizing for an offensive Twitter post.

I think we need a separate category called 'industry gossip' for this kind of
drama.

~~~
MartinCron
It's on the front page of HN because this community cares about civility,
online interactions, open source contributions, and gender issues in
technology.

~~~
w3pm
I don't want to hear about someone apologizing for an offensive Twitter post.
Go ahead and keep downvoting me for expressing an opinion -- I'm sure I'm not
the only one with similar feelings :)

\--> To respond to the posts below: I think the original post is fine, I
didn't make this comment there. Hearing about that is interesting and is a
fine example of how easy it is for users with social capital to abuse it, a
reminder we need. Seeing two threads containing blog posts of people
apologizing? I'm not sure I actually care, I think my learning and interest
ended after reading the original thread. Now we're firmly in noise territory.

~~~
MartinCron
How is "I made this thing, shared it with the world, and was ridiculed by high
profile members of the community" _not_ a developer war story?

------
artursapek
I love how he scapegoats Node. Node is an easy target. What an asshole.

------
howardr
CYA blog post

