The Liberty Basic Newsletter - Issue #25 - Jan 99
   "The only stupid question is the one you don't ask"!


 Contributed by: "Stev" <sharney@coam.net>
 Thanks Stev!
             

 "There's more than one way to skin a cat."

 I know you've heard this before, but it needs to be said again.

 "There's more than one way to skin a cat."

 It is usually spoken by fathers, grandfathers and uncles, but 
 sometimes by someone you can call a friend.  Someone who 

 thinks enough of you to give you good, sound, well-tested 
 advice.

 It means there is MORE than one way of doing things.  Writing 
 software is no exception.  In fact, it's probably the most 
 perfect place to show examples of doing things in several ways.

 There are two major categories to deal with:  General and 
 Specific.  This first article covers the general level, the 
 next one will dig down into the specific.

 At the time you hear the phrase, you nod your head knowingly 

 to indicate that you understand, but you're usually so wound 
 up and frustrated by the circumstances at hand that you 
 blithely go on in the same old way. Maybe you put a slight 
 twist on the theme, but it's almost the same as before.

 Wrong.  You need to step back.  Put it away for a day or two 
 (sometimes as little as an hour will help) then take another 
 look at the problem.


 Hey, that's it ... rule #1 for skinning cats ... take a break.
 ______________________________________________________________

 This time is NOT wasted.  You can use it to ask questions, do 
 research, or take your other half out for that well-deserved, 
 special meal at a favorite restaurant.  Anything you can do 
 like this can break the spell you seem to have fallen under.  
 Just going for a walk around the block or putting up a few 
 hooks in the closet can help.  It's the break (interruption) 
 that does the trick.  It lets your mind focus on the problem 
 in a different way.  Concentrating on something else in the 

 foreground will let your problem slip into your subconscious.  
 It didn't go away completely, there are a different set of 
 neurons cranking away without your awareness.

 This unconscious thought is unfettered by the little things ... 
 the details ... the real small, nagging little pieces of the 
 puzzle.  It is free to roam into uncharted territory, to drift 
 around without a rudder, without guidance from all your mental 
 gymnastics that were causing the solution to hide from you.  

 Go ahead, try it sometime, it really does work ... there is 
 more than one way to skin a cat!

 Allow yourself the time it takes to ferret out new information.  
 Get a book from the library, talk to the person that said, 
 "more than one way."  Maybe they have had similar problems in 
 the past and have found a solution.  Even if it is not quite 
 what you expected, it may trigger another thought inside your 
 noggin, and point you in a totally new direction.  Good, just 

 what the doctor ordered.  Get several other viewpoints if you 
 can.

 Read all the other issues of Brosco's newsletter. You can find 
 many of them at his web site, and I know he can send you any 
 you cannot find if you ask for them by number (and sometimes 
 by content).

 Being slightly dyslexic, it has been an interesting life trying 
 to educate myself.  Teachers didn't have the proper 
 understanding back when I was in school to be able to help, so 
 I scraped by with C's and D's.

 You say, "Okay, but, hey, what does this have to do with 
 skinning cats?"

 We'll get into that in a few seconds. I was trying to give you 
 a bit of personal background so you could see where I'm coming 
 from.  Once you understand that, you'll be able to understand 
 how I know enough about this subject to write about it.

 As I said, it has been very hard to get to the point I am at 
 today because I hated reading, or anything that had to do with 
 words or numbers.  It wasn't because I didn't want to read and 

 write, it was because I couldn't!  The letters on the pages 
 were always moving ... jumping around, and sometimes completely 
 disappearing!  I could not see them, or I only saw the words I 
 already knew.  The other ones, those dastardly-big new words 
 were totally meaningless.

 And numbers, well yes, they made more sense, and I did okay on 
 short, simple problems, but the long ones created mental 
 anguish:  an internal melt-down, so to speak. I did not like 

 school.

 Years later I realized I was falling behind.  I knew I had to 
 change, I knew I had to learn quickly or I'd get left in the 
 dust.  It was hard (read very hard) for me to read anything, 
 let alone computer books - there were so many details, and 
 things to remember.  It took a gigantic effort on my part.

 That was step number two.  That willingness to change is how it 
 began for me - that's how it really started.


 So, there ... rule #2, be open to changes!

 _______________________________________________________________


 I am a working programmer now. It is what I've wanted to do 
 since the first time I heard the word "computer." I started 
 reading about them, studying everything I could find out about 
 them.  To me they were miracle machines - mystical beyond 
 belief.  They could do so much, almost anything it seemed.  I 
 wanted to know more about them. They were going to change my 
 life, I just knew it.  They were going to do all the numbers 

 for me and let me catch up again.  I "HAD-TO-HAVE-ONE!"

 No, I do not work for Microsoft or any of the major players. I 
 work for a small, locally-owned loan company here in Las Vegas, 
 oing what I like best.

 Along the way, there have been many ups-and-downs, and I've had 
 the privledge of knowing and studying under someone that was 
 able and had the patience to help me in many ways.  That is why 
 I'm willing to share my knowledge with anyone that can glean 

 something from all these words.

 I'm sure that some of you readers out there are aspiring to a 
 professional career in programming.  Good.  God knows we need 
 more.  Better ones.  Young people that can learn now while they 
 have the time to practice and perfect their chosen trade.


 Ah ... rule #3, practice making changes, never give up on this 
 idea.
 ______________________________________________________________


 See what Brosco has said about this in Issue 23.  Many changes, 

 and many rewrites were gone through before he was satisfied 
 with his code and his examples.  What's that I see ... are you 
 pouting?  No one told you it was going to be easy, did they?  
 Are you under the assumption that we just sit back and type it 
 in and the computer makes it work?  The day that happens is the 
 same day I beat Tiger Woods on the golf green!  Wake up ... 
 it's not easy when you are just beginning, and it takes a lot 
 of practice.

 Oh, sure, we can kick back and tap out a few lines of code that 

 work the first time out, but I seriously doubt there is anyone 
 out there that can enter 100 lines of code without needing to 
 make any changes.  It is very rewarding, however when you get 
 something together that does work correctly, and does exactly 
 what you need it to do.  It gets even better too.  Wait till 
 you have several people working under you, running your 
 programs.  This will get you hooked on programming like nothing 
 else can.

 Examine the snippits of code you see posted.  Look at the way 

 each of us does things slightly differently.  Play with them.  
 Make all the changes you want while experimenting.  Make small 
 changes, and study their effects.  This is how you will learn 
 what works and what doesn't.

 Some of us old hackers have developed ways of doing things that 
 aren't easily understood by newcomers.  There two sides to this 
 coin.  One is the small side and the other is the large side.  
 This is something that many beginners have trouble with, so let 

 me explain this a little better before you throw up your hands 
 and hit the power switch.  If you can understand this concept, 
 it will help you out tremendously in the long run.

 The small side contains the ideas and theories that make up the 
 really clever programming short-cuts we take - the ones that 
 are almost invisible because they "seem" not to be there.  They 
 are very hard to see.  You must read between the lines to 
 figure out what is really happening.  These are the ones that 

 seem like tricks, but are in truth the shortest, most logical 
 way to accomplish something.

 The large side holds the huge chunks of compounded code you 
 find in our programs that are so complex you get lost trying 
 to figure them out.  They are made up layer upon layer from 
 densely written smaller pieces of general programming and 
 condensed groups from side one.  For lack of a better term, 
 I call this, "rolling-up-the-code".

 We have learned through trial-and-error what works best 

 depending on the circumstances, and do things that on the 
 surface seem strange or illogical, but I assure you, we all 
 have our reasons for doing them.  Within any large program, I 
 could show you examples of both types of code working together 
 gracefully ... side-by-side.

 These tightly woven mazes must be taken apart slowly (gingerly) 
 line by line and studied thourghly several times before you can 
 tell what is really going on.  Break them down piece by piece 

 until each section (or each statement) is small enough for you 
 to understand.

 If you knew how many times I have read through my computer 
 books it would scare you.  But each time through, I learn 
 something new or get a better understanding of how everything 
 fits together and how it all works.


 Mmmm ... rule #4, study everything several times, the more, 
 the better.
 ____________________________________________________________

 Ask questions too.  This newsletter and the regular Liberty 

 Basic newsgroup are good places to start.  You can learn plenty 
 by hanging out with us and asking questions.  We strongly 
 encourage it.  It makes us think through the best ways to 
 explain things, which helps everyone.

 Try to formulate your questions as clearly as possible.  You 
 may be surprised at the number of responses you get back.  The 
 way something is worded can make all the difference in the 
 world, so read them all.  One or more of these might hold a 

 key element that will open your eyes and allow you to move 
 forward.


 Finally ... rule #5, ask questions.
 _____________________________________________________________

 That's it for this time.  Five general rules for skinning cats.

 So far, we have just ruffled the kitty's fur and received a few 
 scratches.  Next time, we get our hands bloody as we dig deeper and 
 get under the skin.

                  ************************************


 Editor's(Brosco) Note:

 I thoroughly enjoyed Stev's article.  When Stev first offerred to 
 write an article on this topic I was expecting to see a ton of LB 
 code doing the same thing in different ways.  I am delighted that 
 he has taken the time to document these simple, but very important
 rules first.  

 I urge you to put these rules into practice immediately - not 
 tomorrow - not next week - but right now!  Here's how:

 #1 take a break.
    Read the rest of your email - look at the messages on the msg

    board, surf a few sites and newsgroups, do the things you 
    would normally do, or better still, mow the lawn, wash the car, 
    etc., your spouse will be delighted, and they will never know
    that you were secretly programming with the subconscious mind.

 #2 be open to changes!
    Be prepared to try these rules - if they don't work for you - 
    give them up - but do try.

 #3 practice making changes, never give up on this idea.
    Ever heard the phrase: "He's getting old - he's very set in 

    his ways".  I have never heard that said as a compliment!

 #4 study everything several times, the more, the better.
    Having had a break and opened your mind to new ideas - come
    back and read this article again - you will get a far
    better understanding of the concepts discussed - believe me!

 #5 ask questions.
    And I certainly don't need to give you yet another lecture 
    on this topic - do I?

 Please give Stev some FEEDBACK on his work here, 

 because if he is at all like me, any feedback - good or bad - fuels
 the motivation to produce the next issue - and I am looking forward
 to seeing Part 2 (3,4,....) of this topic.
      

See also - "There's more than one way to skin a cat." - Part 2
                                                              

--------------------------------------------------------------
 Newsletter written by: Brosco.
 Comments, requests or corrections mailto:brosco@orac.net.au

 Translated from Australian to English by an American:
 Alyce Watson -  Chief Editor.  Thanks Alyce.

-------------------------------------------------------------- 
   