---------------------------------------------------------
Brosco's Liberty Basic Newsletter - Issue #17 - Sept 98
---------------------------------------------------------
In this issue:
       1) An Intro to LB Programming
       2) Your Feedback again

Coming in future issues:
       Using GDI - Part 2
       Using Text Files

Please note - I am usually working on several newsletters at
the same time - the one that gets published is the one I feel
is complete - so the next newsletter may be one of the above
topics - or (in the words of Monty Python) "something completely
different" - so the ones listed above just give an indication
that it is 'in the works' and you can probably expect to see it
in the next few weeks.
---------------------------------------------------------

1) An Intro to LB Programming

Many subscribers to this Newsletter are self-taught programmers -
and to this group - I congratulate you.  While Carl has provided us
with a very easy to learn and use programming language - it is still
necessary to understand the concepts involved - and to do this
without any formal training is quite an accomplishment.  You should
be very proud of yourselves for your achievements.  (Please take a
bow and wait for the applause to die down before continuing)!!!!

This newsletter is primarily aimed at that those who have just
started on their voyage into learning LB programming.

Some time back I mentioned to Alyce that teaching yourself to
program is like playing a PC Adventure game.  When you first start
the game you have little idea of the situations that you will
encounter - you will be presented with strange objects that have
little meaning to you at the time - and you will often wonder as to
how they will fit into the game.  So you pick them up and store them
in your inventory.  When you get to a part of the game that you
can't get past - you try each of the objects in your inventory
to see if they help you.  If they don't - you retrace your steps
to try to find what you missed.

When you start programming in LB you will also be presented with
things that don't make sense at the time.  There will be discussions
and code snippets on the Message Boards, Email lists, Newsletters,
etc.  Many of these will have little meaning to you.  Don't worry -
it happens to all of us!  Just store all this information in your
Inventory (perhaps in a subdirectory under the main LB directory.)
When you get to an area in your  program that you can't solve -
look through your inventory - you may have the answer there.  Also -
don't forget to revisit the LB Helpfile and the sample programs
provided with the LB distribution package - there is a wealth of
information there.  Plus there are now numerous websites with many
LB programs that you can download.  Alyce has compiled a list of
many of the programs available - and where they can be downloaded.

The list is at:

http://www.wctc.net/~awatson/lbdov.html

And after you have done all this - how long will it take you to
progress through the ranks from a beginner to an expert? - FOREVER!
By the time you feel that you have mastered a good proportion of the
current version of LB - there will be newer versions with more
features.  Learning is an ongoing process - you will never know it
all.

What's the best way to learn? - EXPERIMENT - and if it doesn't work
- keep trying, you wont break anything - so keep trying.  And of
course, there are the Message Boards and the Email list to get
assistance - but don't 'cry wolf' when your first attempt doesn't
work.  You will learn more by trying variations - revisiting the
samples, snippets, helpfiles, etc. rather than just asking for a
solution to 'cut and paste' into your program.

Alyce has often asked me why I treat her as an equal. (If you are
not aware of our backgrounds - Alyce is a self-taught programmer
with 18 months experience.  I have been programming for over 30
years - much of the time professionally).  The answer is simple
- Alyce has a stubborn streak that refuses to let the computer
'beat her'.  I know that Alyce perserveres with a problem for
many hours before she concedes defeat and asks for help (and that
isn't neccessary very often).  In the process she learns more
every day.  She is quite correctly referred to as the graphics
guru in the LB community - and that's very impressive for a
self-taught programmer!!!!

A while back I published a routine for printing text around a
circle.  The routine all hinged on one particular API call that
I had to translate to LB format.  It took me 25 hours of
experimenting to get this one call correct!

It is this 'never say die' attitude that's needed to become a
good programmer.  If you give up after the first few attempts
and call for help immediately - you are destined to limit your
improvement rate and remain at the level of 'very ordinary'.
(By the way - the above statement is not directed at any specific
LBers - it is a general statement that any experienced programmer
would endorse).

One Final point.  When many people first learn to program, they are
stuck for ideas as to what program they should write first.  OK -
here are a couple of guidelines.

1)  Don't be too ambitious on your first couple of projects.
Putting the theory that you have just learnt into practice will
still involve a large learning curve.  So start out with small
projects.

2)  Have a look at some of the sample programs distributed with LB
and find one that takes your interest.  These programs were written
purely to demonstrate some function - so they lack a lot of detail
that would be found in a real application.  So - rewrite the
program to be a fully functional application - with an attractive
user interface.

3)  In point 2 - notice that I said REWRITE the program - not modify
it!  Many times you will find it easier to completely rewrite a
program because the original program was not designed in such a way
to make it easy to add new features.


Attached is a document (in *.wri format) to complement the
tutorials, help files, etc. that are provided with your LB
installation kit.  Alyce and I didn't know quite what to call this
document.  Its not a tutorial, its not a FAQ - its just a document
that we both agree would have helped us a lot if it had been
available when we were learning LB.

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

2)  Your Feedback again

This new newsletter service provider seems to be working very well:
-  no hassles with ZIP attachments - no hassles with the size of the
newsletter - no hassles with frequency, etc.  Thanks to the several
LBers that suggested this provider to me.

Currently the newsletter is set up so that only I am able to post
anything to the subscribers of the newsletter.  But there are two
other options available to be considered.

1)  Allow you to 'reply' to a newsletter posting so that you can
discuss issues that arise in the Newsletter.  This 'reply' would
be posted to ALL subscribers.  (As would their replies to your
posting).  In other words - it would become an Email list -
similar to the LB Email list.

2) Similar to option 1 - but the reply would only to be posted to me
- and it would not be sent to other subscribers until I approved its
content.

This is where I need your feedback.  Would you be interested in
using this facility for NL content discussion?  I feel it would be
far easier and more convenient than using the NL Message Board.  If
feedback is in favour of using this facility - I would implement
option 1).  I would only resort to the second option if the list
became a target for the SPAMmers.

Please let me know your thoughts.


--------------------------------------------------------------
 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.
