Friday, December 22, 2006

BH #2 - GPF

What is GPF? Technical term, General Protection Fault. It's what happens when your shiny Micro$oft Windoze computer craps itself, something goes wrong, and you get the legendary BSOD. (Blue Screen of Death) This section contains bits and pieces of our lives that GPF. Jokes, situations, gags, etc. It will either leave you spitting nails, or put a smile on your face. Your mileage may vary.



This is an actual alert to IBM Field Engineers that went out to all IBM Branch Offices. The person who wrote it was very serious. The rest of us may find it rather humorous.


Abstract: Mouse Balls Available as FRU (Field Replacement Unit)

Mouse Balls are now available as FRU. Therefore, if a mouse fails to operate or should it perform erratically, it may need a ball replacement. Because of the delicate nature of this procedure, replacement of mouse balls should only be attempted by properly trained personnel.

Before proceeding, determine the type of mouse balls by examining the underside of the mouse. Domestic balls will be harder and larger than foreign balls. Ball removal procedures differ depending on the manufacturer of the mouse. Foreign balls can be replaced using the pop-off method. Domestic balls are replaced using the twist off method. Mouse Balls are usually not static sensitive. However, excessive handling can result in sudden discharge. Upon completion of ball replacement, the mouse may be used immediately.

It is recommended that each replacer have a pair of spare balls for maintaining optimum customer satisfaction, and that any customer missing his balls should suspect local personnel of removing these necessary items.




Nine Types of ComputerUsers

  1. 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."
  2. Mad Bomber:
    "Well, I hit Alt-f6, shift-f8, Cntrl-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.
  3. 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 tendency 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."
  4. 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 primitive mythology.
    Disadvantages: Few scons are anthropology majors.
    Symptoms: Frequent questions about irrelevant 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.
  5. 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.
  6. 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.
  7. 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 challenges.
    Disadvantages: Makes one wish to be a garbage collector.
    Symptoms: An inability to keep quiet. Strong tendencies 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.
  8. 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 phrases, "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).
  9. Princess:
    "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.




The Evolution of a Programmer

High School/Jr.High


10 PRINT "HELLO WORLD"
20 END


First year in College

program Hello(input, output)
begin
writeln('Hello World')
end.


Senior year in College

(defun hello
(print
(cons 'Hello (list 'World))))


New professional

#include
void main(void)
{
char *message[] = {"Hello ", "World"};
int i;

for(i = 0; i < >Seasoned professional

#include
#include

class string
{
private:
int size;
char *ptr;

public:
string() : size(0), ptr(new char('\0')) {}

string(const string &s) : size(s.size)
{
ptr = new char[size + 1];
strcpy(ptr, s.ptr);
}

~string()
{
delete [] ptr;
}

friend ostream &operator <<(ostream &, const string &); string &operator=(const char *); }; ostream &operator<<(ostream &stream, const string &s) { return(stream << operator="(const" size =" strlen(chrs);" ptr =" new" str = "Hello World">Master Programmer

[
uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
]
library LHello
{
// bring in the master library
importlib("actimp.tlb");
importlib("actexp.tlb");

// bring in my interfaces
#include "pshlo.idl"

[
uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
]
cotype THello
{
interface IHello;
interface IPersistFile;
};
};

[
exe,
uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
]
module CHelloLib
{

// some code related header files
importheader();
importheader();
importheader();
importheader("pshlo.h");
importheader("shlo.hxx");
importheader("mycls.hxx");

// needed typelibs
importlib("actimp.tlb");
importlib("actexp.tlb");
importlib("thlo.tlb");

[
uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
aggregatable
]
coclass CHello
{
cotype THello;
};
};

#include "ipfix.hxx"

extern HANDLE hEvent;

class CHello : public CHelloBase
{
public:
IPFIX(CLSID_CHello);

CHello(IUnknown *pUnk);
~CHello();

HRESULT __stdcall PrintSz(LPWSTR pwszString);

private:
static int cObjRef;
};

#include
#include
#include
#include
#include "thlo.h"
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

int CHello::cObjRef = 0;

CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
{
cObjRef++;
return;
}

HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
{
printf("%ws\n", pwszString);
return(ResultFromScode(S_OK));
}

CHello::~CHello(void)
{

// when the object count goes to zero, stop the server
cObjRef--;
if( cObjRef == 0 )
PulseEvent(hEvent);

return;
}

#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

HANDLE hEvent;

int _cdecl main(
int argc,
char * argv[]
) {
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();

hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

// Initialize the OLE libraries
CoInitializeEx(NULL, COINIT_MULTITHREADED);

CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);

// wait on an event to stop
WaitForSingleObject(hEvent, INFINITE);

// revoke and release the class object
CoRevokeClassObject(dwRegistration);
ulRef = pCF->Release();

// Tell OLE we are going away.
CoUninitialize();

return(0);
}

extern CLSID CLSID_CHello;
extern UUID LIBID_CHelloLib;

CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
0x2573F891,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
0x2573F890,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

#include
#include
#include
#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "clsid.h"

int _cdecl main(
int argc,
char * argv[]
) {
HRESULT hRslt;
IHello *pHello;
ULONG ulCnt;
IMoniker * pmk;
WCHAR wcsT[_MAX_PATH];
WCHAR wcsPath[2 * _MAX_PATH];

// get object path
wcsPath[0] = '\0';
wcsT[0] = '\0';
if( argc > 1) {
mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
wcsupr(wcsPath);
}
else {
fprintf(stderr, "Object path must be specified\n");
return(1);
}

// get print string
if(argc > 2)
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
else
wcscpy(wcsT, L"Hello World");

printf("Linking to object %ws\n", wcsPath);
printf("Text String %ws\n", wcsT);

// Initialize the OLE libraries
hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);

if(SUCCEEDED(hRslt)) {

hRslt = CreateFileMoniker(wcsPath, &pmk);
if(SUCCEEDED(hRslt))
hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

if(SUCCEEDED(hRslt)) {

// print a string out
pHello->PrintSz(wcsT);

Sleep(2000);
ulCnt = pHello->Release();
}
else
printf("Failure to connect, status: %lx", hRslt);

// Tell OLE we are going away.
CoUninitialize();
}

return(0);
}


Apprentice Hacker

#!/usr/local/bin/perl
$msg="Hello, world.\n";
if ($#ARGV >= 0) {
while(defined($arg=shift(@ARGV))) {
$outfilename = $arg;
open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
print (FILE $msg);
close(FILE) || die "Can't close $arg: $!\n";
}
} else {
print ($msg);
}
1;


Experienced Hacker


#include
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}


Seasoned Hacker

% cc -o a.out ~/src/misc/hw/hw.c
% a.out


Guru Hacker

% cat
Hello, world.
^D


New Manager

10 PRINT "HELLO WORLD"
20 END


Middle Manager

mail -s "Hello, world." bob@b12
Bob, could you please write me a program that prints "Hello, world."?
I need it by tomorrow.
^D


Senior Manager


% zmail jim
I need a "Hello, world." program by this afternoon.


Chief Executive

% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout

1 comment:

CyberGal said...

Years ago I heard the "Mouse Balls" memo read over a radio station. Thank you for preserving a classic of our techno-history. Reminds me of a story I heard on the net last year about a female news anchor who got a little carried away with the male weather man.

They'd had snow the night before and as they were transitioning to the weather man the female anchor inquired:" So, Bob, where's that six inches you promised me yesterday?" (!)