[155] in Humor
HUMOR: The Computer Science Major
daemon@ATHENA.MIT.EDU (abennett@MIT.EDU)
Fri Mar 25 14:27:50 1994
From: abennett@MIT.EDU
To: humor@MIT.EDU
Date: Fri, 25 Mar 94 14:25:14 EST
Date: Mon, 21 Mar 94 17:56:35 PST
From: ckleinja@Novell.COM (Connie Kleinjans)
...
From: Shari Feldman <shari@cc.gatech.edu>
A COMPUTER SCIENCE MAJOR
Ask anyone who has stayed awake for thirty-seven hours consuming
nothing but Coke and Snickers bars and staring into a green CRT screen,
if there is anything glamorous about the world of computer programming.
Look deep into his bloodshot eyes, and try to detect any signs of joy
among the red streaks. Then, just for kicks, ask him why he does what he
does, despite all the pain it's causing. The most positive answer you'll
get is, "it feels so good when it stops."
Although computer sciences majors come in all sizes and shapes,
each possesses that essential "nerd" quality which led us to declare the
major in the first place. Some of us, the stragglers, are only part time
nerds. Unfortunately, over the past three years, an alarming number of
lifers, full-time nerds, have appeared. These are the really scary
people who hang around the terminal room regularly, with absolutely no
purpose for being there. People who'd rather sit around hacking on a
Saturday evening than lying stuporously drunk in one of the Dellys, or
sleeping. No one knows exactly where they come from, since no one has
ever seen them outside of the computer center. Similarly, no one has
ever tried to find one, either. Yet somehow, they're always in your
class.
Two weeks have passed since the prof handed out the specs for the
final programming assignment. Monday morning. The project is due on
Wednesday. Questions are finally rolling in from people other than the
row of geeks sitting in the front. A certain anxiety begins to well up
in the stomach as the deadline approaches. Serious doubts about
finishing the program in time arise. Larry, ever the entertainer,
mentions that "If you haven't started the project yet, you'll never get
it done." He means it, too. That night, the stragglers tackle the
machine for the first time in weeks, trying to make some sort of
headway, or at least translate the problem at hand.
There are two mutually exclusive techniques that are used in the
early stages of programming: The Software Engineering method, and the
ever-popular Brute Force strategy. Right from the start of our computer
careers, we are told that any problem can be broken down into manageable
pieces, and that these pieces can be linked together to form a logically
constructed program; the method used by Software Engineers. This
process is time consuming, yet incredibly simple. Keep the pieces as
small as possible, construct each one separately, get it to working, and
plug it in. "This method can be applied to any problem you'll ever have
to solve, in the field of computer science, or in real life situations,"
says the textbook. Sure. If you've got the time.
Brute Force can similarly be applied to any real life situation,
and in the early stages it's quicker than the Software Engineering
method. It's instinctive, spontaneous, and produces concrete results
almost immediately. Read the problem, get a general idea of where
you're headed, and head there. Start simply, and then build the sucker.
If you don't understand something, ignore it. If it doesn't work, throw
it out. Assume you know more about what you're doing than you actually
do. It's kind of like picking a nice living room set, and building a
house around it.
Apparently, Brute Force is the way to go this time around. The
first few pot shots at the problem miss their target completely, but
finally pieces begin to fit together. Granted, there's no central
structure here yet, but we've definitely bought the living room set.
And, with a little bit of pushing and bending of good programming rules,
we seem to have made some progress. So far so good. Who says we can't
finish this in two days? Get a printout, go home, have a beer and watch
the Simpsons.
The Bart Simpsons Show appears to have been a tactical error. Brute
Force has come to its inevitable halt, and the deadline is tomorrow.
Bits and pieces of the program are working just fine, but the major
chunks are still in shambles. The program has to be finished within the
next eighteen hours. We have not choice but to begin the Caffeine
Airlift.
If it weren't for caffeine, many of us computer science majors
would have died back in sophomore year. Sometimes, there just aren't
enough waking hours in the day to accomplish everything that has to be
done. The logical solution is to eliminate some of the sleeping hours,
through carefully measured doses of coffee and Coke. Time release
caffeine pills were in fashion two years ago, but turned out to be
entirely too efficient. It's difficult to concentrate on programming
when your body wants to tap dance. In any shape or form, the Caffeine
Airlift has saved us all.
Once the body is properly primed, the work begins. The computer
lab overflows with other desperate individuals, all heavily caffeinated,
and all decked out for the long night ahead. Grab a terminal, and start
hacking. It's comforting to know that everyone else will fail this
project with you. The mood is surprisingly relaxed, and jokes about
impending doom begin to fly.
Ten o'clock. Eleven hours and counting. Condition: guarded but
stable. The three Cokes in your system are making your legs bounce, but
you ignore it. Concentration is the key. The room fills to capacity,
and the jokes continue. Of course no one will finish, but who cares
anymore? This is no longer a project, but a mission. Actually, you've
made amazing progress in the last few hours, but won't admit it to the
others. More fun to complain, isn't it?
Midnight. The Jello Hour. The Jello Principle state that "no
matter what quick solution you find for a given problem, it will still
make you worse off than you were before." Kind of like nailing Jello to
a tree. The temporary solutions look pretty for awhile, but are
destined to fail in the long run. After Jello hour, you get a whole new
perspective on life. The beard begins to appear. The empty Coke cups
form a wall along the side of your work space. You realize that you'll
miss Bart tonight. Short cuts that simulate important program elements
come to mind, are added to the code, fail, and are discarded. The best
rule of thumb is to try something so unorthodoxly simple, that it could
never work. Odds are that it will.
One thirty. You've watched half of your classmates walk out in
stuporous frustration. The die-hards remain, chugging caffeine in
lethal dosages and cursing quietly to themselves. And suddenly, the
peaceful torpor of the terminal lab is shattered by the unexpected
arrival of the front row geeks; Abdul strolls in, flips on a terminal,
and talks loudly to his partner Jeff across the room. Abdul is amused
that we are working on the same program they had finished nearly two
weeks ago. Jeff comments, through his speech impediment, that the
program was "trivial." Eventually, the geeks become engrossed in their
own work, whatever the hell they do at two o'clock in the morning.
Abdul has found some new way to amuse himself, and yells for Jeff to
come over. Jeff yells back that he's too busy. Everyone wishes Abdul
and Jeff would die painfully.
Finished. It's four AM, and the damn thing is finally in the can.
Smile at the amphetimized corpses as you leave, and wish them luck. The
walk home seems longer tonight. No cars. No birds. No noise. Life
seems to have gone on outside of the computer center. As you hit the
bed, you know you're too wired to fall asleep. It doesn't matter.
You've won the game again. As your body continues its tap dance, you
realize that the process is going to start again on Monday. No problem.
Yeah, it's hurts for awhile. But it feels so good when you stop....
- -----------------------------------------------------------------------
------- End of Forwarded Message