- if you'd read the Story of Mel before seeing it linked here.
- if, after reading it, you were left in a state of awe at the sheer awesomeness of his opcode-incrememnt hack.
- if the usage of the word "hack" in the previous sentence made sense to you.
- if you believe computer nerds have the right to rearrange language as they see fit.
- if you flat-out refuse to obey the English rule that period comes before the close-quote at the end of a quoted sentence.
because if the sentence didn't end in the quoted text, its just plain wrong! and grammar officials are just too dumb to understand this
- if you have deliberately received point deductions on English papers for disobeying this rule, even after submitting subsequent drafts.
- if you have ever used the phrase "linux box".
- if all of your firends use the phrase "linux box".
- if you have ever heard a friend say "Vaxen".
- if you know what a VAX is.
- if some of your friends use the phrase "boxen".
- if your packets have to travel through a pair of boxen (two other computers) or more to get to the internet. (routers and switches don't count)
- if your computer hardware costs more than your car.
Note: for purposes of this rule, a car-computer counts as a computer with a very expensive case
(and yes, I'm trying to justify that I finally bought a car worth driving)
- if you can recognize your co-workers by their tabbing/spacing patterns.
- if you have ever had an argument (or multiple arguments) about whether a open-curly-brace should get its own line.
- if your brain suports background processes. (you can tell whether you are running background processes because every now and then you will be thinking very intensly, with no concious train of thought. My brother claims this is "System Idle Process: 100%", but what does he know, anyway. He's a mechanical engineer.)
- if you have ever tried to toast bread in a microwave, because you were trying to figure out how to remove a node from a Red/Black tree. (This situation was brought to the attention of my cpu when my left arm threw an exception because it didn't know how many seconds to put bread in for.)
- if you think of your brain in terms of digital circuits and operating systems.
- if your left arm throws exceptions.
- if you know what a Red/Black binary search tree is.
- if you have ever wondered how to remove a node from one.
- if you've ever changed back and forth between Delphi and C++ so many times in the same day that you can no longer remember whether function parameter declarations are separated by commas or semicolons.
- if you have ever stayed at work til 6:00a cause you just couldn't stop until you got it all finished.
- if all human interaction is considered "wasting time" by your employer.
- if it has ever taken you two hours to write one line of code, and you considered it worth the extra effort.
To help clarify this, the one line of code was a representative of a major shift in the design of the program, and so I'm really asking if you sit and think through the cascade of changes that could be caused by a new idea before continuing
- if you change your email font to "Courier New" because it feels more comfortable.
- if you know the names of all the punctuation characters on a keyboard.
- if you know all the ASCII codes of the characters on the keyboard.
- if you know (well, used to know) all the scan-codes for the keys on the keyboard.
nevermind this one if you are too young to have seen the DOS days
- if your slang word for the exclamation point is "bang". Example: "#!/bin/sh" is read as "shebang bin ess aich".
- if you refer to the less-than and greater-than signs as angle brackets.
- if you call the accent-grave a "back-quote".
- if you've ever read someone else's code and gone "ewww! yuck!" and then rewritten it all and then looked at it the next day and realized that you didn't make it any better.
- if you've ever written a small routine in inline assembly just for the heck of it.
- if you've ever typed an English paper and started ending your sentences with semicolon-return pairs;
- if you've ever pasted an english paper into a terminal window so that you could use a script to convert the semicolon+CR pairs into period+space+space.
- if thinking of a cool new algorithm or object interaction scheme gives you an adrenaline rush and you have to stand up and walk it off. (its hard to type when your arms and fingers are jittering around)
- if you have ever been doing a rather tedious activity on your computer and you thought of a program you could write that would get the job done hundreds of times faster and easier, and stopped to work on that program, and then never got that program finished as well as never getting the tedious activity finished.
- if any of the "furniture" in your room is actially a stack of computer cases.
- if you've ever stayed up so late working on a program that you started making faces and rude gestures at your compiler whenever it gave you error messages.
- if you've ever sent yourself an email because you were interested to see what header lines your email client attaches.
- if you've ever written test cases for a class that you whipped up to solve a quick problem and never intend to use again.
- if you've ever run a tube of toothpaste under the faucet and then tried to squeeze your toothbrush onto it, while thinking about philosophical stuff like the relation between reason and desire and insanity.
- if your thoughts on that relation stemmed from spending an entire free day in front of your computer writing a piece of reusable code that you didn't directly need for any of your current projects, but saw a possible use for in the future.
- if you've ever tried to squeeze a tube of toothpaste onto another tube of toothpaste.
- if you consider logic to be a form of art.
- if you think of yourself as a "Logic Artist".
- if you sleep within 20 feet of at least 3 computers, all of which are running.
- if you have to move more than one IDE cable in order to find something on your desk.
- if you have to move more than 8 CDs in order to find something on your desk.
- if you get a nostalgic feeling when you see a box of floppy disks.
- if you experience frequent confusion over which which input device is related to which monitor.
Update- this is no longer a problem, thanks to Synergy. There is now only one set of input devices.
- if your computer setup at home looks something like this.
- if your computer setup at work looks something like this.
- if someone in the same room with you has ever asked you a question while you were in a hurry to fix something and you didn't have an immediate answer, and then truly forgot to answer them all within the space of ten seconds.
- if you have ever remembered such a situation twenty minutes later, but not been able to remember the question.
- if you don't even remember who it was that asked.
- if you get annoyed by the way the your refrigerator light blinds you every time you go to take out the leftover pizza.
- if you've ever woken up and been so disoriented that you can't remember what namespace your alarm clock is in or how to call its methods.
- if you were so disoriented that you couldn't remember where the keyboard was, either, to shut it off.
- if it took you longer than 10 seconds to remember that the "methods" are invoked by slapping the snooze button.
- Bonus: if your alarm clock actually has a keyboard.
- if your girlFriend field points to null.
- if you have a sneaking suspicion that the girlFriend field was declared as 'final'. (similar to c++ const, for the Java illiterate)
Update! I might not be a programmer! Real Programmers of course remain single for their entire lives... though maybe this next one is a fair second chance:
- alternate condition: if you went out on your first date, ever, at age 28
- if a decent percentage of your daily brainpower goes toward thinking about how you think.
- if you refer to this as metathinking.
- if the reason you perform regular metathinking is because you think it might be fun to write an AI someday.
- if metathinking has caused your average shower to reach the one hour mark.
- if, despite all the time you spend thinking about your motivations and decision making processes, you still frequently use your time unwisely, even while thinking about it.
- if your excuse for this is that you don't want to disturb your sample data.
- if you think that personal hygiene stuff like shaving or changing clothes is for people with nothing better to do.
- if, to write a simple web page like a list of conditions for "you might be a programmer", you type it up as XML in a text editor over SSH and convert to HTML using XSLT and CSS.
- if that process is automated with a makefile.
- if you put the list into version control. And the stylesheets. And the makefile.
- if you briefly flirted with the idea of storing the list in MySQL.
- if it didn't occour to you until just recently that this is unusual, and might be a symptom of being a programmer.