Hacker News new | past | comments | ask | show | jobs | submit login

> Now, I’m all for bad projects and bad code being called out.

Bullshit, sorry.

Questions to ask yourself before "calling out bad code".

1. Does this code belong to someone on your team?

2. Does your code rely on this code?

3. Does the code represent a risk to you or your business in some way?

4. Do you have the direct contact info for the developer so you can appropriately, discretely and professionally inform them about their code?

Github == "Developer Playground/Experimentation Lab".

Why in the hell should I have to feel that every piece of code I put up there 'must' adhere to 'your' standards or anyone else's?

How can we as a development community rationally expect to grow the open source ecosystem and encourage people with this type of snobbery?




How can we as a development community rationally expect to grow the open source ecosystem and encourage people with this type of snobbery?

There's one lesson that I'm personally taking from this, after unsolicited ridicule, one sincere apology, one bullshit non-apology, and one arrogant I have nothing to apologize for! If I build a small thing to scratch my own itch (which I often do) I'm going to think twice about sharing it with the world at large. Or, more succinctly, I've become yet more of a misanthrope.

Thanks guys!


Let's face it, there seems to be nothing anyone can share on the Internet without someone else demonstrating John Gabriel's Greater Internet Fuckwad Theory [1]. I'm not saying everyone should always just let it slide, but try not to let it get to you, either.

[1]: http://www.penny-arcade.com/comic/2004/03/19


I have shared literally thousands of photos on Flickr. Nobody has told me that my photos shouldn't exist of that my photos make their eyes bleed.

Can we, as a community, be at least as nice as serious amateur photographers?


Perhaps you haven't found "You Are Not A Photographer" yet. Some photography communities have a similar level of snark and calling out others, sadly.


I thought about that site, which is terrible. It feels a little different in that it seems to be fueled by insecure pro photogs who want to instill fear of hiring second-rate hacks.

Maybe I should be, but I am generally unafraid of sharing my photos.

http://Flickr.com/photos/martincron


This doesn't apply as neither Steve Klabnik nor Corey Haines are anonymous.


Missing option: grow a thicker skin and don't take everything personally.


I've suffered pretty severe depression and anxiety for most of my adult life. While the idea that we should all just grow a thicker skin and 'just deal with it' is both understandable and practical given the nature of the internet - it just wont happen for me. I know myself well enough to have recognized that even a tiny drop of vitriol could have me questioning my every decision and shatter my self confidence for days or even weeks. So I simply write code and keep it to myself, and I'm sure there are plenty of others like me.

The idea of open sourcing our work is truly admirable however there are some of us out there who just can't stand the hate and Alpha-nerd jockeying, so we opt out. I don't think the world is missing out on much by my own lack of contribution but who knows how many truly brilliant yet fragile minds are self selecting out of the open source community because they just cannot cope?


please email tarballs to rektide+anongit@voodoowarez.com if you have code you have no aspirations for but wouldn't mind kicking out into the wild. i will eliminate author headers from the code and seed over p2p and make available. thank you for any sympathy you might have towards this request to let us syndicate your work.


And annonhub an anonymous github clone in 3...2...1...


I actually think that a strong emotional reaction to unsolicited ridicule by high-profile people is a typical human response, not a weakness that needs to be beaten out of people.

Regardless, my point is that I don't think I'm able to grow a thick enough skin to be indifferent in the face of such cruelty, so I'm not going to extend myself. Other people may feel differently, and that's great for them.


I, for one, look forward to the day when someone stumbles across my code and finds it worthy of commentary. Good or bad, just not indifferent, please.


Do you want meaningful commentary or empty snarky ridicule?


I'm simply saying that at the moment, either of those would be more interesting than total ignorance.


Actually, this makes me think... I don't think I've ever given feedback on an open source project.

Maybe I, as someone horrified by Heather Arthur's story, have some sort of ethical obligation to provide constructive and helpful feedback to people. I'm not a great programmer, but I've been at this for long enough to have some useful opinions.

Open invitation for my fellow HN community members: point me at a repo and I'll try to say something actually helpful.


