Ask HN:  "Dumbing yourself down" around your peers? - <AUTHOR> To what extent do you do this and why?  How has it affected you, and your relationships with people?
I've been doing it my whole life (I'm 30) because I felt that it would be easier to fit in with most people.  So when I hear people confidently repeat urban myths like "we only use 10% of our brains", or "you'll drown if you don't eat an hour before swimming" etc, I don't bother trying to explain why I think they're wrong.  Some people take it too personally (because of their ego, perhaps), and if they think you do it too often they tend to avoid your company for various reasons.  Then there are times I avoid discussion of a topic completely because it tends to happen at a very superficial level or from a very narrow perspective (maybe because of things like lack of understanding or confirmation bias).  I find that when I try to expand on certain areas of discussion I just get blank stares.  So I usually just stick to topics like gossip, sport, women, cars, or I let other people do most of the talking.  Obviously all individuals (and my relationships with them) are different to a degree, but these are some of the things I tend to see and do.
Anyway, I'm 30 now and I think "dumbing myself down" (at least on an intellectual level) has really taken it's toll on me.  I never really had a big problem with managing relationships with people but it's getting to the point where I find conversations with my friends unbearable.  eg.  Last night I was on my phone reading HN and reddit while a group of us were in a lounge at some club (we had just come from a strip-club).  I've vented occasionally about how I felt about this to my mom and she always says I should get new friends.  The problem is that part of trying to fit in is emulating the behaviour of your peers.  When I was younger, I was hung out with the street-thug type (avoided crime and drugs though).  Then I left that for the clubbing and partying scene (took me a while to adjust).  After leaving college I found there are very few people with my interests and lifestyle.  They usually tend to fall into one group or the other.  To put it simply, the one group is smart but boring, the other group is exciting but being around them is a mind-numbing experience.  I've tried having two sets of friends but it didn't work out that well.  I could also try changing my social circles again but where to next?  And I don't really feel like changing my lifestyle again.  Perhaps balance is the key, but finding people with the right balance is not that easy.
In the meantime I've resorted back to my (unhealthy) hacker nature.  Dark bedroom, bright monitor, and 20 tabs open in a browser.
Anyone else going/been through something similar?  How do you cope/are you coping? <comment><USER2> If you're consistently the smartest person in the room, you probably need one of two things: new friends or a reality check. Possibly both.

The best advice I ever got about picking friends was that you should hang out with the people you want to be like. In your case, you seem to not want to go directly from a strip club to a social establishment and get crunked. Well, there is a fairly simple solution to that...

(UrbanDictionary tells me my usage of "crunked" is wrong. This is what I get for not spending enough time around people who are simultaneously drunk and stoned, I guess?)

<comment><AUTHOR> > In your case, you seem to not want to go directly from a strip club to a > social establishment and get crunked.

I don't mind the partying, but even in a club, a lounge is usually more intimate and people tend to strike up conversations more easily. If a few people out of the group do it it's easy just to say "fuck this bullshit let's party!!!" and you can be relatively sure that the others will agree and the conversation dies. There are times though that people just want to relax and have "serious" discussion (especially if your life revolves around partying). And it's usually these times that I just want to turn off.

[edit] Oh and in case you were wondering, I don't usually go to strip clubs. One of my friends who owns a club was invited to check the place out and a few of us tagged along.

</comment></comment><comment><USER3> It's funny how a simple "I find most people intellectually boring, what to do?" got a lot of highly up-voted "get off of your high horse, smarty-pants" replies. I suppose the first lesson here is not to let people know you think lowly of them. Otherwise they get angry and stuff, silly bipedals.

You would have had much different replies if you rephrased your question to "Hey, HN is full of great people with interests and values similar to mine. I feel like I found my long-lost solumate, only several hundred of them at once. How do I find / build similar community in real life, so that I can share both bar hopping and code-hacking?".

:-)

<comment><AUTHOR> > I suppose the first lesson here is not to let people know you think lowly of > them.

