TweetFollow Us on Twitter

Sep 92 Letters
Volume Number:8
Issue Number:5
Column Tag:Letters

Dialogue Box

By Neil Ticktin, Editor

Math Equations Ommission

I just received my writer's letter for my contribution to MacTutor. Thank you for the complimentary copy of July's MacTutor and thanks for the handsome cheque!

OOPs. Unfortunately you omitted the listing of the file CustomFn.c. In its place you printed Demo.c. CustomFn.c is an integral part of the compiler and the missing code will leave your readers wondering. [For those readers who need it, write to Xplain Corp. for the source code disk. This listing is on it. - Ed.]

- Dr. Kevin Raner

How many suggestions can you make in a letter?

l am very excited at the rebirth of MacTutor. As a person living in a foreign country, it is very difficult to find information on programming in English (especially stuff that does not cost a fortune). MacTutor provides a source of information on programming as well as tools that are available. l would like to offer my input on the following things.

1. Please make sure to include the fax and phone numbers for things mentioned in your magazine. [We give the fax numbers whenever we are given them. We’ll try even harder to get them in the future. - Ed.]

2. l would also like to see a classified listing in the magazine. For example, I am trying to do some programming in assembly language but l can not find any books in print regarding the subject. l would like to be able to place an ad requesting or offering these types of materials as well as others. [We are looking into such a section for later this year. - Ed.]

3. l would also like to see a greater diversity of types of programs. For example, programs that read and write data to the SCSI port, input device manipulation, and communications. [We are working on getting hardware articles that address some of these topics. - Ed.]

Again, l look forward to many interesting and helpful articles in the future and l wish MacTutor the best of luck.

- Brett Bibby, Kanebo, Ltd.

Modify Print Dialogs Article Corrections

First let me thank you for publishing my article “Modify Print Dialogs” in the June 1992 issue of MacTutor. It was a thrill to see it in print.

There where a couple of minor bugs in the code. The program usually operates “As Advertised”, but under some conditions the wrong radio button could be disabled.

In the DisableDraftMode routine there are three lines which look like:

if ((*the_title)  -=  (*draft_title))

This really only checks that the first letter of the title matches (in this case) draft_title. These lines should be changed to use strcmp, as in:

if (Istrcmp(the_title,  draft_title))

I also left out a small block of code at the end of the DisableDraftMode routine. After the end of the main for loop and before the ) which ends the routine, add the following lines:

/* 1 */
if (  draft_selected  )  {
/*  draft  mode  was  selected,  so  select  the  next  best  */ 
 if  (  better_item_no  )  item_no  =  better_item_no, else
 if  (  best_item_no  )  item_no  =  best_item_no,

GetDItem((DialogPtr)  theDialogPtr,  item_no,  &the_type,  &the_item, 
 &the_box), SetCtlValue((ControlHandle)  the_item,  1),
}

The variables better_item_no and best_item_no should also be initialized to zero at the start of the routine.

I hope this didn’t cause anyone too much grief. Boy, is my face red!

- Greg WiIson, Ontario , Canada

Two Seconds

I take 2 seconds to drop you a word:

Carry on the good work !!

We like and need you.

- JC Hadorn

How Long can an article be?

BigNum Article

You say you knew you were not including all the code? My goodness!! If you knew, you could have at least put in an editor's comment in brackets to tell readers where the code was. [You are right, we should have and will try to do so in the future. - Ed.]

I still think massive shrinking of the code to a very tiny size would be the best alternative to elimination of code. [Our readers have told us not to do this because they want to be able to read the code. If it is small they can’t read it.- Ed.]

I never send to MacTutor any code that is not relevant, and I explain in minute detail what's what.

[The reason that the code was cut was because the article was already 12 pages long and the rest of the code would not fit. Although Lisp is of interest to our readers, we need to make sure that we stay reasonable on the amount of Lisp in the magazine. If the code was put in, almost 25% of the magazine would have been Lisp. The real solution here is to give the readers the important information and not hold their hand through the code. Of course, as always, ALL the code is available on the source code disk which anyone can get by calling MacTutor. - Ed.]

- André van Meulebrouck

Sounds good to me!