This reminds me of the recent ShowHN of criticue (http://criticue.com/).

You could do something similar (or those guys could do it) where you provide feedback on other people's repositories in exchange for feedback on your repository. Sort of a community code review process.


I actually have been hoping to get feedback on whether people think https://github.com/ChickenProp/ds-debug is/could be useful.


a wire protocol for named context patches: you'd do better not writing your own wire serialization format, and instead adopting an existing transport: websockets, stomp, and MQTT all strike me as sufficiently stupid simple & end to end enough, or anything from thrift to zmq to flume for transport would be slightly more inter-linkable than your "length/json-payload" ad-hocracy.

it's JS but you might enjoy node-webworker, which uses websockets to implement inter-Node.js message passing: your specific case is debugger being an outbound messaging port, emitting context programmatically.


I did find myself thinking "this has to be a solved problem" as I was writing the socket code. Thanks, I'll look into those.


she chose to read it. it's not like someone rubbed it in her face. well someone told her about it.

just like she chose to read the good things, she chose to read the bad things. SHE CHOSE.

people seem to ignore that little fact, instead they result to writing meaningless essays, on how to apply their opinion as a universal standard to life. nothx


This is the first time I have seen the "blame the victim" approach applied to public ridicule. So I guess that now I have seen everything.


ok, see you're entitled to your opinion. you think i'm an idiot, and I think you're an idiot. but that's kinda besides the point. the thing with opinions is that's a little bit like taking a dump. everyone takes one, but it kinda is a reflection of what's in your digestive system.

look through the tweets. https://twitter.com/search?q=%40harthvader&src=typd

noone personally shoved it down her throat. it's new to me that you get personal messages for someone talking about your github repo somewhere.

the blame the victim talk is like saying getting personally assaulted is the same as someone getting his car destroyed after parking your car in front of central park in new york. sure you could argue that they did it solely, because they knew the person, but this is clearly not the case here.


I don't think you're an idiot, I just think that saying it is all her fault because she chose to read the horrible things that high-profile people were broadcasting about her work is not a very good analysis of the situation.

It doesn't take long to read a tweet, and you can't exactly un-read it if you find it to be deplorable.


This is in fact exactly why I use Bitbucket private repos.


Thinking about code in terms of "good" and "bad" is not very useful. Don't worry about what developers on the internet think about the quality of your code unless they offer specific suggestions in a constructive and instructive manner. If someone offers specific and thoughtful suggestions or criticism, learn everything you can from them.


Bullshit, sorry.

I can't help feeling that this kind of attitude is what caused Heather to feel bad in the first place.

I agree with your points, but the way you present them leaves a lot (of politeness) to desire.


Let me clear up the "basic decency" question for you; bad intentions should be "called out", skill level only needs to be commented on when someone is more less requiring that you to put with their skills. You should encourage people to higher skill levels only after they've asked for the help. Otherwise, they live in their world and if makes them happy, leave them there.

If someone is offering something to the world at large that you don't feel is a very skilled offering, you should shut the fuck up unless you want to seem like an asshole. The reason is both that they aren't hurting you in the least and that if you aren't interacting with them, your ability to judge their skills is going to be limited. Unless they're giving out poisoned candy or something, people who give should be congratulated.

If someone is somehow intentionally annoying, hurting, offending someone else, then it is entirely OK to tell them to stop. Bonuses for being clear and uninflammatory yourself, mandatory if you aren't an involved party.


Politeness? The reply might have be forceful, might have use the word bullshit, but it what way did he offend anyone?

I thought he hit the nail on the head.

It's no body else’s business but your own what you choose to put in GitHub.


Calling someone's writings "bullshit" is pretty much the same as calling someone's code "eye-bleeding" -> "your product is of such low value it's worthless"

Those that claim the genesis of this whole issue is offensive should take equal offense to the "bullshit" line.


I think that is drawing a fairly long bow. I read his use of the word bullshit as effectively saying rubbish, only in a more colourful way.

So to paraphrase the OP I read him as saying:

Rubbish, I don't agree with you and here is a list of reasons why?


I assume that "rubbish" or "bullshit" refer to what the other person said, so when you expand that paraphrase it turns out like this:

"What you said is rubbish. I don't agree with you and here is a list of reasons why."

Now, can you tell me what value there is in the "What you said is rubbish" part? Let's go one step further: what do you lose by omitting that part?

Mind, I'm just as sick as the next guy of the whole "we must never be negative", politically correct thought police that has been taking politeness to unrecognizable and unreasonable extremes. Sometimes there are good reasons to be aggressive or less than polite, but "sometimes" is not the same as "always" or "most of the time" or "as often as I feel like it".


> what do you lose by omitting that part?

Sure, there are many ways the OP could have phrased his response.

Personally, I don't think the approach use to attack someone else's point of view is that important, provided the attack is aimed at the message and not the messenger.

In this case I don't think the OP said anything about the messenger.


I agree with you: "rubbish" is the same as "bullshit". It's still saying "what you've said is worthless".

I don't have a problem with it, but it is the same semantics as what started this whole issue - though he does expand into a list of reasons (which isn't possible on twitter).


I think you are reading too much into the term "bullshit".

Now, granted the word can take on different levels of intensity depending on the circumstances in which it is used.

But it can and is used in general conversation and in that context it means nothing more than "I don't agree with you".

At least that is how the term bullshit is used here in Australia.


I am also Australian. :)

For what it's worth, I think most of the commentors are reading far too much into "this is an eye-bleeding script*.

I've seen people hurt by having what they've said called 'bullshit' by someone they respect; it's capable of emotional harm as well. That being said, let's not walk on eggshells.


One way to see if words are synonyms is to apply them to compound terms. In this case, "bullshit artist" is something that "rubbish artist" isn't.


