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.
No comments:
Post a Comment