TweetFollow Us on Twitter

June 95 - Letters

LETTERS

MORE ON HIDING DIALOG ITEMS
In develop Issue 20, I came across the Q&A (at the bottom of page 107) that recommends using AppendDITL and ShortenDITL to add or remove many dialog items at once rather than using ShowDItem and HideDItem on each item individually. I agree with what's said; however, there's an issue with using AppendDITL that I encountered recently and confirmed with Developer Support.

I've been involved in writing an application that uses 'ictb' resources to define the font for each dialog item. This is necessary for our application to allow globalization. When AppendDITL is called to append items to the dialog, the associated 'ictb' resource for the appended DITL resource isn't loaded. 'ictb' resources are loaded only when NewDialog is called. As a result, AppendDITL can't be used in this case; the show/hide items mechanism must be used instead.

I find develop informative; keep up the good work.
-- Niall Quiggin

Ah, the inevitable exception to the rule. Thanks for pointing it out. -- Dave Johnson

PUZZLE PAGE ERROR: OPENRF
The solution for the Puzzle Page in develop Issue 20 is wrong. It says that the Finder should use OpenRF instead of OpenResFile. OpenRF allows the resource fork to be accessed only as a data stream, and so is useful only if the code wants to copy the entire resource fork without examining its contents. To look at bundles and icons and such, a routine such as HOpenResFile must be used -- which is, in fact, what the Finder calls.

The cause of the bug isn't that the Finder uses fsRdWrPerm, but that it uses fsCurPerm. Inside Macintosh: More Macintosh Toolbox implies that fsCurPerm will work fine if the file is open for writing by someone else, and that read permission to the file will be granted in that case. But unfortunately, fsCurPerm will fail, just like fsRdWrPerm, if the file is already open for writing. To guarantee access to the resource fork of the file, fsRdPerm must be used instead of fsCurPerm. This change was made to the Finder in system software version 7.5.1.

Still, you can't blame Shelley and Byron for getting the wrong answer; they're just dogs, and most dogs don't have access to Finder sources.
-- Greg Anderson, Apple Computer

I conferred with my dogs and they apologized profusely for assuming the inner workings of the Finder that they indeed did not understand. Thanks for the correction.
-- Cary Clark

PUZZLE PAGE STINKS
Has it ever occurred to you how small must be the audience to which your regular contributors KON & BAL are playing? Their Puzzle Page is elitist and intellectually arrogant. Who do you imagine would be privy to the Apple-Eyes-Only knowledge necessary to solve some of these puzzles? As you progress further and further into their morass of micro-minutiae, they indicate that you're less and less clever due to your ever-reducing "score." The whole concept is punitive, pedantic, and boorish. And those invectives at the end of the article continue the process of belittling the reader with the suggestion that, due to your incredibly low score, "Maybe you'd better stick to AppleScript." Ouch! As it happens, AppleScript is an incredibly powerful technology that helps to differentiate the Mac OS from being just another pretty interface. Their attempt at being humorous isn't lost on me, but it failed nonetheless.

Those guys are certainly smart and Apple needs to have people like that on the payroll. But the average fellow in Kansas with a subscription to develop who has adopted Apple as his computing beacon is mocked by such articles and to no real good end. The Puzzle Page is wasted on all but the most inner circle of monks in the Apple sanctum sanctorum.
-- Lance Drake

Your letter was surprising, since we get a lot of good feedback on the Puzzle Page. The puzzle format is just for fun (heh heh). The idea is that you learn something from the debugging techniques. Probably no one ever scores above 0, but that's not really the point. If you haven't already, you might want to take a look at the two letters in Issue 20 on the subject of the Puzzle Page.

Humor is a tricky thing: what some people find hilarious, others find repugnant. I'm sorry the Puzzle Page doesn't work for you. I certainly don't want any of our readers to feel mocked; maybe our publishing this letter will stimulate some dialog on this.

Regarding your specific comment about AppleScript: we couldn't agree more. We hope you'll be pleased with our new regular column, According to Script.

By the way, Apple does indeed need smart people like KON & BAL on the payroll, but they don't work for Apple anymore.

Thanks for writing.
-- Caroline Rose

UNTIDY CODE (GIVE US A BREAK)
Greg Anderson's article in Issue 20 of develop , in the listing on page 67, gave me a probably unintentional insight into the deeper workings of Apple code. Apparently, constructions like this

while (true) {
    do something
    if (somethingelse) break;
}
are acceptable at Apple nowadays. Surely there must be a better, less sloppy and lazy way to do this. (Please don't ask me what's wrong with it; that would force me to go and buy Windoze machines next.)
-- Joost Carpay

You're right; the use of a break statement in conjunction with while (true) is generally considered poor style. Good style would be:

condition = true;
while (condition)
    condition = DoSomething();

While code that appears in develop should of course use good style, the develop staff tells me that they are loath to enforce particular rules; they can, however, make suggestions, and will keep an eye out for this construct in the future. Apple's guidelines for software development recommend against using breaks inside loops and also against using do/while in place of a simple while loop.

