TweetFollow Us on Twitter

December 94 - KON & BAL'S PUZZLE PAGE

KON & BAL'S PUZZLE PAGE

Processed Cheese

CARY CLARK, BYRON, AND SHELLEY

[IMAGE puzzle.GIF]

KON and BAL still lay claim to the Puzzle Page, and they assure us they'll be back, but meanwhile they'd like to have some guest puzzlers take over for a while. (They say they're busy with work at Catapult Entertainment and Rocket Science, but we all know about those vacations they take!) This puzzle is from Cary Clark, presented in the form of a dialog between his astute pug dogs, Shelley and Byron (who, Cary says, will eat anything, including codecs and Texas Hold'ems). The dialog gives clues to help you. Keep guessing until you're done; your score is the number to the left of the clue that gave you the correct answer. And please, help out KON and BAL by submitting puzzles of your own to AppleLink DEVELOP.

Shelley KON and BAL have gone the way of the dodo bird (or at least the way of the hedgehog), so it's time to replace all of their arcane QuickDraw knowledge with arcane QuickDraw GX knowledge.

Byron I tried to use QuickDraw GX, but since installing it off the 1994 WWDC CD, I can't launch any of my applications.

Shelley Are you sure?

100 Byron Well, the applications launch, but double-clicking a document doesn't do anything, even though the icons look all right.

Shelley The problem is in the desktop database, which the Finder uses to tell which document file types correspond to which applications. Did you try rebuilding your desktop?

90 Byron Sure, but it didn't help.

Shelley How about booting off a different disk?

85 Byron That works, but only for some files. So I removed QuickDraw GX altogether and rebuilt the original desktop by holding down Option-Command at system startup. Then everything worked fine.

Shelley That must mean that one of the files you removed got rid of the problem.

80 Byron Nope, grr. I tried explicitly taking the QuickDraw GX extension out of my Extensions folder and rebooting, and nothing happened, except that my desktop printers went away.

Shelley So how do you like the LQ, anyway?

Byron It's a lot faster than the Qume. But I miss watching it hammer the period to make my LisaDraw pictures.

Shelley So, what else is a part of QuickDraw GX? Let's take a peek in the System Folder. There's the printer drivers, ATM . . .

Byron That's never caused any trouble.

Shelley . . . ColorSync, the new Color Picker, PrinterShare GX. Hmmm, that's odd -- PrinterShare GX's icon is dimmed as if it were an open application, but it doesn't show up in the process menu as PrintMonitor used to.

75 Byron Oh, you dog. That's because PrinterShare's file type is 'appe'. It's a faceless application that's always running in the background.

Shelley I don't remember reading about that in the Processes volume of Inside Macintosh .

Byron That's because dogs can't read. But I've heard it's briefly mentioned in Volume VI on page 9-41. Anyway, that's beside the point. If you type procinfo in MacsBug, you'll get a list that looks like this:

 Displaying Process Information
PSN  Process Name        Size     Free     HeapAt   Type Crtr Status
2000 PowerTalk Manager   00044800 00003AE4 05892960 appe kl02 BgOnly
2002 Finder              00026C00 000012DC 05846E80 FNDR MACS Bkgnd
2003 File Sharing Ext... 00029C00 00005A2A 057A2C60 INIT hhgg BgOnly
2005 Eudora 1.4.2        0005CC60 000154F8 057242E0 APPL CSOm Front
2006 NCSA Telnet 2.6     00088000 0003E0B2 056982D0 APPL NCSA Bkgnd
2007 THINK Project Ma... 003E8000 001E1A68 052AC2C0 APPL KAHL Bkgnd
2008 Find File           00046000 00014F4A 052622B0 APPL fndf Bkgnd
200B Microsoft Word      00200000 000C1D5C 0505E2A0 APPL MSWD Bkgnd
200C PrinterShare GX     0001C000 00011488 0503E290 appe PtSr BgOnly

Shelley OK, try removing PrinterShare GX and rebuilding the desktop.

70 Byron Hey, that fixed it!

Shelley But the question remains, what's wrong with PrinterShare GX? And how did you get into this sorry situation anyway?

