TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

What It's Like To Be Ridiculed For Open Sourcing A Project

1331 pointsby luigiover 12 years ago

141 comments

jlongsterover 12 years ago
What the fuck. (And I rarely say that word.)<p>We've got to grow up. This is 9th grade all over again. You know, those weird people that do things that you don't understand? They're the ones that grow up and make big impacts on the world.<p>Why can't we get over our negativity? We can't stop ourselves from thinking horrible things, or even saying them out loud to people around us, but surely we can restrain ourselves from publicly humiliating someone in front of thousands (or more) people. And for what purpose? To say "funny" things like "our eyes are bleeding!". Seriously?<p>I really will never understand why people can't simply be more positive. If I ever start a company the #1 thing I will look for in others is positivity. I wouldn't stand for this crap.
评论 #5106996 未加载
评论 #5107227 未加载
评论 #5107236 未加载
评论 #5107208 未加载
评论 #5107401 未加载
评论 #5107089 未加载
评论 #5107204 未加载
评论 #5111306 未加载
评论 #5112261 未加载
评论 #5107878 未加载
评论 #5107074 未加载
评论 #5108323 未加载
评论 #5108054 未加载
评论 #5107549 未加载
评论 #5108055 未加载
kevinalexbrownover 12 years ago
<i>Then I see these people’s follower count, and I sob harder. I can’t help but think of potential future employers that are no longer potential.</i><p>There's a big responsibility that comes with being well-liked and nice. When someone with a good reputation and the means to broadcast it speaks negatively about someone, it matters much more than someone who is routinely rude, frequently negative, or unknown. I know that if the most well-liked and nice person in my lab were to criticize my ability as a scientist (in the same manner), I would worry about what everyone else thought about me now, that someone who never seems to say mean things would so something like that.<p>These individuals do good things: they contribute voluntarily to communities, they help high school kids learn to code, etc. And these individuals are visible. And if you search steveklabnik on HN, his comments don't seem mean or negative.<p>It's easy to forget, and it's a little paradoxical, but when you're really nice, there's a different standard. Perhaps there shouldn't be, but it does have a different impact.
评论 #5109608 未加载
评论 #5107538 未加载
评论 #5111200 未加载
评论 #5108457 未加载
mintplantover 12 years ago
&#62; <i>Steve Klabnik ‏@steveklabnik</i><p>&#62; <i>@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</i><p>This message [1] in particular is absolutely disgusting. Someone hacked together a script that met their needs, and threw it up onto GitHub in case anyone else found it useful? Yes, let's take the opportunity to condescendingly insult their mental competency.<p>What does he even mean by saying that he doesn't "want to build my app" on top of harthur's code? Nobody asked him to; steveklabnik himself made the original post, taking the opportunity to show off this smug sense of superiority.<p>[1] <a href="https://twitter.com/harthvader/status/293829635823792128" rel="nofollow">https://twitter.com/harthvader/status/293829635823792128</a>
评论 #5107421 未加载
评论 #5107007 未加载
评论 #5107128 未加载
评论 #5107298 未加载
评论 #5107083 未加载
评论 #5107194 未加载
评论 #5108256 未加载
mrbover 12 years ago
Heather, I agree that people are unnecessarily rude to you. Don't sob. Your code shows you are already a more capable programmer than most of the ones I interview. No one has given you a clear answer as to why your code is reinventing the wheel, so allow me to do it politely. I took every single example from your README, and show you below how everything can be reimplemented with sed -r (nice extended regex syntax, mostly like js regexs), and find/xargs:<p><pre><code> replace 'var' 'let' * sed -ri 's,var,let,g' * replace 'var' 'let' . -r find . -type f -print0 | xargs -0 sed -ri 's,var,let,g' replace 'var' 'let' test/file1.js test/file2.js sed -ri 's,var,let,g' test/file1.js test/file2.js replace '(\w+)_(\w+)' '$1-$2' * sed -ri 's,(\w+)_(\w+),\1-\2,g' * replace 'var' 'let' . -r --include="*.js" find . -type f -name '*.js' -print0 | xargs -0 sed -ri 's,var,let,g' replace 'var' 'let' . -r --exclude="*.min.js,*.py" find . -type f ! -name '*.min.js' ! -name '*.py' -print0 | xargs -0 sed -ri 's,var,let,g' replace 'var' 'let' . -r --preview find . -type f -exec sh -c "echo == {}; sed -r 's,var,let,g' {}" \; (not sure if --preview does exactly that, I echo the filename followed by the modified content) </code></pre> There is only one case that justifies reimplementing things: if your tool has the requirement of supporting the <i>exact</i> js regex syntax, then yes you did the right thing to reimplement this in js. I have run into similar situations myself. One time I had to support Perl regexs, and I started by simply using Python's standard regex module, thinking that it would work because both Perl and Python use PCRE. Well as it turned out the regexs I encountered used some advanced features (such as negative/postive look-behind/look-ahead, etc) that Python's regex module plainly did not suppport. So I ended up rewriting part of my implementation in Perl.<p>Edit: I spoke too fast. As a commenter pointed out, other legitimate cases for reimplementing this in js would be when you can't afford to or don't want to fork a process to run find/xargs/sed. It sounds like you were running the tool from the command line, so I didn't think that would be your situation.<p>Edit 2: Yes, the exercise of reinventing the wheel is also useful for learning... I am not going to argue that.<p>Edit 3: If you care about <i>simplicity</i>, I would personally rather write a small shell script wrapping find/xargs/sed and hiding their arcane options, as opposed to writing 173 lines of js.
评论 #5107628 未加载
评论 #5107534 未加载
评论 #5107577 未加载
评论 #5107706 未加载
评论 #5107529 未加载
评论 #5107770 未加载
评论 #5107520 未加载
评论 #5108043 未加载
评论 #5107633 未加载
评论 #5107821 未加载
评论 #5107555 未加载
评论 #5108360 未加载
评论 #5108510 未加载
评论 #5107535 未加载
评论 #5107618 未加载
评论 #5108042 未加载
评论 #5107560 未加载
评论 #5107629 未加载
评论 #5108564 未加载
评论 #5111709 未加载
评论 #5109044 未加载
评论 #5110104 未加载
评论 #5114046 未加载
评论 #5108907 未加载
评论 #5110709 未加载
评论 #5109240 未加载
评论 #5109839 未加载
评论 #5110135 未加载
评论 #5108306 未加载
评论 #5117197 未加载
评论 #5113064 未加载
评论 #5108268 未加载
评论 #5108333 未加载
wasabianover 12 years ago
Funny how @coreyhaines has made hugboard.com ("giving the gift of encouragement"), @steveklabnik is a maintainer of hacketyhack, a tool for learning how to program.<p>"Hackety Hack will teach you the absolute basics of programming from the ground up. No previous programming experience is needed!"<p>And while you're busy learning the basics, we'll just wait until you release something so we can publicly ridicule you on Twitter because you did something we don't approve of. Hurrah!
评论 #5106974 未加载
rachelbythebayover 12 years ago
I get a fair amount of ridicule any time anything I write makes it into sites like reddit, and a small amount (depending on topic) when it makes it onto HN. When one of my posts hit the front page yesterday, I decided to re-read "How to Disagree": <a href="http://www.paulgraham.com/disagree.html" rel="nofollow">http://www.paulgraham.com/disagree.html</a><p>Having done that, I can now just privately laugh at anyone who fails to come up with an adequate refutation of my central point. People who just say things like "this is crap" can be prodded like "okay, maybe it is, but you didn't say how", and then when they fail to come up with how, you know where they are functioning.<p>It looks like she did exactly this (asked them to explain it) on Twitter, and got the same sort of "it just sucks" reply. Eventually, you can get to a point where they can be safely ignored or even used for your own personal entertainment.<p>One sent to me on HN: "What an asshole. Chromium's code is there for review, you know."<p>I said in reply: "Thanks! Comments like this mean I'm on the right track."<p>Yeah, it's stupid that you have to suffer before you can get to this point, but it's not like we're talking about an industry which defaults to caring for others.<p>...<p>Regarding the actual program, I don't write shell utilities in JavaScript so I can't say whether it's a good or a bad implementation. It's just not my space. It's not something I seem to need (since I tend to abuse perl to do such work), so I can't comment on the overall utility, either.
评论 #5107056 未加载
评论 #5107127 未加载
评论 #5107422 未加载
评论 #5111299 未加载
spohlenzover 12 years ago
I was pretty appalled when I first saw those tweets. I held my tongue at the time (after all, who am I?) but as a member of the Rails community, seeing this sort of behaviour from community leaders is frustrating and kind of embarrassing, and I do think it needs calling out when it happens. I'm finding Twitter has become more and more depressing lately with similar incidents.<p>I don't know much of Dave or any others who stuck the boot in, but Steve and Corey are both involved in educational endeavours and should know better. Steve also recently railed against the idea that "you are not your code" (<a href="https://twitter.com/steveklabnik/status/279399353729286145" rel="nofollow">https://twitter.com/steveklabnik/status/279399353729286145</a>) which makes his jab even more insulting.<p>I've often wondered why concepts such as MINSWAN even exist, but it seems some people actually have to be reminded to be nice.<p>If they haven't already, they definitely owe you an apology.
pgover 12 years ago
Maybe before we spend a lot of time complaining about how federal prosecutors are unsympathetic assholes, we should start by examining our own community.
评论 #5107611 未加载
评论 #5107484 未加载
评论 #5108019 未加载
评论 #5110484 未加载
评论 #5107641 未加载
jrockwayover 12 years ago
I don't really see the problem. I never remember sed syntax and instead just use perl -e. It follows that someone may want to use JavaScript instead though I would personally avoid JavaScript at nearly any cost.<p>As for haters on the Internet, yeah, welcome to the Internet. If you do something, chances are someone hates you. Why? They are jealous that you are getting attention instead of them. They could write a better version of grep, but are too unmotiviated, lazy, or dumb. So instead they trash your version. Attention flows back to them, they look smart in front of their friends, and ???, profit! You don't have to play a part in their fantasy, though. Just ignore them and let them bask in the idiocy of their idiot friends.<p>Or, if they have actionable feedback ("line 34 is indented wrong"), fix it and send them a thank you. Investing any more thought than one of those options, though, is a waste of time and mental energy.
评论 #5107205 未加载
评论 #5107050 未加载
评论 #5107147 未加载
wipplerover 12 years ago
"Most of being nice, in a software context, is about being considerate. Not unnecessarily trash talking other people's stuff. Not going out of your way to be a jerk. Try to be helpful. Treat others how you want to be treated" - <a href="http://blog.steveklabnik.com/posts/2011-08-19-matz-is-nice-so-we-are-nice" rel="nofollow">http://blog.steveklabnik.com/posts/2011-08-19-matz-is-nice-s...</a><p>What can I say?
评论 #5107178 未加载
brotchieover 12 years ago
There exist two types of people:<p>1. "Hur hur, sed piped with other tools already does this, you loser, why did you waste your time?"<p>2. "Cool, a different take on sed written in Javascript. They've written some basic doco and made a npm package, I might try it."<p>Ignore #1 online and in-person, be friends with #2.<p>People who adhere to type 1 behaviour are alien to me. I fundamentally don't understand what their motivation is to respond with such harsh criticism. You've liberated some close source, personal tool, into the public domain. There's some group of people, perhaps in the long-tail, that will use this tool, or learn from the source code. Clearly people have expressed interest in the tool (74 stars and 5 forks).<p>Again, ignore #1, friend #2.
评论 #5106940 未加载
评论 #5107003 未加载
评论 #5107104 未加载
评论 #5106960 未加载
评论 #5106985 未加载
nmcfarlover 12 years ago
First up a clickable link to the project: <a href="https://github.com/harthur/replace" rel="nofollow">https://github.com/harthur/replace</a><p>---<p>When I see a project that reinvents the wheel I tend to think that the author needed a very particular wheel and decided to start with first principles. And even if it seems useless to me - open sourcing it lets me see how this wheel was created, and maybe learn something from it.<p>And of course sometimes someone reinvents `grep` as brilliantly as `ack` and I end up using it every day.
swansonover 12 years ago
This is pretty cringeworthy. I know probably everyone has made an offhanded jab about someone else's software (I know I have) - but in these days of twitter and real-time notifications, we have to remember that the real person behind something is often just a tweet away.<p>I'll try to keep this in mind next time I take to twitter to unleash 140 characters on rage on something that someone has made and cares about.
bstar77over 12 years ago
I've been following 2 of the 3 guys in that twitter conversation for several years. The first thing I can say is that they both are big parts of the ruby community and generally represent it well.<p>With that said, this exchange really upsets me. I've noticed that there is definitely a sense of elitism among the guys that speak at many of the ruby conferences. I think a situation like this is simply a case of them forgetting that Twitter is public and that their personal message board isn't so personal after all.<p>Guys, this is bullying and it's fucking pathetic. It's not the first time, but it needs to be the last. I've at least seen Cory talk and the guy is definitely one of the good guys, but this puts him in really bad light. How much more effort would it have been to post a defect to the github account and informing of the issues?
评论 #5107244 未加载
dandelanyover 12 years ago
Many people here seem to be commenting on the quality of the code in question - they are clearly missing the point.<p>Others are offering advice on how to deal with negative criticism on the Internet. They, too, miss the point. The point of this post isn't to complain "people trashed my work and now I feel bad, make me feel better", it's a call to action - "as a community, we should be better than this". Of course there will always be trolls and negative comments on the Internet. Instead of just preparing ourselves to deal with them, we need to be proactive about creating a community where everyone feels welcome to share what they're working on, even novices who don't write perfect code. (my previous thoughts on the matter: <a href="http://news.ycombinator.com/item?id=4700490" rel="nofollow">http://news.ycombinator.com/item?id=4700490</a> )
评论 #5107009 未加载
评论 #5107179 未加载
tiktaktoeover 12 years ago
This is pretty awful. Steve and Corey are both well-known in the Ruby community.<p>Steve is an instructor at gSchool in Denver, for example, which trains software engineers. It's bad enough that they're both respected in the community, but being a student is a vulnerable position. If Steve were my teacher and he reacted that way to a project I released, I'd be absolutely humiliated.<p><a href="http://www.gschool.it/#instructors" rel="nofollow">http://www.gschool.it/#instructors</a><p>I don't think encouraging participation in open source and being a good teacher are that different. A more productive response would've been to submit some issues or pull requests to Heather's project.
tylerlhover 12 years ago
Steve Klabnik runs Hackety Hack (<a href="http://hackety.com/" rel="nofollow">http://hackety.com/</a>) which is supposed to encourage and teach new programmers, but this is the shit he says to other developers in the wild?<p>Nice.
bmmayer1over 12 years ago
For years I have been terrified about putting my code on Github for fear of rage and retribution from the programmer community. This is a real problem for us amateur coders who enjoy hacking but don't necessarily have the chops to go head-to-head with the serious guys.
评论 #5107079 未加载
评论 #5107243 未加载
评论 #5107848 未加载
评论 #5107109 未加载
评论 #5107492 未加载
评论 #5107131 未加载
评论 #5107985 未加载
评论 #5107192 未加载
ryan-allenover 12 years ago
I kind of expect more from Corey Haines, he's supposed to have a reasonable reputation according to people I know and trust. I'm supposed to be going to one of his 'Code Retreats' in Melbourne this year. I hope I don't get made fun of!<p>Good code seems to be whatever the majority of nodding heads agree upon, and rarely that is merit based. It seems to me that unfortunately most of the nodding heads are people who act like this.<p>I've been ridiculed for my code by people like this, even in situations whereby I've been trying to help solve their annoying problem (and in fact, did help solve their problem). What did I get back? Mostly condescension &#38; ridicule, and no credit.<p>Anyway, if anyone wonders why valuable people run screaming from the software industry, it's people acting like this.
评论 #5114394 未加载
btuckerover 12 years ago
To quote Mark Twain: "Keep away from people who try to belittle your ambitions. Small people always do that, but the really great make you feel that you, too, can become great."
评论 #5107314 未加载
biesneckerover 12 years ago
At some point during my teenage years, my dad gave me the one of the most useful pieces of advice I've ever gotten: "the world is full of assholes, don't let 'em get you down, but don't put up with 'em, either."<p>Or, in this case, don't work with them, or recommend that anyone you know work with them, because while the world is indeed full of assholes, it's also full of enough awesome people that you should never have to put up with the assholes.
评论 #5107070 未加载
orangethirtyover 12 years ago
I was about to contribute to an OSS project run by one of the people making fun of the OP. Not anymore. I will not work with people who set out to humiliate others on "code quality" (whatever the fuck that means).
评论 #5107867 未加载
kamaalover 12 years ago
Frankly, I think by now I've sort of got used to it. Its not just the case with Open source projects, This happens <i>everywhere</i>. I've been facing these sort of problems since I was a kid. Be the first guy to build a model from clay, or the one to write an essay, or the one to participate in the science exhibition. Nearly everyone will first find ways to crap on your work than find something positive about it.<p>After all these years, I just feel these are just ways a guy who doesn't work find a way to justify his inaction. Just make others work look bad, and then you can just go back relax and do nothing. Make your inaction look better than than the guys action.<p>People just don't get <i>90% of all success is just showing up</i> thingy. Now coming to this project, a guy on twitter as shown on the blog says 'Ever wanted to make sed or grep worse?'- Oh! What does this guy think? Sed and grep are the best designed tools out there? Heck learning sed is a nightmare- the language is so terse it may take you months to make any significant headway learning it. There are like dozens of special cases you have to learn and handle.<p>Then why does sed win? It wins because the tool occupies space where there is no, or little competition. Sed shows up!!!<p>Everytime you see somebody produce a piece of work which is helpful in solving a problem think about why you couldn't have been the guy who could have done that, instead of finding ways to justify why you aren't have the guy who did that.<p>At the end, only ones who don't get laughed at are the ones who do nothing.
madhadronover 12 years ago
More important: why are you listening to what anyone on Twitter says? For that matter, why are you listening to what anyone on Hacker News says (assuming you read this)?<p>Personally, I have no idea what anyone might have said about any of my code on github on Twitter, blogs, or otherwise. No, scratch that, I remember a terrifying moment when I realized the link in a sentence along the lines of "who says Haskell isn't ready for the real world?" pointing to my serial port library in that language. Anyway, that's beside the point.<p>You should have a short list of people whose opinion matters. Hint: your family, a set of people whose character and abilities you respect, and anyone who has direct power over you (though if the third isn't a subset of the second, you might want to work on that, too). Random people on the Internet don't count, no matter how famous they may be in their sandbox.
kstenerudover 12 years ago
It's bullying, plain and simple. There is no excuse for this kind of behavior, nor can I respect anyone who engages in it.<p>Even now I feel my blood boiling...
confluenceover 12 years ago
Which is funny because the guy pictured, Steve Kablink, has this sentence on his about me page:<p><i>&#62; Most of my software development work is in teaching these days. I run classes with Jumpstart Lab, and make Hackety Hack</i><p>You'd think a "teacher" wouldn't act like this - but so arrogance goes.<p>With open source - your complaints are worth zero which is the exact same price you paid for the software.<p>Help others with pull requests/contributions - or shut the hell up.
coreyhainesover 12 years ago
Others have linked to this, but, as one of the people who was in the bad, I want to say I'm sorry. <a href="http://programmingtour.blogspot.com/2013/01/im-sorry.html" rel="nofollow">http://programmingtour.blogspot.com/2013/01/im-sorry.html</a>
评论 #5107517 未加载
评论 #5107459 未加载
evanprodromouover 12 years ago
Here are some of Heather Arthur's other projects on Github:<p><a href="https://github.com/harthur/brain" rel="nofollow">https://github.com/harthur/brain</a> - neural network <a href="https://github.com/harthur/classifier" rel="nofollow">https://github.com/harthur/classifier</a> - bayesian classifier <a href="https://github.com/harthur/clusterfck" rel="nofollow">https://github.com/harthur/clusterfck</a> - clustering <a href="https://github.com/harthur/glossary" rel="nofollow">https://github.com/harthur/glossary</a> - term extraction<p>You can see more here:<p><a href="https://github.com/harthur?tab=repositories" rel="nofollow">https://github.com/harthur?tab=repositories</a><p>Nice stuff.
eranationover 12 years ago
I'm surprised no one mentioned it, but hey, there are people using windows out there where that can use this (instead of installing cygwin, or finding out what on earth is the equivalent of grep on windows command line)<p>I think it's just immature behavior to criticize like this and I'm happy to see the top voted comments here<p>Criticize in private, praise in public. Otherwise you are just a bully.
评论 #5108085 未加载
IvyMikeover 12 years ago
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 <i>don't</i> tweet? ("Hey, who's picking me up from the hotel?" is not something I'd ever announce to the world at large.)<p>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 <i>everything</i>, that little passing thought was pushed to the world, which is not good for anyone involved.
Anechoicover 12 years ago
FWIW, Corey Haines apologized: <a href="http://programmingtour.blogspot.com/2013/01/im-sorry.html" rel="nofollow">http://programmingtour.blogspot.com/2013/01/im-sorry.html</a>
评论 #5107347 未加载
serfover 12 years ago
Reverse misogyny. Had a man wrote a blog entry about crying due to 'boohoo comments' on the internet would get chastised out of the industry. A woman writes a blog entry about how her feelings get hurt and everyone with a set of swingers breaks down , puts on their big boy/high moral pants, and makes a grandiose apology (via published blog post, rather than private channels, because the fanbase must be informed lest we reduce our hits per month!)<p>Is this really a 250+ post thread about someone getting offended on the internet? Want to see an artist get offended about their work? Go check out deviant art.<p>Open code is inevitably peer reviewed. The development community since the mid 80s has been notorious relaxed, leisurely, casual. No suit, no tie culture. Are you really upset that you received a negative peer review in casual tongue?<p>Science has a similiar dilemma with peer review causing depression. Science and academia, however, do not have the same casual environment, however, and that is reflected in the peer review. Instead of "My eyes are bleeding", you receive things like "Das ist nicht nur nicht richtig, es ist nicht einmal falsch!" ("Not only is it not right, it's not even wrong!") Is that not rude?<p>Don't open up your code and you won't receive harsh sentiments from those that read it. Worked for MS.
评论 #5108866 未加载
评论 #5109792 未加载
kt9over 12 years ago
I don't know Steve Klabnik or Corey Haines (or any of the other people mentioned in the post), but I just lost a lot of respect for them.<p>If I do come across them (in a forum, in person etc), I'll remember more about how they tend to make disparaging comments about people on the internet rather than any code on github.<p>Lastly, kudos to you for writing code, solving a problem and putting it out there. I think is great what you're doing and you should ignore non-constructive criticism.
评论 #5107222 未加载
rdeggesover 12 years ago
David Cramer's response (via Twitter): "Are you mad that the Internet disagrees with you? Maybe get off the Internet?"<p><a href="https://twitter.com/zeeg/status/294305445521268736" rel="nofollow">https://twitter.com/zeeg/status/294305445521268736</a>
评论 #5107508 未加载
评论 #5108319 未加载
twogover 12 years ago
Oh the irony <a href="http://blog.steveklabnik.com/posts/2011-08-19-matz-is-nice-so-we-are-nice" rel="nofollow">http://blog.steveklabnik.com/posts/2011-08-19-matz-is-nice-s...</a>
评论 #5107322 未加载
kenneth_reitzover 12 years ago
I'm so tired of this.<p>In honor of harthur's efforts, and to take a stand against bullying, I've decided to fork the project. I'm currently porting it to Python!<p><a href="https://github.com/kennethreitz/replace" rel="nofollow">https://github.com/kennethreitz/replace</a><p>I encourage others to do the same in their respective languages :)
评论 #5109732 未加载
评论 #5108347 未加载
评论 #5110373 未加载
kyroover 12 years ago
That's pretty infuriating. Learn to grow callous to it, laugh it off, and bury your head in the ground and keep pushing forward. You'll have assholes from every corner of the earth say demeaning things. But now I know Steve Klabnik is a dick, and Heather Arthur is a decent human being who's willing to put her work out there. Keep doing that and you'll be the happier person in the end.
jmillikinover 12 years ago
<p><pre><code> &#62; Then I see these people’s follower count, and I sob &#62; harder. I can’t help but think of potential future &#62; employers that are no longer potential. My name and &#62; avatar are part of its identity, and it’s just one step &#62; for a slightly curious person to see the idiot behind &#62; this code. </code></pre> Oh come on now. Potential employers are not going to be crawling through your github on the off chance they can find a hastily-written script to laugh at. If they do claim that they won't hire you because you wrote this tool, they are lying to cover for some less socially-acceptable rejection cause.<p>As for why people are laughing at this project, it's likely because you reimplemented a time-tested tool (sed) in a flavor-of-the-week platform (node-js) without any obvious awareness of how silly that looks. If you put a quick explanation in the README, like "I wanted a 'sed' that used Javascript regex syntax", then I doubt anyone would make any such fuss.
评论 #5107060 未加载
评论 #5107013 未加载
marcamillionover 12 years ago
This is par for the course in the Rails community. Once some Rails devs get more experienced, they think it's ok to shit on everyone else.<p>Granted, not all are like that...but many are.<p>God forbid you should stumble into #RubyOnRails on IRC. Thank God for Stack Overflow!
评论 #5107686 未加载
swdunlopover 12 years ago
A quick scan of the project source doesn't suggest that "it makes my eyes bleed" was a fair criticism. It isn't going to cure cancer or solve deep problems, but who cares? The world is full of projects where people just snap a few cogs together and hit "Show HN" on their way to "... 3) Profit."<p>If you are going to put something in the public space, you have to be ready for any trolls in the vicinity to take a dump on it. It's not fair, but it's the economy of attention and identity at work.
评论 #5107334 未加载
sharmsover 12 years ago
I really like the easy to use approach of replace, and don't understand why every hackernews comment falls back to sed and grep. Free software is about choice, and this project is certainly another viable one. Thank you for open sourcing it!
评论 #5107073 未加载
nowarninglabelover 12 years ago
Man I know how this feels. The very first piece of code I ever open-sourced (5 years ago) was put on a "Wall of Shame". Turned out though that the person doing this had never even looked at my code, they were just a petty, jealous person who saw something with a title that irked them. I don't claim to have great code, but I am happy to still be putting lots of open-source code out there, and I'm happy I didn't let that first asshole discourage me. Fortunately, the rest of the community saw that this guy was an asshole, and the "wall of shame" was quickly brought down, but it'd be really nice if we didn't let such petty assholes make it into a position where they can ridicule people in such a public and far-reaching way in the first place.
Fuxyover 12 years ago
What's all the drama about? So what some famous people criticized your code. Get over it. They may disagree with it for whatever reason ultimately it's you who has to find the tool useful. Please don't whine about it just take it with a grain of salt they could be a million reasons they would say that.
kenneth_reitzover 12 years ago
<a href="http://kennethreitz.org/be-cordial-or-be-on-your-way.html" rel="nofollow">http://kennethreitz.org/be-cordial-or-be-on-your-way.html</a>
luigiover 12 years ago
Here's the Twitter discussion alluded to in the post:<p><a href="https://twitter.com/harthvader/status/293829635823792128" rel="nofollow">https://twitter.com/harthvader/status/293829635823792128</a><p>Main justification is the nicer syntax. I agree it's nicer, but would approach it by wrapping sed, not re-implementing in Node.js from scratch.<p>I don't think that excuses the ridicule, though.
评论 #5107001 未加载
评论 #5106965 未加载
评论 #5107080 未加载
评论 #5107229 未加载
manish_gillover 12 years ago
I don't care how "popular" these guys are, they are douchebags. This kind of bullshit behavior is stopping me from trying Ruby.
评论 #5107636 未加载
评论 #5107703 未加载
ispiveyover 12 years ago
<p><pre><code> $&#62; diff @coreyhaines-apology @steveklabnik-apology &#60; grace --- &#62; sorry if i made you upset </code></pre> A side-by-side example we can all use to learn how to apologize better.<p>[1] <a href="http://programmingtour.blogspot.com/2013/01/im-sorry.html" rel="nofollow">http://programmingtour.blogspot.com/2013/01/im-sorry.html</a><p>[2] <a href="http://blog.steveklabnik.com/posts/2013-01-23-node" rel="nofollow">http://blog.steveklabnik.com/posts/2013-01-23-node</a>
jumbyover 12 years ago
Seriously, i dont know what everyone is getting worked up about. Some wannabe smarty pants said something mean on the internets. How is that different than any other day?<p>Steve Klabnik: what exactly is his claim to fame [2]? Lets all mock him for reinventing the wheel with 'pomodoro'. "Messes with your hosts file" and run some crap ruby daemon on :80 so you can't browse the web for some number of minutes? WTF: it's called a proxy people or iptables. Why reinvent the wheel? OHHHH and a big no no here: shelling out to the system. LOL, the irony [1]. I need HIGH PERFORMANCE on everything I do including a local webserver. Gosh.<p>Corey Haines: huh? some software trainer who has written a well known anything? His github is less than inspiring.<p>Some other ruby people: big whoop. Lets see their githubs and then we can all point fingers.<p>[1] <a href="https://github.com/steveklabnik/pomodoro/blob/master/lib/pomodoro.rb" rel="nofollow">https://github.com/steveklabnik/pomodoro/blob/master/lib/pom...</a> [2] <a href="https://github.com/steveklabnik/bring_back_snowman" rel="nofollow">https://github.com/steveklabnik/bring_back_snowman</a>
评论 #5112040 未加载
lwfover 12 years ago
This seems like a nifty utility that lacks the learning curve of some classic Unix tools.<p>Granted, it duplicates stuff in sed and grep, but it looks like it would probably be useful to many people.<p>A project this reminded me of: <a href="http://betterthangrep.com/" rel="nofollow">http://betterthangrep.com/</a>
crowbarover 12 years ago
Seeing this sort of negative behavior, both in groups online and off and coding and not, affected me greatly, even when I wasn't the target. On one hand, it gave me pause to consider and critique my own work, enhancing the final product. On the other hand, it made me go into over-perfectionist overdrive and too scared to release stuff lest "everyone" hates it. This fear, however irrational, has gripped me for many years. Stories, scripts and projects being left in folders partially because I wasn't sure where to go with them, but I believe in part that I was too scared to see it through and be rejected (The McFly effect, if you will.) I'm only now just coming to terms with it and learning how to, excusing the french, not give a fuck what others think. If I'm happy with it, that's a great start.<p>It's like with improv comedy: Denying the other person doesn't go anywhere and typically ruins the whole scene. Working with the other person in a positive light,though, goes miles and miles.
maxdelisoover 12 years ago
This is kind of saddening to see, but it is a crime that virtually every programmer has committed at one point or another in their careers. Let's be honest - in some cases it can be quite fun to do. The underlying problem is the ego, and the corresponding lack of objectivity that results.<p>From reading someone else's code - even glancing at it in some cases - one can infer a great many things. For example, if the indentation on some code is totally borked, most programmers will immediately be extremely doubtful about whether that code contains any interesting or useful ideas (though of course this is not always the case, counterexample being intentionally obfuscated code). In some cases, they will simply refuse to continue attempting to understand the code and dismiss it as useless. A similar thing can happen at the semantic level when the programmer detects a mismatch between the language/framework being used and the problem space; this dissonance is likely what is irking all of the people who are so childishly ridiculing your replace utility.<p>Sometimes when you're looking over someone else's code you spot some perceived inconsistencies/flaws/bugs. The crucially important part is <i>what you do next</i>. If you choose the route of publicly shaming them to stroke your own ego, then you have not only hurt yourself by appearing childish, insecure and unsociable, but you have also hurt their feelings. It's important to remain objective in these situations, and take the self out of the equation. If you HAVE to indulge yourself by tearing the code apart in a humorous manner then at least keep it between with your friends!<p>As I alluded before, I would guess that the reason people where poking fun at it was probably because there exist a lot of other utilities which have the same functionality and are readily available on most any system. Personally, I thought your code was interesting, and I thank you for choosing to make it public :).
评论 #5107195 未加载
_pmf_over 12 years ago
&#62; I can’t help but think of potential future employers that are no longer potential.<p>Remember that this also applies to the potential employers of the people making these remarks. I don't think employers like these kind of toxic comments and sometimes I think Twitter actually has some use for decent people in that it acts as a honeytrap for exposing certain tendencies in not-so-decent people that would otherwise go unnoticed due to the holier-than-thou aura these people create for themselves. "Bro, look at his code! Guys! Guys! Look!"
Xcelerateover 12 years ago
A tool like "replace" is actually very useful for someone like me.<p>Within the past year I've been learning OS X and the associated Unix environment (coming from a Windows background). At times I wonder how to do find/replace in the command line. So I look at sed. Glance over the man page -- what the heck? Google it; okay's so there's apparently different versions of sed, and OS X has something weird with -i since it's BSD sed instead of GNU sed... and oh look! It uses a different type of regular expressions than I've been using for the past 10 years. And, oh crap, I just accidentally overwrote my file because I typed in the command wrong.<p>The alternative for me is to open the Coffee REPL and get that crap done in seconds.<p>Yeah, I'm slowly picking up the Unix skillset (and Vim is invaluable after finally getting around to learning it), but I think people forget the sheer amount of <i>memorization</i> involved to navigate in a Unix environment.
ripterover 12 years ago
This guy needs to stop being a pansy and grow some balls.<p>Oh noes! Someone on the internet doesn't like my work! My world is over!<p>What are you, a little girl? Nine, maybe ten years old. I'm seeing pigtails and a frilly skirt.<p>Get over it dude. It's impossible to make everyone happy. haters are going to hate. No need to make a big deal about it.
评论 #5113208 未加载
michaelwwwover 12 years ago
I hate to say this -- as an older person -- the only solution is to get a thicker skin, because people on occasion are going to be assholes to you. Even good people in a moment of snark. Even when they completely misunderstand what you did and that it is good. And worse, there are those who just tear down anything. It's just a fact of life. I suggest you read Feynman's "What do you care what other people think?" It helped me a lot.
评论 #5109087 未加载
chris_wotover 12 years ago
Even if the tool wasn't as useful as the traditional tool users have liked, I think that the following was an interesting comment:<p><pre><code> I think that, at least hypothetically, this app won’t be significantly faster written in C than in JavaScript. It’s I/O bound, and in JS regular expressions get JITted to native code (which sed won’t even do!). The real slowdown here with our current JS implementations will be overhead for creating and replacing-in strings. This app actually just gave me a crazy idea for how we could optimize this kind of usage, so I wanted to say thanks! </code></pre> <a href="http://harthur.wordpress.com/2011/06/06/replace/#comment-776" rel="nofollow">http://harthur.wordpress.com/2011/06/06/replace/#comment-776</a>
dblockover 12 years ago
Maybe it's cultural, but what was ridiculed was the project, not the person. Russians, for example, make a clear distinction between the two, so what the tweets said didn't shock me somehow.<p>I can totally understand how one can take it personally and I definitely think the apologies were necessary. Even though I am Russian, I would certainly apologize profusely if I had offended anybody for whatever reason and would be sincerely sorry.
评论 #5110420 未加载
evolve2kover 12 years ago
Reimplementing existing tools is a great way to learn and enhance your code fu. Hats off to the author. Haters gonna hate.
webreacover 12 years ago
At my office, I would be very angry if I encounter your tool. That would mean that the guy who has brought it was too lazy to learn the proper way and makes me waste my time learning how to use a useless tool. Your tool has no advantage over standard unix tools, it is just limited to a reduced number of use cases.<p>This kind of tools does not favour improvement of skills or good practice. I think this is the cause of the strong reactions.<p>On the other hand, your program seems well coded and I may use it when I need to code something similar in javascript. Thank you for open sourcing it. I think you should update your README.md file in order to indicate the proper way of doing things and to discourage the use of it for any other purpose than learning.
评论 #5108576 未加载
评论 #5108938 未加载
dougk16over 12 years ago
Apology from one of the tweeters: <a href="http://programmingtour.blogspot.com/2013/01/im-sorry.html" rel="nofollow">http://programmingtour.blogspot.com/2013/01/im-sorry.html</a>
magikarpover 12 years ago
As the lead developer for Cryptocat, this sure rung a bell for me.
评论 #5107291 未加载
einhverfrover 12 years ago
There are a few open source projects which I would be willing to ridicule. In general the projects have traction, a significant history, and horrible code which never gets more than marginally better over more than a decade. It is one thing to be starting out. It is something else to decline self-improvement.<p>The problem though is this (and I have been on the receiving end of very harsh criticism of people I respected, some of which was shown correct over time), that there are often problems with critics jumping to conclusions and at the same time not being very detailed. Thus a response like these tweets can only be a "gut reaction" and never really very helpful to anyone. There is no time involved trying to grok the code. There is no opportunity to discuss what potential tradeoffs have been made or why. These two things need to be corrected.<p>I don't think folks should criticize code without trying to work with it and understand the API's. I don't think folks should leave a critique like "that's the old 1990's way of doing things" or "that code sucks." It is much better to get something like "So I see a few problems with the code... and ...."<p>In fact the few times I have gotten the latter (publishing code and getting responses like "I see some important concurrency issues there. This isn't safe to run on production.") I have been happy with the panning because I could fix the problems. But that's a far cry from what the article is referring to and it is, unfortunately a lot less common, IMO.
shaurzover 12 years ago
Although I don't see anything particularly wrong with that script and why people are laughing at it, she needs to be less sensitive and not take it personally. After all, publishing open-source code is a very public act and makes you a very easy target for criticism. Imagine if the Linux kernel devs cried every time Linus went on one of his abusive rants. Not that I'm particularly defending this abusive behaviour, but you have to be realistic and realise that it happens.
qwertybobover 12 years ago
Someone's going to cry over this? I would have thought going through normal ridiculing in middle school and high school would have toughened someone's skin enough. And why are you even paying attention to the great twitter circle-jerk?
davidbrennemanover 12 years ago
I wonder if the amount of ridicule correlates with the fact that the author is a woman?
ddunkinover 12 years ago
It looks fine to me, I would actually use something like this internally for employees who can't regex. Except the node.js part, but that doesn't make it any less useful, I respect that other people use other tools.<p>The part that I see some may disagree with, is when these apps are posted in public repository indexes (npm). I feel a usefulness filter should be applied. That may be at the heart of the comments. Not that it was posted publicly, but that it was included with a generic name in a public repository (<a href="https://npmjs.org/package/replace" rel="nofollow">https://npmjs.org/package/replace</a>), now it has the potential to be annoying to some users. The way these guys disagreed was just, ugh.<p>I write all sorts of cool little networking utilities for my company, but they were not ever intended for an end user, but could be used or adapted by someone else very quickly. My code doesn't leave my company (probably shouldn't, I'd get torn up just like this, I know it). If it did, I would just not want it in a repository.
klibertpover 12 years ago
I just wanted to point out that the code (I know, it's not about the code) here is perfectly fine JavaScript, much, much better than tons of JS I saw in the wild. "eyes bleed"? What the heck? Have these guys never seen truly bad code? And if it's really just about language war...<p>Look, I understand that one can prefer one language over another, but trashing the code <i>someone already written</i> (meaning you won't be forced to write this thing in this language if the need be) is so short-sighted, so closed-minded that I can't find proper words to describe it.<p>I almost refuse to believe that this is the kind of people who are the "stars" of communities - I really thought that to be really good with one language you need to know and respect many others and I thought that being a "star" involves being being good in the language you want to champion. I guess I was just deluded and we're choosing those who yell the loudest as our representatives. Whatever happened to meritocracy?
mosselmanover 12 years ago
This seems like a totally reasonable way to deal with criticism.<p>Also, "I can’t help but think of potential future employers that are no longer potential." because some guy called Steve Klabnik and his wannabe follower Corey Haines who wants to suck up to him say your code sucks?<p>Don't take yourself so seriously please.
EGregover 12 years ago
First of all, I don't think it matters whether a man or a woman wrote the code. I for one didn't know when I read the link, until I saw this discussion.<p>There are several aspects to this. The obvious one is that anything you put out there is going to get criticisms. Look at Barack Obama being called a socialist muslim atheist, who attended Rev. Wright's church for 20 years. The point is, if you step up, not everyone will like you.<p>Now, being denounced by people who are well-respected and with a big following can hurt. Then again, I doubt it's very permanent. If this is the ONLY thing you've ever done, then you should just do more things.<p>If you are that sensitive about something, don't release it under your own name. Invent a handle just for this project. Kind of like a limited liability company. The art of the pseudonym goes back hundreds of years.<p>Also keep in mind the culture. Unfortunately in my opinion, the coder culture is full of elitist snark against noobs who are too visible. Maybe because it's so male. I have seen far worse reactions to people's code on IRC, especially some assholes in EFNet chatrooms. Freenode seems a bit nicer and well-behaved. But saying ridiculously quirky offensive things in response to code is something coders do to each other all the time. It's just the way many of them speak. I personally don't, and I find it extremely annoying, and I wish it would go away, but it's the reality.<p>Now as far as open source ... I remember releasing what I considered to be a very impressive (at the time) framework, <a href="http://phponpie.com" rel="nofollow">http://phponpie.com</a> , and although I got pretty positive responses <a href="http://news.ycombinator.com/item?id=1682933" rel="nofollow">http://news.ycombinator.com/item?id=1682933</a>, and constructive criticism, it didn't really take off. I tried a bit of self-promotion and it didn't pay off either. So to me, releasing open source is kind of a lot like releasing any product ... if people don't really want it, then you're putting in a lot of effort for almost no return. Think about product-market fit in open source, just like anywhere else.
gaddersover 12 years ago
Those people are arseholes, but sobbing? There's no sobbing in business (to paraphrase Tom Hanks).
donnfelkerover 12 years ago
This code is better than 90% of the code I've seen. Why? It shipped.
jakejakeover 12 years ago
It strikes me as the OP is a new-fangled node.js programmer who unwittingly stepped into shell-script land and felt the judgmental wrath of those who dwell there.<p>This post has a lot of conversation which I take to mean it touched a nerve with a lot of people as it did me. I grew up when computer nerds were not cool and a lot of guys dealt with it by being self-righteous, condescending assholes. I thought those days were behind us now that computer guys and gals are off getting rich and running the world. But clearly the need to feel superior still exists in some communities. It bums me out to see people who otherwise do good work with such a mean-spirited attitude.
redmattredover 12 years ago
People will criticize your work, good or bad, can't take every comment on twitter to heart.
评论 #5107051 未加载
d4vlxover 12 years ago
Developer elitism at it again. The dev community really needs to lose this trait.
brunolazzaroover 12 years ago
I can't find any reasons to tweet stuff like that. Pretty sad to see that the mentality of some "popular" developer is.
评论 #5108126 未加载
jpeg_heroover 12 years ago
I always cringe when i see a blog post along the lines of<p>"A great way to do X in unix"<p>because it is almost always followed by the true unix gurus coming on and schooling the poster.<p>literally, people: assume any unix script you post, no matter how trivial, must meet the standards of a mathematical proof to Fermat's Last Theorem.<p>and i must confess, i look down on bloggers that blithely post a unix script. Not because of their lack of Unix foo, but rather the shear naivete of posting it (and the ignorance of the fact that the grey wizards will come out of their tower and pound you for anything less than perfection)
tlearover 12 years ago
You have been ridiculed by a RoR core team member.. that is pretty awesome.
评论 #5107511 未加载
评论 #5108161 未加载
numbnutsover 12 years ago
Steve Klabnik's apology:<p><a href="https://twitter.com/steveklabnik/status/294302391279435776" rel="nofollow">https://twitter.com/steveklabnik/status/294302391279435776</a><p><a href="https://twitter.com/steveklabnik/status/294302539510337536" rel="nofollow">https://twitter.com/steveklabnik/status/294302539510337536</a><p>He posted this ~2 years ago: <a href="http://blog.steveklabnik.com/posts/2010-09-24-trolling-is-a-art" rel="nofollow">http://blog.steveklabnik.com/posts/2010-09-24-trolling-is-a-...</a><p>I guess he's still working on his communication skills.
评论 #5107988 未加载
almost_usualover 12 years ago
Fuck it, ship it.<p>At least you're contributing to the world and bettering yourself.
TheCapnover 12 years ago
And we wonder why the programmer geek/nerd/shut-in stereotype or whatever sticks. We fucking step all over eachother as a chance to look better. "Oh, look, someone wrote a helper function that does something <i>I</i> already know how to do."<p>What's the benefit of calling that person out?<p>Seriously. Answer that question before you take to a twitter mob.<p>People through this thread argue whether its worth the time, but if it took Heather one hour to write it, the function paid for itself once she used it for an hour of work that would otherwise be spent crawing man pages.<p>Hell, she says it was written a few years ago. Every piece of code I wrote two/three/four years ago can be looked at and often makes me cringe. You learn in time but that doesn't mean you should vanquish your mistakes. Grow from them, show them proudly as a statement of where you were and where you've come from. Whether you've evolved to a better programmer or not if that single function proved useful to you at one point it means that just one single person out there needed it. Does it make you wrong for not knowing/finding the tools it mimics? Maybe, but without someone beside her in the first place how should she have known. Perhaps taking to twitter with a knife for someone's back is a better start?
wolfeidauover 12 years ago
Very disappointed with the people that made these statements, they should know better.<p>Kicking other peoples puppy is never cool, people forget where they started.<p>Some times you have to take this sort of crap on the chin and keep hacking away, the best thing you can do in situations like is just ignore them.<p>I think in this case they have realised how stupid their statements where and are hopefully truly sorry for the hurt they have caused.<p>Also a note to those with many followers, don't be a dick.
baneover 12 years ago
It's astonishing how somebody's earnest hard work, put out in the world for all to see and benefit from, draws so many unmitigated assholes out of the woodwork.<p>Is it jealousy at quickly and elegantly producing something simple and useful?<p>protip: here's how to recognize you made a mistake and humbly apologize <a href="http://programmingtour.blogspot.com/2013/01/im-sorry.html" rel="nofollow">http://programmingtour.blogspot.com/2013/01/im-sorry.html</a> Good on Corey.<p>here's how to do the opposite <a href="http://justcramer.com/2013/01/24/being-wrong-on-the-internet/" rel="nofollow">http://justcramer.com/2013/01/24/being-wrong-on-the-internet...</a><p><a href="http://blog.steveklabnik.com/posts/2013-01-23-node" rel="nofollow">http://blog.steveklabnik.com/posts/2013-01-23-node</a> <a href="https://twitter.com/steveklabnik/status/294302391279435776" rel="nofollow">https://twitter.com/steveklabnik/status/294302391279435776</a> <a href="https://twitter.com/steveklabnik/status/294302539510337536" rel="nofollow">https://twitter.com/steveklabnik/status/294302539510337536</a><p><a href="https://twitter.com/zeeg/status/294307568019464192" rel="nofollow">https://twitter.com/zeeg/status/294307568019464192</a>
TheEmpathover 12 years ago
1.) Open Source is a meritocracy intentionally designed to counter the never-ending threat of software homogenization that profit motives lure us into embracing, not a soapbox for fleeting quandaries about morality and "social change" (whatever the hell that means for the week). Apples and oranges. Mountains and molehills.<p>2.) Open Source is not some cool kid's club where people who understand what a semi-colon can do try their hand at avoiding the recession. Even if coders did not make the money they make, THEY WOULD STILL BE CODING BECAUSE IT'S ABOUT TRICKING FUNDAMENTAL PARTICLES INTO DOING MATH FOR YOU. IT'S FUCKING AWESOME SO PUT UP OR SHUT UP.<p>3.) You code... you put it out there... and you have, literally, -ZERO- idea what is going to happen. People might like it, people might hate it.<p>Now this is the important part to my final point:<p>---IT IS NOT YOUR PLACE TO CONTROL OR FILTER THOSE RESPONSES---<p>So you throw some code out there and people don't like it? You get mocked by some asshole? And? What, did you expect civility and ponies and rainbows? What fantasy model of human interaction are you relying on as the core of such assumptions?<p>Nay, sentient being. It is your place to ADAPT to those responses.<p>So... in short....<p>There is a BLAME option in version control, so point out the flaws in her code or shut up. So there's that.<p>Now as per the frothy mob trying to turn Open Source into some anti-bullying kumbaya because they watch too much Rachel Maddow...<p>There is -not- a SHAME option in version control, so either understand what problem Open Source is trying to solve (promoting software heterogeneity) or go back to the service sector where people are forced to be nice.
评论 #5112628 未加载
simonhover 12 years ago
I have an application I've been working on for about 5 years. I started it as a way to learn desktop and object oriented programming, and it's now grown to something like 10,000 lines of code. There have been long periods of 6 months or more when I've not touched it, then gone back in and get started again, as a result the code base is a bit of a mess. The coding style is a bit haphazard and it includes a fair sprinkling of ugly hacks.<p>But by and large it works and would make a decent alpha release. There are a few bits of functionality that need to be made more robust, which I'm working on now, and when that's done I'm going to bite the bullet and load it into Github. I've implemented a plugin system so users can customize it, and tried to do my best to make that part of it as consistent and clean as possible.<p>I do worry that uploading this thing could cut both ways. I'd like it to get some use, but I'm very aware of it's flaws. I wonder home many projects never get released because the authors are worried about this kind of reaction.
berlinbrownover 12 years ago
Because of this post I learned a little bit about node.js and may want get into.<p>See how that works. And she has other interesting projects as well.
zachroseover 12 years ago
harthur, your work is awesome.
egypturnashover 12 years ago
So here is a thing I've learnt as an artist: never offer unsolicited critique of other people's work. It makes you look like an asshole.<p>If someone WANTS crit, I will ask them if they really, really want it, and give them the caveat that I am probably going to rip them a new one. For my best artist buddies, I don't bother with the preface. They know how to detach themselves from their art.<p>And sometimes, yeah, I come across something so amazingly badly made that it becomes a thing of wonder. When I want to share that, I don't do it in public. I use private, limited channels. Email, private forum, locked Twitter account, whatever. Come to think of it I really tend to just say "holy cow look at this" rather than being super specific.<p>Tearing other people's stuff down in public makes you look like an asshole, period. Especially when you are tearing down the work of people less skilled and/or well-known. It also makes you look pretty insecure.
rehackover 12 years ago
Okay, I upvoted this story for the sake of 'missing kindness', in general on the Internet.<p>But after having understood, the whole story. What replace does is that, basically it is a good small utility for the author of the post to replace some content from a lot of files, also recursively going through directories. And the author happened to make it depend on nodejs.<p>In defense of these folks, who made nasty comments: they appeared to have made so, in the context of <i>this nodeJS-based-replace</i>, attempting to replace the sed/awk/grep and unix scripting.<p>To any long time unix user, any quick hack to replace the said commands, does indeed appear to be falling short. And also a bit of a <i>why would you need to do such a thing?</i>.<p>Honestly, they should have been just empathetic enough to understand a non-unix user, hacking a quick utility, with the tools she is familiar with (nodeJS and javascript) to come up with something useful for self and friends.<p>edit: rephrase
f4stjackover 12 years ago
Github is not a beauty pageant. We do not write code for the people to evaluate them aesthetically. What we do, however, is to learn and teach. What we did to solve that problem and if there are others, they may use our solution as a step to solving their similar problems or better, they may offer a better solution.<p>What did these tweets add to the so-called "eye bleeding" code? What did they teach? What did we learn from all of these?<p>If I was in Heather's shoes, I would feel anxious whenever I sync to my public repo in Github. Or anxious whenever I code, worry whether this code is "beautiful" enough. And, folks, no one has any right to make a person feel like this.<p>I don't mean "no there shouldn't be any criticism on github" on the contrary, if you have something constructive to say, go ahead and shoot. I would not make a repo public if I don't want to see my mistakes, improvement starts with realizing what a mistake is.
kysolover 12 years ago
I'm amazed someone hasn't said "well that escalated quickly".<p>On topic, I've never really released code due to being scared of peer-disapproval, and also paranoid from the public display of potential attack vectors I haven't seen. I don't think that I will ever open source a live project due to these issues.<p>You should never say "that's bad code" without giving a reason why, and or showing how to make the code better. It's like walking out of a new release block buster movie and saying in a louder than normal voice "well that movie was bad". Anyone that can hear is going to start questioning, "what movie?", "why was it bad?", and instantly they are going to start wondering if the next 3 hours of their life is going to be wasted.<p>Basically I put this down to a generation of self absorbed twats that like to hear their own voice, and feel all warm and fuzzy inside when ever they grunt something "amusing" to their minions.
obstacle1over 12 years ago
It is an unfortunate fact that this sector of the world has a higher proportion of absolute assholes than other sectors. Egos are extremely fragile, cognitive dissonance is high, arrogance is the norm.<p>I'd say don't let it get to you, but that'd be dishonest. It'll get to you. The thing is you can't stop. That's the hard part.
slohrover 12 years ago
This topic is so hot in the community it's hard resisting the urge to weigh in. That being said I don't think I can add much to the particular direction the current conversation is going.<p>But given that I gave in to the urge to comment I do want to say this: Good job Heather! Keep up the coding and continue to have fun doing what you're doing. Solve the problems you see fit to be solved.<p>My guess is that you have a pretty good support network and you'll brush this whole thing off soon enough. However the next time you are one key-stroke away from submitting another project to GitHub, and you are given pause due to this whole fiasco, I say charge forward and submit. I look forward to seeing your contribution to the community. Just as I look forward to any contribution from anyone across the globe.
jeffdavisover 12 years ago
I agree with the other comments here. It reminded me, unfortunately, that I did something like that once:<p><a href="http://thoughts.davisjeff.com/2007/11/17/700-queries-for-one-page-load/" rel="nofollow">http://thoughts.davisjeff.com/2007/11/17/700-queries-for-one...</a><p>I can rationalize it in a few different ways, I'm sure. But the bottom line is that, if it's open source software, the correct approach is to either offer constructive criticism directly to the developers, or just not say anything without being directly prompted (e.g. "should we use this software").<p>I can see exceptions for major projects with a large developer base. You still need to keep it constructive, but I don't necessarily think you have a responsibility to join the mailing list for everything you want to complain about.
jondotover 12 years ago
I wish the guys involved would submit pull requests to amend what they thought was so bad. It has a better educational and apologetic value.<p>It also shows the kind of respect people should get; if you don't like the code you're seeing on Github, improve it and submit a pull request - why not?
评论 #5111006 未加载
mark_l_watsonover 12 years ago
I don't do much JavaScript or Node development but her projects look cool. As frustrating as this must have been for Heather, I hope that in the long run she might get some value from the publicity.<p>I was going to comment on the twits (misspelling intentional) but decided to stay positive.
pekkover 12 years ago
This is a cultural problem. I don't see any reason to believe that this is because she's a she. This kind of horrible arrogant douchebag attitude is just an epidemic. If you are a guy, and especially if you are nobody known, you do not have anything like this recourse.
hardik988over 12 years ago
I replied to @steveklabnik's tweet saying (<a href="https://twitter.com/hardikr/status/293819210965082113" rel="nofollow">https://twitter.com/hardikr/status/293819210965082113</a>)<p><pre><code> "There's also a search command. It's like grep, but with replace's syntax, and slower!" Wow - I'm sold! </code></pre> If it was not clear, I was just kidding - and I apologize if my tweet and caused her any sort of distress. I'm just a novice in the open-source world, and I really respect harthur for her contributions to open-source. I was just "smiling" about Javascript's use to replicate grep. In fact, it is my Github everyone should be laughing at - it is filled with small useless scripts, and really terrible code.
akrymskiover 12 years ago
Thank you Heather! I could never be bothered to remember the commands for the swiss knife that is sed to do something as simple as this. Why I love this:<p>- js syntax for regular expressions is what I'm most familiar with - defaultignore is very helpful - completely cross-platform - can be used directly from my other node projects that need to search and replace files - it's something i'd never be bothered to write because looking up sed syntax takes less time - so thank you for taking the time to do it and open source it!<p>Don't get me wrong - sed's great cause it's so powerful. Bash is powerful too. But I'm not a fan of either. Software should make our lives easier, not force as to learn cryptic commands to get simple things done. Compare "sed --help" to "replace --help". What will the future generation prefer when they need to do a basic search/replace task? The route of least resistance of course.<p>Making simple tasks simple is what real innovation is about. I don't consider myself a poor developer, I know a handful of languages, I'm just not a linux geek because I believe that interfaces should come first. I'm a developer / designer and I love simple and elegant solutions to every-day problems. Your module is exactly that. The reason some "experts" are up in arms is because it challenges the status quo. You no longer need to be a linux wizard to search and replace files. Hell - you don't even need linux. And the simplicity and approach of Node is what makes it possible. As Steve Klabnik said - this is actually their way of showing how much they hate node. And hate is a powerful word for "being afraid". And I'd be too if I dedicated a good chunk of my life to becoming a Ruby expert. "Ever wanted to make sed or grep worse?". Hahaha. I guess Apple I was also worse than the all-powerful mainframes of its day. That's probably exactly what the IBM guys said. Buy a PC that doesn't come with a screen? That does only a fraction of what IBM PCs do? Ever wanted to make an IBM PC worse? :) When the experts are afraid - that's when you know the Node movement is on to something.<p>PS Already almost 400 people have starred your project - I think that's saying something. Would be interesting to know the number of installs :)
kurkoover 12 years ago
Klabnik is the first to fight for rights etc, now he's doing exactly the opposite. He's trying to rise his own status by decreasing others'.<p>I wonder if all his fights aren't just a means to justify his own weaknesses and need to feel superior.
lilsunnybeeover 12 years ago
The criticism is so stupid too. Just because there's another tool out there already that can accomplish the same thing, does that mean no programmer should try to do the same thing again ever? How else do people learn?<p>And if she wants some of her work online to show potential employers or just to share, whats wrong with that? People should just mind their own business, and not be assholes.<p>If you don't like an open source project, make the same thing yourself, and make a post about how it improves on the older one. Don't tear someone down for not being as "smart" as you.
deltasquaredover 12 years ago
I don't understand, not the critics, not the project.<p>Why insult something that someone obviously put a lot of care into?<p>The code is nicely formatted and clear. I can see how it works. Props to harthur for making something easy to read and then sharing it on Github. Both readable code and sharing should be encouraged.<p>I don't really get why someone would want to implement text processing utilities in node.js. It seems to be a bit heavy on the overhead.<p>Might someone re-implement harthur's user interface (which a bunch of people seem to like) in c, and submit it to the GNU Coreutils project?
conradfrover 12 years ago
You know the Gmail extension that delay your mail, or the one that ask you at 2am if you really want to send that (drunk) text ? They should implement that in Twitter.<p>(note: I avoid Twitter as much as I can)
rytisover 12 years ago
I see absolutely nothing wrong with this approach of writing your own tools. If a person feels that it's better, why ridicule it? Noone is forcing you to use it. If you feel it's not for you, that's fine.<p>On the other hand, some people are advocating this approach as a way to improve your programming skills: <a href="http://www.rodrigoalvesvieira.com/copy-unix/" rel="nofollow">http://www.rodrigoalvesvieira.com/copy-unix/</a>
JabavuAdamsover 12 years ago
So, I've felt the same way about uploading my own work-in-progress code to GitHub, but I use it as an antitode to perfectionism / procrastination. It's almost a form of militant pragmatism.<p>I've worked at some quite successful small companies, and they all share the property that you really don't want to examine the code too closely. The sausage is inevitably somewhat disgusting on close examination.
sharjeelover 12 years ago
Steve Jobs' response:<p>"By the way, what have you done that's so great? Do you create anything, or just criticize others work and belittle their motivations?"
vital101over 12 years ago
This is a lot what it feels like to blog about something technical, and then have someone swoop in and question not just your article, but your parentage and your IQ. It hurts a lot that people can't be constructive with their criticism, but I hope that Heather continues posting open source projects. Haters 'gonna hate, you just can't let them bring you down.
rjempsonover 12 years ago
I've followed 2 of those individuals on twitter in the past. Note the tense.<p>I found CH to be particularly tiresome, all show and little substance. Also very much prone to contradictions, he doesn't seem to realize that people remember things. I haven't met him in person, but I imagine he talks quite a lot at a loud volume.
davesqueover 12 years ago
This blog makes an extremely good point. The industry we work in is very competitive and it's easy to get into the habit of making snarky comments about other people's code, even if you're actually not a jerk in real life. It's always good to remember that you should avoid doing this as often as possible.
kodablahover 12 years ago
Similar thing happened to me when I wrote a nodejs abstraction in GWT: <a href="https://twitter.com/jdub/status/25537683967180800" rel="nofollow">https://twitter.com/jdub/status/25537683967180800</a>. Gotta shrug off the haters when it comes to showing projects like this. It is the internet after all.
meeritaover 12 years ago
I never understood such gloating on open source communities. If you can change it for good, why gloat, why complain. There's obviously many reason to rage when you see bad code on commercial and privative stuff, but on open? Dammit, fork it, change it, contribute.<p>It was a bad behavior and people should understand it.
suhairover 12 years ago
The disturbing thing is I never expected such a behavior/ being an accidental asshole (as he has later confessed) from a reputable online identity like @steveklabnik, a contributor to <a href="http://thechangelog.com" rel="nofollow">http://thechangelog.com</a> besides many things
stephengillieover 12 years ago
If their criticisms aren't constructive, they're wasting <i>your</i> time. Don't let them. Ignore them if that's all they have to say. I don't care if it's your mom or your boss or Jeff Besos or Obama, wasting a person's time is an insult to that person.
e4c5shevover 12 years ago
This just verifies my experience that Corey Haines is a fake.<p>His cult of personality is defined by lots of high-fives, 'that's awesome', 'i am such a positive person' statements.<p>So, he like to pretend he is really positive, nice, friendly... but this event shows that is all fake.
xmlblogover 12 years ago
I've forked your repository and tried to offer some helpful insights: <a href="https://github.com/xmlblog/replace/blob/master/replace.js" rel="nofollow">https://github.com/xmlblog/replace/blob/master/replace.js</a><p>I hope you find this useful in some small way.
r4phaover 12 years ago
Now that's a feature I'd like to see on github: an asshole filter.<p>What really bothers me is that, like me, I'd say a lot of those people learn daily from the work of others on the internet. What about giving something back? What about doing something to add?
zeegover 12 years ago
(I copied this from another HN posting)<p>I was one of the people who made a comment about this. I'm also assuming the reason I was pulled into this is because people much more important than me said similar things.<p>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.<p>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.<p>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.<p>The fact that people somehow managed to turn this into the continuous drama debate about gender is just pathetic.
评论 #5108864 未加载
评论 #5108583 未加载
Nordichackerover 12 years ago
oh my god - people will always throw shit - often for no apparent reason at all. In fact - I would take it as a compliment. If you do great things, and shit come your way, it means you're successful. Don't let it get to you. Ignore it.
skrebbelover 12 years ago
harthur, if it's any help, I immediately `npm install pg replace`'ed. I love your tool's simplicity, for common scenarios, compared to the more common alternatives. Without all this drama, I wouldn't have come across it!
cslarsonover 12 years ago
Just starred your project on github. Thanks for bringing it to my attention.
codysoylandover 12 years ago
Chris Dickinson's response to this whole ordeal is very much worth the read: <a href="https://gist.github.com/02cbd380b7b3b1df62b5" rel="nofollow">https://gist.github.com/02cbd380b7b3b1df62b5</a>
pan69over 12 years ago
The truth is that there are a whole bunch of morons out there with petty little opinions and with no real achievements of themselves. They call the people Trolls (with a capital T). Ignore them.
评论 #5108791 未加载
suyashover 12 years ago
@Author: Everyone has a right to say and have an opinion. Learn to accept people's reactions and hopefully you will understand why they said what they said. In other words, stop being a pussy!
countessaover 12 years ago
sucks to be on the receiving end of some nasty/uncivil comments. On the other hand, <i>you</i> are now the person that re-wrote sed. That's pretty awesome.
arcatekover 12 years ago
I'm curious : what is the use case for this utility ? If I look at the README, it says :<p><i>&#62; Modifies files when matches are found</i><p>Just like sed's -i option (except that -i allows you to specify a backup extension just in case)<p><i>&#62; Recursive search on directories with -r</i><p>I usually use find with sed, so it's not so much a problem (and it actually allows to filter the files by extension, exclude directories, etc, which is pretty handy)<p><i>&#62; Uses JavaScript syntax for regular expressions and replacement strings</i><p>I'm not sure that it's an advantage :)<p>So, is there something that I missed ?
评论 #5106883 未加载
评论 #5106909 未加载
评论 #5106987 未加载
评论 #5106870 未加载
评论 #5106859 未加载
评论 #5106874 未加载
评论 #5106863 未加载
评论 #5107477 未加载
评论 #5112370 未加载
berlinbrownover 12 years ago
Also, I think the concept could probably be done with sed and whatever bash scripts.<p>But the code didn't look that bad. It is Javascript after all.
ricardobeatover 12 years ago
850+ votes, 480+ comments and counting. Who is going to write that easy to use, 'properly written' shell wrapper around find/sed?
gcvover 12 years ago
Nice job, guys.<p><a href="http://www.lolbrary.com/post/35279/gamer-girls/" rel="nofollow">http://www.lolbrary.com/post/35279/gamer-girls/</a><p><i>headdesk</i>
marklittlewoodover 12 years ago
XKCD has the answer. <a href="http://xkcd.com/1053/" rel="nofollow">http://xkcd.com/1053/</a>
jpeg_heroover 12 years ago
a girl?<p>does that make a difference?<p>(honest question)
kschuaover 12 years ago
Better shit code that gets the job done than beautiful code that gets nothing done
davethespiderover 12 years ago
I spent a summer once writing a substandard 'ls' command because I liked doing it.
jezi22over 12 years ago
this is why i am afraid to open source my own personal projects. this fear.
mulliganover 12 years ago
Isn't the whole node.js ecosystem subject to this criticism?
cdibonaover 12 years ago
One nit: I'm not seeing an open source license in the repo. This is what would keep me from using or caring about this code snippet or start caring about how the developer was being treated.<p>Is there one and am I just missing it?
jpeg_heroover 12 years ago
dude, unix is serious.... oh, wait a minute...<p>Never mind.<p>"Everybody gets a Trophy!!!!!"
shaurzover 12 years ago
The Unix weenies strike again.
shizzy0over 12 years ago
No good deed goes unpunished.
paulhauggisover 12 years ago
The open source zealots have been like this for years. 5 or 6 years ago, I forked a project and started charging for it. I was completely within my rights to do so as I followed the license (GNU) specifically and also gave out the full source code.<p>This didn't stop the death threats, taunts, and aggression I got from the general community. This and things like the recent word press theme debacle have put a bad taste in my mouth when it comes to open source.
andylover 12 years ago
"Then I sob harder. I can’t help but think of potential future employers that are no longer potential."<p>As an employer, I expect there to be criticism associated with a person's code. Criticism isn't a black mark.<p>But sobbing in reaction to criticism? Getting all upset about mild criticism from a-hole strangers on twitter? That's a black mark.
DannoHungover 12 years ago
Who else here really doesn't enjoy using sed, awk, grep, and xargs?<p>I try to use ack whenever I can avoid grep or find, personally. I wish there were better replacements for the other tools and that they were widely available (possibly as portable libraries).
camusover 12 years ago
big shots tend to forget they are just humans and make mistakes. like all of us.