Copyright Dr Alan Solomon (1986-1995)

It was hot.  The air clung to you like an computer insurance salesman,
and slid down your throat like warm beer.  I was sitting in my office
with my feet on the desk, wondering how I was going to pay the next
installment on my Model 80.  This business was getting me down;  why did
people always get into so much trouble, and then wait until their
problems festered?  I chewed on my wine gum reflectively, and wished I'd
gone into double glazing or used cars.

The sign on my door said "Doctor Solomon's Surgery", but I wasn't a real
doctor, just another computer quack, doctoring disks;  a disk quack.  I
just used my doctorate as an excuse to charge a bit more.  The downside
was the wisecracks about aches and pains in the back, but I had a
standard answer off pat - "Take off all your clothes".

In the outer office, Janet searched for letters on her keyboard.  Janet
wasn't hired for her typing speed;  her talents lay in other directions.
I picked up a wodge of printout, and fanned myself, wondering if I
should go home, or whether I should make a few phone calls to drum up
some business.  I decided it was too much trouble, but the phone thought
otherwise, and made its cute trilling noise.

"Hi.  Alan Solomon here." "Doctor Solomon - I have a problem." I pulled
my keyboard towards me and started writing.  Her name was Melanie, and
she was in *deep* trouble.  Her hard disk just seemed to have vanished -
DOS didn't recognise it.  That's a common occurrence, and one I can
often handle.  Norton and suchlike utilities can't touch these cases, of
course, but I never use kids stuff like that anyway.

I grabbed my box of tools and my Filofax, and set off.  "Dunno when I'll
be back, Jan", I said.  She looked up, reproachfully.  Why do I always
feel guilty about leaving her to mind the office?  That's what I hired
her for, well, that and two other things.  Before she could say
anything, I wasn't there.

Outside, the heat struck me like a hot bath.  London in July can be
pretty muggy, and this was the Big Smoke at its worst.  I decided to
hail a cab, remembered what was in my bank account, and took a tube
instead.  The journey was foul at first, crammed in with about a million
other cattle, but as we came into the leafy suburbs, things were a lot
better.  By the time my stop came, I was feeling a bit more human, but
the walk from the station to Melanie's left me hot and sweaty again.

The house was something else.  Big and posh;  the place reeked of money.
The drive was about a mile long, and the door had a notice saying
"Please ring", but on principle I never do what notices like that say.
I knocked.  A French maid in a frilly apron answered the door, and I
gave her my card, "Dr Alan Solomon, disk doctor".  She showed me into a
salon, where a stunning redhead reclined on a settee.  She stood up
gracefully, and I wondered what Janet was doing tonight.

"I can't do anything with it;  can you help me, Doctor?", she said, and
for a moment I wondered what she was talking about.  Then I pulled
myself together, and put on my professional manner.  With a great effort
of will, I suppressed my favourite line, and asked to see the computer.

Melanie had a computer room.  I have a shambles;  usually half-a-dozen
machines using each other's disks, screens, keyboards.  System units are
piled on top of each other, manuals in stacks on the floor, printout in
heaps on chairs.  Sometimes I have to cart a couple of computers outside
just to make a bit of working space - an utter shambles.

Melanie had fluorescent strip lighting, air conditioning and a Proper
Computer Workdesk.  I was very impressed, especially with the Workdesk,
but I couldn't see the point of the mirrors on the ceiling, until I
realised that they meant the room was better lit because of them.  I
like well-lit computer rooms - I have 350 watts in mine.  Her manuals
were in a neat row on the manual shelf, the printer had its own stand,
and the whole setup looked like it had never been used.  "Can you fix
it?", she said, hopefully.

I don't usually make promises, especially when I haven't even powered
the thing up, but if you'd seen Melanie fluttering her eyelashes, you'd
understand why I confidently boasted "Oh yes, piece of cake." Actually,
I was fairly sure that this computer had never been really used, so all
I would have to do was reformat the hard disk, reinstall her software,
relieve her of some surplus cash and go celebrate by paying Janet her
back wages.  I powered up, and sure enough, it said "Drive error", so I
switched off.

"Can you do anything?", she asked anxiously?  I grinned confidently as I
unbuttoned her and took off her cover.  Her chassis was clean, and I
pressed all the chips home with my thumb, just in case.  Then I saw the
problem;  the power lead had come off the disk drive!  This will be the
easiest #500 I've ever earned, I thought as I powered up and waited for
the C prompt.  "Drive error".  I blinked.  Then I realised.  "Has your
dealer had a look at it?" I asked.  Yes, her dealer had come round, had
a look, charged her a call-out, and left, saying it was unfixable.  OK,
I thought, we do this the hard way.

