b. "Would you like to go to the fine art museum with me and 4 of my friends on Friday night?" "No, I would not like that."
c. Note that I can escape from this pattern only when it's extremely obvious the truthful answer is a bad one.
"Do these jeans make my ass look fat?" "I don't think it's the jeans..." I can avoid those at least...
2. Intentionally filtering out mundane trivia from my brain. "Do you know so-and-so's phone number?" "No, but it's in my phone." "When you left this morning, did you notice if my black gloves were on the counter?" "I would never notice them unless they were on fire or something..."
I wish I could give you more karma on this comment. This sounds just like me and it is hilarious. I also find that people say "You know what I mean" to which I answer "yes". They interpret this as "yes and I agree", but what I really mean is "yes, I hear the words coming out of your mouth, and I believe I understand their meaning".
Along those lines, I find myself increasingly impatient with the verbosity of spoken English. Many times someone will ask me something, and before I even start explaining my reasoning, I think: "is accomplishing this worth the time commitment of explaining it?" ... sometimes it is not, so I simply just say "nevermind".
When it comes to responding to questions, I'm pretty sure this just makes me look rude. When asked about the salad or museum, I'd just reply "No." About the phone number: "Yes" (then I'd look it up in my phone). For the gloves: "Yes" (I tend to remember stuff like that). All the rest just seems extraneous and time-consuming to say, especially when it can be inferred by the listener if they would just think it through.
It's over developed my already prevalent logical thinking. This is great because I'm known as a clear thinker that can solve complex problems, but I've found that a lot of people have difficulty thinking in these terms, preferring to remain in a more emotional pattern.
End result is that it harder to relate to more and more people, which remains important. I'd imagine this happens to most programmers, although I don't think there is a good appreciation for how significant this is generally.
Whenever I pay for something in cash, I'm trying to make it so that the change I get back requires the least notes or is simpler.
For example, if I owe $7.84, I might give $13.09 so that I get $5.25. I sometimes get confused looks.
Related to that, I don't like having more than 4 $1 bills. I feel like, at some point, I didn't give the cash I should have.
I picked that up after I spent some time in China, where it's a common enough thing that nobody thinks twice when you do it. But back in the US, it gets a lot of strange looks.
God Bless Australia. I love that country, and I really liked how tax is already included in all prices and payment is rounded to 5c since there are no 1c pieces. It makes payments so much simpler.
Related: when people ask me if I'd like "A or B" I wonder if people mean "A || B", to which I'd reply with true/false, or "max(A, B)", to which I'd reply with A (if I have higher preference for A) or B (if I have higher preference for B).
Here are two unambiguous examples:
"Are you a US citizen or permanent resident? Yes [ ] No [ ]"
versus:
"Would you like coffee or tea?"
In some settings, when they ask "A or B", it's hard to know which of the following set are valid answers: {{}, {A}, {B}, {A,B}}
Biggest problem I have: Years of finding surprising bottlenecks and bugs where you least expect it has lead me to question every line of reasoning\anecdote people say unless they are able to back it up with something sufficient.
Maybe it's the correct thing to do, but it also annoys the shit out of people when I ask them if its possible that their single data point could have been an outlier or just a complete misinterpretation.
Have a condition where I always need to carry some single-day use medical equipment around.
I have created a mental invariant that says that unused, spare units are in my right back-pocket, the one that is currently in use is in the left front pocket, while the left back-pocket is for trash.
This allows me to easily "poll" for whether I'm equipped to leave home, and has made sure that I have not once in 15 years found myself without it. I attribute the success of this system largely to my "programmer mindset".
Not being able to pick up on hints, ever, or otherwise be able to work with incomplete information. If I don't have all the arguments to a function in my brain, I just ignore it until the rest fall into place. Sometimes people specifically leave those out, so I'm lost until it's too late.
"There's a sandwich in the fridge, if you're hungry."
"No, there is a sandwich in the fridge whether or not I'm hungry. In fact, if I'm hungry, it's more likely that there is not a sandwich in the fridge, since I would have eaten it by now.
I hate Magical Grammar -- any sentence structured so that the existence of a need leads to the existence of a means of fulfilling it is annoying.
I believe it's meant to be read "It might be useful to you to know, if you're hungry, that there's a sandwich in the fridge." However, "It might be useful to you to know" is a universally applicable prefix to every single statement people make--otherwise, why would they be saying it?--and so it's dropped, even when the other clauses in the sentence happen to refer to it instead of to its subjunctive.
Sometimes I get really annoyed that I can't automate all the boring parts of my life in the same way I can do (and I always do) in a computer.
From the top of my head: dishes, picking clothes, paying bills and banking in general (I would be willing to pay $100/month for a bank that provided me a good API instead of forcing me to use their crappy stupid websites), organizing physical stuff (why the fuck can't I have "garbage collection" for what is in my room?) and dealing with my car (I have to fill it in with gas every time).
You do actually have to run the Garbage Collection thread/function every so often. The key is to not use mark and sweep, but rather to time stamp everything when you use it. Get rid of the emotional attachment. If you have not used something in a while but your caching algorithm for the item says you might need it again, swap it out (to a box in the garage, get it out of your sight). Otherwise get rid of it. Periodically, throw out everything in the slow-to-access storage (the box in the garage).
The problem with using mark and sweep when trying to garbage collect your life is that the default method is just to mark everything and never actually sweep.
I do this all the time - all bills have to be the same orientation and in order of smallest to largest value. If I take a few out of the ATM I'll stand there sorting them for a few seconds annoying the people queueing behind!
I remember counting from 0 when I was young, while all the other kids counted from 1. I considered myself right then and still do. That was well before I had any exposure to programming. Guess I was born for this profession.
I was actually trying to figure out where my window was on the outside of an office building I work in (5th floor). So I started with 0 which would have meant I would be looking at the 6th floor, not 5th.
1- Always trying to start something as soon as possible ensuring others that it would be improved in next iteration. even things like buying clothes, shoes and eating
2- using too much technical jargons in my discussions (switch, multitask, exception, stack etc)
3- finding bugs in almost everything. tv shows, movies, direction, games, house architecture, roads, street lamps you name it
4- getting frustrated in social gatherings, thinking "Why are all these people talking about so stupid things?" or "why dont they just get to the point?"
5- guessing what people are gonna say or do and preempt them in their discussions/actions
I learned to program when I was really young and I can't help but think that it gave me my OCD. A bit of CBT and some "mindhacks" of my own have almost got rid of it now though.
Another one I had as a kid was writing the number zero with a line through it. That's how it was on the BBC Micro and my schoolteachers couldn't understand why I wrote it that way too.
I guess another one is being a major advocate of US English (I'm English) but I'm not sure if that's due to programming or because, well, it is a better dialect.
One of the nice things about the English language is the difference between U.S. and UK rules, so you can mix and match them to your own taste and people can't tell you you're doing it wrong.
So for example I write "center" not "centre" but "axe" not "ax".
Not so much that programming has given me, but constantly having to come up with analogies to explain highly technical concepts to my non-technical co-workers has invaded my life.
"See, your username and password are like a combination lock, where the Kerberos ticket is a key. When you authenticate to the portal, you hand the key to the website, which validates it, and lets you in... but the key is actually in your browser, so it does that all transparently."
I recently interviewed at a place where they had set up a tip jar -- you had to put a quarter in it if you were caught pedantically correcting someone.
I treat a lot of things I shouldn't in a functional way... this begets that, and other such methodical thinking. perhaps it is more of a side effect of coming out of the zone or something, but it seems to take more and more of a conscious decision to step out of that mode... and that's hard to do with the remaining hours of the day.
I solve problems by asking yes/no questions. And, by golly, you'd better give me a yes/no answer. No blah blah blah, no roundabout story. Just say "Yes" or "No," dammit!
I don't think programming has given me any "real life bad habbits."
I get the feeling that a lot of the things people have listed are things they do because they like the idea of them, and actually do on purpose rather than habit.
I cant do math. I suck at it, i can understand it, but i have a hard time going through the calculations. I do all sorts of dumb mistakes, and always miss something. Its the details that get me. I find this to be my greatest challenge, because i have some serious math exams coming soon.
Somewhat related, I cant seem to be able to study stuff that are not interesting to me. I have a big exam, i should study, NOOOO, i dont whanaaaa, whaaaaa.... I whanna hack, i dont whaannnt to studyyyy...whaaaa.... I find myself whining in my head very often. I guess i should just shut up, and do my studying, and maybe hack later...
1. Answering questions fairly literally.
a. "Did you like the salad?" "No, I did not."
b. "Would you like to go to the fine art museum with me and 4 of my friends on Friday night?" "No, I would not like that."
c. Note that I can escape from this pattern only when it's extremely obvious the truthful answer is a bad one.
"Do these jeans make my ass look fat?" "I don't think it's the jeans..." I can avoid those at least...
2. Intentionally filtering out mundane trivia from my brain. "Do you know so-and-so's phone number?" "No, but it's in my phone." "When you left this morning, did you notice if my black gloves were on the counter?" "I would never notice them unless they were on fire or something..."