P

[Note: the material below was written more than 12 years ago.  It pre-dates the world wide web.  It was originally posted on a BBS in the region of cyber-space known as 'fido-net'.  In it, I say you're never too old for juvenile humour.  In fact, I was wrong.  Since that time, I lost my sense of humour (mercifully), got married, started a family and a business and finally had so much time programming that I do often get sick of it...for a while.] [Oh yea -- the stuff below would likely only appeal to geeks].

C'est moi!

Well, now that we've covered the extent of my french education...

Only through this medium... It's like you can almost peer into another person's brain....

Oh yea, me:

I [have found]... other people's confessions of their ages so endearing, I've decided to cough up: I'm 33.

I've been a 'professional' programmer since about 1982, when I first did it for money. Like the analogy that might be forming in your mind, I had originally done it for love, some years prior to that. Gosh. I still do it for love. But if you can scoop a few bucks off the dresser, what the heck... (You're not getting older - you're getting more expensive).

Like others in the programming community, I have a tendency towards making other things. Software just seems to be the only thing I make that goes for the big bucks.

When I was in my early twenties, and I hadn't yet had my fateful exposure to the illicit pleasures of programming, I made furniture. I actually sold some of the things that I made - in a store!

I have been trying to learn to play the flute since I was about 20, and I'm still so dreadful that I'm the only one that can stand it. That's ok, though, because sometimes I really get a charge out of it. Seems that the act of creation is what I'm into, and I don't care all that much what medium I use, except...

Ah! Now we get to the real heart of the matter:

Programming is real special to me. I have achieved a measure of success and personal fulfillment with the creation of software that I have never known in any other medium.

I have written programs in Fortran(yuck), PL/1(2*yuck), 6502 Assembler, 8086 assembler, half of all of the BASIC dialects in the universe, pascal, Modula2, and C. Gee. Every time I list them, I leave out Dbase - is this REALLY a language? I mean Wayne is a real swell guy, and all, but... I digress.

These days I'm occupied in more of a supervisory/consulting capacity than I should be, but I guess that's what happens. You love the thing so much that you work like a demon to get good at
it, someone finally notices, and BOOM! - they give you a different job. You guessed it, the Peter Principle all over again.

Oh my. I'm whining again, aren't I?

Back to business:

We currently do most of our work in C these days. As I 'speak' we are working in C on both PC's and an IBM VM Host environment, at the Royal Trust Product Initiatives Laboratory ('the lab'). We have too many hi-tech gizmos to mention, so I won't. If you've heard of it, we probably have it. 'Toys for boys', I call it.

I have made it my mission to make the lab the best software development team in the city. Time will tell, but so far, so good.

My hobbies (are you ready) are programming, reading about programming, and teaching other people to program.

Currently, I am Chairman of the C language, Turbo Pascal, and Standards conferences on the Programmers Guild BBS. I'm a bit of a nut for BBS'ing, but since I have so many messages on the Guild board, you may not see me here for periods of time. If for some reason you feel compelled to get in touch with me in a hurry, I'm always available on the guild board.

Gee. Now, I haven't left enough room for all of those steamy personal details that make this sort of thing interesting, have I?

Ah, forget that, I'm on a ROLL now. You see the little message at the bottom that says 'more (y/n)'? You can stop if you like. I'm not stopping for anything, now.

Them steamy personal details that make it SO steamy, and yet at the same time.... almost, well, personal, I might say.

Here they are:

Now, I've spent a lot more than 10 thousand hours at the keyboard writing software, but I've also done some other things with my time. I spent about 7 years living with one woman (well, actually, I KIND of thought of her as a girl when we started out). Seems to me that we packed it in a couple of years after I first started programming... Let's see... Yup, I had the Atari then. Wrote a little program that I called - wait a minute, I'm doing it again. I think that's why she left.

I was attending University (York) at the time, but she was never around to see me get my degree (BSc, major in BioChemistry, don't ask me why, or I'll have to tell you ( You know, it's almost a motto of mine, that you're never too old to have a juvenile sense of humour (sub-parenthetically speaking ( wait a minute - that one would be sub-sub parenthetically ( and this one would be ... Jeez, I'm doing it AGAIN, aren't I? ( this is like a mini-IQ test NOW, isn't it? ( can you tell what that man is saying? ( now comes the kicker - have I matched my braces ( let's see if you can tell whether I've matched my braces or not ( each right brace is replaced with the word 'pop' ( just like popping a stack - here goes: pop,pop, pop,pop,pop,pop,pop,pop,pop,pop,pop, come to think of it, neither was I. I was working ( I picked up the piece of paper a year later ).

During the time that I was at school, and not living with the aforementioned woman (oh, so many years (and brackets) ago), I debauched (as my former (male) room-mate used to put it (wait a minute, he's still MALE (as far as I know), he's just no longer my ROOM-MATE) ). Debauchery has it's limits, though ( we explored them rather fully, I'm afraid ), and so, as fate would have it, I chanced upon another woman (well, actually, I kind of thought of HER as a girl when we started out). I keep thinking that we were together for four years, but now that I calculate it out, it was only three and a half years. Damn fine years they were too! I wrote some of my best software during that time, and I attribute it all to her. Women! You just can't beat 'em.

Ah, yes, that brings me to another personal detail. I'm small. Short that is (this is where everone 25 to 35 says 'swimming pools, movie stars', and everyone outside that age range scratches their heads). It's one explanation for why I say 'you just can't beat 'em'. I suspect that if they'd've got the drop on me, I'd've been history ( sort of an idiomatic feel to this sentence, don't you agree? ).

Let's take a brief digression here for a minute (think MARCO POLO):

There was humour in that second last sentence there( better get comfy, 'cause we're going to try and dig it out). Kind of a pleasant wry humour if you understand what the word 'idiomatic' means, and you notice the use of two doubly contracted words (have you EVER seen that in print before). If you DON'T know what idiomatic means, then I figure that this is the point that you collapse with laughter at the sheer verbosity of this piece. Now: for those of you who DO know what 'idiomatic' means, think of a person that doesn't know what it means, trying to figure it out. Think about it: 'idiomatic'.

I figure if your still with me at this point, you'll put up with anything, so I'm going to define 'idiomatic' right here (it would be instructive to look at any number of standard software warranties right now, to determine just how committed I am to supporting this particular definition ):

IDIOMATIC - ADJECTIVE - The simplest state that a system's operating requirements may attain. IE, something so automatic, that the average user cannot cause it to fail.

Now let's analyze the deeper significance of this for a moment. I have formed (or re-formed), SYNthesized, if you will, this word from two roots:

1) IDIOT - Someone incapable of operating anything correctly.

2) AUTOMATON - Something incapable of being operated incorrectly.

Due to their respective functions in this word, the two root words act as opposites.

I should like, herein to propose what I will humbly call 'the fundamental theorem of software programming':

The goal of software designers is to produce a system that combines the fundamental thetic object, an AUTOMATON, with the ANTI (or in the french, 'pas') thetic IDIOT in order to produce the SYN thetic IDIOMATON, a synthetic 'system' that has the TRANSCENDENT property of being IDIOMATIC.

Further (as students of the dialectic would suppose by now), I propose to bind this theorem to one of the major underlying principles of the universe, namely the concept of the dialectic; for this truly is no more (nor less) than the dialectic itself, wherein a thing proposed, combined with the same thing negated, gives rise to the synthetic transcendental entity that is the whole. Certainly, all the universe is derived from this basic equation.

Let's see if we can't re-inforce this notion with a simple example (think INTEGRAL CALCULUS):

Suppose that we have a perfectly agreeable man (see note 1), and he has 5,000 dollars. For the sake of verbosity, let's call him the 'nascent idiot'. He responds to a great deal of hype surrounding the introduction of a new piece of computer hardware, and he goes down to the local clone dealer and buys himself a new PC. He parts with $1,500, and thereby becomes a slightly less agreeable man with $3,500 and a PC. We'll call HIM the 'proto' idiot. He takes it home to his wife (see note 2), and with a great deal of showmanship, he attempts to set it up. I will not belabour the point - he parts with another 500 dollars and becomes a still less agreeable man with $3000, and a PC that boots, and automatically loads SIDEKICK. This man is an IDIOT.

Now let's suppose that this man is expecting his new machine to do something interesting and useful. He's happy enough with sidekick, but it lacks word-processing, spreadsheet functions, data-base capability, and communications - in short, all of the marvelous capabilities that he bought the machine for. The on- line help is great.

He goes back to the source of his misery - the original vendor, and demands his money back, claiming that it's all been a pack of lies. This is the time when many people discover a new latin phrase - 'caveat emptor', a phrase pertaining to customer relations in the computer industry generally, and modern photo- reduction of limiting clauses in particular.

Having looked at the package construction that has seemingly bound him to a contract that he can neither see clearly, read, nor understand, our hero feels as if he is faced with a choice: hire a lawyer, or seek to correct his problems elsewhere. He wisely chooses not to consult a lawyer.

Here, as frightening as it might be, I absolutely MUST digress, a moment only (think PIONEER SIX), to deal with the issue as to why it is the best decision NEVER to consult a lawyer over computer related issues:

Contract law is basically an exercise in producing, or interpreting complex language constructs. THEY NEEDN'T BE GRAMMATICALLY CORRECT. A legal confrontation over a contract, then, is a contest of wits between lawyers. The probability of winning such a confrontation has a near linear relationship with the size of the legal fees involved. Encoding a contract in a manner favourable to the encoder is near equal (in legal fees), to decoding a contract in a manner favourable to the decoder.

Many years and literally 100's of millions of dollars have been spent by the computer industry to encode the currently existing contracts. Computer hardware, and especially software contracts are amongst the most complex objects known to man. They have an entropy content that is vanishingly close to zero.

In order to actually win a dispute with a vendor in the computer industry, you would have to spend more than the gross national product! But that's really not the point here. Of course, you will never WIN a dispute against a vendor in the computer industry. You will always lose. The point is - lose what? That depends on how much money you spend on your legal counsel. Any casual observer would look at the 'without warranty of any kind', etc., and take it to mean "we promise you nothing". Wrong. If that's what it meant, that's exactly what it would say.

By purchasing computer equipment or software, you have bound yourself to the terms and conditions of the contracts that apply. YOU owe THEM something. That is what your legal battle will determine:how much you still owe them, and how much time you will spend in jail. It is also at this time that it will be determined to what extent your relatives and close associates are jointly and severally liable.

I am not a lawyer, myself, but as near as I have been able to determine, if you end up in court with a popular spreadsheet vendor(ie, the spreadsheet is popular, the vendor is merely well- known), and you spend 12.5 million dollars (in round figures) on your defense, you still have a near even chance of drawing the death penalty. One guy lucked out: they were in court with another software vendor, AND a hardware vendor at the same time, and had spread their legal resources too thin. They settled out of court for his house, and killed his dog.

I hope I have made myself clear on this point:

NEVER TAKE COMPUTER PROBLEMS TO A LAWYER. Take them to a Psychiatrist.

Now, on with our story:

He goes to a reputable consultant (see note 3), and tries to explain his needs. The consultant tells him that it is not only impossible to write a custom software package that meets his needs within his budget, it is, in fact, impossible even to purchase a near fit off the shelf. The consultant suggests that the man purchase a modem, and try his hand in the world of public domain software, or get a larger budget. The consultant bills him $500. At this point, he has four options:

1) Go the modem route This usually leads to becoming either a sysop, a vampire, or (often) both.

2) Get a larger budget, thereby losing his wife. This is where programmers come from. Contrary to popular belief, most programmers did at one time have a spouse, and a bank account. It is unclear whether or not programmers have always subsisted on snack food washed down with human blood.

3) Kill the consultant.
This option is immensly satisfying, and is all too often over-looked. The process is cathartic in the extreme, and usually leads to a complete recovery. I have killed a number of consultants in many different lines of 'consulting', and I can personally vouch for it's efficacy. The level of satisfaction DOES vary from discipline to discipline (the bare-handed murder of a marriage consultant, for instance, is doubly satisfying if you and your spouse do it together, and MAY even save your marriage), but all are quite pleasant, and well worth the trouble.

4) Ignore the advice altogether.
Idiots always seek, then ignore advice. It is one of the ways of diagnosing the condition. [ I might note, as an aside here, that had this man originally gone to the consultant BEFORE purchasing hardware, he would have been MUCH more likely to chose option 3 above ].

So, what we have now, is a thoroughly disagreeable man, with $3000, and a PC. (Since he didn't take the advice, he didn't feel obliged to pay the consulting bill).

By removing his final $3000, we make him so apoplectic with rage, that he is incapable of operating a kitchen knife, let alone a sophisticated computing device (It is difficult to say which is more dangerous in his hands).

Here's where the software developer comes in. He must produce a software program that this man is capable of operating, without driving the keyboard through the screen. Given the state of the operator, the program must be thoroughly automatic, offering defaults for everything, and it must be incapable of failure. In short, it must be an AUTOMATON. What we have, by combining the two, is a happy IDIOT, acting in harmony with an AUTOMATON. This is the true IDIOMATIC system, and the goal of every software designer.

NOTE: The removal of the $3000 dollars is vital to the process. There is no such thing as 'free' software. If a software developer does not get paid in the process, then you have not created an idiomaton; you merely have TWO idiots and a PC.

NOTES FOR THE IDIOMATON EXAMPLE

Note 1. I am not trying to be sexist here. There are definite sex-correlated differences between men and women when it comes to computing devices. I treat the subject of women and computers at length else-where (see my ACM article I guess it doesn't like me today - the advent of the IDIETTE in computing.'). Oh, alright, I'm AM being a bit sexist here, but I assure you, it was effortless.

Note 2. Re: Mr. and Mrs. IDIOT. - IDIOMATING
Relationships like this are interesting, and there is no end of literature on the subject. Compare the Masters and Johnson article in the Mar. '73 issue of Playbuns 'Why buy the cow?' with a similar Aug '78 Shataloon article by Dr. Joyce Mathers 'He's SPECIAL ok! - the Kramden mystique'. The Mathers article has that classic, anguished quote from Alice of the Honeymooners:

'I always thought of a man as dildo with a wallet. Ralph's wallet is empty, and his batteries ran out on our honeymoon!".

Note 3. This is just an example. I'm not seriously suggesting that there exists such a thing as a 'reputable consultant'. Students of the english language would call this an 'oxymoron'.

I don't KNOW how long it took Marco Polo to get back.

Think of Integral Calculus as a migraine INTEGRATED with a tootheache. Now proove it, using only trigonometric functions, two aspirins, and a 6 inch piece of dental floss.

Pioneer six should be somewhere near Pluto by now.

So, as I say, I'm physically rather diminutive, and hence, although I would mention that the criminal code allows as how you shouldn't beat women generally, I have my own reasons for not beating them in particular. So I don't. I call it 'circumstantial virtue'.

Not with-standing my rather unimpressive size, I am astonishingly handsome. I usually confine myself to interaction through electronic media for this very reason. Women have a tendency to swoon, and due to my size, this has led, on occasion, to some rather nasty injuries.

Turns out, my intelligence matches my good looks (rather a pleasing symettry there). Try to imagine a hollywood star with a brain. Well, maybe you'll just have to meet me in person.

I have not had good success with pets or plants ( they always seem to expire prematurely ), and as you may have gathered, I really have no flair for long term relationships with people, hence I live rather modestly by myself in a small-ish two bedroom townhouse in the Pape-Danforth area. I travel daily from there to my office in downtown Toronto where I star in and direct the creation of software.

Curiously, I have few close personal friends... But I do get out occasionally to parties and various other social gatherings, where (I am told) I am quite charming in the early evening, and quite difficult to understand (though still rather charming) in the late evening. I'm not sure exactly what I do after that. I imagine it's better not to speculate. I invariably wake up at home, alone.

So there you have it. I don't suppose that I'm that much different than anyone else, though I tend to a slight verbosity (greatly exaggerated by some), and I have a reputation for wandering off topic (I don't, it's just that my digressions become so exquisitely tortured).

That's me in a nutshell.

^