I took off my jacket and rolled up my sleeves.  This is a good ploy;  it
shows that you're about to do something difficult.  Melanie responded in
exactly the way I wanted - she offered me coffee.  "Strong, black and
lots of it", I said.  "Yes", she said, "That's the way I like it, too."
But the way she said it, left me badly confused for a few minutes, and
by the time she came back with the jugs, I'd only got as far as sticking
in my floppy and firing her up.

"Oh, you've got it working", she said.  But I shook my head, and showed
her that DOS didn't believe there was a drive C.  We sat down at a
coffee table (that was some computer room) and I asked her what she had
loaded.  She came back with all the usual list, Supercalc, Wordstar,
Wordstar 2000, Sidekick and Norton.  And for relaxation, Leather
Goddesses of Phobos.  I wished she wouldn't keep doing that - just when
I was beginning to get my cool back, she'd set me off again.  Actually,
Goddesses is quite a good game;  a bit naughty in places, but all text,
and nothing you wouldn't let your aunt see.  It was the way she said it.

And then she hit me with the googly - "And a few hundred Wordstar and
Supercalc files." "Which version?" "Wordstar 2000 and Supercalc 4.  Oh,
and a big PFS-File database;  that's what is really important.  And some
Framework stuff." It would be, of course.

The problem is this.  Let's suppose you've got the disk to the point at
which you can actually read sectors off it - if you can't, there's
nothing you can do anyway.  If you're trying to get a straight ASCII
files, it's easy, because you can see what you are doing, and if you
leave a sector out, the file still works;  it just has a bit missing.
If a file has a bit more structure to it, like old Wordstar, it's a bit
harder;  for example if you have the bold-on flag, but lose the bold-off
flag, then the whole of the rest of the file will be bold when it
shouldn't be, and vice versa.  Now this isn't the end of the world, and
the user can read the file into her program, and fix it up.

But now let's look at something more structured, like a database.  If
you lose a chunk out of the middle, then you can't load the data into
the program.  The records are fixed length (say, 200 bytes) and if you
lose 512 bytes out of the middle, the program gets confused about which
field is which.  Then you have to find the point of the cleavage, and
wade in with Debug (Norton being quite useless, as usual) to patch
things up.  That's OK if the file has such a simple structure, but some
databases seem to be expressly designed to fall apart under stress.
PFS-File is one of these.  dBase is a pleasure to fix, but PFS-File is a

Spreadsheets are even worse.  If you lose a small chunk out of the
middle, the whole spreadsheet won't load.  And the records aren't
fixed-length;  each record is different.  A few years ago, I
reverse-engineered the 123 and Symphony file formats, and now I can read
them like a book - most people can't get near them.  But Framework is
something else - totally obscure, and Ashton-Tate claim that not even
they know the file format.  I probably could reverse-engineer Framework,
but it's used so uncommonly, it isn't worth the bother.

I opened my box of tools and took out a floppy disk.  I stuck it into
the drive, and typed READDISK.  This is a little number I cooked up
myself - it'll read disks that other programs think aren't there, and
there's nothing like it on the market, and if you think I'm going to
tell you how it works, you've been eating too many wine gums.  I'll tell
you this, though.  It cuddles up real close to the hardware, and does a
bit of heavy persuading.

READDISK worked a treat, and I printed out the fifty or so clusters on
her laser printer.  She had a Kyocera, of course, so I put it into small
print out of habit.  Laser printed output costs threepence a page, and
this is irrespective of the amount of print.  And money is tight,
usually - I tell Janet to use both sides of the paper on her dot-matrix,
and only laser the final copy of a letter.

I spread the printout over the Persian carpet, and Melanie leaned over
my shoulder to look at it.  Her perfume tickled my nose, and her hair
brushed against my cheek.  "You're getting it off", she said.  "Could I
have another coffee?" I said desperately.  I pulled out my Filofax and
had a look at the time - I'd spent an hour on this job so far, and it
was looking good.  The printout was interesting, very interesting.

The machine was a Tandon PCA-20, the 20 megabyte AT-clone.  The disk was
a Tandon 3 1/2 inch 20 meg, with a Western Digital controller.