The ultimate metric used to judge code should be the clarity of the intent of the algorithm in question. Using good and consistent style certainly improves the readability of code, but I would hope that small infractions of style would be forgiven if the intent of the code remains clear. Code quality is important to Apple, and we're always working at improving the process used to produce system software.
-- Greg Anderson

WHAT DO YOU THINK OF THE PUZZLE PAGE or the rest of develop , for that matter? We welcome timely letters to the editors, especially regarding articles published in develop . Letters should be addressed to Caroline Rose -- or, if technical develop -related questions, to Dave Johnson -- at AppleLink CROSE or JOHNSON.DK. Or you can write to Caroline or Dave at Apple Computer, Inc., 1 Infinite Loop, M/S 303-4DP, Cupertino, CA 95014. All letters should include your name and company name as well as your address and phone number. Letters may be excerpted or edited for clarity (or to make them say what we wish they did). *

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Quicken 2019 5.12.1 - Complete personal...
Quicken makes managing your money easier than ever. Whether paying bills, upgrading from Windows, enjoying more reliable downloads, or getting expert product help, Quicken's new and improved features... Read more
Mactracker 7.8.1 - Database of all Mac m...
Mactracker provides detailed information on every Mac computer ever made, including items such as processor speed, memory, optical drives, graphic cards, supported OS X versions, and expansion... Read more
MacFamilyTree 9.0.5 - Create and explore...
MacFamilyTree gives genealogy a facelift: modern, interactive, convenient and fast. Explore your family tree and your family history in a way generations of chroniclers before you would have loved.... Read more
SpamSieve 2.9.37 - Robust spam filter fo...
SpamSieve is a robust spam filter for major email clients that uses powerful Bayesian spam filtering. SpamSieve understands what your spam looks like in order to block it all, but also learns what... Read more
Viber 11.3.1 - Send messages and make fr...
Viber lets you send free messages and make free calls to other Viber users, on any device and network, in any country! Viber syncs your contacts, messages and call history with your mobile device, so... Read more
Monosnap 3.6.1 - Versatile screenshot ut...
Monosnap lets you capture screenshots, share files, and record video and .gifs. Features Capture Capture full screen, just part of the screen, or a selected window Make your crop area pixel... Read more
WhatRoute 2.2.6 - Geographically trace o...
WhatRoute is designed to find the names of all the routers an IP packet passes through on its way from your Mac to a destination host. It also measures the round-trip time from your Mac to the router... Read more
MacFamilyTree 9.0.5 - Create and explore...
MacFamilyTree gives genealogy a facelift: modern, interactive, convenient and fast. Explore your family tree and your family history in a way generations of chroniclers before you would have loved.... Read more
WhatsApp 0.3.4375 - Desktop client for W...
WhatsApp is the desktop client for WhatsApp Messenger, a cross-platform mobile messaging app which allows you to exchange messages without having to pay for SMS. WhatsApp Messenger is available for... Read more
Mactracker 7.8.1 - Database of all Mac m...
Mactracker provides detailed information on every Mac computer ever made, including items such as processor speed, memory, optical drives, graphic cards, supported OS X versions, and expansion... Read more

Latest Forum Discussions

See All

Steam Link Spotlight - Dicey Dungeons
Steam Link Spotlight is a new feature where we take a look at PC games that play exceptionally well with the Steam Link app. In case you missed it, our last entry focused on Faeria, a collectible card game that used to be available on the App Store... | Read more »
I can't believe Sky came out after...
I play games almost exclusively on mobile, and I’ve been doing so since around the time I started writing for 148Apps. This is why I’m late to the party on Journey. It wasn’t until last week that the game was playable on mobile, and it wasn’t until... | Read more »
Gigantic X guide - What you need to know...
Gigantic X continues to inspire loot lust over here at 148Apps, particularly because the game has already been updated just in its second week of release. Unfortunately, this 1.1.0 patch doesn’t bring a whole ton of new goodies with it, but it does... | Read more »
Steam Link Spotlight - Faeria
If you’ve been following 148Apps.com for a while, chances are you’ve seen me talk about Faeria. I reviewed it when it initially came out on iOS, and again when The Adventure Pouch: Oversky came out. I also put the game on my best games of 2017 list... | Read more »
Gigantic X guide - Tips and tricks for b...
Gigantic X has only been out for a little over a week, but it’s shaping up to be the mobile loot shooter of our dreams. That said, it’s not exactly the most friendly game out there. We noted in our review that you need to invest some time in the... | Read more »
Do Not Feed The Monkeys is one of the mo...
I’ve done a lot of messed up stuff in video games. I’ve beat people to death, slaghtered innocent animals, and even committed genocide. In doing all of that though, I’m not sure I’ve felt as uncomfortable as I have while playing Do Not Feed The... | Read more »
Civilization VI - What you need to know...
Last week, the mobile version of Civilization VI got updated to include the huge Rise and Fall expansion. Where previous updates to the game provided one or two new civilizations and maybe a few scenarios, Rise and Fall makes sweeping changes to... | Read more »
Combo Quest (Games)
Combo Quest 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Combo Quest is an epic, time tap role-playing adventure. In this unique masterpiece, you are a knight on a heroic quest to retrieve... | Read more »
Hero Emblems (Games)
Hero Emblems 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: ** 25% OFF for a limited time to celebrate the release ** ** Note for iPhone 6 user: If it doesn't run fullscreen on your device... | Read more »
Puzzle Blitz (Games)
Puzzle Blitz 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Puzzle Blitz is a frantic puzzle solving race against the clock! Solve as many puzzles as you can, before time runs out! You have... | Read more »

