Write in C

Sung to the tune of “Let it Be” by the Beatles

When I find my code in tons of trouble,
Friends and colleagues come to me,
Speaking words of wisdom:
“Write in C.”

As the deadline fast approaches,
And bugs are all that I can see,
Somewhere, someone whispers:
“Write in C.”

Write in C, Write in C,
Write in C, oh, Write in C.
LOGO’s dead and buried,
Write in C.

I used to write a lot of FORTRAN,
For science it worked flawlessly.
Try using it for graphics!
Write in C.

If you’ve just spent nearly 30 hours,
Debugging some assembly,
Soon you will be glad to
Write in C.

Write in C, Write in C,
Write in C, yeah, Write in C.
BASIC’s not the answer.
Write in C.

Write in C, Write in C
Write in C, oh, Write in C.
Pascal won’t quite cut it.
Write in C.

Can You Help Me?

Actual dialog of a WordPerfect Customer Support employee:

“Ridge Hall computer assistant; may I help you?”
“Yes, well, I’m having trouble with WordPerfect.”
“What sort of trouble?”
“Well, I was just typing along, and all of a sudden the words went away.”
“Went away?”
“They disappeared.”
“Hmm. So what does your screen look like now?”
“It’s blank; it won’t accept anything when I type.”
“Are you still in WordPerfect, or did you get out?”
“How do I tell?”
“Can you see the C: prompt on the screen?”
“What’s a sea-prompt?”
“Never mind. Can you move the cursor around on the screen?”
“There isn’t any cursor: I told you, it won’t accept anything I type.”
“Does your monitor have a power indicator?”
“What’s a monitor?”
“It’s the thing with the screen on it that looks like a TV. Does it have a little light that tells you when it’s on?”
“I don’t know.”
“Well, then look on the back of the monitor and find where the power cord goes into it. Can you see that?”
….”Yes, I think so.”
“Great! Follow the cord to the plug, and tell me if it’s plugged into the wall.”
…….”Yes, it is.”
“When you were behind the monitor, did you notice that there were two cables plugged into the back of it, not just one?”
“Well, there are. I need you to look back there again and find the other cable.”
…….”Okay, here it is.”
“Follow it for me, and tell me if it’s plugged securely into the back of your computer.”
“I can’t reach.”
“Uh huh. Well, can you see if it is?”
“Even if you maybe put your knee on something and lean way over?”
“Oh, it’s not because I don’t have the right angle-it’s because it’s dark.”
“Yes-the office light is off, and the only light I have is coming in from the window.”
“Well, turn on the office light then.”
“I can’t.”
“No? Why not?”
“Because there’s a power outage.”
“A power… A power outage? Aha! Okay, we’ve got it licked now. Do you still have the boxes and manuals and packing stuff your computer came in?”
“Well, yes, I keep them in the closet.”
“Good! Go get them, and unplug your system and pack it up just like it was when you got it. Then take it back to the store you bought it from.”
“Really? Is it that bad?”
“Yes, I’m afraid it is.”
“Well, all right then, I suppose. What do I tell them?”
“Tell them you’re not ready to own a computer.”

Webbed Bliss

Know what you call webmeisters who get married? …….Newlywebs.

Let me share some of the newlywebbed bliss with you. Most folks would register at Macy’s or Foley’s or Dilliard’s or some place normal. Not Dick and Jane. They’re registered with PC Warehouse and Mac Connection (URLs available upon request).

The families did require Dick and Jane to provide a more traditional list of wants and needs however. So ultimately, they compiled, er, complied. They included the normal stuff… blender, toaster oven, electric mixer, food processor. But they categorized them all as ‘plug-ins.’

There was a moment or two of roughness. Jane kept arguing that communication was important in a marriage, so Dick finally bought another computer and a second phone line so he and Jane could chat. The topic of their first real spat though…Mac vs. Windows.

At work, Dick has been introducing Jane as his future “service provider.” Turn-about is fair play, of course; and Jane isn’t referring to Dick as her future husband. She says he’s a forthcoming Add-On (currently in Beta release).

Thus far at all showers and pre-ceremony events Dick and Jane have seemed very happy. How happy? It’s sickening. They keep tilting their heads sideways to smile at each other. 🙂

Now, don’t get me wrong. Dick and Jane are very serious about this endeavor. They have put an access counter on the door to the church and the reception hall. The reception will be a little bare compared to most though. They’re serving cookies and java.