The partition table was impossible - I just didn't believe the
information it held.  It told me that I was looking at a 56 megabyte
disk, with an impossible number of cylinders.  Then there were sixteen
sectors, and each sector was filled with c (ASCII 99).  Three of those
sectors were unreadable, but I guessed that it wouldn't matter.  Next
came the all-important FAT (File Allocation Table), and then the
directory.  The FAT and the directory seemed to be OK, but you couldn't
really be sure.  The partition table was what stopped the computer from
recognising drive C.

Melanie came back with the coffee, and I explained to her that her hard
disk was flaky.  "Oh dear," she said, "Can you fix it?"

I explained that, in my opinion, you didn't fix flaky hard disks.  You
got the data off them, and junked them.  If a hard disk has let you
down, and you'd spent a fortune getting your data back, you'd be crazy
not to spend #300 on a new disk drive.  I also explained that I would
normally copy the data straight off the old disk onto the new one, using
a modification of my READDISK program.

"OK," she said brightly, "Let's go get a new disk".  Just like that.  I
usually have to spend hours persuading people not to trust defective

Outside, she opened the garage and drove out a bright red Porsche.  I
got in, and she shot off, much too fast.  I closed my eyes.  "Where
to?", she asked.

That was a problem.  It was getting late, and it was a long way to the
Big Smoke.  We wouldn't be able to make it to one of the big dealers
before closing time - it looked like we'd have to go to Sidtronics, and
talk to my old friend Sidney Mincing.

We arrived at the Fulham back street where Sid had his shop.  I pushed
the door, and it went Ding and opened.  Sid had no truck with this
newfangled electric stuff - his shop-door bell was the old-fashioned
mechanical type.  We went in.

The whole place was crammed with bits of computers.  It was a hacker's
wonderland.  There were TI-99A keyboards, Zorba screens, eight-inch disk
drives, dusty stacks of software.  Melanie was delighted, and asked me
to explain everything.  I showed her Bernoulli boxes, tape streamers,
printers, keyboards - I told her where each had come from, and what it
was for.  She kept saying "And what's this" as we went round the shop
until she came to a cloth-covered object in the corner.  "And what's
this?" she said, prodding it.  The cloth covered object stirred, and
turned round.  "Do you mind?", said Sid.  "I happen to be the proprietor
of this emporium".  I said Hello, and shook the rather limp object he
offered me.  He was ogling Melanie, but I counted my fingers all the
same, a habit I can't seem to break with Sid.  It isn't that he's
dishonest, or I wouldn't deal with him.  It's just that he gives me that
prickly, uncomfortable feeling between the shoulder blades.

"I want a Tandon 20 meg", I said.  "Do you a nice Blue Dragon 20 meg,
only one owner, 200" said Sid.  I frowned.  I know the Blue Dragon - in
the trade it's known as the Data Basher because of the way it loses
data.  There's a lot of Blue Dragons around, and I can't understand why
people will buy such an inferior disk to store their precious data on.
"No", I said, "I want something reliable.  Have you got a Tandon?"

Sid quoted a price, I fell about laughing, we haggled, and finally
settled on 300.  He put it on the slate for me, and Melanie and I left.

Back in Melanie's computer room, I took out the old drive and put the
new one in her computer.  I ran the Tandon low level formatting program,
which takes over an hour to test the disk thoroughly, and mark any bad
sectors.  When I'd got it started, I suggested that we have a cup of
coffee and we talked about what she was doing on her machine.
Apparently, she wasn't just playing at computers.  She told me about the
business she was running with it.

She had a list of professional women, and a list of clients.  Clients
called her up whenever they needed servicing, and she would send an
appropriate professional.  "I can't send just anyone", she said, "It has
to be a professional that understands the client's needs, and has the
necessary skills to fulfill the job required." She also had to develop
new business, which was partly done by word of mouth, and partly by
advertising in the appropriate magazines.  As the business grew, she
also had to recruit new professionals, with appropriate qualifications.
"The hardest thing is finding out the client's exact needs", she said.
"I usually do the first visit myself, because I'm much more experienced
than my professionals, and I can get him to relax and open up to me."

I nodded.  I've always thought that the hardest part of being a
professional consultant is finding out what a client wants.  They
usually think that they've solved 90% of the problem, and just want your
help with the last 10%.  But often that last 10% is impossible, and you
have to find out what the original problem was, because often there's an
off-the-shelf solution already.  Clients are usually reluctant to
discuss the real problem, though, because in doing so, they will have to
recognise that the 90% that they've already done, is wasted.  I usually
find that if I keep repeating "Yes, but what's the *real* problem?"
they'll eventually cough up.