65 Byron Well, I ran Norton Utilities on my disk, and it said it was fixing some applications with bad bundle bits.

Shelley So Norton must force the desktop to rebuild in order to register the applications it thought needed to be reregistered with the Finder's desktop database. Bad dog. And the Finder fails when rebuilding the desktop.

Byron Wait a minute. PowerTalk Manager is also an 'appe'. What's different about it?

60 Shelley AOCE requires that PowerTalk Manager always run as a background application, while QuickDraw GX needs PrinterShare GX to run only when a document is printing.

Byron So, how does the system know to run PowerTalk Manager, but not to run PrinterShare GX?

55 Shelley PowerTalk Manager contains a resource of type 'appe', ID = 0. This resource returns true when called as a Pascal function, which tells the Startup Manager to launch it. PrinterShare GX has no such resource.

Byron I bet we could figure this out from the Process Manager source, but barring that, let's use MacsBug to figure out why the Finder fails.

Shelley We can stop on file opens using atb openrf to figure out when the Finder is accessing PrinterShare GX.

Byron But how do you get it to stop only for PrinterShare GX?

Shelley Well, I need to find the filename. I put a break on _Open; then I display the parameter block using dm a0 iopb.

Byron iopb?

Shelley I/O parameter block. It looks like this:

 Displaying IOParamBlockRec at 0008D720
0008D720  qLink            NIL
0008D724  qType            0000 
0008D726  ioTrap           A000 
0008D728  ioCmdAddr        NIL 
0008D72C  ioCompletion     NIL 
0008D730  ioResult         0000 
0008D732  ioNamePtr        0008A8D6 -> "PrinterShare GX"
0008D736  ioVRefNum        FFFF 
0008D738  ioRefNum         0000 
0008D73A  ioVersNum        #0 
0008D73B  ioPermssn        #4 
0008D73C  ioMisc           NIL 
0008D740  ioBuffer         NIL 
0008D744  ioReqCount       00000000 
0008D748  ioActCount       00000000 
0008D74C  ioPosMode        0000 
0008D74E  ioPosOffset      00000000

Byron So the 18th byte into the block can be a pointer to a string; we can dereference that and look for strings that start with 'Prin'.

Shelley You C mutt. You have to think Pascal; the first byte will be the string length, 15, so you want to break when @@(a0+12)=0F507269.

50 Byron By George, this won't work. The file is already open!

Shelley How do you know?

Byron I used the MacsBug file dcmd, and there it is, near the bottom of the list.

Displaying File Control Blocks
fRef File         Vol      Type Fl Fork LEof     Mark    FlNum  Parent FCB at
0002 System       fat      zsys dW rsrc #2303194 #920    008359 007bfe 2fb352
0060              fat      **** dw data #1032192 #0      000003 000000 2fb3b0
00be              fat      **** dw data #3096576 #0      000004 000000 2fb40e
011c Apple Chanc… fat      FFIL dW rsrc #269497  #219985 008220 007c02 2fb46c
017a Chicago      fat      FFIL dW rsrc #48064   #38423  008351 007c02 2fb4ca
. . .
0874 PowerTalk M… fat      appe dW rsrc #507556  #413184 007ca8 007bff 2fbbc4
08d2 PrinterShar… fat      appe dW rsrc #32978   #708    008236 007bff 2fbb22
0930 Finder       fat      FNDR dW rsrc #456553  #362328 00835c 007bfe 2fbc80
098e Finder Pref… fat      pref dW rsrc #19983   #328    007cde 007c95 2fbcde
09ec Desktop DB   fat      BTFL dW data #196608  #150528 000011 000002 2fbd3c
0a4a Desktop DF   fat      DTFL dW data #351810  #101184 000010 000002 2fbd9a
0bc2 QMgrCatalog  fat      BTFL dW data #65536   #1024   007ce5 007ce4 2fbf12
0c20 WSBTree      fat      BTFL dW data #65536   #1024   007ce7 007ce2 2fbf70
131a              Mail En… **** dw data #0       #0      000003 000000 2fc66a
#74 FCBs, #35 in use, #39 free