The plan for the wedding? Dick and Jane have written the ceremony themselves…in HTML. The ushers will just pass out little slips of paper with URLS. All invitations came with a little slip of paper that said ‘This wedding best viewed with Netscape Navigator.’

Dick and Jane will spend all their days and nights of their honeymoon…. [the remainder of message has been censored by the Coalition for A Clean Internet].

Signs You Are Webbed Out

  • Your opening line is, “So what’s your home page address?”
  • Your best friend is someone you’ve never met.
  • You see a beautiful sunset, and you half expect to see “Enhanced for Internet Explorer 9” on one of the clouds.
  • You are overcome with disbelief, anger and finally depressed when you encounter a Web page with no links.
  • You feel driven to consult the “Cool Page of the Day” on your wedding day.
  • You are driving on a dark and rainy night when you hydroplane on puddle, sending your car careening toward the flimsy guard rail that separates you from the precipice of a rocky cliff and certain death. You look for the “Back” button.
  • You visit “The Really Big Button that Doesn’t Do Anything” again and again and again.
  • Your dog has his own Web page.
  • So does your hamster.
  • When you read a magazine, you have an irresistible urge to click on the underlined passages.

Seven Software Companies Added to “Watch List”

New York — People for Ethical Treatment of Software (PETS) announced today that seven more software companies have been added to the group’s “watch list” of companies that regularly practice software testing.

“There is no need for software to be mistreated in this way so that companies like these can market new products,” said Ken Grandola, spokesperson for PETS. “Alternative methods of testing these products are available.”

According to PETS, these companies force software to undergo lengthy and arduous tests, often without rest, for hours or days at a time. Employees are assigned to “break” the software by any means necessary, and inside sources report that they often joke
about “torturing” the software.

“It’s no joke,” said Grandola. “Innocent programs, from the day they are compiled, are cooped up in tiny rooms and “crashed” for hours on end. They spend their whole lives on dirty, ill-maintained computers, and are unceremoniously deleted when they’re not needed anymore.”

Grandola said the software is kept in unsanitary conditions and is infested with bugs.

“We know that alternatives to this horror exist,” he said, citing industry giant Microsoft Corporation as a company that has become successful without resorting to software testing.

The Nine Types of Users

Scon is short for Student Consultant. Scons are people hired to help users learn and work with the university’s machinery. A pod is a UNM term for a place where such machinery is made available.