Price Scanner via MacPrices.net

Price drop! B&H now has new 4-Core Mac mi...
B&H Photo has dropped prices on 2018 4-Core Mac minis to $100 off MSRP, only $699. They’re also offering a $100 discount on the 6-Core Mac mini. Shipping is free: – 3.6GHz Quad-Core mini: $699 $... Read more
Amazon is offering a 37% discount on Apple Sm...
Amazon has Apple Smart Keyboards for current-generation 10″ iPad Airs and previous-generation 10″ iPad Pros on sale today for $99.99 shipped. That’s a 37% discount over Apple’s regular MSRP of $159... Read more
12″ iPad Pros on sale today for up to $400 of...
Amazon has new 2018 Apple 12″ iPad Pros in stock today and on sale for up to $400 off Apple’s MSRP. These are the same iPad Pros sold by Apple in its retail and online stores. Be sure to select... Read more
Apple has 2019 iMacs, Certified Refurbished,...
Apple has Certified Refurbished 2019 21″ & 27″ iMacs now available starting at $929 and up to $350 off the cost of new models. Apple’s one-year warranty is standard, shipping is free, and each... Read more
Sale! New 11″ WiFi iPad Pros for up to $400 o...
Walmart has new 2018 Apple 11″ WiFi iPad Pros in stock today and on sale for up to $400 off Apple’s MSRP. These are the same iPad Pros sold by Apple in its retail and online stores. Choose free local... Read more
New 2019 15″ 2.3GHz 8-Core MacBook Pro on sal...
Apple resellers B&H Photo and Amazon are offering the new 2019 15″ 2.3GHz Silver 8-Core MacBook Pro for $2449. That’s $350 off Apple’s MSRP and the lowest price available for an 8-Core MacBook... Read more
B&H has new 4-Core and 6-Core Mac minis o...
B&H Photo has the new 2018 4-Core and 6-Core Mac minis on sale for $80-$100 off Apple’s standard MSRP. Shipping is free: – 3.6GHz Quad-Core mini: $719 $80 off MSRP – 3.0GHz 6-Core mini: $999 $... Read more
10″ iPad Airs on sale for up to $50 off Apple...
B&H Photo has new 10.5″ iPad Airs on sale today for $30-$50 off Apple’s standard MSRP including free overnight shipping to many address in the US: – 10.5″ 64GB WiFi iPad Air: $469 $30 off MSRP –... Read more
Apple has clearance 2018 13″ 2.3GHz Quad-Core...
Apple has Certified Refurbished 2018 13″ 2.3GHz 4-Core Touch Bar MacBook Pros available starting at $1489. Apple’s one-year warranty is included, shipping is free, and each MacBook has a new outer... Read more
Clearance 2018 13″ MacBook Airs drop to an al...
B&H Photo has clearance 2018 13″ MacBook Airs available for $300 off Apple’s original MSRP with prices starting at only $899. Overnight shipping, or expedited shipping, is free depending on your... Read more

Jobs Board

*Apple* Mobility Pro - Best Buy (United Stat...
**719892BR** **Job Title:** Apple Mobility Pro **Job Category:** Store Associates **Location Number:** 001096-Grove City-Store **Job Description:** At Best Buy, our Read more
Best Buy *Apple* Computing Master - Best Bu...
**719975BR** **Job Title:** Best Buy Apple Computing Master **Job Category:** Store Associates **Location Number:** 001198-East Orange-Store **Job Description:** The Read more
*Apple* Mobile Master - Best Buy (United Sta...
**721421BR** **Job Title:** Apple Mobile Master **Job Category:** Store Associates **Location Number:** 000878-Dubuque-Store **Job Description:** **What does a Best Read more
Best Buy *Apple* Computing Master - Best Bu...
**716411BR** **Job Title:** Best Buy Apple Computing Master **Job Category:** Sales **Location Number:** 001089-Watertown-Store **Job Description:** **What does a Read more
*Apple* Mobility Pro - Best Buy (United Stat...
**721359BR** **Job Title:** Apple Mobility Pro **Job Category:** Store Associates **Location Number:** 000952-Baytown-Store **Job Description:** At Best Buy, our Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.