Hacking
You know you've been hacking too long when...
-
...you're looking for your hilighter and you think: find . -pen HiLiter -print
-
...your SO asks you where you want to eat on a friday night and you want to:
cat yellowpages | grep pizza | grep carryout | more
-
...you want more coffee and you think:
finger waiter; cat *coffee* | grep -v decaff | drink | more
-
...you're hacking on a project late at night, you are trying to get at some
munchies, and you are having problems opening them (fingers stay in keyboard
mode) and you think: Finger: Error, cannot open chocolate_bar.
-
...you're doing laundry, and you think: touch * <or> make clean
-
...you start dreaming code.
-
...you regularly sit up and stare at your (ringing (loudly!)) alarm clock
thinking, "I can't shut it off because if I do the error message will scroll
off the screen and then I won't be able to figure out what went wrong."
Other times you scrabble around looking for the mouse to click on the alarm
clock window to focus input so that you can enter the snooze button keypress.
-
...a friend asks you what you're going to do later and you answer:
cd $HOME; mkbed; sleep 28800
-
...you almost get hit by a bus that pulled away from the stop without
looking and you say: PANIC: bus error
-
...you are looking at an ASCII core dump of your OS project which has many
O's and &'s in it (among other things), and you shout:
"I see the problem. Orcs are attacking my demons."
-
...you order pie a-la-mode and a friend asks "What mode?", to which you
answer: 1755 (sticky bit).
-
...you go to lunch and there are no forks at the cafeteria, to which you
exclaim: fork(): no more processes
-
...your friends send you to the refrigerator to get an imported beer, but
you can't find an opener, so you report: bottle: cannot open, opener: not found
-
...you wonder why you can't just go: sleep 28800& and go on with your hacking?
-
...you stop by the grocery store on your way home, and write your check out
in hex.
-
...you wish you could study for an exam by executing the command:
cat civ100 | tee brain
-
...you're reading from paper media and when you finish the page you press
the spacebar.
-
...you start dreaming in Tetris and trying to rearrange the furniture so
it all fits neatly against one wall.
-
...you test a program, and it fails, so you jump into the editor, look at
it, jump out, recompile and test (without making changes) and it still
doesn't work, so you jump ........ and it still doesn't work ......
recompile without any changes........
-
...you complain in the supermarket about your change and find out you
computed it in hex.
-
...you're trying to get to sleep but can't because you don't know the
right VMS logical--you keep typing SHOW LOGICAL *SLEEP* and never get
anything but:
- SHOW-S-NOTRAN, no translation for logical name *SLEEP*
-
...you fumble dialing the telephone, and make a stab for the backspace key
[and wonder why the numbers aren't coming up on your screen].
-
...your alarm clock goes off, and in your dream you try vainly to figure
out what keyboard command to use to turn it off.
-
...you can't sleep any more, because you're stuck in the garbage collector
and it keeps dumping with Illegal Instruction.
-
...you can't digest anything except VendeCoffee(TM) and VendeChoc(TM).
-
...you want to compile busy traffic so that it will run faster.
-
...your speech is punctuated by finger twitches (or arm-waving) indicating
braces.
-
...you count things on your fingers in binary.
-
...someone sticks a Post-It note on your screen and you try to lower it
behind some other windows.
-
...you find yourself trying to CTRL-S the credits rolling on the TV screen.
-
...you send E-mail and end each line with \n.
-
...you match each :-( with a :-) to keep the parentheses balanced.
-
...you count sheep in hex.
-
...you open a window to find a phone number in a file, then try to cut &
paste it to the phone.
-
...you have been hacking X and the colors of your tv don't look right so
you think maybe you should use a different Visual.
-
...after writing a big report, you try to backspace in a pen and paper letter.
-
...after days with YACC, you start to parse your conversations.
-
...after a large C program, you can't stop making algorithms.
-
...in non-computer related situation you start thinking that whatever you
are doing, it could be done more easily in a shell script.
-
...the Government actually makes sense.
-
...you begin all of your questions with "INPUT. . ."
-
...you begin to think in nested IF-THEN-ELSE clauses that would make a
bureaucrat get lost.
-
...your friends who aren't hackers wonder what happened to you.
-
...even Juan Valdez couldn't support your drastic need for yet another cup
of coffee.
-
...your brain keeps hallucinating random "system error: collision with
stack heap" or "Guru Meditation Mode # Three billion and fifty-two, press
left button to continue" or even "This is not a DOS disk." error messages.
-
...you get a thank-you note from the local power company, along with a
co-signer form for next month's bill.
-
...just when you finish writing the be-all-end-all program for your computer
(has everything-AI, MIDI, productivity stuff, excellent games, desktop video,
etc.) the entire computer industry upgrades to the "next best chip."
-
...you mourn the death of GOTO and spaghetti programming more than your
dead fish.
-
...your complexion has turned pale from being constantly irradiated by the
monitor.
-
...you start doing stuff like: cc -o a.out foo.c
-
...the executive who tells you that he read in PC week magazine that setting
up a LAN in a multi-vendor environment using DECNET was easy and asks you
to explain why it's taken you over a week to get the client/server
applications in a "production mode."
-
...you don't care whether C or C++ is compiled or interpreted.
-
...your last thought when falling asleep is: while(!asleep()) lambs++;
-
...you have a photo of your SO taped to the corner of your screen and you
get comments from passers-by like "Hey, neat GIF", and "_How_ many colors?"
-
...you reach for the mouse to cut that piece of code from the sheet of paper
on your desk and try to paste it into the editor.
-
...you count empty bottles (two at a time) like this:
"2, 4, 8, 16, 32, .... 32?!?"
-
...you start doing stuff like THIS: emacs a.out
(an even worse version of this is "cat >a.out" and then start typing in
your code. It hits rock bottom when a.out runs on the first attempt.)
-
...you dream you have to write device drivers for your refrigerator, washing
machine, and other major household appliances before you can use them.
-
...you make a mathematical proof and try to compile it to test if it is correct.
-
...you are moving across town, and find yourself thinking about putting a
forward in your mailbox outside.
-
...you are having a bad dream (being chased by space aliens, etc.) and you
wake up, only to have another bad dream and realize that you are STILL
dreaming, and had been dreaming you were dreaming, so you wake up again,
and finally wake up once more and realize you were nested four levels deep
in dreaming you were dreaming. It is bad enough to recognize that you were
in a strange recursion, but then there is this really horrible thought "If
I had experienced a stack overflow would I have been permanently
unable to wake up?". Then you KNOW you are finally awake and have been
hacking too long.
-
...your sleep cycle has revolved around the clock several times due to
"working days" longer than 24 hours.
-
...you have to put a happy face on paper, and do it sideways. :-)
-
...you wake up and desperately try to start a compiler so you can use the
15 minute waiting period to sleep some more.
-
...you "woke up" this morning and thought, "I'll checkpoint here, snooze a
bit more and then revert to checkpoint." A while later you go up another
consciousness notch and realize that you hadn't checkpointed successfully
- -- "Oh, of course. I didn't have the keyboard."
-
...you ask someone if they'd like to go get some "TeX-MeX" food.
-
...the funniest joke you came up with over dinner has the punch line:
"But what if it was in hex?" ...and the people you were with also thought
it was funny.
-
...you ask archie where to find your keys.
-
...you enclose comments in your class notes with "/* */"
-
...you order on the phone from a catalog, and start to give the operator
your email address.
-
...you stare blankly at the screen and your fingers type "rwho" without
any help from your brain. ...you get tired of screens full of worthless
information scrolling so you alias rwho. ...you subconsciously start
typing "/usr/ucb/rwho" to bypass your alias. ...you alias /usr/ucb/rwho,
but bypass that alias simply by inserting extra "/"s.
-
...your digital alarm clock goes off and you think "Bloody Macs!"
-
...you see a sign near the elevator that says "out of order" and you think
"sort elevator > elevator.new; mv elevator.new elevator"
-
...when you can't wake up in the morning because you forgot to push a return
address on the stack the night before.
-
...you find out that you can't get to sleep, because you are, in fact, the
program you're designing, and can't run to completion as the lower level
routines haven't been coded yet. [This may be one of the disadvantages of
top-down design...]
-
...you look above the television for a title bar to find out the name of
the program you are watching.
-
...in a dream, you are walking down a path (using PostScript's pathforall)
and get woken up by a closepath.
-
...you hear your alarm, but can't seem to get fully awake until you
successfully page your left arm back in from swap space.
-
...you start reading car license plates as machine code. JMP 451, HCF 919
(this one really shook me up), HLT 772 (Halt instruction...gotta reboot the
truck again!), FOXXY (um, don't know that one...must be a floating point
instruction).
-
...you hit the snooze bar, it goes off again, you hit it again and make a
mental note that you can't do it much longer because your subroutine is
mallocing memory each time it goes off, and soon will run out.
-
...you are trying to remember something but hear in your head: "parity
error at address..."
-
...you're writing a homework assignment, and get to the end of the line
in the middle of a sentence, tack on a '\', and continue writing on the next line.
-
...you pick up a rootbeer and read the label as "High Res", not Hires.
-
...you start typing semi-colons at the end of sentences instead of full stops;
-
...your children do something they shouldn't do, you tell them to stop, they
do it just once more anyway, so you think "Well, they prefetched the
instruction and are executing it in the delay slot."
-
...after fooling around all day with routers you pick up the phone and start
dialing an IP number.
-
...you want to retract something said in haste, and think C-a C-@ C-e C-w
-
...the message `New mail in /usr/spool/mail/foo' becomes an NMI.
-
...that home project you thought would only take a single weekend has now
passed its first decade of development.
-
...you can remember your ethernet hardware address.
-
...you see a sign on a door saying "Please make sure this door is locked"
and you wonder if lockd knows about it.
-
...you think "grep keys /dev/pockets" or "grep homework /dev/backpack"
-
...you go to the movies and it takes 5 minutes to get used to the flicker.
-
...you see a flock of birds and try to figure out the algorithms that
determine their movement.
-
...you check your email more often than your paper mail, and you remember
your network address faster than your postal one.
-
...you discover that you're balancing your checkbook in octal.
-
...your computers have a higher street value than your car.
-
...in your universe, `round numbers' are powers of 2, not 10.
-
...more than once, you have woken up recalling a dream in some programming
language.
-
...you realize you have never seen half of your best friends.
-
...you try to bring a window to the front of something, then you realize
that "something" is a Post-It (tm) on your screen.
-
...in art class you make a mistake in a drawing and look frantically for
the undo button on the paper.
-
...you've been low-level debugging ethernets for a week and you see two
people at a table trying to pick up the same jar of butter and you directly
wonder if they are using the correct CSMA/CD algorithm to avoid a re-collision.
-
...your radio is playing, and you're starting a big compile on your home
box, and it occurs to you that the music will begin to get a bit jerky,
because you think it's playing through the computer and you're not quite
sure how well it'll multitask with the compile.
-
...everything in your life turns into code...such as:
main()
{
while ( sleeping ) {
sleeping = !Rested();
if ( AlarmIsOn() )
sleeping = 0;
}
BrushTeeth( self );
Shower( self );
Dress( self );
Enter( car, self );
while ( !Started( car ) ) {
if ( Inserted( key ) )
Turn( key );
else
Insert( key );
}
}
And when you try to compile, you get:
- cc -c life.c
"life.c", line 4: sleeping undefined
"life.c", line 10: self undefined
"life.c", line 13: car undefined
"life.c", line 16: key undefined
-
...you wake up at 3:00am from a nightmare, and realize the reason for it:
There is no #include <stdio.h> in the beginning of the dream!!!
This realized, back to restful sleep...
-
...you want to wash your hair and think: awk -F"/neck" '{ print $1 }' | shower
-
...you pick up a pencil and wonder whether it supports the Norwegian letters
(TeX \ae, \o, \aa).
-
...a fly lands on the screen and you try to pick it up with the mouse and
put it in the onscreen trashcan!
-
...people talk to you while you're trying to work, and you think, "mesg n".
-
...you send email to somebody who's three terminals down the lab.
-
...you're replying by hand to a letter and you suddenly realize that you
have written out huge chunks of the original letter with a greater than
symbol at the start of each line, so you think you should edit it a bit
to avoid getting flamed for including too much of the original post!!
-
...you leave the building at night and say "XGoodNight" to the security guard!
-
...before you call someone on the phone, you think: 'finger [email protected]'
-
...you try to ^Z out of Quattro.
-
...you decide to stay in school...just to keep your Internet account!
-
...you look at an internal telephone extension number 2444 and immediately
try to work out what permissions it represents, and then wonder why it's sgid!
-
...you get snail mail, and you think to your self "You have new mail on node
"your_address" from user "name_on_the_frank".
-
...it takes a concious effort NOT to pronounce the 'd' at the end of common
words.
-
...you send your SO notes like: while !(together(you,me)) miss(you);
-
...your SO kisses you on the neck and the first thing you think is "Uh, oh,
priority interrupt."
-
...you dream that your SO and yourself are icons in a GUI and you can't get
close to each other because the window manager demands minimum space between
icons...
-
...you're awakened by your SO and all you can think of, in that muddied half-
conscious state before becoming fully awake, is something having to do with
male and female serial connectors and how the baud rates have to be
synchronized.
From [email protected]'s homepage