45 Shelley That could be OK. It depends on whether the Finder is opening a read-only path on the file. We can tell by looking at the parameter block as we did before and seeing what's in the ioPermssn field.

40 Byron As I suspected, it's a 3, meaning the Finder is opening it for reading and writing, when it only needs to read the bundle resource.

35 Shelley Well, not exactly, since it wants to mark the file as initialized, so that next time it won't add the file to the database again.

Byron But isn't that data in the Finder info, which is in neither the data fork nor the resource fork, but just part of the file identifier, like the filename?

30 Shelley Oh, yeah. I know! The standard call OpenResFile always tries for read/write permission. The Finder desktop-building code is old and tired, but I'm sure when they rewrite it they'll correctly use OpenRF instead. In any case, the Finder is getting an error it doesn't expect when opening the file, so it gives up building the desktop database before it has retrieved the bundle information from all of the applications.

25 Byron So one possible fix is to prevent the Startup Manager from opening the file in the first place, since QuickDraw GX doesn't need it to be open all the time.

20 Shelley Or we could cause the file to be opened as read-only by setting its shared bundle bit. There's a more obscure way to solve the problem: if we put the right stuff in the 'appe' resource, the Startup Manager will be instructed to close the file after executing some code.

15 Byron I happen to have a copy of ResEdit right here. It's a little difficult to work with my paws, so give me a minute. Hey -- look at that little man going in and out of the jack- in-the-box. I could watch this all day!

Shelley Cool. It even changes all the colors in the system palette, causing all of the screens to redraw, and then redraw again when you quit. State of the art, man -- I mean, dog.

10 Byron Well, the problem is now obvious. PrinterShare GX is a background application that doesn't need to run all the time, but it doesn't have the shared bit set, and it doesn't have an 'appe' resource. The 'appe' resource is code, and I don't have that nifty ResEdit code editor.

5 Shelley We can use MacsBug to write it for us. All we need are enough instructions to create a Pascal function that returns false. We can cheat by disassembling PtInRect and steal a little code from there. We can verify our code by using the MacsBug command dh to disassemble our hex. I think 422e 0004 4e74 0004 ought to do the trick.

Byron What does that do?

Shelley It causes an illegal instruction error on a 68000 machine. Good thing Apple doesn't sell those anymore.

Byron But I just bought a luggable for a steal at the flea market! What can I do?

Shelley Hit your smushed-faced little head against it. QuickDraw GX runs only on 68020 and better, so this code is just fine.

Byron Arf.

Shelley Grr.

SCORING

  • 80-100 Excellent! You're good enough to write your own puzzles. Heck, you could probably write the whole develop magazine. (While you're at it, try to get some work out of those slackers at Catapult Entertainment and Rocket Science.)
  • 55-75 Pretty good. You could speed up the blits in QuickDraw GX. (When you do, let us know.)
  • 30-50 Not bad. You could make the PostScript driver go fast even without taking it native.
  • 5-25 Try not to hurt yourself with shape operations. *
CARY CLARK, once on the QuickDraw GX engineering team at Apple, has joined BAL at Rocket Science. He's co-owner of Shelley and Byron, who often know more than he does. Cary was working on QuickDraw when BAL made Microsoft Word skanky and KON made GM (not General Magic) what it is today. Next time you see KON, ask him if he wants to cut for a hundred and watch him wince. *