El Explicito “I tried the thing, ya know, and it worked, ya know, but now it doesn’t,
ya know?”
Advantages Provides interesting communication challenges.
Disadvantages So do chimps.
Symptoms Complete inability to use proper nouns
Real Case One user walked up to a certain Armenian pod manager and said, “I can’t get what I want!” The pod manager leaned back, put his hands on his belt-buckle, and said, “Well, ma’am, you’ve come to the right place.”
Mad Bomber “Well, I hit ALT-F6, SHIFT-F8, CTRL-F10, F4, and F9, and now it looks all weird.”
Advantages Will try to find own solution to problems.
Disadvantages User might have translated document to Navajo without meaning to.
Symptoms More than six stopped jobs in UNIX, a 2:1 code-to-letter ratio in WordPerfect
Real Case One user came in complaining that his WordPerfect document was underlined. When I used reveal codes on it, I found that he’d set and unset underline more than fifty times in his document.
Frying Pan/Fire Tactician “It didn’t work with the data set we had, so I fed in my aunt’s recipe for key lime pie.”
Advantages Will usually fix error.
Disadvantages “Fix” is defined very loosely here.
Symptoms A tendancy to delete lines that get errors instead of fixing them.
Real Case One user complained that their program executed, but didn’t do anything. The scon looked at it for twenty minutes before realizing that they’d commented out every line. The user said, “Well, that was the only way I could
get it to compile.”
Shaman “Last week, when the moon was full, the clouds were thick, and Formahaut was above the horizon, I typed f77, and lo, it did compile.”
Advantages Gives insight into primative mythology.
Disadvantages Few scons are anthropology majors.
Symptoms Frequent questions about irrelavent objects.
Real Case One user complained that all information on one of their disks got erased (as Norton Utilities showed nothing but empty sectors, I suspect
nothing had ever been on it). Reasoning that the deleted information went *somewhere*, they wouldn’t shut up until the scon checked four different
disks for the missing information.
X-user “Will you look at those…um, that resolution, quite impressive, really.”
Advantages Using the cutting-edge in graphics technology.
Disadvantages Has little or no idea how to use the cutting-edge in graphics technology.
Symptoms Fuzzy hands, blindness
Real Case When I was off duty, two users sat down in front of me at DEC station 5000/200s that systems was reconfiguring. I suppressed my laughter while, for twenty minutes, they sat down and did their best to act like they were doing exectly what they wanted to do, even though they couldn’t log in.
Miracle Worker “But it read a file from it yesterday!”
“Sir, at a guess, this disk has been swallowed and regurgitated.
“But I did that a month ago, and it read a file from it yesterday!”
Advantages Apparently has remarkable luck when you aren’t around.
Disadvantages People complain when scons actually use the word “horse-puckey.”
Symptoms Loses all ability to do impossible when you’re around. Must be the
kryptonite in your pocket.
Real Case At least three users have claimed that they’ve loaded IBM WordPerfect
from Macintosh disks.
Taskmaster “Well, this is a file in MacWrite. Do you know how I can upload it to MUSIC, transfer it over to UNIX from there, download it onto an IBM,
convert it to WordPerfect, and put it in three-column format?”
Advantages Bold new challanges.
Disadvantages Makes one wish to be a garbage collector.
Symptoms An inability to keep quiet. Strong tendancies to make machines do things
they don’t want to do.
Real Case One user tried to get a scon to find out what another person’s E-mail address was even though the user didn’t know his target’s home system,
account name, or real name.
Maestro “Well, first I sat down, like this. Then I logged on, like this, and after that, I typed in my password, like this, and after that I edited
my file, like this, and after that I went to this line here, like this, and after that I picked my nose, like this. . .”
Advantages Willing to show you exactly what they did to get an error.
Disadvantages For as long as five or six hours.
Symptoms Selective deafness to the phrase, “Right, right, okay, but what was the error?”, and a strong fondness for the phrase, “Well, I’m getting
to that.”
Real Case I once had to spend half an hour looking over a user’s shoulder while they continuously retrieved a document into itself and denied that they
did it (the user was complaining that their document was 87 copies of the same thing).
(unfair, perhaps, as these tend, overwhelmingly, to be males)
“I need a Mac, and someone’s got the one I like reserved, would you please garrote him and put him in the paper recycling bin?”
Advantages Flatters you with their high standards for your service.
Disadvantages Impresses you with their obliviousness to other people on this planet.
Symptoms Inability to communicate except by complaining.
Real Case One asked a scon to remove the message of the day because he (the user) didn’t like it.

5 Things You Don’t Want to Hear from Tech Support

  1. “Duuuuuude! Bummer!”
  2. “In layman’s terms, we call that the Hindenburg Effect.”
  3. “Your problem can be fixed, but you’re going to need a butter knife, a roll of duct tape and a car battery.”
  4. “Press 1 for Support.
    Press 2 if you’re with ‘60 minutes.’
    Press 3 if you’re with the FTC.”
  5. “Hold on a second, please … Mom! Timmy’s hitting me!”

Tech Support Diary

A Week in the Life of the Notes Support Person from Hell

User called to say they forgot password. Told them to use password retrieval utility called FDISK. Blissfully ignorant, they thank me and hang up. God, we let the people vote and drive, too?

Accounting called to say they couldn’t access expense reports database. Gave them Standard Sys Admin Answer #112, “Well, it works for me.” Let them rant and rave while I unplugged my coffeemaker from the UPS and plugged their server back in. Suggested they try it again. One more happy customer…

8:14 am
User from 8:05 call said they received error message “Error accessing Drive 0.” Told them it was an OS problem. Transferred them to microsupport.

11:00 am
Relatively quiet for last few hours. Decide to plug support phone back in so I can call my girlfriend. Says parents are coming into town this weekend. Put her on hold and transferred her to janitorial closet down in basement. What is she thinking? The “Myst” and “Doom” nationals are
this weekend!

11:34 am
Another user calls (do they ever learn?). Says they want ACL changed on HR performance review database so that nobody but HR can access database. Tell them no problem. Hang up. Change ACL. Add @MailSend so performance reviews are sent to */US.

12:00 pm

3:30 pm
Return from lunch.

