[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.