Ask most people in IT what the most irritating piece of kit in most PC installations is, and they’ll usually say ‘printers’ or ‘scanners’ – basically anything mechanical. I think the item in the house that generates the same degree of fear in me is the washing machine. To paraphrase ‘The Two Ronnies’ from my childhood – ‘It’s big, it’s white, it’s shiny and I be afraid of it’.
In our case ‘it’ is an Indesit WD12 automatic washing machine. Under normal circumstances it clicks, whirrs, buzzes, splushes, chugs, and gurgles for an hour or so, makes a final shuddering burble then falls quiet. Last week it changed it’s habits by simply ‘clicking’ through the programme set without actually doing anything.
At this point I did the rather unmanly thing of reading the manual. Apart from the bleedin’ obvious (is it turned on, connected to the water mains and drain and ensure you’re not trying to wash a bag of cement) the manual suggested very little. I then did what we advise 70% of support desk callers to do; turn it off, leave for a while, and then turn it on again. And after that didn’t work, I did what you probably shouldn’t do unless you want to scare yourself daft…typed the symptoms in to Google.
According to the various online sources of information about the problem I described, the washer was in various stages of terminal decline. Phrases like ‘replacement control board’ were bandied around. Quite what I expected to find that would be helpful I wasn’t sure – perhaps a little line or two somewhere that said ‘Turn the switch left 3 places, then right 4 places, and that will do it’. Well, by now I was getting pretty miserable about the whole affair, and had visions of calling out the repair man. So, I decided to do what any self-respecting software engineer would do – turned it off and forgot about it for 2 or 3 days.
I then decided to take one last look before calling out an engineer (who, I had no doubt, would show up, spend 2 minutes poking the inside of the machine before telling me it’s fixed and leaving me £50 the lighter) and thought that I would adopt a similar approach to that that I take when doing debugging of software ‘on site’.
First of all…assemble the source code and documentation
Well, in this case that was the manual and the washing machine itself. So far so good.
Get your tools together
Rather than Eclipse and a debugger, the tools for this exercise consisted of 4 screwdrivers of varying sizes, a large quantity of towels and paper cloths (just in case there was a big pool of water just waiting to get out!)
Go take a look at the source code with confidence
Also known as ‘showing the system (washer) who’s boss. Took the back of the washer off and had a good look around for the hardware equivalents of messy code, mis-configured database connections, excess amounts of commented out ‘dead’ code cluttering the place up and hiding possible faults. Or, in the case of a washing machine…checked that all accessible connections were tight, that the belt was secure on the drum, that the drum could be turned by hand, that the inlet and outlet pipes were clear, etc.
I then took a look at the little drawer where the washing powder is introduced, and after taking it out noticed that it, and the channel under it leading to the washer, were crudded up with washing powder. Let’s say this is the equivalent of one of those bits of dodgy code you find that doesn’t ‘look right’ but you can’t see why it would cause the problem you’re having…
Tidy up the obvious errors
I washed the drawer and got rid of the lumps of washing powder from the channel. Actually, I was chipping deposits off with a screwdriver. I always thought that washing powder was supposed to be water-soluble…maybe not.
Re-compile and re-run
And so the moment of truth – you’ve done some tweaking, tidied up the obvious and we’re ready to give it a whirl. I put the drawer back in, screwed on the back-panel I’d removed (and in a special gesture to the gods of hardware, ensured I didn’t bother putting all the screws back in), connected the machine to water, drain and mains and turned on and stepped well back….and amazingly enough it works!
As Neo might have said in ‘The Matrix’ – ‘I know washing machine maintenance’.