3:55 pm
Wake up from nap. Bad dream makes me cranky. Bounce servers for no reason. Return to napping.

4:23 pm
Yet another user calls. Wants to know how to change fonts on form. Ask them what chip set they’re using. Tell them to call back when they find out.

4:55 pm
Decide to run “Create Save/Replication Conflicts” macro so next shift has something to do.

8:30 am
Finish reading support log from last night. Sounded busy. Terrible time with Save/Replication conflicts.

9:00 am
Support manager arrives. Wants to discuss my attitude. Click on PhoneNotes SmartIcon. “Love to, but kinda busy. Put something in the calendar database!” I yell as I grab for the support lines, which have (mysteriously) lit up. Walks away grumbling.

9:35 pm
Team leader from R&D needs ID for new employee. Tell them they need form J-19R=9C9\DARRK1. Say they never heard of such a form. Tell them it’s in the SPECIAL FORMS database. Say they never heard of such a database. Transfer them to janitorial closet in basement.

10:00 am
Perky sounding intern from R&D calls and says she needs new ID. Tell her I need employee number, department name, manager name, and marital status. Run @DbLookup against state parole board database, Centers for Disease Control database, and my Oprah Winfrey database. No hits. Tell her ID will be ready tonight. Drawing from the lessons learned in last week’s “Reengineering for Customer Partnership,” I offer to personally deliver ID to her apartment.

10:07 am
Janitor stops by to say he keeps getting strange calls in basement. Offer to train him on Notes. Begin now. Let him watch console while I grab a smoke.

1:00 pm
Return from smoking break. Janitor says phones kept ringing, so he transferred them to cafeteria lady. I like this guy.

1:05 pm
Big commotion! Support manager falls in hole left where I pulled floor tiles outside his office door. Stress to him importance of not running in computer room, even if I do yell “Omigod — Fire!”

1:15 pm
Development Standards Committee calls and complains about umlauts in form names. Apologizing for the inconvenience, I tell them I will fix it. Hang up and run global search/replace using gaks.

1:20 pm
Mary Hairnet from cafeteria calls. Says she keeps getting calls for “Notice Loads” or “NoLoad Goats,” she’s not sure, couldn’t here over industrial-grade blender. Tell her it was probably “Lettuce Nodes.” Maybe the food distributor with a new product? She thinks about it and hangs up.

2:00 pm
Legal secretary calls and says she lost password. Ask her to check in her purse, floor of car, and on bathroom counter. Tell her it probably fell out of back of machine. Suggest she put duct tape over all the airvents she can find on the PC. Grudgingly offer to create new ID for her while she does that.

2:49 pm
Janitor comes back. Wants more lessons. I take off rest of day.

8:30 am
Irate user calls to say chipset has nothing to do with fonts on form. Tell them Of course, they should have been checking “Bitset,” not “chipset.” Sheepish user apologizes and hangs up.

Support manager, with foot in cast, returns to office. Schedules 10:00am meeting with me. User calls and wants to talk to support manager about terrible help at support desk. Tell them manager about to go into meeting. Sometimes life hands you material…

10:00 am
Call Louie in janitorial services to cover for me. Go to support manager’s office. He says he can’t dismiss me but can suggest several lateral career moves. Most involve farm implements in third-world countries with moderate to heavy political turmoil. By and by, I ask if he’s aware of new bug which takes full-text indexed random e-mail databases and puts all references to furry handcuffs and Bambi Boomer in Marketing on the corporate Web page. Meeting is adjourned as he reaches for keyboard, Web browser, and Tums.

10:30 am
Tell Louie he’s doing great job. Offer to show him mainframe corporate PBX system sometime.

11:00 am

4:55 pm
Return from lunch.

5:00 pm
Shift change; Going home.

8:00 am
New guy (“Marvin”) started today. “Nice plaids” I offer. Show him server room, wiring closet, and technical library. Set him up with IBM PC-XT. Tell him to quit whining, Notes runs the same in both monochrome and color.

8:45 am
New guy’s PC finishes booting up. Tell him I’ll create new ID for him. Set minimum password length to 64. Go grab smoke.

9:30 am
Introduce Louie the custodian to Marvin. “Nice plaids” Louie comments. Is this guy great or what?!

11:00 am
Beat Louie in dominos game. Louie leaves. Fish spare dominos out of sleeves (“Always have backups”). User calls, says Accounting server is down. Untie Ethernet cable from radio antenna (better reception) and plug back into hub. Tell user to try again. Another happy customer!

