18 ms·
I'm sorry
- ryan-allen 14y agoGood man!
- res0nat0r 14y agoBetter man: saying sorry before you see your twitter updates on the front page of HN and then feeling bad about it.
- colmvp 14y agoMeh. Sometimes people need to read criticism of their actions before realizing the error of their ways.
- dmix 14y agoTotal self-awareness is a biological impossibility.
- BHSPitMonkey 14y agoBest man: Not having made the unnecessarily mean remarks to begin with. (Not that I'm always innocent of this myself...)
- vacri 14y agoThose who never make a mistake never learn anything.
- coreyhaines 14y agoTrue. I spoke before thinking of the effect. I'm glad it was brought to my attention.
- up_and_up 14y agoWe all make mistakes. Unfortunately, Twitter provides quite a soapbox to amplify such ignorant banter. What's that they taught us in Kindergarten? Oh yeah, "If you dont have anything nice to say dont say anything at all."
- mingpan 14y agoCorollary: "Think before you speak."
- _dark_matter_ 14y ago"Think before you tweet."
- biesnecker 14y agoWell done. Saying sorry is the (easi|hard)est thing to do in situations like this, and you should be commended for doing it out loud. It's unfortunate that there's permanently indexed copies of all of this attached to everyone's name, but hopefully this will come up in context with the rest.
- boyter 14y agoAnd with this everyone should learn something and move on. The lesson by the way is not that you can make callus comments and get away with it unless its picked up by a large social site. The online distribution effect is very real http://users.rider.edu/~suler/psycyber/disinhibit.html http://users.rider.edu/~suler/psycyber/disinhibit.html and you can really damage someones self esteem, so be careful. Heather its up to you to forgive him now. I totally understand if you don't want to, but considering forgiveness is more about making yourself feel better I would really consider doing it. BTW I say this having just gotten a heap of email abuse from someone because I refused to write a captcha decoder for them and instead suggested they read the article I wrote which had the answers. Even knowing the above it still it still hurts, and I am generally rather thick skinned.
- noknockers 14y agoI wonder if the apology would still be there is the community kneejerk reaction never happened.
- socialist_coder 14y agoIt's just like if you do something bad at school to another kid, and then only apologize after your teacher makes you. We all know it's a bullshit apology but apparently it's still valid.
- rosser 14y agoA bullshit apology would have been full of prevarication and "I'm sorry if you were offended." Timing aside, this was a full-on "Mea culpa. Mea maxima culpa."
- Gigablah 14y agoFor an example of a "bullshit" apology, refer to this: http://blog.steveklabnik.com/posts/2013-01-23-node http://blog.steveklabnik.com/posts/2013-01-23-node At this rate, I'm expecting another blog post comparing these two apologies...
- gfodor 14y agoIt's not bullshit if you genuinely failed to recognize your own poor behavior and are grateful for others calling you out on it. Unless you constantly reflect on your own behavior in your spare time, this is often the only way apologies end up happening anyway: someone says something or does something to make it clear what you did was not appreciated.
- coreyhaines 14y agoIt is an honest apology. I didn't realize how bad it was until I was called out. It isn't "oh, I got caught," it is "oh, shit, that was a really bad thing to do." It was an unthinking mistake on my part. I'm human and make mistakes.
- chubot 14y agoOK... I usually don't involve myself in drama, but I looked at the code: https://github.com/harthur/replace/blob/master/replace.js https://github.com/harthur/replace/blob/master/replace.js Out of all the code could say "eyes bleeding" that doesn't even come close? Only thing that stands out is the naming of "replacize". I can understand if you hate JavaScript syntax and love sed, but I fail to see why anyone would pick on this out of all the other code out there. There's no shortage of crappy code in the world! (not that you should make fun of any of it on twitter)
- dmix 14y agoThis may have to do with rubyist who have a distaste for Node (and Javascript) in general (which is actually quite common) more than the JS itself.
- codewright 14y agoI'm a Pythonista that loves JavaScript and thinks Node.js is a waste of effort on the part of humanity.
- jmspring 14y agoI'm mostly ambivalent. Node, to me, feels like an attempt to bring twisted to server side JS.
- fourstar 14y agoHow much have you used it?
- scriptproof 14y agoI fear that few programmers understand the perspectives brought by Node and JS.
- codewright 14y agoNode.js didn't bring anything new to the table. We've had event loops and non-blocking code for almost half a century. Don't lump JS into this.
- tadavis 14y agoI wouldn't have said sorry. False compliments are just as insidious as insults e.g. telling the over weight person that they are not over weight The authors reaction was just online-give-me-sympathy-crying and lacked any substance. I understand that in an ideal world it would be nice to know the particulars of someones disdain for a said thing but it's not so simple. As I'm sure everyone else is guilty of ridiculing something in light conversation. Scrutiny works wonders. If you know yourself that it is wrong, then it doesn't mean anything and shouldn't affect you. If you know that it is right, simply take it as constructive criticism.
- jpwright 14y agoIf you would like some _actually_ horrible open source code to make fun of, feel free to peruse my early repos which are mostly from my freshman year of college (github/jpwright), including this god-awful function I apparently once wrote: https://github.com/jpwright/debcite/blob/master/search.php#L468 https://github.com/jpwright/debcite/blob/master/search.php#L...
- anatoly 14y agoThanks for the chuckle. Towards the end of the function, I think I've developed sympathy for "LINEBREAK" and didn't want it to go away.
- vidarh 14y agoThat's.... creative... I particularly love how the variable names keep changing in inconsistent ways, but also sometimes reuse older names.
- jiggy2011 14y agoI have seen production code that makes this look like poetry. And I've written some of it.
- mcclung 14y agoI'm suddenly glad they didn't have github when I was in college. I found some old printouts from my college days recently, and I wrote some terrible, terrible C and assembly for the VAX. Writing bad stuff is how I learn though, so that's OK.
- michaelkscott 14y agoCan an experienced JavaScript developer provide some constructive reasons as to why that code might be problematic? (e.g. Is it the eval?) Might be a good learning opportunity for others, too.
- Domenic_S 14y agoI don't think it had anything to do with the code. She rewrote sed in JS, which IMO provoked the response (more here http://news.ycombinator.com/item?id=5107625 http://news.ycombinator.com/item?id=5107625).
- arockwell 14y agoIf that were true why aren't their uproars over any of these projects: https://github.com/grosser/pru https://github.com/grosser/pru https://github.com/colinta/ned https://github.com/colinta/ned https://github.com/aljungberg/pyle https://github.com/aljungberg/pyle https://github.com/zzak/gsub https://github.com/zzak/gsub https://github.com/bjfletcher/node-js-sed https://github.com/bjfletcher/node-js-sed I'm sure there are more. These are just a few I could find a few minutes. Sorry, I'm not trying to call you out here. I just have serious doubts that the criticism has anything to do with merit. In other words, I don't think it makes sense to rationalize jerky behavior :(
- arockwell 14y agoI have my doubts the folks criticizing it actually read the code. Even if they have, what's the point of shitting on someone's pet project? Note that none of them actually give a reason for why the think it's bad. I think the folks criticizing are simply being bullies. I think the code is fine and the project serves a nice niche. I can never remember the syntax for sed either, so I might actually use this project. No such thing as bad press I guess :)
- silentmars 14y agoReasonably good damage control exercise here.
- coreyhaines 14y agoI hope it is an even better "I'm sorry."
- silentmars 14y agoNot meant to be a criticism. If this was a normal "I'm sorry," a tweet or private message would have done the job. The very public dimension of this situation makes it a case requiring damage control, hence the multiple apologies on twitter, blog post, HN followup and so forth. It's a pretty good example of how to manage such a situation.
- coreyhaines 14y agoI also sent a private email to Heather apologizing. I felt a public apology was in order, as well, since the mean comment was done publicly. Unfortunately, in such a loud, public setting as twitter, saying "I'm sorry" necessarily takes on a public form, as well.
- namank 14y agoI find that sometimes people need to learn how to handle popularity and the fact that what they say actually matters. Else you end up with comments like 'eyes bleeding'; these are extrinsically motivated comments that don't usually represent the true sentiment of the author. They are caused by the need to feed the crowd so as to sustain the crowd. We potty-train. Why don't we twitter-train?
- tomcam 14y agoLittle puzzled here. How is it a "mistake"? A mistake is dropping a teacup while you're washing dishes. This is a deliberate act of ridicule.
- petdance 14y agoDictionary.app says mistake is "an action or judgment that is misguided or wrong: coming here was a mistake | she made the mistake of thinking they were important." Perhaps you're thinking of "accident".
- Confusion 14y agoHe did something that he later regretted. We usually call that a 'mistake'. Dropping a teacup while you're washing dishes is usually called an accident.
- tomcam 14y agoLittle puzzled here. How is it a "mistake"? A mistake is dropping a teacup while you're washing dishes. This is a deliberate act of ridicule.
- robomartin 14y agoLooking back at my work over the years, I can probably say that the ugliest and shittiest code has always made me the most money. Why? End-users couldn't care less what the code looks like. If you are faced with an opportunity you write an ugly glued-together MVP, show it and get it working. It was only after making money that the code got cleaned-up and polished. The same is the case with "temporary" tools that you write here and there. Ugly piles of smelly manure until you decide to clean them up. Of course, as you gain experience you can write less "smelly" code from the very start, that's only to be expected. I can also probably say with almost absolute certainty that projects where I took the approach of writing a "Monument to Computer Science" almost never made me any money. I find that for some people programming can be very personal. Criticism can really affect them. Perhaps this is also something that you get past with experience. And, while I always strive to write good, clean and efficient code, I, personally, realized a long time ago that the very first priority is to put food on the table and grow the business or support the growth of the company where you are employed. People who get off on criticizing others for anything (not just their code but anything at all) are, regardless of their standing within their community, simply despicable. A lot of these people are also cowards. Not saying that these guys are. I don't know them. But I'll bet they would not stand in front of a real crowd of people (you know, they kind that you can touch and see) with Heather in the same room and make those comments. Why is it that some people might have restraint and manners in public but can turn into perfect assholes behind a keyboard? This is one of those "You can't un-ring a bell" situations. The other one I like is the equating of such acts to tearing open a pillow full of feathers atop a mountain. To undo your actions you have to go to every corner of that mountain and gather all the feathers. In other words, it's very easy to utter just a few nasty words and cause someone pain and even harm. It is orders of magnitude harder to undo that. In my opinion, an apology simply isn't enough. I don't know what might constitute equitable reparations, but apologies in blogs are just too easy. The author sleeps well at night while the victim still has to deal with the feathers spread all over the mountain that is the Internet. N.B: It is important to note that Corey did reach out to Heather personally (see his post on this thread). This, of course, makes him a gentlemen and I am sure Heather feels much better. Nothing beats real one-on-one human contact. Bravo.
- ryan_f 14y ago
- deleted 14y ago[deleted]
- deleted 14y ago[deleted]
- noonespecial 14y agoWow. I'm thinking I should bury my github in the yard out back. I've committed much greater atrocities. I've "remade" (in no particular order) find, rsync, getopts, sort and even ls(1). Sometimes you just need less of a grand old unix utility and you just want it to work the way you think it should to match your workflow. That's what unix is about. (1) Did you know that if your system is missing ls?!! that you can replace it with: for i in * ; do echo $i; done
- hedwall 14y agoEven just "echo *" works.
- noonespecial 14y agoIt was a purposely locked down embedded system. If the entries printed across, the serial terminal didn't send anything past character #80. Using the loop puts each entry on its own line.
- __cle 14y agoThis asshole was run out of Cleveland (fired from two companies back to back) for behavior like this. Everyone I've talked to says he is horrible to work with.
- wasd 14y agoIf you think his reaction was bad, perhaps you should look at yours.
- __cle 14y agoAllow me to rephrase. I don't find his apology genuine. I've witnessed first hand to him behaving like this to someones's face on multiple occasions a meetups. This behavior is so consistent that it actually got him fired back to back. Once from a big company and once from a small one. I've talked to a lot of people that have worked with him and confirmed this. I don't buy is apology.
- exodust 14y agoAnd.... cue the slander. The apology wasn't for you. Nobody cares that you don't buy it. What they may care about, however, is your slanderous trolling.
- __cle 14y agoI do think it's fair that people are at least made aware this is by far the first time this has happened. He attacked someone in a public forum, he apologized in a public forum, and I'm commenting on it based no my previous direct observations, in a public forum. So yes, his apology in a public forum, was for me, for you, and for everyone else. If it was for her, it would of been directly to her. He's trying to cover his ass and nothing more. IMO.
- shrughes 14y agoIt's only slander if it's false.
- noonespecial 14y agoThe Bene-Gesserit benediction against code trolls: The bad code that I could write and did will always be better than the good code that you could have written, but didn't.
- jballanc 14y agoYou know what would be better than a blog post or Twitter apology? Go away for a little while. Don't Tweet. Don't Blog. Don't comment or talk. Go away...and code. The programmer community likes to fancy itself a meritocracy. Presumably, that implies that you are judged on the merit of your programming ability. Ask yourself: of the people involved in this whole brouhaha, whose code have you read? We are all very busy, and none among us has the time to read the code of every other individual. This is where the concept of "meritocracy" breaks down. At some point, reputations count. The proper way to do this is: I know Joe. Joe writes good code. Joe recommends Bob's code, and when I looked at Bob's code, it was also good. I now trust Joe when he recommends people and/or their code. The wrong way to do this is: Jim's a celebrity. Everybody loves him. Everybody parrots what he says. He must write good code. Celebrity culture is directly counter to a meritocracy. So, my challenge to the "celebrities" involved in this incident: if you fancy your high positions to be well and truly earned, remind us of that fact by going away... ...and writing some kick-ass code.
- Confusion 14y agoAsk yourself: of the people involved in this whole brouhaha, whose code have you read? Of most of them. It seems you are unaware who these people are and what projects they have contributed to. You're making a good point, but these are the wrong people to use as an example for that point.
- jballanc 14y agoThe point is not that no one has read the "celebrities" code. The point is that if you looked at the ratio of "people who have heard of <person>" to "people who have read the code produced by <person>" for the people involved, I suspect there would be one outlier. (as a simple post-script...I am very aware of these people and their projects, and made this comment in that context...)
- Tichy 14y agoPeople said something they regret, I don't understand why it would be wrong to apologize? Sorry, can't follow the logic of your comment at all?
- jayferd 14y agoAn analogous post from Steve Klabnik: http://blog.steveklabnik.com/posts/2013-01-23-node http://blog.steveklabnik.com/posts/2013-01-23-node
- deleted 14y ago[deleted]
- cowboyhero 14y agoShe's also got a repo called "Kittydar" (Face detection for cats in JavaScript). This is someone who loves her language of choice and is just spinning out some fun projects with it. I think that's great. Rewriting sed in JavaScript is cool. Even as a one-off, proof of concept, "I did this because I could." I mean, why not? Isn't that what the so-called hacker "ethos" is supposed to be about? She never said her version was better. She never evangelized its use over the traditional *NIX tools. In the early 1990s, some crazy bastard decided to riff on the Unix kernel. About a decade later, another nut decided to rewrite the encyclopedia, and encouraged people to help him do it. Then another crazy wrote a programming tutorial using bizarre illustrations while eating a lot of chunky bacon. Why not? All three of those projects could have been considered pointless. We already had kernels. We had encyclopedias, and god knows, plenty of programming books. I have the urge now to follow in Heather's footsteps, waste my own time, and write a version of sed in PHP. Or maybe Perl. And then write a wrapper for it in Applescript. Because, why not?
- gkoberger 14y agoFor the record, JS isn't just "her language of choice". Heather works for Mozilla, and has contributed extensively to Mozilla's JS Engine[1]. So, she knows the language damn well... she literally wrote it. [1] http://bit.ly/V8Y5V7 http://bit.ly/V8Y5V7
- notimetorelax 14y agoIf she was ridiculed then others have no chance against this crowd.
- nathan_f77 14y agoWow, that's a real twist.
- okamiueru 14y agoWhich programming book are you referring to?
- 14y ago
- ocharles 14y agoApparently, exactly 168 days ago, I warned about very similar behavior. Remember when a pull request was submitted with tongue-in-cheek comments and a very lax tone? It was https://github.com/bitly/dablooms/pull/19 https://github.com/bitly/dablooms/pull/19, to jog your memory. Most people couldn't understand why a select few of us were getting in such a huff about this. As I wrote back then: > I worry about a risk of imitation of this culture, but missing the crucial underlying detail and explanation that's hidden in vmg's writing. I worry reasoning with this people will be difficult because they have trained themselves to have such arrogance in their work. This is just a different symptom of the same problem. The open source community is rapidly changing with things like GitHub, mostly for the better, but people have got to learn to leave their ego's behind. Sadly, now that we have more, and more rapid interaction between people, the more that we risk re-enforcing attitudes like these. There's a feedback loop problem, and we've got to start acting now if we want any hope at fixing it. This tweet is an example of things already going too far, that much is obvious. But how did it happen? I feel these things can only happen because we let them happen. Jumping in after the fact isn't a solution, we just all need to be a little more confident pointing out when social behavior isn't acceptable. I'm not asking everyone to become a vigilante, and it doesn't mean that we're all going to get on. The open source community is a sensitive, valuable community, and there's so much passion about it. I'd rather those who get hurt are hurt because they're (politely) informed their attitude is harmful, rather than letting the feedback loop grow.
- Confusion 14y agoWhen you say 'leave your ego behind', you seem to mean "don't say mean things about the code of another, because you're only doing that make yourself feel better (and BTW, you shouldn't assume your code is much better)". Couldn't it equally well mean "don't be insulted when some random guy on the internet says mean things about your code"? Haters gonna hate and all?
- bmj 14y agoSure, but the latter doesn't mean the former is okay, especially when it comes from folks who are, to some extent, "celebrity" programmers. Better still, why go out of your way to criticize someone else's code?
- ameen 14y agoCriticism at times can be good, but cutting, humiliating pointless criticism never is. Also the fact that that didn't give her any feedback as to why it is was so wrong, amplifies the fact that it wasn't just criticism. Mob-mentality is one of the worst things. If Heather hadn't posted on her blog, she might have had to suffer in silence. If you are going to criticize someone, atleast have the decency to point out what's wrong and how they could've done better.
- thoughtcriminal 14y agoVery admirable to apologize like this, and very easy to make the mistake you made. I think we all have here. Discussion forums and social media channels have a way of dehumanizing and desensitizing people. Take care!
- timinman 14y agoThis is an example of a proper apology.
- jsmeaton 14y agoAnd David Cramers response: http://justcramer.com/2013/01/24/being-wrong-on-the-internet/ http://justcramer.com/2013/01/24/being-wrong-on-the-internet...
- nollidge 14y agoHe calls it "being wrong on the Internet", but doesn't actually admit to being wrong, much less apologize. He seems to take umbrage at being called out on dickish behavior.
- krie 14y agoYou're only sorry your comment was noticed and attacked.
- evilrevolution 14y ago> Hacker News Hacker Share Your Feelings
- TomGullen 14y agoI don't get why people are reacting so negatively to this apology. It was concise and sincere, reflecting and learning from a mistake. A lesson we can all learn from, it's far too easy to forget that there are people with feelings behind avatars once you've been cruising the web for a long time.
- sergiotapia 14y ago"I'm sorry I got called out on my bullshit.", sounds more like it.
- mutation 14y agoProgrammers. What a bunch of bastards. (https://www.youtube.com/watch?v=eVSlE28hOgI https://www.youtube.com/watch?v=eVSlE28hOgI)
- enoughisenough 14y agoSO... hacker news is where you apologise for writing idiotic tweets now. As if twitter itself wasn't asinine enough you seem to think what you say is so important it's somehow NEWSWORTHY. The mind boggles.
- calinet6 14y agoTactful, respectful, and genuine. Can we stop talking about this now please?
- tsieling 14y agoI think that's a decent apology. If apologies are to have any worth, they need to be accepted civilly and not dismissed in favour of unending scorn.
- vacri 14y agothis is a good point. The total offending commentary in his tweet is 'eyes bleeding'. That's it. Compare to all the people wasting paragraphs talking about how insincere he is and what an arsehole he is. Would these same people be prepared to apologise if he posted a followup saying he'd been crying over the comments on the quality of his apology? Of course not, they'd start talking about how he deserved their judemental comments in the first place. Pot, kettle, black.
- numeromancer 14y agoThe best criticism of this kind of ridicule came from the author in the link he provided in the apology. Namely, those ridiculing the code did so without explaining what's wrong with it (or, better put, how it could be improved). The mockery would have been more excusable if it had come with some means of learning from it.
- droidist2 14y agoTrue, and I still haven't heard anybody explain what the original objections to it were.
- nukerhazz 14y agoI'm intrigued by how long this thread has gone without anybody mentioning Heather Arthur's gender. Did her critics know she was a woman at the time they ridiculed her code? If so, did that fact embolden them or make them more prone to belittle her work? Would a man's friends have come so quickly to his defense, over a piece of code? Would the men who had made her cry been so quick to feel shitty about it and apologize? When I first saw the part in Arthur's article [1] about sobbing, I thought it was tongue-in-cheek. Only after I realized Heather was Heather did I reread that section and realize she had shed literal tears. Not sure what that says about me, that I made different assumptions based on gender. [1] Not the "I'm sorry" article, but the one he links to: http://harthur.wordpress.com/2013/01/24/771/ http://harthur.wordpress.com/2013/01/24/771/.
- Killswitch 14y agoMoral of the story? Not everyone is a god at programming like you. Remember that you once were in their position.
- blindhippo 14y ago1) why is this front page HN material? Are the people involved some how important or something? This is TMZ level stuff here... 2) Nice apology - how bout explaining why you found the code offensive in the first place and contributing something positive to the drama?
- lsiebert 14y agoIt comes down to intention. If you intend to only use someone as an example of what not to do to others, then you don't see value in politeness. If your critique is meant to help the person or at least change the criticized behavior , then you should be polite. Politeness works wonders. I think people intended the former and forgot about the real person.
- bjhoops1 14y agoLet he who has never been an asshole throw the first feces.
- seandhi 14y agoI remember being lectured by one of those guys, Steve Klabnik, on tolerance and inclusiveness at one of the Ignite RailsConf 2012 talks in Austin, TX. This is one of those situations where you really should practice what you preach if you really want to make a difference. Ah yes, here's the video: http://vimeo.com/41237183 http://vimeo.com/41237183
- mosselman 14y agoI think Corey's only mistake is to want to 'be cool' with the other people whining about Heather's code. Apart from that I believe he has been bullied into apologising for nothing, by people who take themselves too seriously, including Heather. Being afraid of criticism just shows that you agree with the critics at some level. If you were sure of yourself, c.q. your code, you'd just be able to shrug it off. Instead Heather ran to mommy (HN) and told on the mean kids for not liking her drawing. Instead of seeing that Heather was overreacting mommy forced the 'mean' kids to apologise. I believe Heather should say that SHE is sorry.
- johnjlocke 14y agoRegarding the latest Twitter hot drama: There's a lot of ugly code out there. Doesn't mean that the program it runs isn't successful or popular. That's what iteration is for. I don't believe this is a misogyny issue; it's a general issue of being polite, and telling the person what you have an issue with instead of broadcasting it to the world, just because you can. The programming community often envisions itself as more altruistic than other sectors of business. If we want to make that closer to reality, we should offer suggestions of how to improve existing code. This benefits everyone, while Twitter blasts benefit no one. Corey's apology seemed very sincere. 140 characters does make it hard not to be an asshole. So if your tweets sound that way, leave a comment on GitHub instead. Being a programmer or a creative in general does require a thick skin at times. Lots of people are going to see your work. That doesn't make a half-assed apology sincere. It doesn't matter what company you work for, or how smart you are. There will always be someone smarter, so don't throw stones. Try to be constructive instead. That is all.