Article 5943 of comp.sys.newton.programmer:
Newsgroups: comp.sys.newton.programmer
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!gatech!newsxfer.itd.umich.edu!caen!msuinfo!harbinger.cc.monash.edu.au!news.cs.su.oz.au!metro!slip4.geko.com.au!simmo
From: Robin Simpson <simmo@zonk.geko.com.au>
Subject: "Programming for the Newton" Errata re-posted
Message-ID: <CzIJo4.IJr@ucc.su.OZ.AU>
X-Xxmessage-Id: <AAF4325B7105EFF6@slip4.geko.com.au>
X-Xxdate: Sat, 19 Nov 94 06:53:15 GMT
Sender: news@ucc.su.OZ.AU
Nntp-Posting-Host: slip4.geko.com.au
Organization: AUStecc Consortium
X-Useragent: Version 1.1.3
Date: Sat, 19 Nov 1994 11:52:52 GMT
Lines: 100

Hi Folks, greetings from the land of Oz.

A number of weeks back, I contributed a list of the typos I had found in
the (otherwise excellent) book "Programming for the Newton" by McKeehan &
Rhodes (AP Professional, ISBN 0-12-484800-1).

I also offered to collect & re-post any other errata from the book that
others had found. I have had only a couple of contributions to date, but
I if anyone else has items that we have missed, please let me know via
email & I will again summarise & re-post.

I highly recommend the book (provided you have the list below in your
hand!) to anyone who would like to try their hand at writing some code
for the Newton. Once you get the hang of it, its not that hard - and this
book has an unusual "just do it" approach which I found a very refreshing
way to learn a new programming language. (My background is Cobol, Pascal,
and just enough Unix to be dangerous).

The book comes with a disk with a fully functional Newton Toolkit on it -
it just plasters a "created with demo NTK - not for resale" type message
when you launch your final Newton application. All you need is a Newton,
a serial cable and a Mac with at least 6Mb (I used an aging Powerbook 140
quite happily).

So... here's the combined errata list (thanks to Kimbal Curtis for the
extra items)

====== "Programming the Newton" 1st edition errata list =======

p.39, all references to "orderContainer" should read "itemContainer"

       line 1:  heading should read "Adding the itemContainer" template
       line 2:  should read "Now let us create the itemContainer ..."
       line 3:  should read "... the itemContainer also has two buttons
..."
       fig 2.17 title & annotation: should read "itemContainer"
                (in fact if you look closely at definition of the clView
                in the list shown in the detail.t Browser-1 in fig 2.17
                you'll see that the content of the browser reads
                "itemContainer" - even if the labelling is wrong)
       Step 1:  "... Name this clView "itemContainer"
       Step 2:  "Within itemContainer, draw two ... near the bottom of
                itemContainer ..."
       Step 3:  "Draw a clView inside itemContainer ... inset it 
                slightly from itemContainer on the right ..."

p.85,  middle of the page, end of paragraph should read "Now, build
       download and run the application (see Figure 3.32)"

p.186, The section headed "Enabling categoryPicker" says to add a 
       viewSetupFormScript slot to categoryPicker: however if you have
       followed the instructions at Step 1 on the bottom of p.101
       correctly (replacing the _proto slot of categoryPicker with the
       "justifiableLabelPicker" custom proto supplied on the disk) then
       categoryPicker ALREADY contains a custom viewSetupFormScript
       (which is different from the one you are asked to type in on
p.186).
   
       I just left the custom proto as it was, and it seemed to work OK.

p.188, In the section "Setting up the Chair Children" I had problems
       because of the order of creating the chairChildren described on
p.71
       under the heading "Making a Table & Chairs" - where it says to make
       the four chairs first, and then add the tablePicker last.
       Since array references begin at 0, (in this case, the first chair)
       to make the function work correctly the second last line of the
       function should read:

       ArrayRemoveCount(chairChildren,4,1);

p 235, Don't you love it when the typesetters add hypens to computer code 
       so it wraps neatly onto a new line:    (-:

      'sor-tOn  does not work as well as  'sortOn

p.236, under "Words Search" the query lines should read:

       curs := Query(soup, {type: 'words, words: ["lijo"]});

       and

       curs := Query(soup, {type: 'words, words: ["Elijo"]});

       I'm sure this is obvious to the experienced, but for the beginner,
       it is disheartening when it fails to work as printed!

====== list ends

Anyway, don't let the list put you off - it's a great book - and they've
got an "Advanced" version coming R.S.N. I am told. :-)

Regards
Robin
_______________________________________________________________________
Robin Simpson                                    Tel:    +61 2 955 9183
J.R. Simpson Consulting                          Fax:    +61 2 954 0037
30 Darley Street                                 Mobile: +61 18 206 147
North Sydney  NSW  2060, Australia               Pager:  +61 2 962 8675
_______________________________________________________________________