11:55 am
Brief Marvin on Corporate Policy 98.022.01:

“Whereas all new employee beginning on days ending in ‘Y’ shall enjoy all proper aspects with said corporation, said employee is obligated to provide sustenance and relief to senior technical analyst on shift.”

Marvin doubts. I point to “Corporate Policy” database (a fine piece of work, if I say so myself!). “Remember, that’s DOUBLE pepperoni and NO peppers!” I yell to Marvin as he steps over open floor tile to get to exit door.

1:00 pm
Oooooh! Pizza makes me so sleepy…

4:30 pm
Wake from refreshing nap. Catch Marvin scanning want ads.

5:00 pm
Shift change. Flick HR’s server off and on several times (just testing the On/Off button…). See ya tomorrow.

8:00 am
Night shift still trying to replace power supply in HR server. Told them it worked fine before I left.

9:00 am
Marvin still not here. Decide I might start answering these calls myself. Unforward phones from Mailroom.

9:02 am
Yep. A user call. Users in Des Moines can’t replicate. Me and the Oiuji board determine it’s sunspots. Tell them to call Telecommunications.

9:30 am
Good God, another user! They’re like ants. Says he’s in San Diego and can’t replicate with Des Moines. Tell him it’s sunspots, but with a two-hour difference. Suggest he reset the time on the server back two hours.

10:17 am
Pensacola calls. Says they can’t route mail to San Diego. Tell them to set server ahead three hours.

11:00 am
E-mail from corporate says for everybody to quit resetting the time on their servers. I change the date stamp and forward it to Milwaukee.

11:20 am
Finish @CoffeeMake macro. Put phone back on hook.

11:23 am
Milwaukee calls, asks what day it is.

11:25 am
Support manager stops by to say Marvin called in to quit. “So hard to get good help…” I respond. Support manager says he has appointment with orthopedic doctor this afternoon, and asks if I mind sitting in on the weekly department head meeting for him. “No problem!”

11:30 am
Call Louie and tell him opportunity knocks and he’s invited to a meeting this afternoon. “Yeah, sure. You can bring your snuff” I tell him.

12:00 am

1:00 pm
Start full backups on UNIX server. Route them to device NULL to make them fast.

1:03 pm
Full weekly backups done. Man, I love modern technology!

2:30 pm
Look in support manager’s contact management database. Cancel 2:45pm appointment for him. He really should be at home resting, you know.

2:39 pm
New user calls. Says want to learn how to create a connection document. Tell them to run connection document utility CTRL-ALT-DEL. Says PC rebooted. Tell them to call microsupport.

2:50 pm
Support manager calls to say mixup at doctor’s office means appointment cancelled. Says he’s just going to go on home. Ask him if he’s seen corporate Web page lately.

3:00 pm
Another (novice) user calls. Says periodic macro not working. Suggest they place @DeleteDocument at end of formula. Promise to send them document addendum which says so.

4:00 pm
Finish changing foreground color in all documents to white. Also set point size to “2” in help databases.

4:30 pm
User calls to say they can’t see anything in documents. Tell them to go to view, do a “Edit — Select All”, hit delete key, and then refresh. Promise to send them document addendum which says so.

4:45 pm
Another user calls. Says they can’t read help documents. Tell them I’ll fix it. Hang up. Change font to Wingdings.

4:58 pm
Plug coffee maker into Ethernet hub to see what happens. Not (too) much.

5:00 pm
Night shift shows up. Tell that the hub is acting funny and to have a good weekend.

A Talking Frog

A guy is taking a walk and sees a frog on the side of the road. As he comes closer, the frog starts to talk. “Kiss me and I will turn into a princess.” The guy picks the frog up and puts it in his pocket.

The frog starts shouting, “Hey! Didn’t you hear me? I’m a Princess. Just kiss me and I will be yours.” The guy takes the frog out of his pocket and smiles at it and puts it back.

The frog is really frustrated. “I don’t get it. Why won’t you kiss me? I will turn into a beautiful princess and do anything you ask.”

The guy says, “Look, I’m a computer geek. I don’t have time for girls… But a talking frog is cool!”

Know Your Unix System Administrator

