Aug 92 Letters
Volume Number: 8
Issue Number: 4
Column Tag: Letters
By Neil Ticktin, Editor
Higher quality, larger Magazine for less money
May I first say that I love your magazine (I love anything about the Mac!). I’m a
professional programmer for Xerox Corporation, but I do Mac programming for fun. I
have some criticisms that I think could improve your magazine.
1) Remove the beginner section - there are a bunch of books out there that
treat this subject - the reason that I came to your magazine is because it “pushed the
envelope” and had complex, advanced algorithms in it.
2) Change the glossy paper to recycled paper, triple the size of the magazine,
and then charge $5.00!
3) How about an article about the “ins” and “outs” of writing Printer
Drivers?... or ...”Why It Takes Three Man-Years to Write a Mac Printer Driver” ???
...remember, I think your program should out teach basic programming skills,
but should assume the audience is made up of average-to-advanced programmers... the
personal attitude which should lead people to your magazine is motivation, not a general
“how does one start programming the Mac?”
- Andy Ritz, El Segundo, CA
[Andy, in regards to the “beginner” section, most of our readers tell us that
even though they thought they knew a topic, they found something new and interesting
in Dave Mark’s articles. I understand that books are out there, in fact I urge people to
buy them. I also understand that this column will not only help the new programmers,
but also those who want to clean up their style.
Regarding the changing of the stock, increasing the size, and charging less.
Please call me with the name of the printer that you know can do this. As far as we
know, this isn’t possible without a drastic increase in price.
Finally, I would encourage someone to write an article on printer drivers. Right
now, we don’t have such an article scheduled, but if you know of someone, let me know.
MacTutor’s editorial goal is to provide information to all levels of programmer, from
beginners to advanced. We’ll continue to make all efforts to reach this goal. - Ed.]
Less Is Better!
Thank you for the new-look MacTutor. Like many other subscribers, I was
beginning to wonder what had happened to MacTutor - having assumed that my
subscription had lapsed. Never mind! The replacement of the old with the new is often a
good thing.
I was particularly pleased with your policy decision not to print vast amounts of
code. In the future, articles which focus on particular coding tricks or secrets or useful
but not well-known techniques would be most welcome. Such articles should be
succinct and to the point and present only the code snippets necessary to explain the
idea.
Many of the past MacTutor articles have hidden gems of knowledge inside very
specialized solutions or inside programming frameworks which are not used by the
everyday reader. For example I am using the THINK Class Library these days and any
other “framework” is of no direct relevance to me. However, particular techniques of,
say, using the toolbox, are. If these could be presented in a more generic way so that
they could be easily adapted to different frameworks and programming environments,
then this would be very useful. Wishing you every success with the new MacTutor.
- Paul Howson, Queensland, Australia
[Part of the purpose of Dave Mark’s article is to address how to properly access
parts of the toolbox. Even if you are not a novice programmer, skim his articles and
compare it with your own style. We’ll try to continue doing things in a general fashion.
- Ed.]
MacApp and A/UX
I agree with you about the Tools. I need some. I understand what you're saying
about POSITIVE and NEGATIVE requests. I hear and understand.
I would like some beginner's code on using MacApp. I know, you've beaten this
one to a pulp. But version 3 is out, and I wasn't listening before.
I would like some coverage on programming stuff to specific A/UX and MacOS
integration problems.
What a thrill to get mail from someone I just saw on a magazine editor's spot.
This InterNET keeps on giving me chills (I had many conversations with Frank Da Cruz
& Yoshi...WOW).
- Steven Woolgar, CHUS-FAMUS
[Steven, we’ll work to get some good quality starter articles on MacApp as well
as advanced ones. As far as A/UX. I’ve heard this request a couple times. Who else is
interested? More specifically, what would you like to see? - Ed.]
Glad to see you back
First of all I'm glad MacTutor is back in business! I like the renewed lay-out,
the editor's intentions seem OK. I’m just wondering when you will release version
2.0.1 or the Tune-Up.
• Don't forget us Pascal programmers out here, we're still alive and kicking!
• I always enjoyed the MouseHole Report. It adresses real problems. Why not start a
"Talk show" on AppleLink?
• I agree on the reduction of printed code, there's indeed no need to print yet another
"DoNothing" shell.
• You could pay more attention to the international side of programming. There are
still programmers abound who think that the world is flat and lies between Boston
and L.A.
• If possible I'd like to receive my subscription copy before the issue appears in the
local window display.
Oh and yes I will renew my subscription Can this be done through AppleLink?
So keep it going, we really need you. I learned and still learn more from
MacTutor than from any other source available.
- Luc Roels, Diegem, Belgium
[Luc, as far as the talk show, AppleLink is very expensive to do this and doesn’t
make sense for us. We are looking into other solutionsso stay tuned. I hear you on the
localization topic. I’ll look for articles.
As far as delivery. It will almost always show up in the stores a bit before your
mailbox. The reason is that shippers are faster than the postal service in any country.
The only way to avoid this would be to delay shipment to the dealers. But, we’ll
continue to look for faster delivery methods.
Can you subscribe via AppleLink? Yes, see the front of the magazine for info on
communication with us. - Ed.]
Correctly Efficient
I just got the second issue of the new MacTutor. I haven’t quite finished reading it
all yet, but from my initial skim through it it looks like every article has something of
interest to me-which is great!
I’ve just finished Mike Scanlin’s article on “Efficient 68000 Programming”.
It’s got lots of useful tips that I will endeavour to keep in mind. However, one of his
code samples annoys me, because it repeats a mistake that a lot of Mac
assembly-language hackers seem to make.
On page 40 he gives the following replacement for a _BlockMove call:
Subq #1,Dx
@1 Move.B (A0)+,(A1)+
Dbra Dx,@1
Now, it’s a well-known feature of the DBcc group of instructions on the 68000
processor family that they terminate the loop when the count reaches -1, rather than
zero. What’s not so well-known is that this is no accidental quirk, but a
carefully-thought-out design feature. It allows you to automatically handle the case
where the loop count is initially zero, without having to put in a separate test before
entering the loop.
Here is an example of the right way to use a DBRA to move a block of bytes:
move.w count, d0
bra.s @9
@1 move.b (a0)+, (a1)+
@9 dbra d0, @1
Notice how the loop is entered by branching to its end? That causes an extra
initial execution of the DBRA instruction. This subtracts 1 from the loop count
(adjusting for the termination on -1 instead of zero), and it will fall through without
actually entering the loop if the count was initially zero. Elegant, huh?
It is also possible to use DBRA with a 32-bit loop count. Here is an example
skeleton loop:
move.l count, d0
bra.s @9
@1 swap d0
@2
; .. body of loop ..
@9 dbra d0, @2
swap d0
dbra d0, @1
Basically this is a DBRA loop within a DBRA loop: the outer loop counts down the
high word of the 32-bit count, while the inner one handles the low word. Since the
SWAPs and the outer DBRA are only executed once every 64K iterations of the inner
loop, you’re still effectively getting the full speed of a simple DBRA loop.
There-now I’ve got that off my chest, I must finish the rest of the magazine.
- Lawrence D’Oliveiro, New Zealand
More Pascal!
For your information, the journal is quite interesting. I believe it could be a bit
more technical, and would also like to see more Pascal programs. (I know, few times
Pascal and “Technical” appear in the same sentence; however, I believe that Symantec’s
Pascal has become powerful enough to write full fledge applications.) Overall, the
magazine is quite useful, as well as helpful. Try to keep it oriented towards
programmers.
- Edward Wolpert, Knoxville, TX
[Edward, great suggestion. I too would like to see more Pascal articles. They are
getting harder and harder to find because of the incredible success of C and C++. I will
keep vigilant in my search for more Pascal articles! - Ed.]