Pages

Tuesday, 24 December 2013

Rudolf's Revenge

Another story from 25 years ago.

Rudolf's Revenge
At the North pole, all was not well. Rudolf the Red had been
outmaneuvered twice, and now he and his herd were in serious trouble.
What should he do? It was all too complicated for a mere reindeer.
Suddenly, he had a flash of genius - he'd call in the only consultant
he knew, which fortunately also happened to be the best one he could
possibly have chosen.
I was sitting at my computer trying to improve my "Marble Madness"
score beyond what my five-year old had achieved when there was a
curious clattering at the door. I opened it, and a troop of six
reindeer entered. They sat in a circle with their legs folded neatly
under them, and Dancer, the spokesdeer, explained the problem.
During my first visit to the North Pole, I'd set up an order entry and
processing system capable of handling the requests from two billion
customers all demanding product at the same time of year. This was a
rush job, held together with fairy magic and blessings, but it hung
together long enough to do the job that year - it came unstuck only
next year when Rudolf the Red called a general strike in protest at
the unfriendliness of the system. I dealt with that on my second
visit, by setting up macros to make the software work automatically,
and Sir Sangrathta Claus called in penguins to act as blacklegs to run
it. By the way, all this is written up in the December 1986 and 1987
newsletters; these and other reports of unusual consulting jobs are
also available on disk ..... in the User Group library.
But Rudolf and his comrades were now unemployed, and if you've ever
tried to get a job at the North Pole in the middle of winter, you'd
understand their plight. Dancer told me harrowing tales of frozen,
starving reindoes and reinfawns, and I felt a deep sense of shame at
what I'd helped to bring about. Yes, even consultants have
consciences, and when we borrow your watch in order to tell you the
time, we often deduct a bit from the bill, on account of it being such
a crummy timepiece.
So I packed my bags, put on my warmest woolies, grabbed my portable
computer, and followed Dancer outside. Dancer and the other reindeer
hitched themselves up to the sleigh, I climbed aboard, and we set off.
Everything was fine as we went up the hill to Amersham, but when we
reached the top, the reindeer just kept going up.
I suppose if I'd thought about it, I'd have realised that you can't
get to the North Pole entirely on land. Normally, I have no fear of
flying; I've globe-trotted so much that a 747 is just like a big bus.
But that sleigh-ride was something else. For a start, I couldn't see
what held it up.
Then I realised - it works the same way that aeroplanes work.
Basically, aeroplanes work because everyone believes that they work.
Before the Wright brothers, people believed that aeroplanes couldn't
work, but the Wright brothers convinced themselves by looking at
Lillienthal's gliders, and then convinced everyone else. So just
remember, next time you fly, that the only thing that keeps it up is
your belief that it all works - whatever you do, you must maintain
that belief.
Once I'd worked out what kept the sleigh airborne, I felt a lot
happier about things, and I sat back and enjoyed the flight, while
carefully maintaining my belief that it worked. Eventually, we
reached our destination, and I saw a bright red beacon that guided the
reindeer down to the landing zone. We touched down with a bump, and
came to a halt beside the bright red beacon, which turned out to have
a reindeer attached to it. "Hello, Rudolf", I said, for it was
obviously he.
I looked round for signs of habitation; a stable, or hovel or at
least an igloo. But all I saw was reindeer snuffling at the snow,
looking for moss. There wasn't even anywhere to sit; such was the
grinding poverty that an unemployed reindeer suffered. I felt awful -
had I really caused this disaster, just to make sure that my two got
their presents each year? Pangs of remorse shot through my soul as I
asked the question every consultant asks first; "How are you going to
pay me?".
Rudolf explained that they didn't have any money, but he had some
excellent hides to trade, and some superb sets of antlers. I was a
bit dubious at first, because I couldn't see how I could sell the
antlers, but then Rudolf explained how you can powder them, and sell
the powder - well, I won't explain what the powder is supposed to be
good for, but basically, it works just like aeroplanes and sleighs,
but you have to maintain the belief.
We sat down and talked turkey. Rudolf had two problems - how to
survive the bitter winter without losing half the herd, and how to get
back at the Claus Corporation. He obviously thought I'd dream up some
computer trickery that would make the world all right, install it, and
everything would be tickety-boo.
I meet a lot of people with that idea. A lot of the questions I get
boil down to "Which key should I press to make my life wonderful
forever?" I told Rudolf I'd have to sleep on it, and I put up my tent,
unrolled my sleeping bag, and was soon fast asleep.
Here's how it works. When you're asleep, all the distractions are
gone. There is no input, no output, no interrupts to service. The
CPU can grind away, working on the problem you've given it, using
about ten times as much power as during the day. So if you see me
with my eyes closed, you can be sure I'm working hard; if I'm snoring
as well, you're really getting your money's worth.
Sure enough, when I woke up in the morning, I had the answer. I
called Rudolf and all the other reindeer together, and explained the
plan. "We're going to beat Santa at his own game. He's always
operated a total monopoly; we're going to compete with him, undercut
him on price and offer a quality service, complete with technical
support. By the time we've finished, he'll be out of business!"
Well, the reindeer loved it. Only Rudolf looked dubious. "How?" he
said. So I explained the plan in detail. You see, one of my degrees
is in econometrics, so I understand how economics works from a
quantitative point of view. I think what really convinced Rudolf was
when I scratched the translog equations in the snow, and showed how
market share would respond to price and marketing until Santa's
mega-empire would have inadequate turnover to support the
superstructure, and it would collapse.
"First, we have to get finance", I said. Rudolf and I set up a
spreadsheet there and then, showing how our business plan would
develop over the next five years. Then, we hitched up the sleigh, and
flew back to my house. Rudolf and I spent the next few days polishing
up the business plan. I suppose I ought to explain what a business
plan is.
Essentially, a business plan is a work of fiction, dressed up to look
like fact. I'm quite good at doing that, as I've had a lot of
practise at telling realistic pork pies, and I can tell an exciting
story with the best of them. But the business plan is a rather
special work of fiction, and there are special rules to abide by,
otherwise it doesn't count, and won't win any prizes.
The most important rule is to have a happy ending. This could be a
nine-figure profit, or a stock flotation, or whatever. The next rule
is to have a fairly straight line between the final profit figures and
the start; no nasty little dips. The third rule is that the whole
thing has to be dressed up with lots of spurious figures and charts,
typeset and printed on glossy paper; obviously the work of someone
who can afford the best. It took me about half an hour to whomp up a
little financial model using 123, another hour to do some impressive
charts using Harvard Graphics, two hours to write the executive
summary (I can write 2000 words per hour when I know that no-one's
going to read it). Then I ran my financial body copy generator, which
produces as many words of impressive sounding financial jargon as you
need. A couple of hours with Ventura pulled all these pieces
together, and I took the final diskette down to my local DTP bureau,
where they output it on a Linotron using Garamond, with colour
separation for the charts, and got a thousand copies printed up on
glossy paper.
It looked magnificent. I spent part of my life as a stockbroker, so I
know how to do these things, and this one was a beauty. The best part
was the superb picture of our Chairman; Rudolf standing on the brow
of a hill, surveying the city arrogantly, dominating the picture with
his impressive branching antlers. Actually, it was just a snap on
Hampstead Heath.
Next, we mailshotted our prospectus to the City of London. After all
the government privatisations and the immense profits that were made
out of those, the prospect of a twenty billion pound flotation sounded
to them like Christmas - well, it should, shouldn't it. Soon we were
being invited to give presentations on our proposals, and were
beseiged by stockbrockers wanting to act for us and at the same time
get a finger in the gravy. Merchant banks practically came to blows
over who would make us the biggest loan, and the Japanese and US
institutions battled over the size of their share allocations.
Rudolf was a great success - they'd never seen anything like him
before. I do think it's important to have an impressive Chairman.
Not many people understand what drives share prices - it's the
aeroplane principle again. As long as people believe that they're
going up, they want to buy, and so send the prices up. But as soon as
they lose faith, they want to sell, and that sends prices tumbling
down. It really is surprising how often the aeroplane principle gets
used.
After the flotation, we could do no wrong. Rudolf was the City's
darling, their blue-eyed boy (well, red-nosed reindeer, actually).
But after the palaver died down, I had to remind him that we had a job
to do - we actually had to get this enterprise on the road.
First we had to get premises; this isn't as easy as it sounds.
Landlords are very wary of new enterprises; they like to feel that
their rent money is safe. Solicitors are a major pain in the
affidavit, and if you think buying a house is the worst experience in
the world, that's because you haven't tried renting business premises.
We looked absolutely everywhere - we even looked north of Watford and
south of the Thames. What we needed was about 200 million square feet
of light industrial premises, and a large local workforce.
Eventually, Rudolf found it in the last place I would have thought of
- the South pole.
It seems that over the years, successive Antarctic expeditions have
been putting up Nissen huts and abandoning them, until now you can
scarcely turn round. No-one seemed to own them, so we simply moved in
and squatted there.
Now we needed an experienced workforce. Reindeer were no problem;
Rudolf's herd had followed us to the South Pole. Soon dwarves, elves,
fairies and hobbits started turning up at the factory gates; word had
spread that there was work to be had down South, and soon the North
was looking like a depressed area. Our plant was frantically busy,
tooling up for the annual rush. But how were we going to market
our products?
Well, I'm sure you've guessed. But there might be a few people left
who don't know who's behind My Little Pony, Care Bears and He-Man.
All those collectables that your kids get filled up with come from us,
and the dealers loved it because the margin they got from us was
greater than the competition offered.
The orders flooded in, and we couldn't cope with the rush. Rudolph
started panicking, but I reminded him about the Plan, and started on
the accounting and control systems, while he started recruiting
labour. Penguins were out, of course, on account of them all being
employed by the competition. But Rudolf was brilliant, and what I
first thought was a plague of squirrels turned out to be our workforce
arriving.
This time, I'd learn from my experiences at the North Pole, and do it
right. This time, there would not be a flaky network of underpowered
micros held together with magic and blessings. This time, I'd put in
a system that could cope with anything. This time, I'd put in a
proper mainframe, programmed by proper programmers.
It wasn't hard to choose which one. I love the VAX dearly, and
whenever I get near one, I pat it, which gets me some funny looks.
But when you need a substantial transaction processing system, there's
only one place to go, and it's Big and Blue.
Next, I needed workstations. I know what you're thinking - PCs, or at
least PS/2s. Well, you're wrong. Until OS/2 is firmly established
with Extended Edition and Presentation Manager, linking a micro to a
mainframe is still very flaky. Oh sure, you can do 3270 emulation
quite well (except that the keyboard's all wrong, a major pain). But
the seamless micro-mainframe link, where the user doesn't actually
know or care which computer he's using, is still in the future. And
if all you're going to do is terminal emulation, you might as well
eliminate the hassles and incompatibilities, and use real 3270
terminals.
We needed the biggest on-line transaction-oriented order-entry,
progressing, invoicing and bill-of-materials in the world, and no
noddy off-the-shelf copy of Instant Accounts was going to cope with
the two billion customers, and the twelve billion orders that would
soon flood in. And we needed it soon. Fortunately, it's a well known
fact that if it takes one programmer one year to write one program, it
will take a thousand programmers two hours to write the same program.
We set up an EDP Department, with a Data Centre, a Systems Centre, and
an Information Centre. We hired operators by the dozen, analysts by
the hundred, and programmers by the thousand. We advertised in all
the computer magazines, offering good money, and a very Southerly
climate, and soon we had applicants flocking to us in droves. Because
we were in such a hurry, we decided to use every competent applicant,
irrespective of previous experience; we even drafted in some of the
brighter squirrels, who turned out to be rather better than some of
the programmers.
First we established a database of personnel, showing each person's
experience and languages. We couldn't use any one language for this
job, as there were so many represented, so we decided to write a
modular system so that each module could be in a different language,
if necessary.
At first, progress was rapid. Code was churned out at a great rate,
and the system grew in size and complexity. But then we found that
some of the languages wouldn't link, and we had to write assembler to
patch them together.
Then we found that some of the languages we were using couldn't read
the files generated by other modules, and we had to write translating
programs. Then we found that we needed to run part of the system
under MVS, and part under CMS, and we linked the parts by downloading
the files to a System/36 and back again. The 36 was such a good idea
that we decided to offload part of the project development onto a
whole clutch of them, but then we found we needed to link them
together, so we put in a network to connect them, only it turned out
to be non-trivial to link that network to the mainframe, and the
squirrels didn't speak very good English and kept misunderstanding the
specs, and ...
Meanwhile, Christmas was coming. That's an understatement - Christmas
was rushing towards us like an express train, and we weren't ready for
it. Rudolf was stampeding in all directions, and I have to admit that
I was getting a teeny bit worried about the way the project was going.
I sat down and did a few calculations about our rate of progress and
likely finishing date, and then I did a bit of panicking myself. The
project was a total mess, and getting worse; every time we patched up
one problem, four other things fell over.
It was time to do a consultant's disappearing act - rule number one is
don't ever be around when the client implements the mess you designed
for him. But I'd missed a vital point - I could only leave by sleigh,
and that needed reindeer, and Rudolf would soon sniff that one out.
So it was time for a complete rethink of the whole system.
The mainframe-based system was obviously beyind hope; the only chance
was to start afresh. Fortunately, I still had my portable with me, so
I pulled it out, and set to work.
I needed to write a major, multiuser system, that could be operated by
naive elves (*all* elves are naive). But it had to be robust enough
to stand up to the stupid things that they would do. I couldn't use
the sort of database with problems like "needing re-indexing" and lost
file headers and all the frailties that PC databases are heir to.
User-friendliness and extreme power; thousands of users all accessing
the database at once, and doing their best to mess it up. There
wasn't a database in the world that would cope.
Then, just as I was wondering how on earth you could use a PC for
transaction processing, a squirrel trampled over my keyboard, and a
great blinding light struck me - of course - I should have thought of
it in the first place - SQL (pronounced SEQUEL).
Structured Query Language is without question the best route to a
solid multi-user relational database with distributed data. All the
protection is done at the database server, and the workstations just
send SQL requests to the database; there's no way the user can switch
off in the middle of an update and corrupt the lot, or screw up the
header, or anything at all that messes up the system, because you
have COMMIT and ROLLBACK.
SQL is not something you'd want to teach to elves, but you don't have
to. You get a nice friendly front end that lets them set up their
data entry or data extract, and sends it to the server using the SQL
protocol. I chose Paradox as the front end, because all the elves
already knew Lotus from the system I'd set up at the North pole, and
Paradox is easy to teach to Lotus users. I put a Sequent in as the
SQL server - you could call a Sequent a micro, but I'm not sure that
something that runs several dozen 386s in parallel deserves to be
called titchy. I designed a nice, simple data structure, hooked up
the PCs to the Sequent via an Ethernet, showed the elves how to use
Paradox, and away they went.
By golly it worked! Obviously a Sequent with 256 PCs networked to it
is pretty small beer, but all I needed to do now was network 256
Sequents together, and I had a 65536-station network. And the beauty
of SQL is that it still worked - the workstation doesn't care where
the data is actually stored. The elves took to Paradox like ducks to
water, and I didn't have to write a single line of code!
Our system was much more up-to-date and efficient than our
competitors, and of course our marketing was very much better since we
had Care Bears and My Little Ponies, and (best of all) Rudolf. The
real killer, though, was my brilliant masterstroke on the teddy bear
product. We copyrighted the look and feel of the Teddy Bear (funnily
enough, no-one had thought of doing that before, and it didn't seem to
matter that we hadn't actually invented it). Sir Santa was unable to
supply the single most important product line, and with our lock on
this strategic area, we were soon able to ensure that the bear product
was allocated only to our loyal dealers. Or to put it another way -
you buy all your stock from us, or you get no bears. It's a tough
competitive market, and all's fair when the hearts and minds of
customers are at stake.
So once again, it looks like this Chistmas will be a happy one
all round, and your little customers can spend many happy hours
unwrapping their presents and destroying them. Of course, there is
one person whose Christmas will be a little bit tarnished; I gather
that Claus Enterprises is about to go into receivership. On the other
hand, perhaps it won't - in my opinion, all Santa needs is a really
good consultant, and it just so happens that ... well, I'll tell
you about it next year.