I was in process of letting my MacTutor subscription drop (again) when you folks took it over. The first couple of issues look pretty good. I hope you work harder than the old owners at showing good, useful code and avoiding their tendency to send out buggy or compatibility-challenged stuff. It is somewhat depressing to see the only technical journal for the Mac publish stuff that consistently ignores both Apple HI and Apple Compatibility standards, because that comes back and hurts the readers when things start breaking (worse, apple gets blamed for it, even though mama apple said "no no!"). I also constantly got heebie-jeebies from the rampant typos and basic copy-editing mistakes (in my other life, I'm a writer). If they couldn't get the article right, how can you trust the code?

[Nowadays, we try to test the code and get a feel for whether it is any good. Although ultimately, the responsibility needs to be both the article’s author and yours because we cannot test every bit of code as extensively as you would like. In the meantime, we are keeping vigilant on reports of problems with code and printing that information. This way, we use the entire Macintosh community to check over code. We hear you and will do the best that we reasonably can. - Ed.]

I'd also like to see more of a focus on the primary languages (Think, MPW) and less on the esoterica (Lisp, Fortran, Forth). Make it a journal for the folks doing the leading edge, which the side languages aren't. They're hobbyist toys.

And does anyone really find the Mousehole stuff useful? I'd rather see a more focussed "Ask the expert" column where questions get real answers rather than a random data stream where I have no clue if they know what they're talking about. [We actually do get a lot of compliments on the Mousehole, but I will keep both your comments in mind. - Ed.]

It was cute when MacTutor was three guys in a garage, but this is a real magazine now.

Dave Mark is a great addition to the team. [We think so too. - Ed.]

Keep it up.

Good luck!

- Chuq Von Rospach

Speeding up Random Numbers

I was glad to see Jon Bell's recap of Lemer's method and Park and Miller's excellent paper on minimal standard random number generators (cacm v31n10). This is an important area for implementers to learn about since the effort required to do it right is very low, and the results of doing it wrong can be disasterous. The further excursion into assembly level coding leaves a bit to be desired, though. If speed is what you're after, the following routine

;2
UpdateSeed
    MOVE.L  seed(A5), D1
    MULU.L#33614, D0:D1
 ; 33614 is 16807 * 2
    LSR.L   #1, D1
    ADD.L   D0, D1
    BPL.S   @1
    ADDI.L  #$80000001, D1
@1  MOVE.L  D1, seed(A5)
    RTS

takes less than half as much time as the one presented in the article, and computes the same result. This code takes advantage of the fact that the modulus is one less than a power of two. There is no need in this case to perform a divide to find the remainder. To convince yourself that it works, think about multiplying mod 9 (one less than a power of 10). (3 * 4) mod 9 = 12 mod 9 = 3, note that 3 is 1 + 2, the digits of the result of the multiplication. The only complication is when the sum overflows (e.g., (8 * 8) mod 9 = 64 mod 9 = 1, 6 + 4 = 10... 1 + 0 = 1). In this case we need to "carry around" in the result as is done by the ADDI above.

Lemer's method is important when the facilities of a CISC processor are not available (as in Pascal or C), but carrying the technique into (CISC) assembly code is inappropriate. In particular, even without the power of two minus one requirement of my implementation, it is not necessary to do two separate multiplies in Update Seed since the M680x0 will do double precision multiplies and divides...

;3
UpdateSeed
    MOVE.L  seed(A5), D0
    MULU.L  #a, D1:D0
    DIVS.L  #m, D1:D0
    MOVE.L  D1, seed(A5)
    RTS

Also, neither of these UpdateSeed routines suffer from the need to artificially restrict the range of the multiplier “a” -- although I've never been tempted to search for my own values: I recommend you stick with the values tested and certified by the experts.

Regards,

- Doug Currie

Flavors Technology, Inc.

 
AAPL
$97.67
Apple Inc.
+1.41
MSFT
$43.63
Microsoft Corpora
+0.89
GOOG
$511.17
Google Inc.
-13.34

MacTech Search:
Community Search:

Software Updates via MacUpdate

Coda 2.5 - One-window Web development su...
Coda is a powerful Web editor that puts everything in one place. An editor. Terminal. CSS. Files. With Coda 2, we went beyond expectations. With loads of new, much-requested features, a few... Read more
Arq 4.6.1 - Online backup to Google Driv...
Arq is super-easy online backup for the Mac. Back up to your own Google Drive storage (15GB free storage), your own Amazon Glacier ($.01/GB per month storage) or S3, or any SFTP server. Arq backs up... Read more
Airfoil 4.8.10 - Send audio from any app...
Airfoil allows you to send any audio to AirPort Express units, Apple TVs, and even other Macs and PCs, all in sync! It's your audio - everywhere. With Airfoil you can take audio from any... Read more
Apple iMovie 10.0.6 - Edit personal vide...
With an all-new design, Apple iMovie lets you enjoy your videos like never before. Browse your clips more easily, instantly share your favorite moments, and create beautiful HD movies and Hollywood-... Read more
OnyX 2.8.8 - Maintenance and optimizatio...
OnyX is a multifunctional utility for OS X. It allows you to verify the startup disk and the structure of its System files, to run miscellaneous tasks of system maintenance, to configure the hidden... Read more
Parallels Desktop 10.1 - Run Windows app...
Parallels Desktop is simply the world's bestselling, top-rated, and most trusted solution for running Windows applications on your Mac. With Parallels Desktop for Mac, you can seamlessly run both... Read more
Apple Keynote 6.5 - Apple's present...
Apple Keynote makes it simple to create and deliver beautiful presentations. Powerful tools and dazzling effects bring your ideas to life. You can work seamlessly between Mac and iOS devices. And... Read more
OmniPlan 2.3.7 - Robust project manageme...
With OmniPlan, you can create logical, manageable project plans with Gantt charts, schedules, summaries, milestones, and critical paths. Break down the tasks needed to make your project a success,... Read more
Flavours 1.1.16 - Create and apply theme...
Flavours is a Mac application that allow users to create, apply and share beautifully designed themes. Classy Give your Mac a gorgeous new look by applying delicious themes! Easy Unleash your... Read more
Duplicate Annihilator 5.1.0 - Find and d...
Duplicate Annihilator takes on the time-consuming task of comparing the images in your iPhoto library using effective algorithms to make sure that no duplicate escapes. Duplicate Annihilator detects... Read more

Latest Forum Discussions

See All

My Very Hungry Caterpillar (Education)
My Very Hungry Caterpillar 1.0.0 Device: iOS Universal Category: Education Price: $3.99, Version: 1.0.0 (iTunes) Description: Care for your very own Very Hungry Caterpillar! My Very Hungry Caterpillar will captivate you as he crawls... | Read more »
Dungeon Dick (Games)
Dungeon Dick 1.1 Device: iOS Universal Category: Games Price: $.99, Version: 1.1 (iTunes) Description: Dungeon Dick is a fantasy adventure where you must discover the wicked plot to destroy the lands . 'Fling' at your foes and land... | Read more »
Here’s How the Apple Watch Could Transfo...
With the Apple Watch’s generic release date of, “early 2015” hovering on the horizon, it’s only a matter of time before gamers begin to ask “What’s in it for us?” The obvious choice would be to place entire games directly on the face of the watch,... | Read more »
Republique Episode 3: Ones & Zeroes...
Republique Episode 3: Ones & Zeroes is Available Now Posted by Rob Rich on October 17th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Loot Raiders Review
Loot Raiders Review By Campbell Bird on October 17th, 2014 Our Rating: :: PRESS BUTTON, GET LOOTUniversal App - Designed for iPhone and iPad This menu-based loot game is suitable to compel those with pretty extreme loot lust.   | Read more »
Angry Birds are Crashing Puzzle & Dr...
Angry Birds are Crashing Puzzle & Dragons Next Week Posted by Rob Rich on October 17th, 2014 [ permalink ] Next week, Puzzle & Dragons is getting a little angry. Because, you know, Angry Birds. It’s a… a pun. I thought… never mind. | Read more »
Incandescence Review
Incandescence Review By Andrew Fisher on October 17th, 2014 Our Rating: :: ALL TAPPED OUTUniversal App - Designed for iPhone and iPad Incandescence promises intense tapping action, but isn’t particularly fun.   | Read more »
Lion Pig (Games)
Lion Pig 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: "Leaving aside the biology of how a pig and a lion might meet, fall in love, and create this curious cross-breed, Lion Pig is a... | Read more »
Zero Lives (Games)
Zero Lives 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Zero Lives is a puzzle game. Simple and elegant at its core but deep and captivating the more you play. Each puzzle will challenge... | Read more »
#SUPERHYPER (Games)
#SUPERHYPER 001 Device: iOS Universal Category: Games Price: $.99, Version: 001 (iTunes) Description: "This is a game that fans of challenging minimalist arcade games, not to mention pixel art, should keep an eye on" - Touch Arcade "... | Read more »

Price Scanner via MacPrices.net

Apple Pay Available to Millions of Visa Cardh...
Visa Inc. brings secure, convenient payments to iPad Air 2 and iPad mini 3as well as iPhone 6 and 6 Plus. Starting October 20th, eligible Visa cardholders in the U.S. will be able to use Apple Pay,... Read more
Textkraft Pocket – the missing TextEdit for i...
infovole GmbH has announced the release and immediate availability of Textkraft Pocket 1.0, a professional text editor and note taking app for Apple’s iPhone. In March 2014 rumors were all about... Read more
C Spire to offer iPad Air 2 and iPad mini 3,...
C Spire on Friday announced that it will offer iPad Air 2 and iPad mini 3, both with Wi-Fi + Cellular, on its 4G+ LTE network in the coming weeks. C Spire will offer the new iPads with a range of... Read more
Belkin Announces Full Line of Keyboards and C...
Belkin International has unveiled a new lineup of keyboard cases and accessories for Apple’s newest iPads, featuring three QODE keyboards and a collection of thin, lightweight folios for both the... Read more
Verizon offers new iPad Air 2 preorders for $...
Verizon Wireless is accepting preorders for the new iPad Air 2, cellular models, for $100 off MSRP with a 2-year service agreement: - 16GB iPad Air 2 WiFi + Cellular: $529.99 - 64GB iPad Air 2 WiFi... Read more
Price drops on refurbished Mac minis, now ava...
The Apple Store has dropped prices on Apple Certified Refurbished previous-generation Mac minis, with models now available starting at $419. Apple’s one-year warranty is included with each mini, and... Read more
Apple refurbished 2014 MacBook Airs available...
The Apple Store has Apple Certified Refurbished 2014 MacBook Airs available for up to $180 off the cost of new models. An Apple one-year warranty is included with each MacBook, and shipping is free.... Read more
Refurbished 2013 MacBook Pros available for u...
The Apple Store has Apple Certified Refurbished 13″ and 15″ MacBook Pros available starting at $929. Apple’s one-year warranty is standard, and shipping is free: - 13″ 2.5GHz MacBook Pros (4GB RAM/... Read more
WaterField Designs Unveils Outback iPad Slip...
Fresh on the heels of Apple’s announcement Thursday, WaterField Designs unveils its new Outback Slip Case for the iPad Air 2 and iPad mini 3 — a custom-fitted case for the just-announced Apple iPads... Read more
Apple Introduces iPad Air 2 & iPad mini 3...
Apple on Thursday introduced iPad Air 2, slimmed down again to just 6.1 mm, and weighing less than a pound. iPad Air 2 also features an improved Retina display claimed to deliver enhanced contrast... Read more

Jobs Board

Position Opening at *Apple* - Apple (United...
**Job Summary** At the Apple Store, you connect business professionals and entrepreneurs with the tools they need in order to put Apple solutions to work in their Read more
Position Opening at *Apple* - Apple (United...
**Job Summary** The Apple Store is a retail environment like no other - uniquely focused on delivering amazing customer experiences. As an Expert, you introduce people Read more
Position Opening at *Apple* - Apple (United...
**Job Summary** As businesses discover the power of Apple computers and mobile devices, it's your job - as a Solutions Engineer - to show them how to introduce these Read more
Position Opening at *Apple* - Apple (United...
…Summary** As a Specialist, you help create the energy and excitement around Apple products, providing the right solutions and getting products into customers' hands. You Read more
Project Manager, *Apple* Financial Services...
**Job Summary** Apple Financial Services (AFS) offers consumers, businesses and educational institutions ways to finance Apple purchases. We work with national and Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.