There are four major species of Unix sysad:

  1. The Technical Thug
    Usually a systems programmer who has been forced into system administration; writes scripts in a polyglot of the Bourne shell, sed, C, awk, perl, and APL.
  2. The Administrative Fascist
    Usually a retentive drone (or rarely, a harridan ex-secretary) who has been forced into system administration.
  3. The Maniac
    Usually an aging cracker who discovered that neither the Mossad nor Cuba are willing to pay a living wage for computer espionage. Fell into system administration; occasionally approaches major competitors with indesp schemes.
  4. The Idiot
    Usually a cretin, morpohodite, or old COBOL programmer selected to be the system administrator by a committee of cretins, morphodites, and old COBOL programmers.
How the Different Types of Unix Sysads Respond:

SITUATION: Low disk space.

  • Technical Thug:
    Writes a suite of scripts to monitor disk usage, maintain a database of historic disk usage, predict future disk usage via least squares regression analysis, identify users who are more than a standard deviation over the mean, and send mail to the offending parties. Places script in cron. Disk usage does not change, since disk-hogs, by nature, either ignore script-generated mail, or file it away in triplicate.
  • Administrative Fascist:
    Puts disk usage policy in motd. Uses disk quotas. Allows no exceptions, thus crippling development work. Locks accounts that go over quota.
  • Maniac:
    # cd /home
    # rm -rf `du -s * | sort -rn | head -1 | awk ‘{print $2}’`;
  • Idiot:
    # cd /home
    # cat `du -s * | sort -rn | head -1 | awk ‘{ printf “%s/*n”, $2}’` | compress