You are absolutely correct, at least from my perspective (although I don't think lowly of other people in the way you might mean). If possible, I'll edit my original post with my thoughts on this matter.

> You would have had much different replies if you rephrased your question

I know. The problem is that HN represents a small part of my interests, so it's unlikely that we share the same interests or values (especially considering I'm from a 3rd world country - I don't expect that many of you guys can relate to violence and poverty in the way that I can). The reason I chose HN is because I was hoping for responses with more signal than noise. I guess another lesson here is to choose your audience your wisely. And of course be mindful of how you address them.

<comment><USER3> >> be mindful of how you address them.

Yep, that's what I was getting at. I have a pet interest in "what makes a good presentation" and made an observation that good presentation is the one that makes audience feel good about themsleves. This especially jumps at me when watching TED videos. Funny how that works.

I think you did a good job describing what you do not want. The next step for you is to put at least as much effort into writing down what is it that you DO want. Start with a taxonomy of your interests and see if you can find patterns and groups within. For example here's my list: 1) macro economics & history 1a) corporate governance 2) relational and near-relational databases 3) ultra scale-out systems 3a) synchronization problems 4) mobile devices 5) maps and navigation 6) fine dining 7) psychology of irrational behavior 8) computer hardware 9) style (clothing, interior, articulation) 10) study of sleep 11) study of excersize 12) science of making a good presentation 13) demogrpahics & behavior of groups 14) runnign my own business 15) web technologies (webkit, jscript etc) 16) functional languages 17) epistemology

With interests like these there is no way I will find anyone who is into the same stuff as me. But grouping things together I can address some of my interests at my day job (MS SQL Server), some at my startup project and some at various online communities. There are some topics where I am all by myself. It gets really tough at the overlap areas, e.g. I am deeply convinced that source control problem, sync problem, database problems and ultra scale-out systems are of the same field and need to be studied in concert but I have a hard time getting heard with it. So does it work for me overall? Mostly. The people I hang out with are sharing at least some of my interests so it's never as bad for me as it is for you. However few times a year I have some outlnadish idea, interpretation or a vision that I have no one to discuss with. Generally people shrug it off or get a friendly laugh at my expense. :-) It does feel kinda lonely when that happens. I don't have an answer here, either.

</comment></comment></comment><comment><USER4> People are social animals. I think as analytical people we forget this aspect of our humanity a lot.

So you need to feed that social part of yourself without doing, time-consuming and mostly pointless things, like getting drunk with the guys and watching naked women dance. If you dig naked women dancing, get HBO. Or just surf the net.

As a consultant, I go through phases of alone down-and-working hacking, when I'm not on a big contract, and working full-time with other people trying to help them when I am on a big contract.

I've found that both of these lifestyles have something positive and negative about them. I need social interaction, yet I crave just doing my own thing and being left alone also. I've found that since I don't value my social needs, I sometimes end up taking just whatever comes along, instead of actively planning. This spontaneity is cool when you're 20. But it gets less and less cool the older you get, for some reason. (Usually after you end up with a decade of spending your free time and you've in the same spot, with the same people, doing the same things you were ten years ago.)

In the past, this has sometimes led to be hanging out with people who are, or at least think they are, exciting. If I were you, I'd find something bigger than yourself to believe in and get involved with it. Church, Boy Scouts, civic groups, environmental groups, politics -- something that you find both intellectually stimulating and where you have a lot of social interaction. Make yourself do this, because you will not think that it will work until you actually do it.

And give up the I'm-so-smart routine. Trust me, you're an idiot like the rest of us, just in a different way. So you have lots factual recall ability? Aside from a promising future as a game show contestant, who cares? People with a great recall ability can be some of the most annoying people on the planet to deal with. Trust me, I'm one of them! Meet people where they are, and relate to them in an honest manner that you both can handle. Sounds like you've got a big of overly-done self importance thing going on. Once again, finding something more important than you and humbly trying to contribute to it could make you more of a person that _really_ is smart and interesting and exciting people, like myself, would want to hang out with. (grin)

Life is about you putting stuff into it, not sitting on your ass waiting to see what comes out of it and then criticizing what you get by default. Sorry to rag on you so much -- you probably don't deserve it, but geesh, you're 30. Get a better attitude and lifestyle already.

<comment><USER5> Agreed. You (the OP) need to be socialized. :-) There is a phenomenon I call the "Engineering Dance", where engineers and similar types go through a kind dominance ritual on first meeting, probing to see who is the most expert. This doesn't work in most social situations; most people dont like it.

My SO has a masters in math and a minor in CS, but we dont talk about my work much at all. She's a painter; we talk about painting. I enjoy it because I'm learning a lot. I suggest finding a nontechnical interest and become good at it: music, art, literature. You dont have to be an artist or musician, just knowledgeable.

Enlist a woman in the reclamation project. Their social skills really are better than ours, especially the extroverts. Dont look for a GF to do this. Enlist a sister or friend. The two of you can throw a barbecue or the like for the expanded set of friends.

Most people have a socially adept friend. Use said friend for introductions.

<comment><USER6> Let me say: I think that getting a girlfriend who will up and tell you when you are being an ass (later on, in private) is one of the best things you can do!

"Engineering Dance" -- Guilty as charged! Brilliant name for it.

<comment><USER5> I definitely agree on the girlfriend, but from my experience that's even more difficult than learning social graces. It takes a perceptive woman to realize that underneath is a really good guy that just needs some help. Young women are often as dense in their own way as hackers. It took me years and the experience of a bad marriage to become acceptable to a good woman.

<comment><USER6> Agreed, it took me years of being a jerk to women plus the good fortune of an ex turning into a friend and smacking me with the truth.

My solution also involved perception, but on my part. I was able to spot the potential in a quiet, wallflowery girl at a party. Now I am blessed with a a very sweet, patient, intelligent, perceptive, and demurely sexy girlfriend.

Another piece of advice -- all you nerdy guys out there who check off all the races except "African American" on dating site preferences -- do yourself a favor and stop it. There's lots of really cute nerdy gals out there who just happen to have a bit more melanin.

</comment></comment></comment></comment></comment><comment><USER7> I felt like that until I was 19. I joined Mensa, and found people who loved puzzles, knowledge, intelligence and discussion.

When I moved town and did my PhD I found the local Mensans complete prats, but the university gave me the stimulation I needed.

You need to find people with whom you can be yourself, but equally, you need to learn how to get on with people in general. I learned a lot from Dale Carnegie's "How to Win Friends and Influence People." It's almost a manual for how to problem-solve your way through the challenge of social interaction. Recognise that others have needs and desires, and sometimes that means you shouldn't try to educate them. There are times when it's of no value.

Recognise too that sometimes others are just as smart as you, but in different fields of expertise. Learn to learn from them.

Stay true to yourself, learn to interact with people generally, respect people as individuals, ...

Seek out those with whom you can be yourself.

They do exist.

<comment><USER8> That's the trick! Find something interesting about people. People want to be appreciated and /almost/ everyone has something to appreciate. As an intelligent person, your job isn't to be more interesting than other people, it is to find the interesting things in others.

It's like playing games. Over time, if you always win, people stop wanting to playing with you. Find games they can win and lose frequently until you win all the time then find a new game to play with them together.

<comment><USER9> "The reason I've managed to make the connections I desired is that I'm fascinated by people's stories. Beneath the small-talk surface, every life is a fascinating novel, so I always follow the suggestion from Proverbs 4:7, "With all thy getting get understanding." This directive means stand under, in the relatively lowly position of student, and let whomever we're trying to understand occupy the high ground of teacher."

Be the student. Let someone teach you.

From a sex/relationship advice article but very true.

[http://lifestyle.msn.com/relationships/articleoprahmatch.asp...](http://lifestyle.msn.com/relationships/articleoprahmatch.aspx?cp- documentid=12212194&page=0)

</comment></comment></comment><comment><USER10> Personally, I try not to say things like "dumbing down". It's presumptuous to assume that I'm smarter than other people; I don't need that kind of ego boost.

I tend to think of it as people having different interests. Many people have a familiarity with celebrity gossip that rivals my familiarity with programming. They're just choosing to use their brainpower in a different way.

I'm sure many people on HN disagree, but that's how I see the world. Intelligence neutral.

I choose to hang out with people who are interested in things that I am. I have a natural filter -- I continue to talk about things that I think are interesting in all company, and when conversation moves in a direction that I don't like, I disengage. That's not to say that I don't try to take an interest in things outside of my realm of experience, but people who know me learn pretty quickly that if they talk about football, I'm going to get glassy eyed. Or worse, start talking about the use of graph theory in tournament scheduling.

<comment><AUTHOR> > Personally, I try not to say things like "dumbing down"

I know exactly what you mean. That's why I put in quotes. It just makes it easier to talk about.

Usually, "dumbing myself down" in my case means suppressing knowledge that I have. I can't fault other people for not knowing things that I do because as you say different people have different interests, and beside that I spend much more time on the internet that what they do, so I'm more up to date with current affairs than they are.

But whether you take "dumbing down" to mean suppression of knowlege, skills or intelligence, the end result is what I was referring to.

> I continue to talk about things that I think are interesting in all company, > and when conversation moves in a direction that I don't like, I disengage

This is part of what I mean. Maybe other people have a higher tolerance level (or maybe I do it _too_ much) but this kind of behaviour has really taken it's toll on me.

<comment><USER11> If someone say "we only use 10% of our brains", do you really view it as "dumbing yourself down" if you hold back a long lecture about the actual structure of the human brain? If so, I would say you simply lack social skills. This is not a bad judgement on you in itself, not everybody was born with equal endowment in social skills, and they can be learned. However, the way in which you ascribe your lack of ability to get along with your fellow human beings to your much vaster intelligence is a little ugly.

My default instinct is to feel bad for socially inept people, because I have had a good deal of social problems myself. However, I often find that socially-inept people are simply ugly on the inside, even after I give them the benefit of the doubt. Walking around making constant negative judgments about the intelligence of your peers is hardly a good way to get along.

<comment><AUTHOR> > However, the way in which you ascribe your lack of ability to get along with > your fellow human beings to your much vaster intelligence is a little ugly.

Maybe I didn't explain myself well enough, but I get along with other people very well. People like being around me for various reasons. Don't get me wrong - I am fully aware that there is much more to life than intellectual stimulation and in no way do I base my relationships with people on this idea alone. I'm just talking about one outcome of managing my relationship with others, and I would like to find out how many other people have gone through this (or are going through this) and how they deal with it. I find that self- improvement is one of the first steps in managing relations with others. Because at the end of the day, it is _my_ problem, not theirs.

It's difficult to convey your precise meaning when it comes to interpersonal relationships. You can try very hard to explain what you mean but there will invariably be some ambiguity (it took me a few days to figure out how I should verbalize this to HN - in the end I decided to avoid analysis-paralysis). In many cases, the best one can do is hope that what you say strikes a chord with people in similar situations (hence the opening and closing sentences). That more people are commenting on individual pieces of my post rather than sharing there own experiences could be an indication that there aren't many people that can relate to this.

Whatever the case, I am grateful for the responses.

<comment><USER11> You have an unhealthy view of other people. You're asking "how can I get along with people who are too dumb to hold my interest?". That implies a negative value judgment of them, even though you backpedal and justify yourself by claiming that you seek self-improvement. Learn to enjoy the unique positive aspects of other people and you will be much happier.

My ex couldn't follow my academic work, but she was a writer with a rich inner life. That was interesting to me, and we got along. If I wrote her off because she couldn't follow complexity theory, I would have missed out on a good relationship.

Personally, I had many problems socializing. I used to hate parties, clubs, large gatherings, etc. I would get bored. However, I value other people and I value having good social skills. So I bought books and worked at it. The challenge of being good at social situations turns out to be interesting enough to hold my attention.

<comment><USER12> What books did you feel helped you?

</comment></comment></comment></comment></comment></comment><comment><USER13> Be the person you wish you were. Anyone who doesn't like it is not a friend you need. It is absolutely possible to have a very active social life and also have intellectually stimulating friends.

I have long tried to make a point to _never_ dumb myself down for the sake of others. The people it scares away are the people that I _want_ to scare away, because they offer nothing to me and I probably offer nothing to them. And the people who appreciate my kind of intelligence are the people I want to associate with.

If it feels dishonest, it probably is.

Edit: Also, move to Silicon Valley. It's full of people who like smarts.

</comment><comment><USER14> Been there. But I find I haven't felt that particular need for quite a while. I guess what helped is that in the last year I started to read a lot. I made a "never look at the price" policy when it comes to books, and used amazon to the max. I still have a backlog of 2-3 books, and usually one in the mail (also in a not very developed country, mail takes about a month).

I can only guess why it works, or why simply reading HN or articles isn't enough. Reading a book is usually harder, more immersive and, if the author is good, usually feels like a dialog.

What books exactly probably depends on yourself. I started with The Black Swan, by Nicholas Nassim Taleb, and it really opened my taste to good books. Richard Dawkins's older books, Marvin Minsky, Hernando de Soto, Jared Diamond, they all deserve to be read in full.

I also caught up with some professional books I somehow missed, like The Mythical Man-month or Peopleware, and I found a fascination for cognitive psychology with The Wisdom of Crowds and Predictably Irrational.

Yup. Thinking back I no longer wonder why. Each book was a very long conversation with a person smarter then myself. Exactly what I needed.

</comment><comment><USER15> You may not like my answer, but you asked, so here goes:

I think the only problem is with your attitude. Like ilitirit, I hate the expression, "dumbing down". I am probably similar in nature to you, and I have never had this problem, much less even thought about it.

At the bookstore over coffee, my SO reads about design & fashion while I read about Galois and number theory. So what? (I just have to remember to nod in agreement to questions like, "Aren't those window treatments beautiful?") When people talk about sports, I don't tune out; in fact, I enjoy a little football and basketball between coding sessions.

OTOH, NASCAR = for(i=0;i<800;i++){turnLeft()};

I don't watch much TV, don't enjoy gossip, and don't recognize many celebrities, but I can still smile and nod in most conversations. At the very least, I can usually politely direct them to something a little more interesting.

Don't forget, you're human before you're a hacker, so being among other people, no matter who they are, is important to your well being. Don't think of "dumbing down", think of "diversifying among potential users of my code". So get out of that bedroom and join the rest of us. You'll be fine.

</comment><comment><USER16> WWSGD?

What would Summer Glau do?

Dumbing yourself down is like hacking off a foot to fit in with a leper colony. It's a change that'll be hard to reverse later on, whether you want to or not.

</comment><comment><USER17> Don't dumb yourself down. People will sense that you are not being yourself and you will be miserable anyway. I have made the same mistake myself in past and I have realised that often times people that you consider less 'intellectual' are capable of very stimulating conversation if given the right subject to talk about.

The key is to not be condescending. People don't mind smart people, but they hate being made to feel stupid. If you have to correct someone, do it in a kind, diplomatic matter.

People don't always have to be super smart to be interesting, even less intelligent folks have the ability to teach you something if you really show an interest.

I myself would rather spend most my time with 'boring', real live people than with a web browser in a darkened room.

<comment><USER18> Yes, its all in approach. Two examples in regards to the 10% brain thing:

Someone: "You know, you only use 10% of your brain!"

You: "Actually, that has been debunked forever now. If you had just searched on Google you'd have known this. It's totally false, you use your entire brain yada yada yada."

vs.

You: "Yeah, someone I know told me that before and I thought it sounded really weird, so I googled around and found out that it turns out it's not actually entirely true! Pretty crazy, eh? It turns out, you use your entire brain yada yada"

The former is "you are dumb, if you used the internet or was as smart as me you'd know better" The latter is "hey friend, let me tell you a story about how I found out about how that's not true. You could have found this out too, but I'll save you the time and tell you what I uncovered."

More succinctly "You're dumb, I'm smart" vs "Check this out, friend."

</comment></comment><comment><USER19> I believe that I can relate. I have a deep interest in various permanent and ephemeral topics that I simply have no idea who I would discuss them with. I am far more interested in these than most front pages of the newspaper, but the wonderful people who are my friends wouldn't sit still for the hour or so it would take them to get up to speed on the issue.

That's not to say I am particularly smart or anything, I'm just a specialist in terms of my interests more than a generalist. People also fit different amounts of thinking into each day, and I probably do more than most. That thinking may well be of low quality, but the quantity ensures that I would probably get blank stares from almost anyone.

So, I work on being a generalist where possible to help fit in, and I develop the skill of tailoring my conversation content and style (and speech) to different scenarios. That's fine for casual social situations, and great for work, but I still yearn for someone who has read all the articles I just read and wants to talk about them. I know from the web they are out there, but our paths never cross.

The funny thing is, I blame RSS. I think that RSS really did enable the computer to be a "bicycle for the mind" and that you can tell quite quickly now in a social circle who uses RSS and who doesn't. I guess that your friends don't. A well-stocked news reader expands your world and your interests and your knowledge of current events so quickly, that it almost creates two classes of people.

I have had people comment favorably on my breadth of knowledge on current events and I almost laugh - I just skimmed a relevant article in my reader that morning, so I happened to know what they are talking about. I guess they are also used to "dumbing it down" for others.

I finally convinced my wife to use RSS and now we have so many more good conversations. Her eyes glaze over quickly when I mention Tokyo Cabinet or Wolfram|Alpha, but that just means I have to work harder to make it interesting and relative.

<comment><AUTHOR> > The funny thing is, I blame RSS.

Yeah, I can relate. I've always wondered if I would still have this problem if my thirst for knowledge wasn't so big. I've tried introducing some of my friends to things like StumbleUpon and reddit etc (they are somewhat intimidated when confronted with IT terms like RSS though). Only one of them has taken an interest, and he loves it and regularly crawls the web to learn more about the world. Strangely enough, it is when I did this that the problem in my original post started growing. I think my frustrations were being suppressed subconsciously and when I realized this shared some of my interests, it dawned on me how I missed real-world intellectual stimulation. Like an ex crack-addict who just took another hit after years of being clean.

I am of course a realist. I don't expect to "convert" all my friends, so in the meantime I'll just try to find ways in which to cope.

</comment></comment><comment><USER20> This is happening with me also. I'm a hacker (ok a developers) and my friends don't understand really what the web is, so I turn to spend 98% of my time in front of computer and avoid to go with them anywhere because their talk makes me headaches.

However (few months ago) I did found a friend that really understand me (although being tech-savvy) and we are projecting for the summer.

Keep searching, if in your area internet is widely used, you may find, I already find another one (she's a girl and work as a designer) using twitter, but not in the same city.

Be patient getting good friends need time

<comment><AUTHOR> Something that I've noticed is that this usually happens in "poorer" areas. What country are you from? I'm from South Africa, and most people down here don't even have a computer, let alone the internet.

My friends are different though, but they don't spend as much time on the internet as I do. There aren't any other software programmers in my group either.

<comment><USER20> lol, i'm from the north, no here there's a lot of computers (it was a state project to make them cheap for families at $700 or less) and internet is cheap also ($15/month) but my friends don't understand computers, they only know how to log on facebook :D

</comment></comment></comment><comment><USER21> Look for more friends, just because the rule is that one group is smart but lame, and the other is dumb and fun, doesn't mean that there aren't people who are both.

There are plenty of people who are smart and fun, and plenty who are dumb and lame.

Sure you'll have to work harder to find those people, but it should be worth it, to keep your identity

</comment><comment><USER22> We are all different people in different social circles. This is just how successful humans operate. You don't behave the same way over dinner with your parents as you are over dinner with your friends.

It seems to me you have unrealistic expectations. As you grow older you gain many different social circles, ex college, ex work, ex town etc. What binds you is different and what stimulates each group is different. If you seriously can't find something stimulating about a group of people then just stop seeing them... but remember it is also a reflection on you.

Most people offer much more then you seem to be able to extract and when addressed properly are stimulated by challenging conversation.

</comment><comment><USER23> My friend, you sound like my clone. I haven't really figured it out. We may just be doomed.

<comment><AUTHOR> If possible, can you explain which parts of my post resonated with you most and how you would have put it in your own words? I'm trying to understand how I should communicate these sort of issues to other people.

<comment><USER23> Like you, I've put it into words many times with my family. I have my cool friends, but they're turned off and intimidated by intellectual conversations and they don't have anything useful to contribute anyway. On the other hand, my geeky friends consider some of my interests superficial.

In my dream world, I'd have friends I could go lift weights with, have a BBQ, get dressed up, go clubbing, and talk continuation/passing style and credit default swaps while we do it.

I don't think you should communicate these issues to other people. Which group wouldn't be offended? It certainly won't help anything.

<comment><AUTHOR> > I don't think you should communicate these issues to other people. Which > group wouldn't be offended? It certainly won't help anything.

To an extent I can agree, but I think the internet is great for discussions like these. I'm not particularly afraid of offending strangers, especially if I've put in a lot of effort to avoid it, but the feedback is great in helping me understand how people might react in the real world.

<comment><USER24> Out of curiosity, do either of you two know what your MBTI types are? My initial guess would be some kind of NT. Maybe ENTJ?

</comment></comment></comment></comment></comment><comment><USER25> A few years ago, I discovered there actually are circles that are truly both very smart, and totally cool.

For example in Toronto, see <http://en.wikipedia.org/wiki/Sumkidz>

Previously I thought this was impossible, and I was didnt even dare hope to find it.

But, Im no longer in TO, and yes, its hard once again to find. But I know such people are out there!

</comment><comment><USER26> Don't ever dumb yourself down just to be accepted by people. It seems like you have simply outgrown your friends. You are growing and becoming a different person. That is a good thing.

I've always been the type of person who most enjoys having "deep" discussions with one other person. You need to connect with people on a much deeper level than you are currently doing. Don't worry, there are plenty of people like that around. You need to go out and find them.

So... Get out of your comfort zone and start trying new things. For instance, try swing dancing, start taking lessons. You'll find an entirely different caliber of people at swing dances than you will in bars.

I think you are doing fine and the fact that you are concerned about this and reaching out to others to find a solution tells me that you will most likely find what you are looking for.

Good luck in your search and keep on learning and growing like you are doing. It sounds like you are on a great path.

</comment><comment><USER27> You sound like you're torn between Niles & Frasier Crane and the cast of Friends!

FWIW, I have a LOT of different interests, and I get really cheesed off by one group of nerdy friends who are anxious to put down anything popular but am similarly frustrated by normal people who won't branch out of their comfort zone and look at the world through a different lens.

I'm not a computer buff by trade or training but I suspect this is a problem that has nothing to do with intelligence. It often seems to have more to do with not wanting to admit to knowing/not knowing about something so as not to appear too 'different'. I think it's a rut one can get out of through travelling/ moving/working somewhere new, because being suddenly forced to make new friends as an adult can encourage honesty and a re-evaluation of what is important.

Good luck, however you choose to tackle this problem.

</comment><comment><USER28> > So when I hear people confidently repeat urban myths like "we only use 10% > of our brains", or "you'll drown if you don't eat an hour before swimming" > etc, I don't bother trying to explain why I think they're wrong.

Why would you do a thing like that? I just go to extraordinary lengths to do the exact opposite... correct people all the time. Over the ages, it has resulted in a lot of nicknames, sarcasm but yes... a group of friends who accept me for what I truly am and with whom I truly enjoy the time I spend. And I wouldn't have it any other way.

I really don't understand why would you do a thing like that? Why hide what you are? Who cares what others think? I say jump right in... let them know what you think, pitch your ideas, debate... what's the worse that could happen? You would be back to the dark bedroom, bright monitor, 20 tabs, right?

</comment><comment><USER29> I just think it is more important to be authenticate with myself and people who knows me.I do not to dumb myself down if I am really smart. And I know there are chances that someone is smarter than I am or learned more domain knowledge than I have. I need to be modest but I need to hold my own ground. Otherwise, I will be a big coward toward my true self.

I did not try to fit in any group. If I don't feel comfortable. I leave. I am a pretty loner and I take it.

I hold very low opinions toward a person who can't be authenticate about himself/herself. When I feel a person are just a fake person and I just move away. IMHO, faking wastes precious resources in the world. I don't want myself to be someone wasting other people's time and emotion. And I don't want people like that to waste my time and emotion.

</comment><comment><USER30> This reminds me of a sentence by Arthur Schopenhauer: "... one's choice in this world does not go much beyond solitude on one side and vulgarity on the other".

<comment><USER31> It's important to make time for both! >:)

</comment></comment><comment><USER32> I've felt similarly, but I found that part of the problem was that I was seeking acceptance and participation from my friends, even though I was occupying myself with increasingly specific and esoteric things. Part of the solution was just caring less what other people think, and mentioning to them only the pretty/nifty/cool/engaging things that I work on, not the theoretical stuff.

Another good tip is that, with some time and effort, you can largely shape the kind of new friends you meet, especially today with the web. You could organise some informal gettogethers, interest groups, lectures, etc. Providing free beer helps a lot. Leverage your workplace, your school, your local watering hole. Hunt for people who are doing the same things you do. Blog about what you do, so others can find it. These days, you can automate a lot of this just by setting up search feeds on Google, Twitter, etc. Even on something as noisy as Twitter, there's someone talking about fluid dynamics, linguistics, philosophy, etc. Find them, see what places they link to, and join their communities so you can find out where they hang out in real life. The trick is to not treat the online world as a separate place where the "cool people hang out", but simply the medium through which "cool people hook up". Most of the people you want to hang out with are in the same boat as you: bored, alone and online.

The fact is that you are less likely to meet someone truly interested in your pursuits than just regular 'nice people'. Accept this, but make sure you are ready to encounter these special people and show them, very quickly, that you are a smart person worth getting to know and worth having in depth conversations with.

Also, though the hacker lifestyle has its perks, it never hurts to expand your interests to include more outdoor activities. Often you can be as intellectual and nerdy about those as you want, without suffering the nerd penalty.

As for correcting people on urban legends: people don't like being told they're wrong and many people enjoy urban legends for the drama and excitement, because it gives them a story to tell. Often they don't really care if it's true or not.

</comment><comment><USER33> My first thought upon reading your problem was, "I have friends who are smart and fun. Why doesn't he get some of those?"

It almost sounds like you have two very black and white social circles: dry, boring 'smart' friends, and shallow, ignorant 'fun' friends. Maybe you are too picky and elitist, I can't say, but I've also hung around genuinely empty- headed party types, and it is a little soul destroying. I feel your pain.

Any way you could find something more in the middle?

I know tons of people who know how to have a good time, but also have a geeky side, if you want to call it that. They're mostly grad students in social sciences / humanities-type subjects. I almost take it for granted most of the people I meet are going to be fairly bright.

<comment><AUTHOR> > It almost sounds like you have two very black and white social circles

Actually, I have one social circle. Maintaining two (there were 3, in fact) was too much of a strain on my personal life. I have no doubt that if I had chosen another group, I would have had similar problems adjusting my lifestyle (I've been through this before, so I know).

It seems obvious to say "you should find smart AND fun people", but the big question is "how?". In my experience it takes a while to realize that someone meets the criteria. After all, it's not usually one thing that attracts you to/repels you from people over time - it's patterns of behaviour, or emergent behaviour from certain characteristics. And by the time you've recognized these things about them (and the negatives outweigh the positives), you're probably already friends and then you have to work on distancing yourself depending on their their social proximity. This gets complex the feelings aren't mutual (eg. they consider you a closer friend than you do them, or vice versa). I know it sounds complex, but this is based on my own experiences. I'm sure many people out there have had to deal with distancing themselves from people.

</comment></comment><comment><USER34> look into "INTP" personality type if you haven't already.

the way i see it is that between people, we want to communicate ideas. in order to communicate we have to meet at a shared context, and shared semiotics. the way i'm writing this is not how i would talk to someone at work. the way i talk at work is not how i would talk to my mom. the way i talk to my mom is not how i would talk with my housemate. the way i talk about a problem with a designer is not the way i talk about a problem with an engineer. the way i talk about a problem with an engineer is not the way i talk when discussing philosophy.

if you value comprehension, and you value growth, then you are in the minority of our society - especially when it comes to comprehension. it's easier to find people trying to win than to find people trying to comprehend. since you value learning and growing, you will accelerate as will others like you, beyond the understandings common in our society. your context will diverge more so from shared contexts, simply because you are internally growing. don't fret - just communicate what needs to be communicated. some people may not be interested in some of the things your interested in, and others will be. run into brilliant people with shared interests, sure it might be exciting, but you'll still need to communicate - you'll still need to meet with words, body language, and smiles - you're experience is entirely your own. we are all alone, together.

</comment><comment><USER35> I dumb myself down occasionally when I realize I'm making the person I'm talking to feel bad.

I used to just keep on educating/making corrections for people until I realized that the primary purpose of socializing in the majority of cases isn't necessarily for communication, but for camaraderie.

Now, instead of going off on intellectual monologues, I simply ask clarifying questions or make jokes that make us all laugh and realize the correct answer as a group.

I usually guide other people in the group to announce the conclusions in order to not seem like I'm picking on the target.

</comment><comment><USER36> I think what is happening to you is pretty normal. My advice to you is to be more honest with yourself and with your friendships. If your friends are boring you change up the conversation or suggest doing something exciting. If your friends seem dumb then keep trying to talk about intellectually stimulating things.

If you feel like all hope is lost, get out of your bubble. Try a new activity. Go travel for an extended period of time. You have to be fun, exciting, and interesting yourself before you start attracting the same types of people.

</comment><comment><USER37> I've dumbed myself down before, to the point where people didn't notice I was smart. Was nice going under the radar. Tried for a while to knock down my intelligence with heavy amounts of drug and alcohol abuse, reading crap and not remotely pushing myself.

I developed a crazy hippy persona which allowed me to talk about crazy topics and get away with it. Was regular on the rave scene getting the nickname of the raving hippy.

When I'm out I won't talk about computers at all (the first rule of computer club is you don't talk about computer club), if someone asks me what I do I'll give a very general response. I often find myself talking about stuff I saw on ted.com or fringe science or other crazy ideas. I actively avoid the normal topics and try to switch the topic to something more interesting.

I like to be a social chameleon, bantering well with lots of different people.

I'm lucky with my friends and house mates, I live with A.I. programmer, a dude with a photographic memory and a fitness instructor, it's a nice balance. Friends wise know a lot of good people from my uni days who like to snowboard and/or travel and are also rather smart.

Though despite being able to hold my own socially, I'm happiest when sat at my desk, pissing around with pcs, code and learning crazy stuff from the net. I've also stopped dumbing myself down now and I'm working on creating the best version of myself that I can.

Guess in your situ would be tempted by a work break for 6months - 1 year. Go find your place in the world =]

Sorry bit of a ramble =]

</comment><comment><USER38> I think you're looking at this problem in the wrong way. Apply some of that intelligence of yours and try to figure out why you have to "dumb yourself down" to have a good relationship with your friends.

Conversation is a real skill. Communicating your ideas in terms that someone else can really understand and find interesting isn't always easy. And on the flip side, truly understanding what someone is saying and finding value in it for yourself isn't easy either.

</comment><comment><USER8> Your predicament is more common than you may think. There's a book called "Pretending to be Normal" it's about an aspie. You may not be an aspie, but a lot of what the author goes through and her behaviors could be lessons for you.

[http://www.amazon.com/Pretending-Be-Normal-Aspergers- Syndrom...](http://www.amazon.com/Pretending-Be-Normal-Aspergers- Syndrome/dp/1853027499/ref=sr_1_1?ie=UTF8&s=books&qid=1242584342&sr=8-1)

</comment><comment><USER39> [http://www.iwillnotdie.com/why-people-dont-like-smart- people...](http://www.iwillnotdie.com/why-people-dont-like-smart-people/)

<comment><AUTHOR> Much of what the author said on the two related blogs resonated with me:

<http://www.iwillnotdie.com/why-smart-people-fail/> <http://www.iwillnotdie.com/why-smart-people-are-unhappy/>

He may have a somewhat controversial tone (I'm sure he received even more flack than I did for saying "dumbing down"), but I simply "get" what he's trying to say, because like many others I've also been there. My problem though is not so much this - it's dealing with the frustrations that go with wearing the "mask" for so long.

Reducing this issue to smart vs not smart simplifies talking about human interaction, but it can also alienate many people. But one also has to consider: Is the mere fact that one considers things to this depth a symptom of the curse of the foreigner in Rome? Would I be less frustrated if I started caring less about what others think? Is it possible to go through life happy as a foreigner in Rome? I tend to think of these kinds of people end up as miserable old lonely men (or at least that's what the media would have one believe).

</comment></comment><comment><USER40> I would love to post a hugely insightful reply but I'm really struggling with that.

All I can say is that I know exactly how you feel and I completely understand your problem, which is why I find your description of your problem perfectly clear. Either someone KNOWS what you mean or they don't. Simple as that.

From my experience, it is impossible to explain this particular "problem" to anyone who isn't in the same situation without being accused of arrogance or ignorance.

For me, it is the curse of being an intelligent, semi-geeky, extrovert and intellectual young woman. I'm a bit of too many things, which means that I don't really fit into any group. But honestly - I wouldn't have it any other way, because I am grateful for the intensity and depth of my emotional and intellectual life. Although I have to admit that it can be a bit lonely at times. But then again - who doesn't feel like that sometimes?

Fortunately for me, I'm slowly learning to attract like-minded people, who don't need an explanation. Having at least a couple of people who just "get you" is crucial for sanity, although they don't have to be geographically close.

</comment><comment><USER41> The problem is you need to find even smarter people than the smart ones you mentioned, ideally geniuses who only hope they can meet smart and socially able people like yourself. In the end everyone has different levels of intelligence in different areas.

As for the engineering dance, I don't do it. If someone's got issues with their intelligence, it's their problem, not mine.

</comment><comment><USER42> Find people smart in things you know little about. I had years of fun with a group deep in political theory. Then I left school and now I have to find a new group.

But, there's a large percentage of people who just aren't intellectually motivated. Which is fine: family, friends, and/or fun are all equally valid motivators. When you're with them, focus on what you enjoy about what they enjoy. E.g. if they're socially focused, focus on the social interactions you also enjoy. Don't screw it up with geekishness.

With all that said, this is completely wrong: "The problem is that part of trying to fit in is emulating the behaviour of your peers." NO. It's about finding a way for all of you to get along being yourselves. I'll happily drop some random geeky-but-mainstream jokes with my non-computer friends.

Also, you're probably going to have to hang out with multiple types of people to get all your bases covered to get balance.

</comment><comment><USER43> Re: The engineering dance thing.

I find that technical people, developers/hackers etc. can often be incredibly annoying when they do this. Many also have a tendency to call other developers idiots or constantly talk about their skills. It's really not a great way to make people think highly of you, either professionally or socially.

</comment><comment><USER44> As Richard Rusczyk says, "If ever you are by far the best, or the most interested, student in a classroom, then you should find another classroom."

[http://www.artofproblemsolving.com/Resources/AoPS_R_A_Calcul...](http://www.artofproblemsolving.com/Resources/AoPS_R_A_Calculus.php)

That generalizes to how to live in adult life. Seek out the smartest people you can find, and spend time interacting with them.

This, of course, is what I like about HN. My happiest time of social life growing up was two years in junior high in Minnesota in which I was "tracked" with mostly very bright fellow students. Most of the rest of my life I've been trying to regain a social circle like that. Now I'm most of the way back to where I was almost four decades ago, with lots of friends who are plainly very smart, who get my jokes, and who understand my vocabulary.

</comment><comment><USER45> Perhaps you should check out <http://en.wikipedia.org/wiki/SuperHappyDevHouse> ?

If you don't live near one you could help start one in your area.

</comment><comment><AUTHOR> FWIW, after reading the 40 or so comments posted so far, here are some of my thoughts, observations and things I've learned after submitting the original post (in no particular order):

1\. Either there are very few people on HN who can relate to this "problem" (when I put something in quotes, it sometimes means I am doing so for the sake of brevity ie. I understand the implications and various connotations of a term but explaining that I do would take up to much time/space. Like now.), or they felt more compelled to comment on aspects of my post than post their own experiences. Both of these explanations echo what I've observed in the real world and on other sites

2\. Intelligence is a very touch subject for many people. Many people chose to comment on my choice of using the phrase "dumbing down". I'm still trying to find a good choice of words that doesn't need to fill entire paragraph, and that can adequately express what I mean. I think the audience here plays a big role is choosing the correct phrasing.

3\. I should spend more time thinking about the examples I cite. A few people based parts of their comments around the fact that I mentioned "strip club" (apparently sex still sells). I don't enjoy strip clubs at all. I mentioned it because a) it's true, b) I thought it would provide a good contrast. But more importantly, instead of spending time agonizing over examples (I spent quite a bit of time considering whether or not I should use the "10% of our brain" bit), perhaps I should try to express more clearly that I'm talking about _patterns of behaviour_ , rather than individual occurrences.

4\. I'm under no illusions - it's very, very difficult if not impossible to generalize human behaviour. People are different and they can interpret things in very different ways. Culture also plays a very big role. That's why I don't really expect to find the answer here or anywhere else. (Maybe there isn't an answer? Maybe this is a non-problem?) I just tend to look for patterns in responses and try to improve/change my own attitude, mindset, communication and relationships with people (if I do find great advice, it's a bonus). Most of the replies I've read have misinterpreted something I've said. That could be partly my fault and/or partly the reader's.

5\. One can't really quantify aspects of social relationships objectively, so you resort to using qualifiers like "tend to", "many" (instead of "any"), and "probably" etc, rather than talking about "10% of the time", or "60% of my discussions". But considering that most people seemed to ignore these qualifiers, is this really the best way to express these ideas?

6\. Believe it or not, I get along with people very well. I know about adapting to different situations and can do it with great ease, and I do recognize what I'm talking about as my own shortcoming rather than blaming others.

There are many other things but I think these are the most significant for now.

<comment><USER46> I agree, I think most of the people who responded assumed you were talking about geek/normal socialization. But you're talking about something else. You want to experience a variety of things, and thus you have a variety of social groups, but in each case you feel like you're suppressing part of yourself.

I know exactly what you are talking about. I don't think this is easy to fix. I've sort of "solved" the problem by living in the Bay Area. There are a lot of hypernerds, and a lot of wild and creative people who love to party, and a significant number of people who are in the intersection.

You'll never completely escape the problem, though. One of the blessings and curses of the modern world is that you can develop interests that make you very different from your geographic peers.

The one thing that you really MUST do is stay away from people or activities you have contempt for. That's not good for you or for them. And even if you think you are hiding it well, usually they pick up on it, at least subconsciously.

<comment><AUTHOR> > I know exactly what you are talking about. I don't think this is easy to > fix. I've sort of "solved" the problem by living in the Bay Area

After doing it for so long, I've realized it's not an easy problem to deal with. I think that you have a fairly accurate interpretation of what I'm trying to convey. I'm glad you posted about how you've attempted to deal with it (even though the "fix" may just have been a pleasant side-effect of moving for another reason). I've considered relocating, but I also like my friends. So to me, this is sort of ditching them and finding other people to be around. This could of course just be me trying to rationalize away unpleasant options but knowing myself it's also an indication of the difficulty of the problem.

<comment><USER46> Yeah. Also, be careful what you wish for. The Bay Area is great, but also an echo chamber for the kind of people who live in the Bay Area. Maybe it's a good thing that you bridge various worlds that don't normally communicate. You can be an 'interesting' person in all of them.

</comment></comment></comment></comment><comment><USER47> There do exist groups of people who like being corrected, and seek out their own mistakes. e.g. critical rationalists (see the philosophy of Karl Popper).

if interested, email me (see profile).

</comment><comment><USER48> One way to look at it is that you'll inevitably dumb yourself down in front of someone you haven't yet realized is actually smart. So it seems you have a choice between 1) frequently appearing pompous or out-of-place but occasionally identifying yourself as smart to other smart people, which is likely a desirable outcome; or 2) always appearing average, even in front of people you'd prefer didn't think of you as average.

</comment><comment><USER49> I got over it at the age of 25. Bloody hard transition. Pick new friends. If you are in SF, lets do beer!

<http://v3.mingyeow.com/?page_id=5>

</comment><comment><USER41> Okay - check this room out: <http://hackernews.speeqe.com/>

It's for people that feel they're in the same predicament as ilitrit.

..or anyone here for that matter.

</comment><comment><USER50> You're complaining about having two sets of friends? I think I'd settle for one.

But I won't dumb down.

</comment><comment><USER51> Do you have a girlfriend?

<comment><AUTHOR> No, but there are several women I sleep with occasionally. Do you think having a girlfriend would help alleviate the problem?

<comment><USER52> If you do like I did--stumble across a woman with an IQ 50% higher than mine-- then yes. And if the two of you are reasonably compatible, then you should consider marrying her. Otherwise, there's a good chance that a girlfriend would not alleviate the problem. At any rate, if you're interested in talking to a couple who has similar feelings, you can contact me at gmail.

</comment></comment></comment><comment><USER53> You must be very smart. Wish I Was You.

</comment><comment><USER54> There are several kinds of human-human relations in which dumbing yourself down are good thing. For example, in employee-employer relationship employee usually act dumber than his boss. Many women 'playing dumb' when it seems useful for them, especially when a man pays, and most of sales people doing this all the time.

But in some situations, you will probably hate it and will have an urge to be yourself - not act or adapt at all, and not see other people's acting. But this type of relationships is very hard to find. Usually what we got is a compromises, especially when in the middle age.

</comment><comment><USER55> Intelligence is a commodity and is often over-rated. For example, I think energy/focus is more important.

Everyone has something valuable to give whether they are smart or not. More relevant is "Do I like this person?"

A focus on intelligence rather than "do i like them" seems like you are rigging the game in favor of your strengths. You're intelligent so that's the lens through which you view the world. A beautiful person or an exception people person might use those lens.

Again, "do i like them?" is more important than your biased lens.

</comment><comment><USER11> You sound like a socially-uncalibrated egotistical person who blames his short-comings on other people.

I don't really see what the problem is with "switching modes" depending on who you're talking to. Everybody does it. It's natural. You don't want to be the guy that yaps about the research project he's doing during the department social hour, and which is coincidentally the only thing he talks about before and after social hour as well.

Even though I can follow a conversation about graph theory and computational biology, I still avoid the guys at social hour that won't talk about anything else.

<comment><USER6> _Even though I can follow a conversation about graph theory and computational biology, I still avoid the guys at social hour that won't talk about anything else_

I read his question as more like: "How do I reconcile knowing spouting X and Y are egregious idiocy with socializing with people who do that?"

I hear this question as more like "Doctor, it hurts when I do that, what do I do?" Answer: Don't do that!

<comment><AUTHOR> > "How do I reconcile knowing spouting X and Y are egregious idiocy with > socializing with people who do that?"

You're right, but after reading this to myself I realized that my problem could be more like "how do I deal with the frustrations that go along with managing relationships with people like this?"

I'm glad you posted that. Sometimes the difficulty in finding an answer stems from not fully understanding the problem one's self.</comment></comment></comment>


The git parable - <AUTHOR> http://tom.preston-werner.com/2009/05/19/the-git-parable.html?HN <comment><AUTHOR> This has been posted before, but I thought it was especially good, and the opportunity for comments on the older version (from over 600 days ago) are gone.

If you want to read the previous discussion it's here:

<http://news.ycombinator.com/item?id=615308>

<comment><USER3> Thanks for reposting - I hadn't caught it the first time through and thought it was a good read.

Started off easy enough (loved the simplification), but as soon as we got to SHA-1 snapshot names and "Rewriting History" with the redoing of snapshots and then to the staging directory my eyes glazed over.

It dawns on me that:

1\. I have been using every SCM since CVS basically like CVS (Subversion and Git specifically). 2\. I have a GitHub account I use to host all my open source and commercial code. 3\. I got it because it was the "cool thing to do" and I felt left out of the loop ignoring Git for so long. 4\. I have no idea how to _really_ use Git in the ways that make Git a powerful thing. 5\. The few times I have seen real Git errors like "Snapshot cannot be rebased, please schnoggleford your glerpentrap!", they have freaked me out and never been immediately obvious as to what is wrong; if it weren't for Google search'ing error phrases I would probably be using post-it notes with hand-written source code as my SCM system. 6\. I _REALLY_ want an graphic showing these different concepts explained in the article. I am a visual learner and reading (at 6am) through the snapshot re-parenting section without visual indicators of what is actually happening just isn't clicking.

It seems to me a graphic compliment to this article of what situation the main character has every step of the story would make this pretty much the ultimate "get your bearings" resource for new Git users.

At least I think so.

Who knows, I'm still excited when my pull and push commands complete without errors :)

<comment><USER4> I only ever explain git to people with the aid of a whiteboard for exactly this reason. Drawing the DAG makes it much more clear, and it's what I see in my head when I type commands now...

<comment><USER5> Same here - having the DAG up and being able to change where things point easily is awesome. If I were pressed to explain git without being in person, I rather liked the Git Parable.

<comment><USER6> Steve and Jake, I think you should do a video together-- I've seen Jake's version and it's pretty good. Maybe next month at PghRB?

</comment></comment></comment></comment></comment><comment><USER7> I agree that the only way to truly understand Git (which I am still a long way off from) is to understand how it works. Otherwise it really is totally incomprehensible. Two resources that helped me a lot were the "Git magic" link at the end of the article, and "Git from the bottom up" ([http://www.newartisans.com/2008/04/git-from-the-bottom- up.ht...](http://www.newartisans.com/2008/04/git-from-the-bottom-up.html)). Well worth reading, you'll realise just how simple Git really is and it's quite beautiful how much utility comes from such a simple model.

</comment><comment><USER8> A co-worker was totally freaked out because he had accidentally deleted his master branch, I walked him through how to create it back from origin and tried to explain the why and how but some people just don't care, specially once they know there's a 'Git guy' you can go to.

</comment><comment><USER9> The differences between source control paradigms come down to a few things: what is the resolution of versioning (project/subproject/file); how are checkpoint labels created/tracked; how many levels of sub-project are supported; what tools are available to resolve collisions/migrate change sets. There's more but that's a start.

Its not really "source control" until you can have multiple team members making changes to entire source sets independently and then reconcile them in a controlled manner. Missing that, you have a "version control" system - little more useful than zipping up your source periodically and saving it in a folder.

I'm not sure the article explains enough to put git into perspective - <USER2> mostly a "what is version control" parable?

<comment><USER10> Good point; to be fair, the parable starts off saying "how you might design one such version control system (VCS)".

<comment><USER9> Right; but I believe git to be a source-control system!

Forgot to mention: there are also build-control-systems, release-control- systems. All often confused/muddled in discussions.

</comment></comment></comment><comment> s-phi-nl An excellent similar site is Understanding Git Conceptually: <http://www.eecs.harvard.edu/~cduan/technical/git/>

<comment><USER11> Thanks, I was trying to remember where this article was.

</comment></comment><comment><USER12> I think the OP is stretching it to say that this info will let you "master the various Git commands." I knew pretty much everything in the parable, yet I can hardly get past add, commit, push, and pull. There is a distinct difference between operating and understanding the internals of Git.

<comment><USER13> Please ask away if there's anything specific that's confusing and I'll do my best to explain.

<comment><USER12> My biggest problem is I work alone, am undisciplined, and do not work with mature software. So my commits are all over the place. If I've already started to stage one commit how can I stage a different commit without losing my current progress?

I actually like git but I haven't found a tutorial that demonstrates a workflow for non-ideal conditions.

<comment><USER13> Something to remember:

      working tree --[add]--> index --[commit]--> HEAD
                              index <--[reset]--- HEAD
               ^----[diff]----^   ^-[diff --cached]-^

• git add moves things from the working tree into the index

• git commit creates a new commit from the index and makes it your new tip commit, typically updating whatever branch is indicated by HEAD. (HEAD literally is just .git/HEAD and is normally the name of a branch, take a look)

• git diff shows you the difference between the index and the working tree, i.e. unstaged work

• git diff --cached shows you the difference between the index and HEAD, i.e., staged but uncommitted work

• git add /path/to/file will stage an entire file

• git add -p /path/to/file lets you stage individual hunks from a file

• git reset unstages everything

• git reset /path/to/file unstages that file

• git reset -p /path/to/file lets you unstage individual hunks from a file

Now you know how to stage/unstage individual bits of work, either a whole file at a time, or bit by bit. You also know how to commit what you've staged, and how to view what you're about to commit.

So if you've started to stage some work and you're ready to stage a different commit, just commit the stuff you've already staged. e.g., let's say (for simplicity) you've edited foo and bar and want to make those changes separate commits:

       $ git add foo
       $ git diff --cached (confirm it's what you expect to commit)
       $ git commit -m "add fn() to foo"
       $ git add bar
       $ git diff --cached (confirm it's what you expect to commit)
       $ git commit -m "fix bug in x()"

In between making those two commits, you may wish to test the first commit. You could do that like this:

       $ git add foo
       $ git diff --cached (confirm it's what you expect to commit)
       $ git commit -m "add fn() to foo"
       $ git stash save "temporarily set aside work so I can test foo"

At this point, your unstaged/uncommitted work has been set aside and your working tree matches (with respect to the files git is tracking) the commit you just made. Here's where you can perform testing, potentially amending foo (git add, git commit --amend). Okay, you're ready to continue:

       $ git stash pop
       $ git add bar
       $ git diff --cached (confirm it's what you expect to commit)
       $ git commit -m "fix bug in x()"

I hope this helps. The key thing (IMO) is really to understand what git is doing under-the-hood. The git UI and (especially the) documentation are all over the place. Don't be afraid to start with a test repo and peek inside .git to see what it's doing as you execute commands.

Good luck!

<comment><USER12> Thanks, this is really helpful.

git stash is exactly what I was looking for in order to save my index without having to make a random commit. And then the -p option is icing on the cake (ps, it also works for stash).

I ran into a tiny problem with git stash. Assume I have a file called README. If I do the following:

      $ git mv README README.markdown
      $ git stash save
      $ git stash pop

The index no longer knows that I did a 'git mv'. It turns out the --index option will try to reinstate the changes made to the index, but it might cause a merge conflict.

Also, the patch interactive mode documentation says "g - select a hunk to go to" yet it never gives that option. I thought it might not allow it if there are a small number of chunks, but I even tried it on an old repo I have with 7 modified files and 'g' was never an option.... Have you ever used g?

<comment><USER13> I didn't mention --index since I was trying to keep it simple.

-g works for me, but it's only an option if there's more than one hunk in a single file. You can use 's' to split a hunk up if its non-contiguous.

</comment></comment></comment></comment></comment></comment><comment><USER14> I've seen this before and it explains how git works nicely. What I would like as a companion is the git commands to do the things described in the parable.

</comment><comment><USER15> Pretty interesting. I also tell my students to imagine a commit like a checkpoint in a videogame.

I try to teach real VCS, starting with simple patches, tarballs and merges and going through git, like it is an "patch/merge automation process". I realize they really like it and I try to improve some techniques to teach real VCS to students.

Glad to hear from people who's passing through same situation as mine :-)

</comment><comment><USER16> Somewhat related, but Joel Spolsky has a really excellent tutorial on Mercurial:

<http://hginit.com/>

It covers a lot of the conceptual differences between the distributed version systems and subversion, and gives a similar sort of story telling walk through of use cases.

</comment><comment><USER17> The number on take away from this story was the link to the great git magic resource at the very bottom.

</comment><comment><USER10> A good idea to explain git from its historic perspective!

I wonder, though, if some graphics would not have helped. People who hesitate to use VCS or who barely understand SVN will have a hard time understanding git without any graphic explanation of the DAG on which git operates, I presume.

</comment><comment><USER18> One curious thing I notice is that there's an emphasis on "understand the underlying mechanisms" in git thought, vs. with hg being a "just use it" approach.

I really like the idea of a tool not having its underlying details poking out.

<comment><USER19> I really do to, and that was one of the reasons I focused on Mercurial ( after I abandoned my first love, Darcs, after a rather lengthy merge. Really lengthy. )

Mercurial is a beautiful tool, with very few of the sharp corners poking out. But, at least for the source trees and development branching style I deal with, I'm convinced Git is more adaptable to any workflow you can imagine.

In the end, it may very well be the case that you HAVE to understand Git that well, because that means truly understanding the tree perturbations you're trying to manage. I've been slowly coming to believe that has to be true.

</comment></comment><comment><USER20> If this could be formatted as a tutorial, you'd have something really superb.</comment>


Libaco: A fast and lightweight C asymmetric coroutine library - <AUTHOR> https://github.com/hnes/libaco <comment><USER2> Would be nice to compare performance with others libraries! For example Stacklet [0] and Boost Context [1].

\- [0] [https://github.com/mozillazg/pypy/tree/master/rpython/transl...](https://github.com/mozillazg/pypy/tree/master/rpython/translator/c/src/stacklet)

\- [1] [https://github.com/boostorg/context/tree/develop/src/asm](https://github.com/boostorg/context/tree/develop/src/asm)

<comment><USER3> And to [http://libdill.org](http://libdill.org) as well

<comment><USER4> Ye, make a performance diagram.

</comment></comment></comment><comment><USER5> the most starred co-routine C is:

[https://github.com/Tencent/libco](https://github.com/Tencent/libco)

It's said golang learned from libtask:

[https://github.com/jamwt/libtask](https://github.com/jamwt/libtask)

And something else:

[https://github.com/baruch/libwire](https://github.com/baruch/libwire)

[https://github.com/halayli/lthread](https://github.com/halayli/lthread) (multi-core friendly)

<comment><USER6> Disappointing that Tencent took my library's name. I'd been using the name since 2006 or so. I guess you can't expect a two-letter lib* name to remain unique. My luck that theirs would become the most well known in this space, though.

<comment><USER5> hi byuu, are you going to add arm64 support? or considering C99?

if I have multiple cores, what's the best way to leverage that along with libco? will cpu affinity help?

<comment><USER6> Aarch64 support will show up as soon as I can get a Linux distro running on it to test the implementation with. My understanding is the ARM ABI isn't as well defined, and you tend to need slightly different implementations per device, so it may not be as useful as simply using the setjmp version.

You can set -DLIBCO_MP to get the co_active handle to be multi-threaded. Each preemptive thread would then have its own set of cooperative threads.

</comment></comment></comment></comment><comment> ur-whale A maybe naive question here, and also maybe slightly off-topic but: is there ever a reason to use co-routines when you have full-fledged multi-threading available?

As much as multi-threading can quickly become a headache wrt robustness and provable behaviour, I've always felt that a complex co-routine based codebase - even if you can theoretically reason about it using FSMs - is harder to "fit in head".

<comment><USER7> I use coroutines in C++ frequently as well as threads; they solve different problems. There are two major use cases for coroutines in my experience: they are a _much faster_ concurrency primitive in some cases and they make the design of some complex concurrency problems _much simpler_. Using coroutines, which are functional in nature, seem complicated until you grok them and at which point the design of such code becomes clear and obvious (like functional programming generally).

The large performance advantage of coroutines comes from two main areas. First, context-switching in coroutines is _at least_ a thousand times faster than with threads. On modern processors for software with fine-grained locking requirements, it is common to see multithreaded applications spending more CPU time on context-switching than actually running application code. Database engines were early adopters of the coroutine model because they have this problem in a major way. Second, you have complete control of the execution schedule ensuring that your code is always doing the best possible thing at the best possible time; schedule-based optimization offers a large throughput improvement by allowing you to dynamically select the task that is most optimal to run in the current context rather than selecting randomly. For a simple example from the database world, most atomic units of work are applying a scan operators to a data page, which are generally very fast -- access latency is a major fraction of the total cost. If you have a thousand queries running concurrently, many of them will touch the same pages at different times. In a coroutine model, when one coroutine pulls a data page into L2 cache, it is inexpensive to immediately schedule the other queries that will need to eventually access that data page to run their operator on the same page at the same time, switching between them sequentially. In multithreaded environments, you tend to end up churning the CPU cache for almost every single page operation. The overhead of most schedule-based optimization in threaded environments is prohibitive, so it largely isn't done.

The simplicity advantage for complex concurrency problems is that you don't need locks, which is the bane of multithreaded programming, with the caveat that all your operations need to be non-blocking. The full state of the various tasks is available to you so conflicts can be eliminated by scheduling the coroutine execution so that they never occur. For all practical purposes, code correctness is evaluated in a single-threaded context. You can design multithreaded code primitives that can inspect their own lock graphs to ensure that deadlocks and other conflicts can always be resolved automatically, database engines tend to use these structures pervasively, but they are both complex and computationally expensive. The disadvantage of coroutines here is that all of your I/O interactions must be non-blocking. Most I/O these days _should be_ non-blocking as a matter of performant design but if you are using coroutines then using blocking I/O is not a sensible option for the developer.

Architecturally, coroutines lead to a model where virtually all data is private to a thread whereas in a multithreaded model most data tends to be shared between threads. There are many concurrency and complexity advantages to making data non-shared but it comes with one major downside -- you need to figure out how to balance compute load in such a model, which is perfectly solvable but not trivial like the multithreaded case. Distributed systems have the same load balancing problem (though few attempt to solve it in a robust way).

<comment> ur-whale > by allowing you to dynamically select the task that is most optimal to run > in the current context rather than selecting randomly

thanks for the very complete explanation, and this sentence is the crux afaic.

[edit]: what do you use to do coroutines in C++?

</comment></comment></comment><comment><USER8> The fastest C co-routine library is going to be inside PuTTY [0].

[0] [https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html](https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html)

</comment><comment><USER9> Comparison to libmill/libdill?

<comment><USER10> Libmill is stack-unsafe [https://github.com/sustrik/libmill/issues/167](https://github.com/sustrik/libmill/issues/167)

</comment></comment><comment><USER11> Does anyone know if this plays well with multiple threads with a separate coroutine machine on each simultaneously?

<comment><USER12> You have to look if the thread context register GS is stored and restored in the assembler part.

<comment><USER12> Oops, FS stores the TIB, not GS

</comment></comment></comment><comment><USER13> Does anybody feel like adding some define black magic to sugar coat the syntax?

</comment><comment><USER14> This looks nice. It's always good to see formal proofs!

</comment><comment><USER15> I suggest using setjmp/longjmp instead of copying registers manually.

<comment><USER16> How would you do that? longjmp let's you jump back to the parent coroutine but after that you cannot jump back to the child to continue where it left off.

<comment><USER8> By using different stacks for each coroutine. But it's still not trivial.</comment></comment></comment>


Will Electric Cars Slow the Adoption of Driverless Cars? - <AUTHOR> https://hackernoon.com/will-electric-cars-slow-the-adoption-of-driverless-cars-73793f182e30 <comment><USER2> The thing the will benefit driverless vehicles is the increasing poverty of the middle class. As wages continue to stagnate, more and more people will be unable to handle the capital costs of new cars.

Nobody will ever choose driverless Uber-like cars for a long time. Paying by the drink (ie paying the $0.60-0.80 + margin that it costs to operate a car) will never be a good deal for the consumer. People will rent because they need to.

The current situation with Uber and Lyft is an exception. Uber has revealed itself to be a criminal enterprise and both companies rely on VC subsidy and pushing liability to operators to survive. That's not a model that will stand the test of time.

<comment><USER3> > Paying by the drink (ie paying the $0.60-0.80 + margin that it costs to > operate a car) will never be a good deal for the consumer.

The economics of this are the opposite. Having cars sit unused in driveways and parking spots, and be maintained by non-experts, is highly inefficient. Just like cloud infrastructure, it is more efficient to centralize and rent out capacity as needed.

<comment><USER2> No way. It's inefficent for a business trying to make money. As an individual, I don't have to recognize depreciation nor do I get to deduct depreciation as a non taxable business expense.

If it were more cost effective to rent cars, we'd be going to Hertz every month. By the time you build in the overhead, profit, risk, etc, you always pay more. A middle of the road car costs <$0.60/mile to operate, insure, fuel and maintain. Uber is easily 10x that, even with Uber losing money on almost every ride.

I've been in the business of centralizing technology services for twenty years now. It's a clear cost savings when you're offering something that is a commodity that can obtained on the open market. It's clearly cheaper to rent email. If you have the volume and capital, it's clearly cheaper to own the fiber between facilities.

Outsourcing business process is only cheaper as long as your use profile is static — the change orders kill you. Transportation and people are similar to that. Taking the bus to work is often a money-saver. But paying a $30 uber tax or overpaying for Amazon groceries is just a drag. A family of 4 probably saves enough in paper towels alone to make 1 car payment.

<comment><USER4> If you rent from Hertz every month, the car is still just sitting in your driveway most of the time, so there is no efficiency increase.

If you Uber everywhere, you need to pay someone else to drive you around all the time, that wipes out any possible cost savings.

Get rid of the cost of the person driving you and it will almost certainly be cheaper to rent than buy unless you have a very high utilization rate for the car.

<comment><USER2> Youre still replacing me, who isn't getting paid to drive myself, with a non- free AI.

Add in surge pricing, surcharges for dead-ending routes, etc and you have a cab. Useful, but inferior to controlling the car.

</comment></comment></comment></comment></comment><comment><USER5> The key factor in favor of driverless cars is the time saved from driving. For many working professionals, their time is worth more than the monetary costs of owning and operating a car, electric or gasoline. Even if one already owns a normal electric car, it would be economically compelling to switch to a driverless one and use the time saved to create more value for work and career.

<comment><USER6> You'd think if using commute time productively was a big draw, everybody would be riding the bus already, right? I think that the folks who work in occupations amenable to telecommuting and who could be actually productive during a long enough commute probably already are. Self driving cars might add value for the folks whose schedule doesn't work for park'n ride but otherwise fit the above params.

<comment><USER7> > You'd think if using commute time productively was a big draw, everybody > would be riding the bus already, right?

No, because the buses themselves are not a reasonable working environment. Every single person I know who can take the train to work does, many of them able to work (on trains that allow working - that's not, e.g. subways anywhere I've seen).

Not a single one of those will use a bus, even if it is overall faster (better route, etc.).

Driverless cars are likely to provide a reasonable working environment.

<comment><USER6> What makes you think they'd be any different from a regular car, taxi or bus other than what you are wishing for?

<comment><USER7> I can work in a car or a taxi, as long as I am not the one driving. Unfortunately, about 95% of the time I am in a car, I have to drive.

</comment></comment></comment></comment></comment><comment><USER8> So electric cars cost more up front but less per mile, and you're maybe going to keep them longer.

There's an opposing dynamic: a taxi drives a lot more miles per year than a personal vehicle, so taxis (driverless or not) are likely to be the biggest early adopters of electric cars.

Maybe if autonomy develops slowly relative to electric cars, we'll mostly end up driving our own electrics, but if autonony develops relatively quickly, we'll have a more sudden transition to autonomous ride-sharing and hardly anyone will drive.

Here's an interesting article from this perspective: [https://perspicacity.xyz/2017/05/24/this-is-how-big-oil- will...](https://perspicacity.xyz/2017/05/24/this-is-how-big-oil-will-die/)

<comment><USER9> Absolutely. High-milage fleets turn over every three years. The Toyota Prius became popular with taxi drivers very rapidly. As soon as the economic advantage is real and large enough, the switchover will be quick.

There will then be a long tail of lower-milage users swapping over gradually, and a small chunk of resisters and nostalgists driving manual petrol vehicles because they like it or have the same "beater" for 20 years and don't want to change.

</comment></comment><comment><USER10> no.</comment>


When in doubt, think in a foreign language - <AUTHOR> http://blog.seungho.me/post/22509010382/when-in-doubt-think-in-a-foreign-language

<comment><USER2> So... who else figured out the expected value on-the-fly and realized the options were effectively the same? When in doubt, think in math. :-P</comment>


Google Wallet - <AUTHOR> http://www.google.com/wallet

<comment><USER2> From the FAQ:

> Can I use Google Wallet with my phone?

> Google Wallet with tap and pay will be compatible with Nexus S 4G by Google, > available on Sprint®.

Now I know they have to start somewhere, but I have doubts about their ability to gain traction when they have compatibility with one device on one carrier at launch. They'd better ramp up quickly if they don't want this to be another Wave.

<comment><USER3> This is more than just a simple app install. The phone has to actually have an NFC radio, antenna, etc. inside for it to work. It's kind of a chicken and egg problem. No handsets (except the Nexus S) have NFC hardware because currently there's nothing your users can _do_ with the NFC hardware. Now there is, so hopefully more handsets will start coming with NFC.

<comment><USER4> Actually, a lot of phones have NFC technology in them.

[http://en.wikipedia.org/wiki/Near_field_communication#NFC- en...](http://en.wikipedia.org/wiki/Near_field_communication#NFC- enabled_handsets)

<comment><USER3> I believe the only ones of those that are Android are the Nexus S and the Galaxy S II (which apparently only offers it on some models, not others).

</comment></comment></comment></comment><comment><USER5> Why does it matter what carrier my Nexus S is on? If all the Nexus S models have NFC capabilities, what difference does it make that mine is the GSM model on T-Mobile or a regional GSM/CDMA carrier vs a CDMA model on Sprint?

Edit: nvm, didn't see the other discussion: <http://news.ycombinator.com/item?id=2588380>

</comment><comment><USER6> I'm more excited for the Google virtual prepaid card. For some reason, a lot of credit cards don't offer one time use credit card numbers for online spending. I know Citi does and at one time paypal did

<comment><USER7> Bank of America (from their purchase of MBNA) does as well, though possibly not on all cards.

</comment></comment><comment><USER8> I find it amusing that the logo looks like wave's. Actually, I'm pretty sure I've seen that exact logo design somewhere else (not Google related, however).

</comment><comment><USER9> So the idea is this is more than credit cards, it is about using NFC to replace keys, boarding passes, and whatever else you can think of. Not so clear on the monetization for google. Well after my first gen iphone broke, i still don't have a smart phone. Is this worth $30 a month yet? No, not to me.

<comment><USER10> I have no intention of ever owning a smart phone. When I buy a cell, I look for the phone with the best battery and highest call quality. That's it. I don't need to surf the web, watch videos, listen to music, or send text messages. I'm not against the idea of using my phone as a payment device, but I'm not going to get a data plan or a new phone for it.

Further, I'm not going to use a company for my _money transactions_ that doesn't seem to have any way to reach a human being to get help when something of theirs that you use goes wrong.

If Amazon did this, I'd be all over it. When I have a problem with Amazon, I can call them directly with little or no hold time. Or I can email them and get a reply within hours.

</comment></comment><comment><USER11> How can the google wallet site not use sprites for the navigation images? <http://cl.ly/77E8>

Oh, and the links don't work when you click on "How it works" <http://cl.ly/76Vv>

TIL I could work for google.

</comment><comment><USER12> Am I missing something? Why can't they just produce a Micro-SD card that can run in card emulation mode? Wouldn't that allow a lot of people to use this without new phones?

</comment><comment><USER13> So, could this work between two phones? That would be interesting: Paypal meets Square (and possibly disrupts both).</comment>