Thanks to Dave Hersey, KON (Konstantin Othmer), and BAL (Bruce Leak) for reviewing this column, and to Ron Voss for tracking the problem down and fixing it in the shipping version of QuickDraw GX. *

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Airmail 3.3.2 - Powerful, minimal email...
Airmail is an mail client with fast performance and intuitive interaction. Support for iCloud, MS Exchange, Gmail, Google Apps, IMAP, POP3, Yahoo!, AOL, Outlook.com, Live.com. Airmail was designed... Read more
Numi 3.15.1 - Menu-bar calculator suppor...
Numi is a calculator that magically combines calculations with text, and allows you to freely share your computations. Numi combines text editor and calculator Support plain English. For example, '5... Read more
TextSoap 8.4.1 - Automate tedious text d...
TextSoap can automatically remove unwanted characters, fix up messed up carriage returns, and do pretty much anything else that we can think of to text. Save time and effort. Be more productive. Stop... Read more
TextSoap 8.4.1 - Automate tedious text d...
TextSoap can automatically remove unwanted characters, fix up messed up carriage returns, and do pretty much anything else that we can think of to text. Save time and effort. Be more productive. Stop... Read more
Backblaze 4.3.0.44 - Online backup servi...
Backblaze is an online backup service designed from the ground-up for the Mac. With unlimited storage available for $5 per month, as well as a free 15-day trial, peace of mind is within reach with... Read more
Numi 3.15 - Menu-bar calculator supports...
Numi is a calculator that magically combines calculations with text, and allows you to freely share your computations. Numi combines text editor and calculator Support plain English. For example, '5... Read more
EtreCheck 3.3.3 - For troubleshooting yo...
EtreCheck is an app that displays the important details of your system configuration and allow you to copy that information to the Clipboard. It is meant to be used with Apple Support Communities to... Read more
BusyContacts 1.1.8 - Fast, efficient con...
BusyContacts is a contact manager for OS X that makes creating, finding, and managing contacts faster and more efficient. It brings to contact management the same power, flexibility, and sharing... Read more
TunnelBear 3.0.14 - Subscription-based p...
TunnelBear is a subscription-based virtual private network (VPN) service and companion app, enabling you to browse the internet privately and securely. Features Browse privately - Secure your data... Read more
Apple Final Cut Pro X 10.3.4 - Professio...
Apple Final Cut Pro X is a professional video editing solution.Completely redesigned from the ground up, Final Cut Pro adds extraordinary speed, quality, and flexibility to every part of the post-... Read more

Latest Forum Discussions

See All