The PFS-File database was her list of clients and professionals, and
without that, she said, her business would collapse.  The Supercalc
stuff was actually time schedules for her professionals - obviously a
professional couldn't service more that a dozen or so clients per day.
The WP stuff was mostly letters to suppliers of goods - apparently, all
client transactions were on a cash basis, which explained why her books
were dead simple.

By the time she'd explained how her business worked, the Tandon had
finished formatting, and I set to work.  I had a nice simple plan, as
the simplest schemes are usually the best.  I took my little READDISK
program, and modified it so that it would loop through the sectors on
the disk, reading them in turn, and writing them to the other disk.  You
could use interrupts 25H and 26H for this, but be sure to pop the stack
after each call.  Microsoft say that this isn't a bug, but let me put it
this way - that's not the way I'd have written DOS.  Let's call it a
documented feature.  Actually, I use a completely different method, but
we disk quacks don't talk too much about the tricks of the trade.

I made the reads start with the first FAT sector, and had the program
prompt for the last sector.  I connected up the duff hard disk as drive
D, and ran my modified program.  It worked fine, happily reading and
writing sectors.  After 20 minutes and 32767 sectors, the program bombed
out, and once again I cursed Turbo Pascal for not having four-byte
integers.  I fired up Turbo again, and altered the program.  I'm not
going to tell you how I altered it, because it's a very shoddy piece of
programming, and I'm thoroughly ashamed of it, but it's a good hack that
gives you the effect of four byte integers in Turbo.  Roll on version 4.

I ran my program again, and this time it ran to completion.  I powered
off, took out the duff disk, and powered on again.  The machine booted
off the new hard disk.

There's a point in most disk recoveries when I just know that I'm going
to get all the files back.  There's also a point at which the customer
starts to believe that just maybe I might be able to help him, but it's
only a very tentative suspension of disbelief.  After all, usually
they've been told by several people that the disk is irretrievably lost,
and they only come to me because I promise no fix, no fee.

But on the 90%-odd that I do get back, there's that wonderful, golden
moment when the customer sees all their files, and suddenly knows that
everything is going to be all right.  You can see the misery being
replaced by a glow of happiness, and I like to be present when it
happens, because that moment is what makes it all worth while.  Well,
that and the money, I suppose.

I typed DIR, and watched Melanie's face.  It's hard to describe her
expression, as very few people get to see it.  I suppose medical doctors
get it when they tell someone that they *will* play the piano again, and
plumbers probably get it when they fix burst central heating systems.
But most people don't get to convert disasters into recoveries, and all
I can say is, you're missing something special.

Melanie had that look on her face.  Actually, she was being a bit
premature, as seeing a directory doesn't prove that there's any data
there.  All it proves is that the directory sectors have been restored,
and that usually means the first hundred or so sectors.  But everyone
makes that mistake, and I started wandering around her subdirectories,
typing her files and showing her that Wordstar and Supercalc worked and
could load up her files.

Then I loaded up her database, read some of her records, and went bright
red.  It would be most unprofessional of me to tell you exactly what was
on her PFS-File database, but I can tell you it shocked me, and I've
been around.  I thought I'd seen everything.  I thought I'd heard of all
the immoral things that computers could be misused for, but Melanie took
the biscuit.

Disk quacking is a dirty business, but there are some things that even I
won't stoop to.  I sat there and wished that I'd gone into something
more respectable like used car sales, while Melanie happily displayed
all the financial details of her sordid profession.  I closed my eyes,
and desperately thought whether there was anything I could do.  I'd
certainly stand to lose my disk quacking licence if I tried to undo what
I'd done, and anyway, she'd only go to some other poor disk quack and
flutter her eyelashes at him.

I opened my eyes, and saw she had her cheque book out.  "How much do I
owe you?", she said.  I stood up.  At least I could keep my dignity.
"If you think I'm going to take your tainted money, you can think again.
If I'd known what you were up to here, I'd never have helped you.  You
conned me, but you can keep your immoral earnings."

I started to leave.  I picked up my disk tools and screwdrivers, and
headed for the door.  "You don't understand", she said.  "There's a very
real need for my professional services." "Professional services?", I
sneered, as I left.  "Let's not mince our words.  You're nothing but a
common ...." - it was some effort to get the word out - "stockbroker".