SITUATION: Excessive CPU usage.

  • Technical Thug:
    Writes a suite of scripts to monitor processes, maintain a database of CPU usage, identify processes more than a standard deviation over the norm, and renice offending processes. Places script in cron. Ends up renicing the production database into oblivion, bringing operations to a grinding halt, much to the delight of the xtrek freaks.
  • Administrative Fascist:
    Puts CPU usage policy in motd. Uses CPU quotas. Locks accounts that go over quota. Allows no exceptions, thus crippling development work, much to the delight of the xtrek freaks.
  • Maniac:
    # kill -9 `ps -augxww | sort -rn +8 -9 | head -1 | awk ‘{print $2}’`
  • Idiot:
    # compress -f `ps -augxww | sort -rn +8 -9 | head -1 | awk ‘{print $2}’`
  • SITUATION: New account creation.

  • Technical Thug:
    Writes perl script that creates home directory, copies in incomprehensible default environment, and places entries in /etc/passwd, /etc/shadow, and /etc/group. (By hand, NOT with passmgmt.) Slaps on setuid bit; tells a nearby secretary to handle new accounts. Usually, said secretary
    is still dithering over the difference between ‘enter’ and ‘return’; and so, no new accounts are ever created.
  • Administrative Fascist:
    Puts new account policy in motd. Since people without accounts cannot read the motd, nobody ever fulfills the bureaucratic requirements; and so, no new accounts are ever created.
  • Maniac:
    “If you’re too stupid to break in and create your own account, I don’t want you on the system. We’ve got too many goddamn sh*t-for-brains a**holes on this box anyway.”
  • Idiot:
    # cd /home; mkdir “Bob’s home directory”
    # echo “Bob Simon:gandalf:0:0::/dev/tty:compress -f” > /etc/passwd
  • SITUATION: Root disk fails.

  • Technical Thug:
    Repairs drive. Usually is able to repair filesystem from boot monitor. Failing that, front-panel toggles microkernel in and starts script on neighboring machine to load binary boot code into broken machine, reformat and reinstall OS. Lets it run over the weekend while he goes mountain climbing.
  • Administrative Fascist:
    Begins investigation to determine who broke the drive. Refuses to fix system until culprit is identified and charged for the equipment.
  • Maniac:
    • Large System: Rips drive from system, uses sledgehammer to smash same to flinders. Calls manufacturer, threatens pets. Abuses field engineer while they put in a new drive and reinstall the OS.
    • Small System: Rips drive from system, uses ballpeen hammer to smash same to flinders. Calls Requisitions, threatens pets. Abuses bystanders while putting in new drive and reinstalling OS.
  • Idiot:
    Doesn’t notice anything wrong.
  • SITUATION: Poor network response.

  • Technical Thug:
    Writes scripts to monitor network, then rewires entire machine room, improving response time by 2%. Shrugs shoulders, says, “I’ve done all I can do,” and goes mountain climbing.
  • Administrative Fascist:
    Puts network usage policy in motd. Calls up Berkeley and AT&T, badgers whoever answers for network quotas. Tries to get xtrek freaks fired.
  • Maniac:
    Every two hours, pulls ethernet cable from wall and waits for connections to time out.
  • Idiot:
    # compress -f /dev/en0
  • SITUATION: User questions.

  • Technical Thug:
    Hacks the code of emacs’ doctor-mode to answer new users questions. Doesn’t bother to tell people how to start the new “guru-mode”, or for that matter, emacs.
  • Administrative Fascist:
    Puts user support policy in motd. Maintains queue of questions. Answers them when he gets a chance, often within two weeks of receipt of the proper form.
  • Maniac:
    Screams at users until they go away. Sometimes barters knowledge for powerful drink and/or sycophantic adulation.
  • Idiot:
    Answers all questions to best of his knowledge until the user realizes few UNIX systems support punched cards or JCL.
  • SITUATION: Stupid user questions.

  • Technical Thug:
    Answers question in hex, binary, postfix, and/or French until user gives up and goes away.
  • Administrative Fascist:
    Locks user’s account until user can present documentation demonstrating their qualification to use the machine.
  • Maniac:
    # cat >> ~luser/.cshrc
    alias vi ‘rm !*;unalias vi;grep -v BoZo ~/.cshrc > ~/.z; mv -f
    ~/.z ~/.cshrc’

  • Idiot:
    Answers all questions to best of his knowledge. Recruits user to system administration team.
  • SITUATION: Process accounting management.

  • Technical Thug:
    Ignores packaged accounting software; trusts scripts to sniff out any problems & compute charges.
  • Administrative Fascist:
    Devotes 75% of disk space to accounting records owned by root and chmod’ed 000.
  • Maniac:
    Laughs fool head off at very mention of accounting.
  • Idiot:
    # lpr /etc/wtmp /usr/adm/paact
  • SITUATION: Religious war, BSD vs. System V.

  • Technical Thug:
    BSD. Crippled on System V boxes.
  • Administrative Fascist:
    System V. Horrified by the people who use BSD. Places frequent calls to DEA.
  • Maniac:
    Prefers BSD, but doesn’t care as long as HIS processes run quickly.
  • Idiot:
    # cd c:
  • SITUATION: Religious war, System V vs. AIX

  • Technical Thug:
  • Administrative Fascist:
    AIX–doesn’t much care for the OS, but loves the jackboots.
  • Maniac:
    System V, but keeps AIX skills up, knowing full well how much Big Financial Institutions
    love IBM…
  • Idiot:
  • SITUATION: Balky printer daemons.

  • Technical Thug:
    Rewrites lpd in FORTH.
  • Administrative Fascist:
    Puts printer use policy in motd. Calls customer support every time the printer freezes. Tries to get user who submitted the most recent job fired.
  • Maniac:
    Writes script that kills all the daemons, clears all the print queues, and maybe restarts the daemons. Runs it once a hour from cron.
  • Idiot:
    # kill -9 /dev/lp ; /dev/lp &
  • SITUATION: OS upgrade.

  • Technical Thug:
    Reads source code of new release, takes only what he likes.
  • Administrative Fascist:
    Instigates lawsuit against the vendor for having shipped a product with bugs in it in the first place.
  • Maniac:
    # uptime
    1:33pm up 19 days, 22:49, 167 users, load average: 6.49, 6.45, 6.31
    # wall
    Well, it’s upgrade time. Should take a few hours. And good luck on that 5:00 deadline, guys! We’re all pulling for you!
  • Idiot:
    # dd if=/dev/rmt8 of=/vmunix
  • SITUATION: Balky mail.

  • Technical Thug:
    Rewrites sendmail.cf from scratch. Rewrites sendmail in SNOBOL. Hacks kernel to implement file locking. Hacks kernel to implement “better” semaphores. Rewrites sendmail in assembly. Hacks kernel too…
  • Administrative Fascist:
    Puts mail use policy in motd. Locks accounts that go over mail use quota. Keeps quota low enough that people go back to interoffice mail, thus solving problem.
  • Maniac:
    # kill -9 `ps -augxww | grep sendmail | awk ‘{print $2}’`
    # rm -f /usr/spool/mail/*
    # wall
    Mail is down. Please use interoffice mail until we have it back up.
    # write max
    I’ve got my boots and backpack. Ready to leave for Mount Tam?
  • Idiot:
    # echo “HELP!” | mail tech_support.AT.vendor.com%kremvax%bitnet!BIFF!!!
  • SITUATION: Users want phone list application.

  • Technical Thug:
    Writes RDBMS in perl and Smalltalk. Users give up and go back to post-it notes.
  • Administrative Fascist:
    Oracle. Users give up and go back to post-it notes.
  • Maniac:
    Tells the users to use flat files and grep, the way God meant man to keep track of phone numbers. Users give up and go back to post-it notes.
  • Idiot:
    % dd ibs=80 if=/dev/rdisk001s7 | grep “Fred”

  • Other Guidelines:


  • Technical Thug:
    Longer than eight kilobytes. Sources the output of a perl script, rewrites itself.
  • Administrative Fascist:
    Typical lines include:
    umask 777
    alias cd ‘cd !*; rm -rf ching *hack mille omega rogue xtrek >& /dev/null &’
  • Maniac:
    Typical lines include:
    alias rm ‘rm -rf !*’
    alias hose kill -9 ‘`ps -augxww | grep !* | awk ‘{print $2}’`’
    alias kill ‘kill -9 !* ; kill -9 !* ; kill -9 !*’
    alias renice ‘echo Renice? You must mean kill -9.; kill -9 !*’
  • Idiot:
    Typical lines include:
    alias dir ls
    alias era rm
    alias kitty cat
    alias process_table ps
    setenv DISPLAY vt100

  • Technical Thug:
    Writes entries for Obsfuscated C contest. Optimizes INTERCAL scripts. Maintains ENIAC emulator. Virtual reality.
  • Administrative Fascist:
    Bugs office. Audits card-key logs. Modifies old TVs to listen in on cellular phone conversations. Listens to police band.
  • Maniac:
    Volunteers at Survival Research Labs. Bugs office. Edits card-key logs. Modifies old TVs to listen in on cellular phone conversations. Jams police band.
  • Idiot:
    Ties shoes. Maintains COBOL decimal to roman numeral converter. Rereads flowcharts from his salad days at Rand.

  • Technical Thug:
    Drinks “Smart Drinks.” Attends raves. Hangs out at poetry readings and Whole Earth Review events and tries to pick up Birkenstock MOTAS.
  • Administrative Fascist:
    Reads Readers Digest and Mein Kampf. Sometimes turns up car radio and sings along to John Denver. Golfs. Drinks gin martinis. Hangs out in yuppie bars and tries to pick up dominatrixes.
  • Maniac:
    Reads Utne Reader and Mein Kampf. Faithfully attends Dickies and Ramones concerts. Punches out people who say “virtual reality.” Drinks damn near anything, but favors Wild Turkey,
    Black Bush, and grain alcohol. Hangs out in neighborhood bars and tries to pick up MOTAS by drinking longshoremen under the table.
  • Idiot:
    Reads Time and Newsweek –and believes them. Drinks Jagermeister. Tries to pick up close blood relations — often succeeds, producing next generation of idiots.

  • Technical Thug:
    Clinton, but only because he liked Gore’s book.
  • Administrative Fascist:
    Bush. Possibly Clinton, but only because he liked Tipper.
  • Maniac:
    Frank Zappa.
  • Idiot:

  • Technical Thug:
    Richard Stallman – Larry Wall.
  • Administrative Fascist:
    Nixon – Buchanan.
  • Maniac:
    Frank Zappa.
  • Idiot:


  • Technical Fascist:
    Hacks kernel and writes a horde of scripts to prevent folk from ever using more than their fair share of system resources. Resulting overhead and load brings system to its knees.
  • Technical Maniac:
    Writes scripts that seem to be monitoring the system, but are actually encrypting large lists of passwords. Uses nearby nodes as beta test sites for worms.
  • Technical Idiot: Writes superuser-run scripts that sooner or later do an “rm -rf /”.
  • Fascistic Maniac:
    At first hint of cracker incursions, whether real or imagined, shuts down system by triggering
    water-on-the-brain detectors and Halon system.
  • Fascistic Idiot:
    # cp /dev/null /etc/passwd
  • Maniacal Idiot:
    Napalms the CPU.