The best new games we played this week
We were quite busy this week. A bunch of big mobile games launched over the past few days, alongside a few teeny surprises. There're lots of quality games to load your phone with. We've gone and picked out five of our favorites for the week. [... | Read more »
Magikarp Jump beginner's guide
Magikarp Jump is a mystifying little game. Part Tamagotchi, part idle clicker, there's not a whole lot of video game there, per se, but for some reason we can't help coming back to it again and again. Your goal is to train up a little Magikarp to... | Read more »
Goat Simulator PAYDAY (Games)
Goat Simulator PAYDAY 1.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0 (iTunes) Description: ** IMPORTANT - SUPPORTED DEVICES **iPhone 4S, iPad 2, iPod Touch 5 or better Goat Simulator: Payday is the most... | Read more »
GRID Autosport delayed until autumn
Sorry mobile racing fans -- GRID Autosport has been delayed a few months. The game is now expected to launch this fall on iOS. Feral Interactive announced that they wanted more time to work on the game's UI and overall performance before launching... | Read more »
Zombie Gunship Survival Beginner's...
The much anticipated Zombie Gunship Survival is here. In this latest entry in the Zombie Gunship franchise, you're tasked with supporting ground troops and protecting your base from the zombie horde. There's a lot of rich base building fun, and... | Read more »
Mordheim: Warband Skirmish (Games)
Mordheim: Warband Skirmish 1.2.2 Device: iOS Universal Category: Games Price: $3.99, Version: 1.2.2 (iTunes) Description: Explore the ruins of the City of Mordheim, clash with other scavenging warbands and collect Wyrdstone -... | Read more »
Mordheim: Warband Skirmish brings tablet...
Legendary Games has just launched Mordheim: Warband Skirmish, a new turn-based action game for iOS and Android. | Read more »
Magikarp Jump splashes onto Android worl...
If you're tired ofPokémon GObut still want something to satisfy your mobilePokémon fix,Magikarp Jumpmay just do the trick. It's out now on Android devices the world over. While it looks like a simple arcade jumper, there's quite a bit more to it... | Read more »
Purrfectly charming open-world RPG Cat Q...
Cat Quest, an expansive open-world RPG from former Koei-Tecmo developers, got a new gameplay trailer today. The video showcases the combat and exploration features of this feline-themed RPG. Cat puns abound as you travel across a large map in a... | Read more »
Jaipur: A Card Game of Duels (Games)
Jaipur: A Card Game of Duels 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: ** WARNING: iPad 2, iPad Mini 1 & iPhone 4S are NOT compatible. ** *** Special Launch Price for a limited... | Read more »

Price Scanner via MacPrices.net

Memorial Day savings: 13-inch Touch Bar MacBo...
B&H Photo has the 2016 Apple 13″ Touch Bar MacBook Pros in stock today and on sale for up to $150 off MSRP. Shipping is free, and B&H charges NY & NJ sales tax only: - 13″ 2.9GHz/512GB... Read more
Apple refurbished 13-inch MacBook Airs availa...
Apple has Certified Refurbished 2016 13″ MacBook Airs available starting at $849. An Apple one-year warranty is included with each MacBook, and shipping is free: - 13″ 1.6GHz/8GB/128GB MacBook Air: $... Read more
Apple restocks refurbished 11-inch MacBook Ai...
Apple has Certified Refurbished 11″ MacBook Airs (the latest models recently discontinued by Apple), available for up to $170 off original MSRP. An Apple one-year warranty is included with each... Read more
12-inch 1.2GHz Retina MacBooks on sale for up...
B&H has 12″ 1.2GHz Retina MacBooks on sale for up to $150 off MSRP. Shipping is free, and B&H charges NY & NJ sales tax only: - 12″ 1.2GHz Space Gray Retina MacBook: $1449.99 $150 off... Read more
15-inch 2.7GHz Silver Touch Bar MacBook Pro o...
MacMall has the 15-inch 2.7GHz Silver Touch Bar MacBook Pro (MLW82LL/A) on sale for $2569 as part of their Memorial Day sale. Shipping is free. Their price is $230 off MSRP. Read more
Free Tread Wisely Mobile App Endorsed By Fath...
Just in time for the summer driving season, Cooper Tire & Rubber Company has announced the launch of a new Tread Wisely mobile app. Designed to promote tire and vehicle safety among teens and... Read more
Commercial Notebooks And Detachable Tablets W...
Worldwide shipments of personal computing devices (PCDs), comprised of traditional PCs (a combination of desktop, notebook, and workstations) and tablets (slates and detachables), are forecast to... Read more
Best value this Memorial Day weekend: Touch B...
Apple has Certified Refurbished 2016 15″ and 13″ MacBook Pros available for $230 to $420 off original MSRP. An Apple one-year warranty is included with each model, and shipping is free: - 15″ 2.6GHz... Read more
13-inch MacBook Airs on sale for up to $130 o...
Overstock.com has 13″ MacBook Airs on sale for up to $130 off MSRP including free shipping: - 13″ 1.6GHz/128GB MacBook Air (sku MMGF2LL/A): $869.99 $130 off MSRP - 13″ 1.6GHz/256GB MacBook Air (sku... Read more
2.8GHz Mac mini available for $973 with free...
Adorama has the 2.8GHz Mac mini available for $973, $16 off MSRP, including a free copy of Apple’s 3-Year AppleCare Protection Plan. Shipping is free, and Adorama charges sales tax in NY & NJ... Read more

Jobs Board

*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* Media Products - Commerce Engineerin...
Apple Media Products - Commerce Engineering Manager Job Number: 57037480 Santa Clara Valley, California, United States Posted: Apr. 18, 2017 Weekly Hours: 40.00 Job Read more
*Apple* Media Products - Commerce Engineerin...
Apple Media Products - Commerce Engineering Manager Job Number: 57037480 Santa Clara Valley, California, United States Posted: Apr. 18, 2017 Weekly Hours: 40.00 Job Read more
Best Buy *Apple* Computing Master - Best Bu...
**509643BR** **Job Title:** Best Buy Apple Computing Master **Location Number:** 001482- Apple Valley-Store **Job Description:** **What does a Best Buy Apple Read more
*Apple* Media Products - Commerce Engineerin...
Apple Media Products - Commerce Engineering Manager Job Number: 57037480 Santa Clara Valley, California, United States Posted: Apr. 18, 2017 Weekly Hours: 40.00 Job Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.