Is there really an art to it? in a way, yes there is... it involves
being patient and thinking logically.
The other aspect to it of course it not being afraid to try in
the first place. I think the biggest fear which stops people even
trying to fix a problem, is the fear of doing something wrong, breaking
it further or making it worse.
There is an easy answer to that, if you don't take the risk you'll
never get anywhere. There are precautions you can take along the
way, almost everything in Windows can be backed up before you make
a change. It just takes a bit of sensible thinking.
If you need to delete files, rename them instead, it has the same
affect most of the time. Make a note of any settings you change,
take copies (backups) of important data before editing or deleting
etc... sensible precautions such as these can give you a safety
blanket if you make a mistake.
The art to good problem solving is the ability to think logically.
Computers are very logical, in most cases things happen for a reason,
and never because they just feel like it. As with most things in
life, there is an 'action' and 'reaction', 'cause' and 'effect',
in other words nothing just 'happens'.
In the case of a computer problem, if something no longer works
or displays an error the cause is often close at hand, if you look
in the right places. But what are the right places? a lot of problem
solving is a process of elimination, eliminate what is not the cause
and you will invariably end up with a solution.
When you talk about an 'art to problem solving', what is actually
meant is that if something doesn't work, it's a case of knowing
how to trace the problem back to a cause. In doing this, there are
hurdles beginners have to overcome in understanding how a system
works.
The first hurdle is the understanding that an application is not
one 'unit'. In actual fact an application is made up of many smaller
units (components, or files on the hard disk). This is the same
for Windows, Linux and Macs, after all an operating systems is an
application as well. It's definition I suppose might be an application
which runs other applications.
All applications depend on their components, the operating system
depends on it's components. Problems can occur when one of those
components (or files) changes through something being installed.
Identifying those problem components is the art, and there are plenty
of tools and methods to find the troublesome components.
The next hurdle is understanding how to interpret errors, or crashes.
Consider what we've already learnt about errors in components. If
a components crashes it might display an error, that crash is then
reciprocated to it's dependent parent application or component,
that crashes perhaps displaying another error. In this case, two
errors have occurred, the first error is the important one, however
the second error might help identify where the first error originated
from.
Let me give an example... First Error... hole in the roof. Second
Error, wet floor. Why concentrate on fixing the Second Error, because
fixing the First Error will automatically fix the Second Error.
However the Second Error does help, as it identifies that the problem
is to do with something wet, which could be a tap, bath or hole
in the roof.
Crash errors in most cases are a result of a piece of programming
code which has resulted in a value it cannot cope with. Sometimes
it's impossible for a programmer to anticipate every scenario that
a component or application might encounter, an error like this is
referred to an an 'unhandled' error. With this in mind, understanding
what a crash error is and what it looks like, will help you identify
when an error has been 'handled'.
This takes me onto the next point, what is a handled error? When
you type in an email address incorrectly, or wrong web site address.
An email will be returned to you if the address is not valid, a
web browser will display a message saying the site is unavailable.
These are still errors, but 'handled' correctly by the software
as the programmers had anticipated this occurring. This same logic
can be applied to security problems, driver problems, installation
problems, connectivity problems etc.
Then there is the hardware side of things. I have concentrated
mainly on the software side up till now, however the same applies
to hardware. Software is the 'interface' to the hardware, it controls
the hardware to a degree. When software goes wrong it's not usually
because there is a fault with the hardware, but you can never rule
it out with some problems.
People's phobia about the hardware of a PC is unfounded these days.
It's made up of components just like a car is, you'll never need
to know how a gearbox works. If a gearbox breaks then you will never
need to take it apart and fix it, only replace it. You'll know it's
the gearbox because you won't be able to drive the car like you
could before. For the same reason people will never need to know
how a computer works, only the purpose of the components. Like a
car needs an engine; a seat; a steering wheel, computers need a
motherboard; hard disk; keyboard. If you know what a hard disk does,
you're on the right track.
Knowing these facts is a good start to learning the art of problem
solving... learning more and more about how it all works will directly
help in establishing where problems are coming from and how to avoid
them in the future. The more you learn about the art, the more knowledge
you will pickup about what does what, and how.
Of course we're missing one valuable point... the real definition
of 'problem' in computing terms... something which does not do as
expected. In most cases the problem is that you can't do something,
and the solution is to set it up so it works correctly. Correct
configuration might be the simple answer there.
|