This, a million times this. Criticizing other people's code is a good idea if you have been asked for input, or if the developer is encouraging the public at large to use their code. Otherwise, it's just unwarranted negativity which has the net effect of discouraging other members of the community from sharing code which might be useful to someone. I have plenty of code that I'm not proud of but would push to Github anyway for the sake of an extra backup/convenience.


Do you happen to know if the original developer did in fact ask for feedback?


No and yes. No, she did not ask anyone to post snarky comments on Twitter about her code. Yes, after said snarky comments were posted, she asked those posting the comments for constructive feedback. (I don't believe any of them actually gave her any constructive feedback, though.)


That is the weird thing about github though. On the one hand you have big important apps there such as Linux and Rails which have quality standards and where developers at large should take a look and make their voices known if they can find things that suck.

The argument I guess is, at what point does it become fair game for criticism?

OTOH it is also a place for your crappy bash scripts.

I've got plenty of hacky scripts that I would consider putting on github, just as a backup as much as anything else. I honestly wouldn't care what criticism they got, though criticism with accompanying pull requests would be vastly superior.

My main hesitation though would be if a prospective employer goes and looks through it and goes "oh, this guy's code sucks".


Which is why I put my shitty scripts in gist (in fact I am such a shitty programmer, I practically have an empty github public profile), I share them in my blog, and last week, I was actually horrified that someone used my shitty scripts and shitty methods that I outlined in my blog (http://blog.chewxy.com/2012/11/16/random-documents-from-couc...), I removed my gist.

I don't want people to use my shitty methods or shitty code, I just want somewhere to put my thoughts.


> Github == "Developer Playground/Experimentation Lab".

That doesn't preclude constructive criticism. I put my stuff on Github for review. Granted, I wouldn't like malicious comments but I sure as hell would like to know if I did something wrong.

> Why in the hell should I have to feel that every piece of code I put up there 'must' adhere to 'your' standards or anyone else's?

You don't have to feel that way if somebody points out your code has flaws. The issue in heathers case was (1) the code wasn't bad (2) the criticism was malicious.


It's akin to someone judging the quality of "curb alert" listings in Craigslist's Free Stuff category -- I don't think discussing criteria is helpful.


Translation: before calling out "bad code" (with or without scare quotes), run a quick cost-benefit analysis of what might cost you to speak your mind vs chuckling to yourself or sharing in private with someone. So much for claiming the moral high ground.

In any case, the first three are most likely false in this case and the fourth is just silly. Do you appropriately, discretely and professionally inform the author of every tweet, blog, or page that is wrong on the internet?


I guess it all comes down to how you present it (and yes, I'm ignoring the "replace" issue for the moment). I honestly don't think everything under the sun should be made publicly available just because you can or because it's easy. The reason being primarily because these sorts of things tend to be copied and re-used all over the place. So, a quick hack on a project you don't care much about can end up in many other projects. This is amplified by whatever your clout is.

Having said that, a reasonable disclaimer about what your project really is more than assuages that concern for me. Or if it's small enough, rolling it up into a gist might be an option for proof-of-concept stuff.


[deleted]


This entire forum exists for the purpose of sharing fact and opinion alike. If you don't want people to share opinions (or is it just the ones that don't align with your world view?), fine, but you don't need to be an ass about it.

Although part of me wonders if this is a joke, given the parallels to the situation at hand. Primarily, you clearly don't think all comments should be made public and felt the need to unhelpfully criticize mine. If so, well-played.


[deleted]


Whether that makes the world worse is highly subjective. I don't believe things are objectively any more valuable just because they're public.

I have, however, seen a lot of bad patterns and code snippets copied and work their way into many codebases because one of the easiest ways to learn is to copy another source. I have seen people completely disown or neglect projects because it's "public", so what more do you want? I don't buy that these sorts of repositories are doing the world a favor and they increase the level of noise, helping drown out the good stuff.

But, hey, like I said if you add a pretty reasonable disclaimer to your README so the expectations are at least framed properly, I can get on board with that.


I think adding "Does this code represent a risk to others in some way" to that is also valid. Especially in the security realm, but even in day to day stuff. If code is going to cause other people headaches, help them avoid that.


Maybe I'm an outsider, maybe I came from a different background, but I don't see how calling out bad code instantly becomes a type of snobbery. The author to me is leaning towards constructive criticism of code, which isn't what we all need from time to time? I don't mind, call out all the bad projects or bad code in my github repo


Yes, the author came off as an Agile snob. Might be helpful to LivingSocial's plans (which lead nowhere BTW) but this attitude is toxic to the development community at large.


Agile? Could you elaborate on that?


To me, both this and the original complaint, come from dogmatic sentiments like "Legacy Code is Code Without Tests".

http://www.kjetilk.com/2009/02/legacy-code-is-code-without-t...


The actual truth is that legacy code is code that works well enough for people to care about




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: