As a professional Teacher, Registered Nurse and Psychotherapist, the author is often dismayed at the way newcomers sometimes get treated when asking for help in the forums, particularly some of the Open Source places. Newbies post genuine questions only to be flamed, confused or accused of being an idiot.
This seems to be one of the paradoxes of the open source phenomena, where some 'expert' users are rabid about getting away from proprietary software and implore the rest of the world to do likewise, but have little time or patience to help newcomers climb on board. Some self-appointed 'experts' would rather massage their own egos, it seems.
In a similar vein, a great deal of the information that is out there is of a highly technical nature. It is either pitched at way too high a level, making huge assumptions about the reader's degree of expertise, or important steps and explanations are omitted, leaving the new user wondering why they can't get the thing to work properly.
For a variety of reasons it seems that good instruction - without the attitude - is hard to find. The main raison d'Ítre of TheSystemMaster.com is to attempt to redress this balance and provide the user with useful technical documentation and assistance in getting their open source and other projects up and running.
So is it really that hard..?
Recently I sat down and asked the question, "Why are so many Unix enthusiasts such wankers?" This question has been
brewing probably for some years now and I feel it's time to put some things straight regarding my own views on this controversial matter.
It takes time and effort to get to know any operating system and Unix is certainly no exception. However what some
Unix proponents seem to forget is that using a command line operating system can be a significant learning curve for most people.
This can be especially true when one is used to a Graphical User Interface like Microsoft Windows.
Many Unix-heads think the world would be a better place if everybody was forced to use a 'nix-based system, but paradoxically they fail to appreciate that potential converts need time and nurturing to cross over to the black side.
It's all very well reacting with haughty self-importance when a newb asks a genuine question, but the fact remains
that many potential recruits are put off making the effort because the 'experts' make them feel stupid and
unknowledgable. And nobody likes that.
So how did this come to be? Where did this idea come from that to learn Unix, you've gotta traul arcane textbooks or the
internet, trying to find (rarely) decent information on how to perform the most basic of tasks!? As a teacher I feel this is not an efficient way to teach a subject.
My personal belief is that it is hard to find good, reliable instruction which is written in plain, easy to
understand language. Anyone who has ever fired up a man
page will know that you've gotta have a PhD in nerdspeak to understand them. Most man
pages are hard to read and not very instructive. Let's face it, they're usually written by people with a fair bit of Unix knowst, but apparently lacking in communication skills. Sadly many websites are not much better.
So when somebody asks me, "Why are you putting all the 'answers' up on your website; don't you think it would be
better if people worked out the solutions for themselves?" I say well, it depends partly what you're attempting to achieve. If you are trying to teach and assess internet searching skills for a particular topic, then yes, perhaps people will be less motivated if the answers are already there in front of them. However my personal and professional aim is to help users get into Unix by trying things out for themselves, with a few instructions to get them started.
I already know most of my students can do internet searches. I already know what kind of information they're likely to
find on the web. The truth is that most beginners can't work things out for themselves; they don't know enough to address many of the problems yet.
Would you teach somebody how to fly a jumbo jet by telling them to find the answers on the internet?
You need some familiarity with a system before you can start to figure out how it ticks. You get this familiarity by doing things with it. You want to know how to do something, a teacher's job is to show you how. When you are successful, you feel that sense of achievement and satisfaction that we all know.
Your growing confidence is the one, single most likely factor which will encourage you to experiment on your own.
Do It Yourself
This is one of the great paradoxes of the 'nix world; when an 'expert' tells you to find the answers on the internet and doesn't want to provide these answers themselves.. What's that all about? The truth is that most of these people didn't become proficient on their own; they got help. They used the internet. They still do. They use other people's solutions as well as their own. So what's the difference between using the web in general sense, for sources of information or using a single, well written source? It's not like you're figuring the answers out for yourself either way - you're reading somebody else's fixes.
It seems as if some Unix 'experts' have got 'Four Yorkshiremen Syndrome'. In the famous Monty Python sketch, four hardy Yorkshire types are sat around a table, crooning about how hard life was in the old days and how young people today don't know they're born. They compete with each other in increasingly bizarre terms about who had the hardest life. It's a brilliant parody of the type of ageing mentality which says, 'It was hard for us, so it should be hard for you too.'
Now I agree that a tremendous sense of achievement and satisfaction can come out of figuring out an answer for yourself, but let's be honest: doing an internet search isn't 'figuring out the answer'. It is asking somebody else for the solution and I don't think there's anything wrong with that as long as the learner is able to develop increasing self-reliance in the process. But let's not confuse these two things.
I can't agree with a mentality which says "Unix is hard to learn" and then reinforces this illusion by putting bizarre obstacles in the way of beginners. I have seen teachers of Unix do this. But hey, why pick on Unix? Why not withhold information on any subject!? I mean, students should be able to find out the answers for themselves right? It is the modern way.
How's this for an example. Today students, we are going to learn about how various bacteria protect themselves from their often harsh environment and continue to infect their host despite various cleansing measures. Oh, I'm not going to tell you anything however. This is a really hard subject and you must find the answers on the internet.
I agree that 'teaching by research' has its place, but I don't find it a particularly useful technique for beginners. Some teachers also use it as a copout and their students tend to resent its overuse. I mean, people pay to come to Polytechnics and Universities to learn, surely. And teachers are paid to teach. If I was told by a teacher, with whom I had a paid contractual arrangement to learn from, that I had to go and find the answers somewhere on the internet, I'd be pretty pissed!
Don't Depend on Me
When you train to be a Registered Nurse, you train to save people's lives; for those moments when patients attempt to kark it on your shift. The ABC of performing first aid teaches us to check the patient's Airway, Breathing and Circulation. This is basic stuff and any treatise on first aid techniques will tell you this.
Why then, should it be so difficult when the subject is not saving people's lives, but learning how to use an operating system? From a purely pedagogic point of view there is no difference. Isn't the aim of any teacher is to transfer knowledge to one's students? The teacher's skill is to find creative and interesting ways in which to help the student to learn. The withholding of knowledge is surely not one of them. Students look towards a teacher for encouragement, but unfortunately some find just the opposite.
As a trained psychotherapist I am keenly aware of features such as dependency traits, which sometimes feature in
people who seek treatment. Basically this means that the patient becomes dependent on the therapist in such areas as
decision making and emotional security. This is generally considered unhealthy in Western culture and most of the mainstream therapies in some part, seek to get the locus of control back with the patient.
I sometimes wonder if some teachers have the therapist's fear - they feel the student will somehow become dependent on them for the answers and unable to find their own way in the world. Of couse, just as with bad therapists, some 'experts' are just in it for the power trip to bolster their own flagging ego and this is easy to spot.
My own endeavours with trying to learn Linux were often delayed due to frustration encountered with some of the most basic tasks. Sometimes I just needed somebody to tell me how to mount a floppy disk. Yes, maybe I should have tried harder, but frustration can be a discouraging partner. My eventual salvation came in the form a little book on Red Hat, attached to a PC User Magazine. Once I was able to push through past the basics, my confidence grew and I started to use - and enjoy - Linux more. I was also better equipped to structure the questions more usefully in internet searches.
It seems to me that once some people become Unix 'experts', they cross over to the other side and become F.B.I agents, "I'm sorry, that's classified information; I cannot give you a straight answer to that question".
My mate Brad and I sometimes joke with each other. When one of us can't get some technical task or other to work
properly the successful partner will reply, "Well, it worked for me." Then we cack our pants laughing at the audacity of the retort. Part of the humour comes out of the parody in the situation. In the classic Kung Fu series, Kwai Chang Cain approaches his revered Master, seeking guidance in the performance of some special martial arts manoeuvre. The learner's respectful request is met with the retort, "Well it works for me, Grasshopper.." Hardly an empathic Buddhist retort for sure.
So when a 'professional instructor' throws out the same, pitiful line, it's really tantamount to saying, "Well, I know how to do it." Well wooh-pee-frickin'-doo, you're the teacher - you're supposed you know how to do it! Now would you mind doing your job and showing me how to do it too - without the attitude?
On a final note, I have found that generally, Unix teaches me more about networking and operating systems than Windows does. This is largely due to the odd, text based nature of Unix where everything is treated as a file. It's a wonderfully quirky system and can become quite addictive, once you get your head around it.
Another paradox here is that one of the real reasons Unix 'experts' love Unix is that it really simplifies jobs. Once you understand how Unix works and how to configure stuff, it's actually a lot easier than performing similar tasks in Microsoft Windows.
Some general hints for learning Unix
- Don't let anybody tell you it's difficult - if you're interested enough, you'll learn
- Don't let Unix Wankers put you off
- Build a hack box at home, for practice
- Practise, practise, practise
- Try to find some purpose for learning Unix, such as "I want to run a Web Server"
- Don't be afraid to ask for help. If somebody makes you feel bad, seek help elsewhere
- Build a network of supports. Most professionals rely on each other for help at times
- BUT, don't always seek help from the same person. Don't become a pain in the arse.
- Unless they're the teacher, of course..
- As you get more confident, try to figure out the answer yourself before seeking help
- Help other users. It can be very satisfying to nurture another beginner
- Don't give up. Be patient. If feeling discouraged, take a break and try again later
- Try not to ask the same question too many times - write the answer down
- Keep detailed notes of all your installation and configuration procedures
- If something isn't working, but the instructions are good, triple check everything you did
- Check your code thoroughly. Wrong assumptions and typos are extremely common (well, for me anyway)
- Don't be afraid to trash the system a few times. Don't practise on 'live' systems
- Remember, knowing Unix will greatly increase your employability and usefulness
- Most people start to enjoy Unix as they become more familiar with it. You will too..
Here are some academic studies which I have found relating to teaching theory and methodology..
Tools for Teaching: Motivating Students
- this one's straight out of Berkeley, home of FreeBSD
Quality Teaching From Theory into Practice
- including 12 measures to greater success