My fellow geeks, we need to have a talk.
thingist.com
thingist.com
Just a few examples of my own:
Insecure bridge player: The queen of spades was a stupid play. What's wrong with you?
Excellent bridge player: The queen of spades would have been a great play against a 4/2 split. But since you had a 3/3 split, what do you think would have happened if you had played the ace instead?
Insecure public speaker: You look like an idiot playing with your hands like that.
Excellent public speaker: You talked about a lot of cool things. I bet I would have been even more interested if I wasn't distracted so much by your hand gestures.
Insecure parent: If you can't keep that baby quiet, you should just stay at home!
Excellent parent: Here's something that has really worked well for me when my kids cried in public...
Insecure programmer: How lame. I can't believe you <insert almost anything you could have done>.
Excellent programmer: I see that works. I have found a few ways to make it work even better. Let me know what you think.
In that post, the author says "... they're creating something, and that's awesome".
I became a parent (nearly) 1 year ago and when I read this phrase it really put this whole "geek wars" thing into perspective. If my child grows up to be passionate enough to create anything I'll be so pleased. I wouldn't even care if it were good or bad. There are so many worse things that a person can do in the world than create things, we should all just be heaping praise on each other for even trying to do something great.
Being a parent does wonders for your perspective on life :)
"We hate in others what we see in ourselves."
I find that old chestnut rings more true every time I find my ire rising.
I'd take this even further: feedback, period, says more about the person offering it than the person it's about. Hell, anything anyone does, whether about or in response to someone else or not, is about the person doing it.
If I say something and you lambaste me for it, that's about you; I'm just a convenient excuse for you to manifest your dick-nature. If I do something and you give me props for it, that's about you; I'm just an opportunity for you to share another aspect of yourself. Love someone or hate someone, what you say or do has nothing whatsoever to do with that person. It's all about you, all the time, every time. Full stop.
Life gets a lot easier when you remember that other people's behavior is about them acting out their individual dramas, in whatever form that happens to take. Sure, some kinds of responses feel better than others; everyone loves to be praised, and probably doesn't much like being excoriated. That's exactly the point, though: how you feel about what someone else does — and how you respond to it — are about you, not that person, and not what they said or did. That person, and what they say or do, are just excuses (or opportunities) for you to manifest your baser or higher nature.
We've all been pricks, and we've all been saints; we always have a choice in how we behave. So stand up and take responsibility for yourself. That doesn't mean you have to stop being a raging asshole, if that's what you want to be. But you made that choice, and re-make it every time you're rude to someone, denigrate them, or talk shit about them. Own it. And if someone's an asshole to you, instead of being an asshole back, think about how much it must suck to be a person who feels the need to go around being an asshole at other people.
There are some people who care deeply about a subject and just lack social tact. They'll jump on you for a variety of subjects, but they don't have ill intent.
Then there are the people who are dicks and want to crush people who they disagree with. It's the point at which one starts displaying schadenfreude and denigrating others that the line has been crossed.
Treating people badly is a great way to drive out those who don't have the ability to deal with flamewars and shoutiness. And many of those people have a lot to contribute.
Only to people who have a shallow understanding of evolution. (Left as an exercise to student.)
(i.e. can't be "bread out")?
Unfortunately, no. [irony captioned for the impaired]
It's not being an ass that gets them laid, it's the other characteristics that an asshole typically has that gets them laid. Things like confidence, not coming off desperate and having experience not just approaching a girl but being able to hold a conversation... and the many more things that increase attraction but these are the basics.
These characteristics in a nice guy will get him laid more than the asshole and he'll have opportunities with girls that see right through the asshole (and some would say these are the more desirable women).
Nice guy equivalent: playful teasing and flirting. Someone eavesdropping might even take it out of context and interpret it as arrogant or condescending but it's just a little game -- not in some "pick up artist" sense; it's ideally very natural. Works for me.
While we can argue all day long about what makes for the most desirable man, I still contend that you can have more (desirable) women want you than you could possibly ever get around to and be a nice guy.
Meanness is always unattractive. Always.
The problem is that when people start mouthing off about factual issues they don't know anything about they can cause a lot of damage, so crushing them is often a necessity.
When you're in a situation where there is a lot of potential for damage and the other person isn't willing to have an intellectually honest debate about the facts then there isn't really much choice but to make them look like a moron.
"The problem is that when people start mouthing off about factual issues they don't know anything about they can cause a lot of damage, so crushing them is often a necessity."
Is exactly the type of thing that comes from the hive mind, and is why it's impossible to be a dissenter. It's usually "you don't know what you are talking about," followed by bashing until the person takes their ball and goes home.
And that's often a good outcome. Consider for example this article published recently by a Connecticut state senator on why she wants to put people in jail for having 'fake weed'.
http://newcanaan.patch.com/articles/fake-pot-a-new-threat-to...
The entire article was riddled with sloppy thinking, and thoroughly plagiarized, so I got all of reddit to utterly destroy her until she deleted all of her comments and wrote a followup stating that the issue was no longer a top priority of hers. I tried to engage her respectfully first, but since she wasn't willing to engage in an intellectually honest debate then going out and fucking up her day seemed like the second best option. Overall I'd consider it a win. Sure it would have been better to get her to change her opinion, but once it becomes clear that no amount of facts or logic her will persuade her then embarrassing her until she shuts the fuck up becomes the best option left on the table.
This: "I got all of reddit to utterly destroy her" is the exact type of mentality that myself, and as I estimate, the OP, have a problem with.
No one's revoking her right to express an opinion, we're just revoking her right to make shit up. If she was familiar with the facts and she was still against marijuana reform then no one would begrudge her of that, but she doesn't get a free pass to lie to the public.
If someone's ignorance cannot be altered or at least reasonably discussed, I think that's perfectly okay. That just means it's time for me to move on.
I don't see how attacking or embarrassing someone would make you feel better about your side of things. I'd much rather let that person enjoy their own ignorance.
Note: I tend to lack/block out very strong emotions
You have a moral obligation to be less wrong: http://www.wrongbot.com/2011/02/27/stop-being-wrong-a-moral-...
My conscience is better off letting someone have a right to their own opinion (albeit a poor one), rather than attacking them for it.
In other words, I'd rather choose to understand where their point of view is coming from and accept it, than to try and change it.
If I have a point of view that binder clips should be made illegal because they're hideous, and manage to make that a law, then A: My point of view is making regular stationers criminals, and B: I might have put people who make binder clips out of work.
Everyone has a point of view, but not all of them are reasonable, and simply having them can screw other people up.
Everyone is welcome to have their opinions. When one attempts to act on those opinions in a way that's harmful to other people, one cannot but expect others to oppose.
Let's say I believe that three-year-olds can fly if only they're forced into a situation where they must do so in order to save their lives. It's a stupid opinion, but it's harmless if it's just a thought sitting in my head.
Now let's say I decide that I need to teach a bunch of three-year-olds to tap their innate flying ability by throwing them off a bridge. Is stopping me from doing so disrespectful of my opinion? Would that actually give you pause in stopping me?
Respecting someone's opinion is fine and dandy, but your inalienable right to your opinion stops when it starts motivating action involving others; at that point, the general rules regarding your rights when interacting with other people apply.
I agree that if it's just that kind of content-free junk, it's pointless.
However, if the beatdown comes with a factual and logical refutation of the idiot's points, or at least a link to a site that has such a refutation, then it performs the inestimable service of educating the lurkers.
For example, let's say we had an anti-vaccinationist come here and start spreading lies about vaccines. We would, rightly, be dismayed at such utter lunacy at work in our forum, and we would (hopefully) post multiple refutations of that dangerous nonsense. Ideally, the lunatic would find that we are not amenable to that kind of idiocy and would leave, sadly uneducated (most likely) but at least doing less damage. The real benefit to such actions may come months later, when someone unsure of the facts about vaccines discovers a dead thread that has all of this wonderful information we used to refute the idiot.
(And, heck, we might even convince the anti-vaxxer. It could happen.)
To do so, make sure you only crush the the mistake, without beating the person down. Not easy to do without de-emphasising your point though:
"You say that 2+2=5, but I think you might be misinformed…" The more direct "No, 2+2=4. II+II=IIII. 1,2,3,4." might be perceived as too blunt, especially if the context is emotional (children, programming languages…).
So, doubtless you're laying down the hammer of knowledge in some cases where you think you know something, but you don't. Which means it's not the hammer of knowledge you're dealing, it's just a hammer.
Wrong beliefs are often dangerous (an extreme case would be believing that prayers are better than western medicine at curing most illnesses). So your duty is to convince the other person, or at least control the damage.
Now of course, if you do see that super-crushing evidence against your previously strongly held belief, then your duty is to change your mind. The most difficult part here is correctly assessing the weight of each piece evidence, and how they interact.
And I mean that sincerely. I have been thinking about this for a long time now, and I just cannot come up with any supporting evidence to explain the corelation. It might sound like a stupid request, but I think it is a hard argument to make totally water proof.
These are the people with an unshakable belief in their own superiority, at least in some field. It's not that they feel a need to demonstrate superiority over others through condescending feedback. It's that their superiority is implicit in their world-view. They don't necessarily even realize they're being condescending. It's just the natural order of things.
I can say this with full confidence because I've been that person. As a teenager, I was insufferable. Not only was I a freakishly good at bowling at 15 (making hundreds of dollars per weekend from "pot games" and with multiple 300 games in a single league), but two years earlier, I had also become the youngest person in my state to enroll in college classes. I tried to be nice to people and everything, but I just assumed I had more intelligence, dexterity, constitution and possibly other D&D stats than they did. If people didn't like my attitude, sometimes I actually felt sorry for them, assuming that jealousy was the reason.
Now in my 30's after not having done anything amazing since growing up, I've become less confident and also less condescending. Rapidly picking up coordination based sports isn't really that important in daily life as it was as a teenager. And I certainly don't assume or even believe that I'm any smarter than other people. On the contrary, I'd say I've become tangibly dumber. I might still be condescending from time to time in my weaker moments, but nothing even remotely like what I did unconsciously half a life time ago.
I think the sad fact of the matter is that many geeks just have poor social skills. While some are content to just be quiet, others feel the need to overcompensate. Luckily, I haven't met too many of the latter in real life, but you see it everywhere on the Internet. The dehumanizing nature of interacting with a computer screen seems to absolve people of their need to act socially, so they act like fuckwits. On 4chan it takes the form of blatant aggression, although anyone familiar with the place knows it's all part of the joke. On reddit people make snarky replies that make up for their lack of content with the sharpness of their barbs. Here on HN it's more muted. While no one is a blatant asshole, there's a lot more "downvote and ignore" that goes on. This contributes hugely to the hivemind effect, because there aren't arguments given as to why someone is wrong, you just have comments that don't jive with the rest of the community getting hidden. This, in turn, causes people to self-moderate, so that they only post opinions they think the rest of the community will agree with. Obviously these are oversimplifications, and the issues I mention aren't particularly common, they're just how the same issue manifests itself in the different communities.
I suppose the insecurity doesn't have to be about domain knowledge, either - it could be about communication skills. Perhaps some people giving condescending feedback don't feel like they are able to communicate in any other way. They experience the desire to contribute, but aren't confident in their tutoring skills and don't want to risk sounding stupid by bungling an explanation.
This is admittedly pure speculation...
I think the bit about superiority may be true: it is a way to demonstrate superiority, but I don't believe that immediately indicates low confidence.
People driving ferraris generally don't go around trying to race people with honda civics. They know that they have an absurdly fast car, they don't need to tell you.
But the 17 year old kid with the modded civic wants to prove himself, so he's much more likely to try and race everything that moves.
If you're Mark Zuckerberg, you don't need to point out that you're more successful than I am, it's obvious, and everybody already knows it.
Australian billionaire Kerry Packer was a notorious gambler. A legend about him is that at a poker tournament, he was challenged to play a high-stakes game by a Texan who bragged, "I'm worth $60 million." His response was to nonchalantly pull out a coin and ask, "Heads or tails?"
So did he imply that he was betting $60 million on the flip of a coin? I don't get why he would do that?
Would be fun to see the guy's reaction.
That aside, fairness has nothing to do with it.
If someone has low status, this may cause them to criticise others, in an effort to cause the others to have even lower social status.
Mind you, I don't think one should feel any pity for people who are condescending. I think one should challenge them on their tone and attitude. The fact that they are also insecure may help explain their behavior, but doesn't excuse it.
"If you try to drag people like [them] down, they'll win on experience"
You should always aim for the rise above IMHO, but sometimes you can do some verbal Aikido and deal with them in style. ;)
This isn't a water proof argument, however. A waterproof argument for human emotion isn't yet possible.
1) it requires much common context, understanding, experience.
Everybody will understand a ``this sucks'' response, regardless of the reasoning behind it being clear.
Understanding a, and building better solution on, an involved response requires common understanding, common experience, between the parties of communication. (What the heck is a 4/2 split? I dunno, honestly; this response only serves as a distraction to me at that very moment).
Lacking common experience is a communication barrier hard to climb, thus frustrating. It may be that very precise subjects (like computer science) provide for more such barriers, thus more frustration.
2) the ``This sucks'' response lets you vent anger. Now there are two conflicting theories about controlling strong emotions... ;-)
OT, but in case you're actually wondering, it refers to the number of cards of a given suit held by each of the defenders. In bridge, there are four players, conventionally called North, East, South, and West; after the auction, one player becomes declarer; let's say that's South. In this case, North, across the table, is dummy, and East and West, on either side, are defenders. Dummy's cards are turned face up so everyone can see them; declarer plays both her own hand and dummy's.
When declarer sees a total of seven clubs (let's say) in her own and dummy's hand, she knows that the defenders have six clubs between them, but she doesn't in general know how many each defender has; this is called the "split". A 3/3 split means each has three; a 4/2 split means one has four and the other has two. Usually, even splits favor declarer while uneven splits favor the defenders, but there are exceptions.
</OffTopic>
"DID YOU SAY HUMANS PLAY IT FOR FUN?"
"Some of them get to be very good at it, yes. I'm only an amateur, I'm afraid"
"BUT THEY ONLY LIVE EIGHTY OR NINETY YEARS!"
- Death discusses the difficulties of bridge
http://homepage.eircom.net/~odyssey/Quotes/Popular/SciFi/Ter...I realise that this is intended for humour, but more seriously, I have experienced much better anger reduction when actually chatting amiably with someone and making a friendly recommendation. ``This sucks'' just passes on the negativity to others.
Great for you, but not everyone is you; some people need to vent to feel better.
In any case, if somebody feels the need to vent, I hope they don't do it where I end up reading them. ^^
BTW, I'm not a venter, and I wasn't talking about me when I said some people.
If you have Netflix streaming, it's Episode 10 here: http://movies.netflix.com/WiMovie/Penn_Teller_Bullsh_t_Seaso...
- Bushman, B. (2002). Does venting anger feed or extinguish the flame? Catharsis, rumination, distraction, anger and aggressive responding. Personality & Social Psychology Bulletin, 28, 724-731
- Patterson, A. (1974, September). Hostility catharsis: A naturalistic quasi-experiment. paper presented at the annual convention of the American Psychological Assiociation, New Orleans.
- Geen, R. (1981). Spectator moods at an aggresive sports event. Journal of Social Psychology, 3, 217-227.
- Glass, D. (1964). Changes in liking as a means of reducing cognitive discrepancies between self-esteem and aggression. Journal of Personality, 32, 531-549.
- Davis, K.E., & Jones, E.E. (1960). Changes in interpersonal perception as a means of reducing cognitive dissonance. Journal of Abnormal and Social Psychology, 61, 402-410.
The conclusion seems to be a resounding no. Venting anger does not help, neither verbally nor physically.
I don't think there's as close a tie between condescension and insecurity-- but perhaps in some cases that happens. I'd rather people just never be condescending, regardless of what position they're coming from.
i've gotten to know some people who i consider brilliant or at least very, very good at what they do and, judging from my own small sample, they've been all over the place in terms of manners/considerateness. i don't think this is a valid classification scheme...
I think it's because they are smart. Smart minds make a lot of internal noise, commenting loudly on every experience, making it harder for geeks to 'hear' their own finer feelings, including conscience. This makes them nervous, insecure and guilty. The guilt is unbearable, and they unconsciously attempt to project it onto other geeks with things like condescending feedback.
However, the good news is that there is a minority of geeks who have broken through this barrier, e.g. by meditation. They are a formidable sect, possessing both Bene Gesserit and Mentat powers.
The business advice is that it's cheaper to buy it than build it.
The engineer's perspective is that a square peg isn't going to fit in every hole.
"Geeks," are harsh. I mean that in the very broad, general, and discriminatory sense. We have to work with bad code all day written by bad programmers. Some of us make a career out of saving businesses from bad technology decisions and poorly written programs (it is NOT good work, btw. Just pays well). So when yet another new-comer comes on board with bright, eager enthusiasm to revolutionize the Internet (yet again) we do tend to be rather cynical.
I agree w/ the poster that the cynicism is a bad thing. We could be more constructive. Don't stop them from writing their own web server... show them where to look up the RFCs, reference implementations, etc. Encourage them to learn. We could all benefit from having more knowledgeable people around.
A hacker writing a quickie web server for the experience of doing so is laudable. This applies to lots of types of projects: toy OSes, social networking protocols, web frameworks, what have you. Exploration is fun, and key to the hacker spirit.
The difficulty comes from knowing the limitations of your skills. I got my web programming chops by reading a bunch of PHP tutorials back in 1998 and throwing together some dummy pages that could read/write to a mysql database. Not long after I built a website for a good friend's business that was riddled with SQL injection and XSS holes. Luckily, we never got exploited, and years later on a rainy Sunday night I revisited the code and patched it up. Had we been hit, I don't know how badly that would have affected the company.
The same goes for home-grown crypto: sure, you might be able to apply a function you wrote and get something that looks like cyphertext, and maybe it's a fun project to learn about crypto. But when you don't know any better, you think you've done it right and you might unintentionally swindle some folks into paying for completely insecure crypto.
Learning someething, and selling (for money, or otherwise) the not-acceptable-for-use side effect of your learning something as a 'finished' product can be dangerous to the end customer.
Not being able to skateboard well means you're going to fall and bust your knees or elbows or face. It's dangerous to you, and potentially comedic to your compatriots.
Publishing a website full of XSS/SQLI problems and storing passwords and credit card numbers in plain text is dangerous to every person using your site, the business it's backing, and countless others in a 'could cost them real money and personal harm' fashion. It's also hilarious to some people (see HBGary / Valve / etc. hacks).
Compare software engineering to physical engineering - you don't let the kid out of highschool who's good with Lego Kinnects build a bridge or skyscraper. He goes through years of formal training, and then years more of on the job training, working his way up from Bus Stop Shelters to Sheds to Houses, etc. before he gets to that point.
THAT is the reason I'm highly critical of the efforts of people I know (or don't know in some instances). This shit ACTUALLY MATTERS beyond 'hey isn't that neat?'.
If you're doing some project on your laptop to learn a technology - Awesome, can I help you with questions/guidance?
If you've published something or sold something as a product and it's full of issues that could be serious problems to people down the line, What the fuck is your problem?
Unlike real engineers, who have a formal body of governance and redress for customers of shitty engineers, software engineering is the wild wild west. Many people just blame the computer, without realizing there was a person unqualified for the job sitting behind the computer making it work improperly. Until that changes (if ever), then I think it's the DUTY of geeks and nerds to challenge each other as harshly as possible, in an effort to prevent certain disaster.
I believe a lot of this bad advice stems from thie belief that "other people write bad software." When you run into bugs day in and out, it's easy to reinforce this belief. Afterall, how can someone who claims to have all this experience and knowledge make such an obvious mistake? They're paid a salary and millions of people trust their software! I could do it better. The reality I believe is that these sorts of people are really compensating for the flaws they themselves are prone to making. When they catch these sorts of errors, they're just reinforcing patterns they themselves recognize as bad; likely because they themselves have made such a mistake in the past that someone else had pointed out to them. So when they call someone an "idiot," they're really calling themselves an "idiot," and bringing the other person down with them to bolster their sense of self worth.
The truth is that we all are guilty of making mistakes. Operating systems that run the Internet, control nuclear reactors, and send really expensive robots into space all have bugs. They have security flaws. And they were written by individuals who've spent a significant amount of time paying their dues in the ivory tower and working their way up the career ladder. That a novice can also make the same mistake is not coincidence. It's human nature.
I think it's crucial to recognize the difference between what I'm talking about, and what happens when people with experience make mistakes. Environment matters, tremendously. If you're an amateur hack, selling your 3rd rate skills to customers who don't know any better, and you're lack of capability is hurting people because your software is being exploited, the response SHOULD be swift, and harsh.
If you are working within a framework of extensive testing, analysis, and basic rigor, and a mistake makes it through, and you add that case to your testing and learn from it, the response should be moderated significantly.
Just because someone with 2 months of PHP experience CAN stand up a web service and take credit cards over the internet and become the next web success story, doesn't mean that they should. I believe this industry has gotten to the point where there needs to be minimum table stakes for entry - you can't just find somebody who'll design and sign off on a house for you for super cheap because they're new. There's a reason for that.
Until IT moves out of the wild wild west, though, it needs to be policed like the wild wild west - shoot the idiots that threaten the town.
Sorry that's kind of rambling, but I think it mostly gets my point across?
I'm not even talking about doing something as silly as charging a client money for something you barely know how to do. That's just deceptive business practice and people should be lambasted for it. Misrepresenting your capabilities is reprehensible.
What I'm talking about and what I think the OP was talking about is the negative attitude we have towards our fellow geeks. We discourage people from learning or trying their own ideas out. I think that's pretty sad. Even if they are re-inventing the wheel; let them try, man. Maybe they will end up with a better wheel. Or a special kind of wheel. You never know if you just tell them that it's already been done and they couldn't possibly build a better one anyway.
So while I agree that some sort of safeguard against malicious business practices would be useful to the industry as a whole, I don't think it has anything to do with supporting a negative attitude towards our fellow geeks. Everyone has started somewhere and it's better to foster and encourage learning and experimentation than to institutionalize the practice of programming.
For example: when I first built my buddy's business site, I wasn't knowingly half-assing his work, or attempting to extract maximum profit for minimum work. I was giving a good faith best-effort, which unfortunately (and unbeknownst to either of us) was well generally below accepted practices.
Now, should someone have yelled at me and told me I was an idiot and shouldn't have been developing production sites? Maybe. Certainly, if we'd been exploited. It's easy to look on everyone with rose-tinted glasses until you accidentally cause your best friend's business to fail.
The hacker who postures a bit in order to get a job he isn't truly suited for, but works hard to get up to speed and does his best, will be much better off in the long run than a hacker who declines the project, even if it leads to problems for the buyer later on. There's only so much you can learn without jumping in the deep end, but in order to get that chance, you often need to give the impression you've been swimming in the deep end for years. That's how the world works.
That said, if you're going to give the impression that you can swim in the deep end, you need to be fully prepared to suffer the blowback if it's discovered that you actually can't swim in the deep end.
In response to the due diligence - this sort of goes down a rathole, but the industry as a whole is lacking serious professionalism and credibility standards (certifications don't count, in general). There is no professional liability (aside from personal name besmirching - hence the harsh criticism and feedback). If you get hired in 2011 to do a site for someone, and your database stores passwords in plaintext - in my mind, that's a fundamental enough error that you SHOULD be able to be held professionally and legally liable.
I'll be the first to admit - the problem with this is the question of where do you draw the line? What SHOULD everybody know AT MINIMUM before they can commercially sell services like that? I hate the idea of licensing as much as anybody else, but our only recourse is 'self-policing' - hence the harsh criticism and attacks.
Offer your help, "Holy shit dude you have a XSS/SQLI in there, lets fix that up before you get in trouble".
You are probably one of those people that wouldn't help someone on the edge of a roof trying to commit suicide. Just sayin.
Even google has had XSS style problems - that shit is HARD. One form field having filtering issues is one thing, a whole site of problems with absolutely no effort put in to mitigate what are, effectively, known issues, is an entirely different thing.
If you're not worried about anything security related on a public website in 2011, you don't deserve to live on the public internet, and should jump.
....or should I say:
WTF man! English is your native tounge. What the hell are you doing writing if its clear that you don't even read??? How could "here here" make any sense as a phrase? And if it doesn't make any sense why don't you take the fing finger out and google it!!! Have you been this moronic all your life or have you just started recently?
I can take harsh criticism, as long as it's not ad hominem. You, for instance, are absolutely correct, and that is a pretty embarrassing mistake. Thank you for pointing it out.
I'd fix it, but it's past the edit window.
PS: Mr. Grammar Nazi, it's 'tongue' :)
Depends on context.. If it's someone learning, or hacking on some personal project, go ahead! It's a great way to learn.
However, if we're talking about a programmer in a commercial company, it's a different story. Your purpose is not to produce the most amount of your own code, your task is to produce a service of some sort. Unless the software/service you're working on a is a database, I expect you would use an existing database (assuming you need one). If the code you're creating needs to manipulate dates, I expect you use an existing library for such things. It will be available, it will be tested, it will handle all edge cases. Why would it be acceptable to spend a lot of time on reinventing that particular wheel, fixing bugs as they arise, etc?
Even though it wasn't part of my job description, I wrote my own DNS resolving library over a weekend that better matched what our needs were. It was just as fast, easier to integrate (since it made fewer assumptions about network usage), and the runtime memory footprint of at lease one project dropped from 15M to less than 400k, due to my "reinvented" wheel. Had I not done that (back in November) we still would probably be fighting with C-Ares today in both projects.
It's not a terribly good example.
There are cases where "reinventing the wheel," is simply an ignorant statement. Perhaps the system in question has developed semantics for working with date-based data that the grammar of the existing date-parsing library's API doesn't match well with. This extremely contrived example may force the developers to write a lot of code for working around those inconsistencies which themselves can lead to bugs and maintenence headaches in the future.
What if your lack-wit developer who wrote his own date-parsing library saw these problems and wrote a library whose API resolved them? Or perhaps in another scenario the existing libraries are simply inefficient for some metric of acceptable performance in your system. Maybe this ignorant developer simply writes a better library that allows you to do more.
Either way, there is reason to believe that either scenario is valid. It is likely that writing a date parsing library is not going to be terribly useful. That doesn't mean it's impossible and so one must be willing to evaluate evidence and draw conclusions rather than hide behind blanket statements.
What I'm really talking about is the attitude people have when they think someone is "reinventing the wheel." While some people are helpful and will politely point out that there are existing date-parsing libraries, there are a great many more it seems who will assume that the person who is "reinventing the wheel" is a clueless loser who wouldn't make such a "stupid mistake" if they were worth their salt. That kind of reaction isn't helpful at all.
It's cute when a person, learning as she goes, comes up with something that's been already invented. Only goes to show she understands the field. [1]
It's unbelievably irritating when something that was widely implemented 10 or 20 or 30 years ago (and then even improved significantly) is now asserted as the next big thing. C'mon, be serious -_-' [2]
[1] a nice guy thinks of swap (in userspace) just to hold strings of arbitrary length, calls it ``backed by file storage'': http://9fans.net/archive/2011/02/94
[2] no example I can think of ATM; but perhaps the above one could fit?
In fact, we should also avoid listings for [1] since that can lead to anger venting.
- Guy Steele, Java spec co-author
On one hand, NoSQL as ``let's ditch relational'' is [2] squared; especially as ditching relational because of SQL is ditching the only thing good about SQL.
On the other hand, if NoSQL would mean ``let's have relational language better than SQL'', they hey, that's good!
It's been tried [a] even before the SQL and tried [b] since then. It's not easy for something new to get traction with all the SQL code out there. But we will arrive there some day.
--
[a] http://en.wikipedia.org/wiki/ISBL
[b] http://en.wikipedia.org/wiki/Third_manifesto
NB., if you attack a hot & popular topic, you better provide some argumentation, or you will be downvoted to the ground :-(
They had a weekly meeting called DEALER, where the boffins would present their ideas to the group at large.
A quote:
"But the argument had best be carefully thought out. Anyone trying to slip an unsound concept past this group was sure to be stopped short by an explosive "Bullshit!" from Thacker or "Nonsense!" from the beetle-browed ARPANET veteran Severo Ornstein. Then would follow a cascade of angry denunciations: "You don't know what you're talking about!" "That'll never work!" "That's the stupidest idea I've ever heard!" Lampson might add a warp-speed chapter-and-verse deconstruction of the speaker's sorry reasoning. If the chastened dealer was lucky (and still standing), the discussion might finally turn to how he might improve on his poor first effort."
You'd see the same kind of dressing down of a sales guy in front of his peers by his asshole boss, who just happens to be a damn good salesman, which makes his attacks all the more withering.
Knowledge dost not the better man make.
As other people have pointed out, the argumentative, ruthless nature of computing culture has very adaptive aspects because it mirrors the persistent, ruthless, and logical nature of the computers we deal with. Once you're used to dealing with computers -- once you've learned that computers don't compromise, but it isn't personal -- you perceive computer geek behavior differently. The only reason to enter the subculture, except as a tourist, is to learn about computing, so it is reasonable to assume that anybody arguing about how to program a microcontroller either gets us or is in the process of getting us.
Obviously, different rules apply when geeks interact with non-geeks in other contexts. When in Rome, do as the Romans do. When in Xerox PARC, or less exalted forums for discussing computing, do as the computer geeks do.
Both are uncompromising. Only one is civil.
"Why prove to a man he is wrong? Is that going to make him like you? Why not let him save face? He didn't ask for your opinion. He didn't want it. Why argue with him? You can't win an argument, because if you lose, you lose it; and if you win it, you lose it. Why? You will feel fine. But what about him? You have made him feel inferior, you hurt his pride, insult his intelligence, his judgement, and his self-respect, and he'll resent your triumph. That will make him strike back, but it will never make him want to change his mind. A man convinced against his will is of the same opinion still." - Dale Carnegie, 1936
Sigh.. sometime I feel I'm of a different species from people that take almost everything personally.
So for all the geeks who were inspired to become geeks by Carl Sagan, Richard Feynman, Spock, etc., to fall so short of their ideal... clearly there is insecurity and childishness at work.
Refusal to learn how to treat others well is not cultural, it's immature. Perhaps most importantly, it's total sour grapes compared to one's original inspiration for geekhood.
If Einstein can be nice, some sadsack .Net developer (or Erlang developer) can be, too.
Maybe we just think our idols were always nice and helpful because we want them to be?
IMO, ideas need harsh critique, and it's not always easy or worth it to spend the extra time padding the conversation to soften your point - it can even be counterproductive.
So while I won't say that someone is stupid or dumb for suggesting the idea, I may say an idea was not well thought out if it really isn't. I expect my peers to do the same, because we're not going to see which ideas stick if we bicker over how we iterate on them.
The latter is fairly common in the world of programming, in my experience.
(There's obviously also a big difference between being physically together with the people in a skatepark and sitting on the other end of an IRC session.)
Compare with programming, where overt effect and actual competence are not always related. Criticizing programming and programmers is nontrivial, and hence people have to do it all the time to build up a shared understanding of good and bad practices.
Looking at visual arts, you'll probably find a similar asymmetry between drawing (where it's difficult to get to even a barely mediocre level) and layout/typography (where it's easy to do something that looks "good" to the layman yet is totally horrible). Needless to say, there are more pages bashing bad layout and bad typography than there are sites dedicated to bashing bad drawings.
In your visual arts examples, there is a much simpler explanation. The reason there are more pages devoted toward layout principles is because the medium of expression (i.e. the web) fundamentally uses layout principles. Drawing doesn't express using the web. It's a selection effect, just as it's more likely that you will find soccer players in Brazil, and hockey players in Canada, rather than the other way around.
Hmm. You're right. In hindsight I definitely should have said fuckTARD.
"fuckwit" is defined as someone hopelessly lost, so much so they deserve a heaping helping of scorn for being so. The use of "fuckwit" added something for me. The people are very lost with respect to the thing we have called society, playing nice, and determining the importance of the piece they're commenting on. They deserve scorn for being that way. To express this another way (and to not accidentally evoke pity for them), you have to say "So clueless as to require scorn" or something equally awkward. Or someone could call the fuckwits a fuckwit and be done with it, getting across a precise shade of meaning.
From the Urban Dictionary: fuckwit
A person who is not only lacking in clue but is apparently unable or unwilling to acquire clue even when handed it on a plate in generous portions.
Coming from an Engineering background I'd like to echo what another commenter said - Ideas must be treated harshly. If it's a bad idea then it needs to be vetted and corrected, especially if it's likely to kill someone. You owe it to the honor of the profession to do so. But you have to attack the idea and not the person. When egos are involved that's not easy, because the person may view an attack on their idea as a personal attack. Just assume the person is as intelligent as you and had a good reason for their "bad" idea. Maybe you can build on it without completely discarding it.
As for language, I've never understood the online "geek" community's tendancy to be grammar and spelling "nazis." There have been times where I've been the only native English speaker on a team, both professionally and in college. If we spent all of our time discussing Strunk and White we would have never finished what we were doing. Yet on the internet, where "exposure" to non-native speakers is commonplace, these practices seem to be the norm. Boggling. (It's one thing to be helpful, it's another to be petty. Petty strikes me as professionally immature.)
In short: A crash-course in interpersonal communications would help everybody.
Thanks for the blog post.
This is absolutely not the case. Some of the things that I've most enjoyed doing recently were a the "automated reddit observation system" (http://thingist.com/t/item/2945/) and my "Jarvis" alarm clock (http://thingist.com/t/item/4329/).
These projects were both probably done "wrong". The way I'm parsing RSS on Jarvis is probably "wrong" and I was nervous about publishing the code because I thought people would call me out on it.
But who cares. These things are hella fun. As one person said "Build shit. Do shit. Write Shit. Fuck the Haters. Let them know by the trail of Original Content you leave behind."
Just pointing out a nitpick by itself sounds harsh, though. Instead of just posting "It's 'you're' for the contraction of 'you are'. It's easier to remember if you think of it as just replacing the 'a' with and apostrophe.", I always try to add my positive thoughts as well, even if I feel they add very little. For example, 'Great post, I know exactly what you mean when you say some people are just overly critical for no reason. One thing, though...".
Obviously, this will still make me sound like a nitpicking asshole at times, so I try to avoid the the truly small corrections (you're/your, its/it's, grammar/mispellings in general). The key is to point out that you aren't dismissing or ignoring the rest of the work, and that the nitpicks you had were really the only part you disagreed with.
There's this trend to kill anonymity on the internet, blogs switching to facebook comments etc. There's a value to anonymity, it facilitates criticism and that's what scientific journals have been doing for decades. It's also known that eponymous product reviews tend to be 20% more positive. The world is cruel, the world is pretentious. Take your pick (or don't)
The difference in the examples cited is not sports vs hackers, it's communication in real life vs over the interwebs.
In my experience most hackers are perfectly pleasant in person, happy to help if asked, and not substantially different to how the article describes the skaters.
Conversely, I bet if you look at some skater videos on youtube they would be full of sarcasm and piss-taking (well they would be if youtube comments weren't a massive fail in their own right)
Geeks and nerds more frequently use online media to communicate, but I don't think they are otherwise more predisposed to antosocial behaviour than anyone else.
As a datapoint, my wife uses babycentre a lot, and the disproportionate flamewars you get there are ridiculous. Put those mothers together in a room and I bet they'd be completely pleasant.
Sample comments:
Asking for advice: > when you tre flip over something (gap, stairs or anything) does anyone else dangle their foot like this guy?
Generic compliment: > damn, nice
Complimenting form: > you land well clean kickflips
Observation of differences: > it realy is true how europe has alot more amazing skate spots n obstacles than america,
One troll: > u blow
One of the things to learn in life is who to listen to and who to ignore.
I can align with the author - being around people who do not accept mistakes or shortcomings as part of a positive learning process is frustrating - but saying that "Geeks" do this too often and more than other circles is untrue.
That idiot should just quit writing blog posts.
Geeks ARE angry. They seem to have shittons of pentup rage
While I doubt people actually think "I'm going to tell you that your choice of language sucks because I want more work" I also doubt bullies on the playground think "I don't have a lot of self esteem, so I'm going to pick on kids smaller than me to make myself feel better".
Some communities are more harsh than others. Ask a stupid question in #perl and compare the response with #python. The perl community is well established and isn't trying to evangelize. Python is (or was) less commonly used. They don't want to scare away new users because more python programmers means more support for the language.
It's not an excuse, but it is a possible explanation.
This leads to a very high tolerance of people new to the language, and to misunderstandings.
Ruby and perl seem to have more typical professional programmer types is all.
I've been to many BarCamps, local Ruby on Rails and Web design meetups and people are incredibly giving of their time, knowledge and patience.
It is a profoundly different thing to meet someone in person, who is struggling with some technical issue, than to read about it (devoid of all context) on some wall of electronic text.
* Stop using comic sans
* What are you, illiterate?
* Tables? What is this, the 1990s? Ha ha ha!.
* This design looks like myspace
* You're using the default hashing algorithm in mysql instead of bcrypt?
* God I hate the arduino. It's not real hacking.
Which of these things is not like-the ooooother?
It's the delivery that matters.
I agree, delivery counts.
In every pairwise conversation there are 6 people:
1. Alice
2. Bob
3. Who Alice thinks she is.
4. Who Bob thinks he is.
5. Who Bob thinks Alice is
6. Who Alice things Bob is.
Perception plays an absurdly large part in communication, as do nonverbal cues. Frequently we adjust our message based on feedback we get from the listener. Those lacking "social graces" or communicating in just text on the internet don't get these cues, so the message comes out "harsher".
Complicating this, there is a lot of baggage each person attaches to words, phrases and general styles of questioning/commenting. So one person's harsh may be another's "in to it".
One example of all this I have experienced:
One time at a vendor show, me and some colleagues were in a small demo, presented by a sales guy and a few engineers from the company. During the Q&A, I started questioning the engineer pretty intensely with questions like:
Does it do $X? Why not? Do you plan on adding it?
(These are actually pretty neutral questions)
Then about another aspect I was really into some possibilities of:
Can I use it for $Y? Can I make $Y happen by this? What happens if I do $Z? How about if I work around that limitation like this and get $Y + $Z effectively?
(these are not neutral questions, they are me geeking out)
So after the demo some people thought I broke the engineer and ripped him a new one with the second set of questions, because I was rapid fire asking questions towards a goal. One engineer thought it was a fun "play with an idea time". The other engineer thought I was severely criticizing his work.
The sales guy and several of the audience members thought I was being unduly harsh by asking about the feature $X. Apparently this was a contentious issue that I knew nothing about. The engineers and others thought nothing of those questions.
Similarly: I frequently get frustrated when people wrap up valid criticism in fake nice BS. I don't want to hear "great thing, what if instead you did this". I really would rather just hear "What about this other method? Why not use that?" or even "Dude, 10s of googling would have shown you the flaws in that". Because an honest self assessment includes the fact that I don't know everything, and that many (most) of the things I come up with have also been thought of by other people, who may have found flaws in that reasoning.
I guess my point is there is a lot more than just "nerds are mean to each other" going on.
I really appreciate all the comments :) If the site is slow to load, there is a static version of the page here:
My interpretation of all this is that anytime you're doing something around the upper echelon of people that do that same thing you're doing, expect tests of your will, whether technical or emotional. I just think of it as human nature's way of weeding out the weaklings of any group.
Personally, I'm quite fond of and entertained by the pretentiousness I receive on certain irc channels… brings me back to the days when and skate spots and chicks were literally my only cares in the world.
On the other hand, I have seen code that I found horribly upsetting and I'm sure I've expressed my opinion of it. I know that I have the patience of something with a very small amount of patience when I come across someone who just doesn't instantly get concepts (for this reason I cannot do family tech support) and I did make my college girlfriend (also doing computer science) cry once because I just rattled off an entire programming assignment without touching the computer (she switched courses).
So, it really depends. If it was someone junior to me I'd cut them a lot of slack, if it was someone I considered my intellectual peer they'd need to roll with the punches.
As programmers, we are part of a giant ecosystem of software. What one programmer does affects another, even for two people who don't directly work together. This is unlike (say) sports. If there are other skateboarders who have terrible form, it doesn't affect me.
On the other hand, if a large number of people make what I perceive to be a bad engineering decision, like using SOAP (SOAP's safe to hate on these days, right?), that affects me because I'll have to write software that interfaces with their systems that use a terrible protocol.
And if I see a person arguing in favor of a terrible idea like SOAP, I perceive that they are not only using SOAP themselves, but encouraging others to do so also -- if they succeed my life gets even harder. If other people seem to be agreeing that it's a good idea, instead of recognizing it for the insanity that it is, the frustration grows. And if the person is arguing in a self-righteous way, that makes it seem justified to be snippy back.
It's probably not the most healthy reaction, but there you have it. This is what led me to post rants in the past like: http://developers.slashdot.org/comments.pl?sid=446030&ci...
Let's take the sports analogy the author used. It is immediately clear who is more apt at skateboarding and thus should be doling out advice. The power relation is clear and accepted on both sides, which allows for constructive instruction to take place.
Discussing things on HN, however is different. In general, technical discussions amongst people who don't generally know each other are a process of discovering the appropriate power relation. We are exchanging comments and trying to gauge who is more knowledgeable. If I were to try to teach someone before they've acknowledged I have something to teach them, I'll come across as arrogant and an unpleasant argument will likely begin.
I'm not sure what the answer is. Sometimes I'd like to see more humility in the communities we're referring to here, but I also don't want to read insecure, watered-down opinion. It would be the best of all worlds if people stated their case as strongly as possible, confident that everyone knows they're aware of the possibility or even overwhelming probability they're wrong. I think that would eliminate a lot of the pain and noise in discussions on forums such as this.
The problem with life on the Internet is that this social normative function doesn't work. Are you an asshole that nobody will talk to? No problem! Just invite yourself to the office parties and start running your mouth!
Admin lock out your account from your favorite forum because of flame wars? No problem! There's a million other forums you can head to and be a complete jerk in!
There are exceptions, HN for example is fairly unique in terms of the social environment it provides, and flaming out here can have consequences, hence people tend to behave a bit better here in order to maintain their social status in the group.
However, in addition to behavior and tone, down arrows represent a kind of social normative function that includes semantics that might push people towards a kind of consensus in group think (flags usually deal with purely bad behavior). The problem is that it's very hard on HN to have a dissenting opinion without getting knocked down a few points. If want to keep socializing here, you either conform or get out.
1. Lower-case 'n' nerds for whom coding is as much of a day job as it possibly can be and lead rewarding and socially active lives away from their computers.
2. Nerds who are completely immersed in what they do because they find it to be rewarding in and of itself.
3. Nerds who are completely immersed in what they do because they aren't very good at anything else, and are bitter that being good at what they do isn't really socially rewarding.
I think most of our problems come from group #3.
"What? This sorting code is slower the a walrus walking uphill" "Dude, your lunch STINKS, are you cooking a month-dead skunk?" "That's retarded. It won't work. At all. Ever."
Sure, they sound a bit harsh, but they're not actually offensive because you KNOW they're not about you, or are only peripherally about your judgment, and it's an unavoidable fact that some people have terrible judgment.
The shops I've worked in with quiet, softly given feedback have been those that aren't doing anything interesting, are moving slowly and don't really have any great developers, or even better then average ones. In my mind there's a definite correlation between boisterous shops and great ones.
It's not a popular thing to say but programming and hacking is, at the end of the day, a mostly solitary endeavour. Why would someone who spends most of their time stuck in their own head know how to converse about technical matters, especially when it's online and behind a wall of anonymity?
I'm not saying all geeks are antisocial. I'm saying that the kind of person who would call another an idiot over a minor disagreement isn't demonstrating a lack of confidence but rather an inability to communicate in a friendly way.
I actually like the first one, and most hackers I know do too. I've seen geeks take (possibly harsh) critics very well, way better than "normal" people. Personally, I find it useful as a route to self-development, but it's certainly more frequent than in other places.
About discouragement, I think the author is just visiting the wrong communities. Or maybe I've been really lucky all this time. Either way, I don't see evidences of this behavior being more common in our circles.
Under certain sets of circumstances, people just tend to be dicks - and the internet contains many cases of those circumstances.
He just find a good place and also people don't tell strangers and guests "you are an idiots" in your face. On the Internet, it's different. That applies to a skateboard forum, just search and you'll find out!
End of the story: Work on improving yourself and forget about what sh*t the others say.
On the other hand, let's not take it too far. It's nice for people to have a little bit of backbone. They don't need to endure jackasses unnecessarily, but there are times when criticism is rightly required and backbone is rightly needed to respond well.
Spolsky or PG wrote up a piece on this a bit back.
I'd love to see it if you can remember the title...
"Tom, no, not among the hall of nerds."
No, it's the best time. Everyone, I have an announcement to make! I...am kind of like a hipster.
reveals fedora hat and threadless shirt
<<My word! They do exist!>>
No longer will I be prosecuted for enjoying a cultural product that is making it's first appearance in the cultural scene.
I also speak for every newbie who dislikes dealing with the console and I speak for every newbie who doesn't posses the skills of a sysadmin, but wants to understand their way around unix. I also speak for every CS major who thinks caustic arguments, over which programming language sucks, are a waste of time.
And yes, I am currently learning Haskell, not because it is underground but because I enjoy recursively declaring functions. Now who here will help me understand side effects?
I perceive a profound inconsistency.
Trains can be late and one can be quite vocal about that, but few talk about those that are actually on time.
Also, http://xkcd.com/386/
It's very hard to explain. For something that is rather competitive, it is also very much a competition with yourself. Just the act of truly wanting to be a part of it will make you part of a family so to speak.
This article, particularly the section about attitude towards noobs, is all tied up in why some women never go deep into programming. There are lots of other reasons too, but this one is especially well articulated by the OP.
If you are in the keyboard-allergist camp, ponder this one long and hard.
Even though a lot of us come from an engineering background, I've always seen people get great feedback, helpful and not condescending at all. This is even more true for people's "Review my startup" posts, which usually present a pretty early beta, but tend to get great responses.
Is he comparing online forums with in-person experiences?
Though pessimism aside, I think the post is spot-on with its argument!
But I myself still can't have the patience to listen and learn, after reading this, I feel like there's an incentive for me to change my behavior :)
>I don't think you can fight human nature, only work around it. Ignore the haters that don't get $x. Ignore the haters that think what you've made sucks, or doesn't do $x and is therefore useless. Build shit. Write about how to do shit. Let them know you by the trail of OC you leave behind.
I come across a random jerk here or there, or just some snarky, passive-aggressive commentary from time to time from otherwise OK people. I find if I am nice, humble, and honest about my abilities/intentions, people are generally nice in response.
Sarcasm has proven to be pretty successful on the web, which doesn't help your cause. How many successful blogs were built on a glib and critical tone? Being a jackass is an easy way to differentiate...I think this influences the general discourse on the web, especially among the savvy. That said, from what I remember, "web people" were far more ruthless 15 years ago.
I'm not sure if we are being trolled here or whether it was an actual mistake.
There are the geeks that help out and the geeks that criticise.
The words democracy, socialism, freedom, patriotic, realistic, justice have each of them several different meanings which cannot be reconciled with one another. In the case of a word like democracy, not only is there no agreed definition, but the attempt to make one is resisted from all sides. - George Orwell, Politics and the English Language (http://www.mtholyoke.edu/acad/intrel/orwell46.htm)
I think "hipster" is generally one of those meaningless words in a lot of cases. Often times it's not pointing at what should truly be denouncing IMO (doing things for "irony", hating on popular things for no reason, being elitist, etc), but simply as a way of just generally denouncing people.
"Oh you listen to bands I haven't heard of? You fucking hipster." as if there's no way the person in question truly likes that band regardless of their popularity.
That's just an example from the cases where there's a specific objection other than "hipster". It's just become a popular nebulous term to hate on, and I've gotten tired of seeing it everywhere. I luckily rarely come across "hipsters" so I'm not too annoyed by them, but "hipster-haters" are constantly bitching about whatever "hipsters" do.
It is impossible for me to read this without pointing out that after a very well-reasoned and largely accurate argument against the completely irrational spite, you close with a (admittedly small) taste of the very disgust you just denounced. "I luckily rarely come across 'hipsters'."
It's pervasive, even in the group itself. Hipster doesn't actually mean anything specific to anyone, it simply means, "a member of the counterculture which I find offensive at the moment." And, shocker, the people who you would consider, "hipsters," are just as guilty of this.
The problem with this, from my perspective, is that it's also a catch-all for people who are difficult to categorize. Even before the word was co-opted to be a generally negative term, it was nebulous at best, referring generally to young people who are interested in culture or art or food or music or, really, anything.
As a result of this, people get lumped into this group based on these very general terms, and then assumptions are made about their character by regurgitating every complaint anyone has slapped the word "hipster" after, as though it's representative of everyone who wears sweaters. No, not everyone who has a moustache is an elitist. Not everyone who smoked pot in college loves Bob Marley, do they?
I encourage people to stop using this word at all. It's just stupid, meaningless, and devoid of positive connotations for most of the world.
Down here in Australia, "Hipsters" are an easily recognizable and quite specific cultural subgroup: Thick-rim glasses, no actual vision impediment to justify them, Impractically skinny jeans, Borderline offensively cliched facial hair (ie. Hercule Poirot-esque moustaches) and - most importantly - Irrational dislike of anything "mainstream" or "commercial" (with little/no other justification)
It's no longer meaningful counter-culture, it's become a very specific subculture in and of itself (at least down here) - a culture I would describe not as counter-culture, but anti-culture. It's ceased to be productive and meaningful, and simply become (like Monty Python's Argument Clinic) the automatic gainsay of anything "mainstream".
I've no tolerance for it, because (in my opinion, at least) it's highly pretentious and offers very little in the way of positive change. I find that subculture to be, in general, very negative (often for very little reason).
When I talk about Hipsters, I'm generally referring not to the dress, but to the attitude. Maybe you're right, and I should be referring to those specific attitudes as what I take issue with - but sometimes convenient (if inaccurate) labels make communication faster.
What you've described sounds like a caricature. While it is possible that the more nuanced culture formed elsewhere and was made extreme on it's way to your shores (and, indeed, there is evidence of this having happened in many other cases), I am not sure that is what is going on here. The specific attitude you describe is one I see commonly attributed to hipsters, and only in very rare cases a fair characterization. I think that The Yeah Yeah Yeahs and Radiohead (to throw something out there) are examples of incredibly commercial, mainstream bands which most of the people you are describing would be into.
Saying that you don't like the new Shins album because it is very mainstream doesn't actually mean that you don't like it because people are buying it (they aren't), it means that it doesn't seem challenging or interesting to you. It seems designed for mainstream appeal.
In the US, the word is not applied solely to the group that you describe, either. It's used to describe people who live in particular areas, people who ride bicycles, people who shop at thrift stores, people who listen to public radio, people who see lots of live music, and people who listen to records on vinyl, and this is by no means an exhaustive list. The most important thing is that people seem to have flipped your description of the attitude on it's head; It's not about whether or not you dislike "mainstream" or "commercial" things, it's about whether or not you like something which doesn't fall into one of these categories.
I agree that your description of this group doesn't make me want to hang out with anyone in it, but it certainly doesn't make me feel like I shouldn't tollerate it. If there is a group of people who want to be very bad at conversation at parties, more power to them.
If I believed that most people made these judgements on a case by case basis, that would be one thing, but that's not the case in my experience. The assumption seems to be that if you match one of these very superficial and general categories, I can mantle your personality and judge you (with little/no other justification, see what I did there?)
I realise what I'm describing sounds like a caricature. I wish I was simply being snarky, but spend 10 minutes at a bar on Brunswick Street in Fitzroy, Melbourne and you'd definitely witness what I describe. There are quite a significant proportion of people in that area who do indeed dress as described (for whatever reason) and who will hold conversations - at length - about the invalidity of any artistic endeavour that gives itself over to financial motivation.
I neither agree nor disagree with them on that point, but I feel I certainly have more productive things to talk about!
I think the usage of the word has probably varied within Australia from its usage in the US. Certainly when I read articles in Wired about 'hipster' culture, I'm left scratching my head (behaviours or purchasing patterns they describe therein tend to amount to the local use of the word 'trendy', which is rarely construed as an insult).
There's probably a PhD in sociological studies to be gained from the comparative usage of that word in Australia vs. the US. :P