Programming has given me a lot of good habits and it continues to give me more everyday. But I have also gotten some bad habits from the mindset that I have put myself in. There simply are some things that are deeply rooted in my nature, though some of them I wish I could get rid of.
Looking for polymorphism, inheritance and patterns in all of God's creations.
Explaining the size of something in pixels and colors in hex code.
Using code related abstract terms in everyday conversations.
How have you been damaged?
Consider 256 a round number.
Really need "Ctrl+F" for news papers, novels, magazine, text books
Lack of exercise -> Not eating much -> unhealthy life style.
Oh and bad sleeping patterns
Using methods of formal logic with normal people. Having to explain what a logical fallacy is, first, everytime someone says something completely wrong gets frustrating fast.
Them: 'Some argument'
Me: "Unfortunately, your point has fallen victim the [logical fallacy]"
Me: "You see, when you say that, the argument isn't valid, or true because..."
Them: "Fuck you."
Mentally trying to Ctrl-Z on things I just said.
I wanna refactor the world.
Identifying deadlock situations in food recipes that require steps to be performed in parallel.
Using multiple parentheses in human languages in the same fashion as I would in a programming language. Apparently, conventional English style is that one ) closes all the parentheses (and we're not supposed to put parenthetical statements inside other parenthetical statements (even though it's perfectly grammatical to do so)).
Paying too big attention to minuscule unclear details (which can annoy people because they expect that you make an assumption yourself and live with it). Wait... didn't it make me a programmer in the first place?
Ending sentences in emails with semicolon;
I often wish I could use git to resolve real life conflicts
I keep planning life around modifiability, separation of concerns, low coupling, etc. I mean, it seems silly to hardcode my name on every form I ever fill out; why can't I just put "See birth certificate", and then only ever have to change one piece of paper if I decided to change my name? :)
Put everything into two categories:
I am so used to the backspace key that I literally can't write in a linear fashion anymore.
It's terrible if I'm in a situation where I need to write long texts with a pen and paper. I would start writing Y and then realize that "oh wait, I should've said X first", but once I write X I realize that I should rephrase Y, and having done that it becomes clear that Y needs a bit more introduction Z that goes between X and Y, and if I manage to do that I'll realize that the flow of the sentence is wrong so I need to correct punctuations, and as I do that I discover that I used the same word 4 times so I need to come up with synonyms and AAAAHHH!!!!!!
Thank god for erasable pens.
Everything has to be in powers of 2.
Sometimes I count things starting from zero:
"How many beers are left?"
"Zero, one, two, three... We have four left!"
Being Lazy - don't solve a problem until you absolutely, positively have to.
This, except I try to autocomplete long words:
Well as a programmer, we are trained to avoid repetition at all costs, and everything I do in the day to day life, i try to minimize repetition as much as i can.
It was specially hard when trying to write essays, because i strive to write in the most "efficient" way, so i end up saying everything i want/need in very short essays, while everyone else was writing "unnecessary" things and having a much bigger essay :P
I use to indent every thing I write. Even in paper! Ctrl + F is something I miss when reading a paper book.
Muttering in the elevator about how I would NOT have written the floor selection algorithm as stupidly as whoever made me wait half a minute extra.
I use Vim a lot at work - now I find myself smashing the escape key in all other editing applications.
Getting annoyed at people who use MB and Mb interchangeably.
Programming gave me a habit to try to hit Ctrl+W (Unix shortcut, used in vim and Bash) to erase previous word. However, in most programs (especially browsers) it's used for closing the current tab...
I tend to be more forgiving when anything that has code in it (so basically, anything that is at least as complex as a doorbell) behaves weirdly.
"Yeah, putting a slice of bread and and a hamburger bun into the toaster at the same time is probably an edge case that the developer didn't consider."
This kind of attitude makes you a lot more relaxed than a "Why doesn't this &%$&%!$!§/&@% do what I expect it to do?", so I'd consider it a good habit that programming has given me.
I slash the zeros all the time.
I often find myself parallelizing simple tasks to get the job done in less time.
It's like I'm premature optimizing things where I don't even need to.
I'm bringing the bad things of programming to real life!
I have a few...
Feel like typing short words and hitting tab twice regardless of text editors. Notepad should implement some code snippets too :-)
Using CTRL +SPACE (eclipse code complete shortcut) in notepad.
There's a huge mental barrier with the idea of quantum mechanics and fatalism. I think physics engines did this to me. See, in a computer program if you have a universe in motion with a fixed set of rules and no external factors you'll get the same result every single time for any given timestamp.
According to my friends who know quantum mechanics there is a degree of randomness in the universe - the universe isn't some sort of state machine. My mind always thinks of the universe like a billiard ball table with the balls in motion on a massive scale - even though we may not be able to understand it all there's nothing we can do about the outcome.
The idea of randomness and the universe not following a fixed set of rules doesn't make any sense to me at all and I keep on trying to justify the "same actions yielding different result" with internal ideas like "how do you know there are no unknown factors in play that follow a fixed set of rules causing this randomness?"
Waiting the garbage collector to clean my room...
Perhaps I have to implement IDisposable:
protected class MyRoom : IDisposable
I hate priority rules in traffic because they’re not deadlock-free.
What happens when four cars arrive at the same time at a crossing? Who has priority?
(This is just an example; a lot of real-life situations are based on compromises that are not fool-proof and may fail badly in theory, but rarely do in practice. Always give me the creeps.)
Escaping my quotes. I did this on an English paper once. I was quoting from a book, and therefore already had quotes. So I escaped the inside quotes to prevent confusion:
"Kino said, \"He will not come\"" (Steinbeck 7).
Sitting at a four-way intersection trying to formalise the concurrency involved: "OK, so it's safe for opposing cars travelling straight to both go at the same time, but not if one's turning across traffic..."
Favorite places == Google and Wikipedia
An unwillingness to do anything or say anything more than once.
Integrating obscure programming-relevant words into my everyday vocabulary.
I used to say "this is not the same as that." Now, I say "this != that."
When my co-worker is frustrated with a person, I just IM him "I.DropKick("ThePerson");" Then, he laughs.
My friend and I took a programming languages class together where we learned Scheme. In Scheme, you can call boolean functions like string? "cat" to return true, it is a string.
It carried over into our speech patterns. ? is pronounced "Huh" so we look at each other and go "Hungry Huh" It's taken our friends several months to figure either of us out.
Trying to approach a problem by assessing every possible angle/permutation/perspective even if many of them are wrong or irrational. It especially sucks when I question trust/merit in others when I know I shouldn't because rationally what I'm questioning could be possible.
Note: The looking at things from lots of different perspectives is something I've done since I was a little kid (I can't really help it). It's the human disconnect of programming that I have to keep in check.
Mentally modeling the world mentally as a consistent model of objects and their interactions to the finest level of granularity possible the same as I'd do in an OOP program. The world shouldn't be perceived in such a level of detail. It kills the romanticism of life.
Thinking way too hard about what I say/do in my interactions with others and forgetting to live in the precious present . Coding intensely for long periods of time literally makes me socially retarded sometimes. Something which I find really disconcerting since I spend a lot of time/effort trying to build deep and meaningful social relationships with others. http://www.livinglifefully.com/flo/flopreciouspresent.htm
Have everything organized, I only do something until I have enough resources to do it or a protocol to do it perfect... I wish life could have some shortcuts!! Ctrl + C & Ctrl + V for homeworks...
When I go to write a twitter hashtag I usually double digit the # caracter.
It's because I always open and closing parenthesis, braces, quotes, etc. and then return the cursor to the center to write the code.
It is funny how many people cannot hold off of touching something new and shiny and... Oh wait it is not working anymore. I think that instruction manuals should be put on the very top of packaging with a "Dangerous!" sign and having poison gas container that propels its content straight to the nostrils if, say, instruction was not opened while trying to further dig into package content (-.
I'm not eating at the right time and relying too much with the IDE. I also sleep very late.
Talking using SQL syntax..
ctrl+f and the sometimes i coding while dreaming..
Ending every sentence with a semi-colon.
Whenever I see a statement such as this = that - which clearly was meant as this is equal to that - I mentally change it to
this == that in order to avoid overwriting.
I am unable to use computers without the feeling of profound hate and frustration.
And my perception of the phenomena around me has changed in such a way, that I perceive things the way I'd model them in a software. In consequence I do have trouble explaining certain things to "normal" people :)
Judging whether a problem really needs to be fully analyzed and debugged or whether a workaround is more in order.
I will answer with my bad habit below:
now when i write to peopleWorkers i tend to use camel case and void all punctuation and add the semicolon;
Pressing an elevator call button when the elevator is already there, as a way of acquiring a lock on the elevator to prevent a race condition.
I have a notebook that is append only and log-structured.
Always having to Ctrl+Z when typing something in another editor than
vi because I manage to hit Esc and automatically type
:w and Enter ...
When someone is speaking nonstop or just plainly annoying me, I mentally type
kill -9 on them and smile at them.
I tend to construct sentences that are effectively impossible to parse without parenthesis that function as expression constructs rather than as the normal English construct.
While reading a (old-school) newspaper in a café today, I tried to tab the flattr-icon (no kidding)
I find myself thinking that the Heisenberg uncertainty principle and the Plank constant is part of a yet-to-be-formalized proof that we're all living in a big simulation with limited computing power.
I cant stop putting
; after whatever i write !!!
my lists always looks one item smaller ! these people don't like zero at all !