Liberty Basic is develeopped by Carl Gundel
Original Newsletter compiled by Alyce Watson and Brosco
Translation to HTML: Raymond Roumeas

  The Liberty Basic Newsletter - Issue #25 - Jan 98

"The only stupid question is the one you don't ask"!


Contributed by: "Stev" sharne-@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, doing 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 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.


Newsletter compiled and edited by: Brosco and Alyce.

Comments, requests or corrections: Hit 'REPLY' now!