TweetFollow Us on Twitter

August 92 - KON & BAL'S PUZZLE PAGE

KON & BAL'S PUZZLE PAGE

AN OFF-COLOR PUZZLE

KONSTANTIN OTHMER AND BRUCE LEAK

[IMAGE 123-125_Puzzle_Page_rev1.GIF]

See if you can solve this programming puzzle, presented in the form of a dialog between Konstantin Othmer (KON) and Bruce Leak (BAL). 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. These problems are supposed to be tough. If you don't get a high score, at least you'll learn interesting Macintosh trivia.

100 BAL This guy has this program that leaves all the palette colors messed up after his program quits.

KON Yeah, I've seen it. He's probably got version 1.0 of that KeithPaint program.

90 BAL This is something he wrote with MPW C, and he spent days debugging his code with SADE. He's sure it's not his problem.

KON Sounds like some kind of Palette Manager nastiness.

80 BAL He sends you a copy and it works fine on your machine.

KON Which system is he running? How many monitors does he have?

75 BAL You're both running 6.0.7 on a Macintosh fx with one Apple 13-inch color monitor.

KON That's a nice programming environment. Why doesn't he upgrade to System 7 and buy himself a real monitor?

70 BAL Well, he has System 7 on a Macintosh Quadra with a 16-inch color monitor for reading NetNews and watching QuickTime movies. But the bug doesn't happen on that machine.

KON So it must be some INIT conflict. What's he got, ColorDesk or something?

65 BAL Nope, happens without any INITs.

KON He's using the Color Manager and calling some nasty thing like SaveEntries or RestoreEntries, and he isn't MultiFinder compatible. I tell him to use the Palette Manager.

60 BAL He's using the Palette Manager, and he's totally MultiFinder friendly.

KON Sounds impossible. I swap motherboards with him.

55 BAL Still happens, just on his machine. If you swapped hard drives it would happen on yours.

KON It's got to be some kind of GDevice color table thing. I check the GDevice color table before and after running his program.

BAL Wait a second. Who has which hard drive?

KON I have mine, he has his.

50 BAL The color tables are different on his GDevice, but the same on yours.

KON Well, who restores the color table? PaletteMgrExit or something like that, right?

45 BAL The Palette Manager changes the color environment only when a window with an associated palette comes to the front. This method assumes that people who need colors request them, and people who don't request colors don't care enough to affect the color environment. Unfortunately, with this approach to color management, when an application that's Palette Manager intensive quits, and an application such as the Finder which has no intensive color demands comes to the front, you're stuck with the nonstandard color state of the application that just quit. In 32-Bit QuickDraw David Van Brink extended the Palette Manager to include a routine called PaletteMgrExit. This routine is called automatically for you when your application quits, thus restoring the default color state.

KON Don't you have the same problem when twitching between layers? If you twitch to the Finder and the other application is still running, you'll be stuck with the nonstandard color state too.

40 BAL Yeah, but there's still an application around that needs those colors, and you can potentially see that application's documents, so it's a good bet to keep them. No one is specifically asking for the standard colors, and someone wants the others, so why not keep them around? If you twitch to another application that had palettes, obviously its color needs will be satisfied.

KON So in effect you start out with a default color world, and you launch an application that twists the colors to the demands of a particular document you're viewing or editing. Upon quitting that application your machine is left in some nonstandard color state. So PaletteMgrExit cleans up the mess.

35 BAL That's basically it, but just going back to the default color environment when an application quits isn't sufficient. PaletteMgrExit reverts to the default color set modified to accommodate the application coming to the front.

KON I set an ATB on PaletteMgrExit and see if it gets called.

30 BAL It's called on your machine, but not his.

KON Well, ExitToShell is supposed to call it, and it's hard to call ExitToShell wrong, so there must be some system problem.

25 BAL Welcome to the Puzzle Page, KON. Maybe this would be an excellent opportunity to fire up one of those many fine Macintosh debugging environments, Mr. MacsBug.

KON Clearly _ExitToShell is different. So I list ExitToShell with MacsBug and see who's there.

20 BAL It's in RAM.

KON I see whose heap it's in using HZ.

15 BAL It's above all heaps.

KON So it's in MultiFinder memory. He must be running an old version of MultiFinder that doesn't know about PMgrExit.

10 BAL Yeah, you know that SetAside MultiFinder they still ship with SADE?

KON Version 6.1b9. Sounds like they never really finished it.

5 BAL Well, my hero Phil Goldman broke off the sources to add that SetAside stuff, but it was never shipped as an official Apple release, since System 7 was just around the corner. SADE needed that feature because they twitch in some weird way. So they're sort of stuck using that version, while the rest of the world moves on. And they keep shipping that old MultiFinder for those last two, die-hard, System 6 developers. System 7 SADE users don't have this problem.

KON Nasty.

BAL Yeah.

KONSTANTIN OTHMER AND BRUCE LEAKBetween vacations, KON and BAL often find themselves under a lot of pressure to catch up on their work load. When BAL gets himself in too deep, he calls

KON in for assistance. They try to hash out their puzzling problems at Apple's Fitness Center---although

KON admits to having trouble staying focused, due to what we can only call his "wandering eye." When not working on Puzzle Pages and develop  articles,

KON and

BAL actually write software. As a follow-on to their previous QuickDraw and QuickTime successes, look for QuickFit, featuring QuickTime-based exercise videos and QuickBuf protein powder. You read it here first! *

SCORING

  • 90-100 So you're still using System 6 with SADE? Upgrade to System 7 immediately!
  • 60-80 Do you swear to tell the truth, the whole truth, and nothing but the truth?
  • 35-55 Good job. Next time you're in L.A., try out for "Jeopardy."
  • 5-30 Hey, we're with you! MacsBug users through and through. *

Thanks to Sean Callahan, Scott Douglass, and David Van Brink for reviewing this column.*

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Apple iTunes 12.2 - Play Apple Music...
Apple iTunes lets you organize and stream Apple Music, download and watch video and listen to Podcasts. It can automatically download new music, app, and book purchases across all your devices and... Read more
Apple Security Update 2015-005 - For OS...
Apple Security Update 2015-005 is recommended for all users and improves the security of OS X. For detailed information about the security content of this update, please visit: http://support.apple.... Read more
Apple HP Printer Drivers 3.1 - For OS X...
Apple HP Printer Drivers includes the latest HP printing and scanning software for OS X Lion or later. For information about supported printer models, see this page. Version 3.1: The latest printing... Read more
Epson Printer Drivers 3.1 - For OS X 10....
Epson Printer Drivers installs the latest software for your EPSON printer or scanner for OS X Yosemite, OS X Mavericks, OS X Mountain Lion, and OS X Lion. For more information about printing and... Read more
Xcode 6.4 - Integrated development envir...
Xcode provides everything developers need to create great applications for Mac, iPhone, and iPad. Xcode brings user interface design, coding, testing, and debugging into a united workflow. The Xcode... Read more
OS X Yosemite 10.10.4 - Apple's lat...
OS X Yosemite is Apple's newest operating system for Mac. An elegant design that feels entirely fresh, yet inherently familiar. The apps you use every day, enhanced with new features. And a... Read more
Dash 3.0.2 - Instant search and offline...
Dash is an API Documentation Browser and Code Snippet Manager. Dash helps you store snippets of code, as well as instantly search and browse documentation for almost any API you might use (for a full... Read more
FontExplorer X Pro 5.0 - Font management...
FontExplorer X Pro is optimized for professional use; it's the solution that gives you the power you need to manage all your fonts. Now you can more easily manage, activate and organize your... Read more
Typinator 6.6 - Speedy and reliable text...
Typinator turbo-charges your typing productivity. Type a little. Typinator does the rest. We've all faced projects that require repetitive typing tasks. With Typinator, you can store commonly used... Read more
Arq 4.12.1 - Online backup to Google Dri...
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

Hands-On With Raceline CC
Set for release soon, Rebellion’s motorbike racing game, Raceline CC certainly looks stylish. But how does it play? I got my hands on a preview build to answer exactly that. | Read more »
Siegefall - Tips, Tricks, and Strategies...
So, you fancy establishing a base and ruling the world again. Siegefall is a convenient place to do that, but how about some great tips and tricks on how best to go about it? Here are a few ideas on how to get ahead as a beginner to this medieval... | Read more »
The WWE Comes to Racing Rivals - Because...
Racing Rivals is a racing game that's all about, well, rivalry. And who knows rivalry better than WWE superstars (shhhh, that was rhetorical)? [Read more] | Read more »
Hey, Who Put Apple Music in My SoundHoun...
One of the App Store's popular music discovery sources - SoundHound - has already been updated to include Apple's own music discovery source - Apple Music. That was fast! [Read more] | Read more »
Arcane Legends has a New Expansion Calle...
Arcane Legends has been going strong since it debuted at the tail end of 2012. So well, in fact, that it's already up to its sixth expansion. [Read more] | Read more »
Vector 2 is Officially a Thing and it...
Vector is a pretty cool parkour-driven runner that's gotten a pretty decent following since it first came out - although personally I think more people could stand to show it some love. Anyway, Nekki has announced that a sequel isofficially on its... | Read more »
Get Ready to Trucksform and Roll Out (an...
It looks like NuOxygen is bringing the truck-transforming racer Trucksform (get it?) to iOS in a couple of weeks. Although really it's more of an auto-driver than a racer. But still, transforming trucks! [Read more] | Read more »
This Week at 148Apps:June 22-26, 2015
June's Summer Journey Continues With 148Apps How do you know what apps are worth your time and money? Just look to the review team at 148Apps. We sort through the chaos and find the apps you're looking for. The ones we love become Editor’s Choice,... | Read more »
LEGO® Minifigures Online (Games)
LEGO® Minifigures Online 1.0.1 Device: iOS iPhone Category: Games Price: $4.99, Version: 1.0.1 (iTunes) Description: | Read more »
World of Tanks Blitz celebrates its firs...
Today marks the first anniversary of the launch of World of Tanks Blitz, the mobile version of the PC tank battler, World of Tanks. World of Tanks Blitz launched on iOS and Android on June 26th last year and to celebrate, Wargaming is giving all... | Read more »

Price Scanner via MacPrices.net

Apple Releases OS X 10.10.4 With WIFi Fix, iO...
On Tuesday, Apple released final versions of OS X 10.10.4 and iOS 8.4, as well as updates for the Safari browser for OS X Yosemite, Mavericks, and Mountain Lion. The OS X 10.10.4 update focuses on... Read more
Dual-Band High-Gain Antennas for Home Wi-Fi N...
Linksys has announced what it claims are the first dual-band, omni-directional high-gain antennas for the consumer market. The new Linksys high-gain antennas available in a 2- and 4-pack (WRT004ANT... Read more
Apple refurbished 2014 15-inch Retina MacBook...
The Apple Store has Apple Certified Refurbished 2014 15″ 2.2GHz Retina MacBook Pros available for $1609, $390 off original MSRP. Apple’s one-year warranty is included, and shipping is free. They have... Read more
Clearance 2014 MacBook Airs available for up...
Adorama has 2014 MacBook Airs on sale for up to $301 off original MSRP including NY + NJ sales tax and free shipping: - 11″ 256GB MacBook Air: $798 $301 off original MSRP - 13″ 128GB MacBook Air: $... Read more
5K iMacs on sale for $100 off MSRP, free ship...
B&H Photo has the new 27″ 3.3GHz 5K iMac on sale for $1899.99 including free shipping plus NY tax only. Their price is $100 off MSRP. They have the 27″ 3.5GHz 5K iMac on sale for $2199, also $100... Read more
27-inch 3.2GHz iMac on sale for $1679, save $...
B&H Photo has the 27″ 3.2GHz iMac on sale for $1679.99 including free shipping plus NY sales tax only. Their price is $120 off MSRP. Read more
12-inch 1.2GHz Gray MacBook on sale for $1487...
Amazon.com has the new 12″ 1.2GHz Gray MacBook in stock and on sale for $1487 including free shipping. Their price is $102 off MSRP, and it’s the lowest price available for this model. We expect... Read more
15-inch 2.2GHz Retina MacBook Pro on sale for...
Amazon.com has the 15″ 2.2GHz Retina MacBook Pro on sale for $1819 including free shipping. Their price is $180 off MSRP, and it’s the lowest price available for this model. Read more
OtterBox Releases New Symmetry Series Metalli...
Otterbox’s new Symmetry Series of smartphone cases flaunts the best of both both street style and street smarts with their new metallic finishes and trusted OtterBox protection for iPhone 6 and... Read more
Eliminate Cable Chaos with New GE Branded Wra...
GE licensee Jasco Products has introduced a new line of GE branded Wrap-n-Charge USB wall chargers with built-in cable management. “We are always working to combine great technology with innovative... Read more

Jobs Board

*Apple* TV Live Streaming Frameworks Test En...
**Job Summary** Work and contribute towards the engineering of Apple 's state-of-the-art products involving video, audio, and graphics in Interactive Media Group (IMG) at Read more
Project Manager, WW *Apple* Fulfillment Ope...
…a senior project manager / business analyst to work within our Worldwide Apple Fulfillment Operations and the Business Process Re-engineering team. This role will work Read more
Senior Data Scientist, *Apple* Retail - Onl...
**Job Summary** Apple Retail - Online sells Apple products to customers around the world. In addition to selling Apple products with unique services such as iPad Read more
*Apple* Music Producer - Apple (United State...
**Job Summary** Apple Music seeks a Producer to help shepherd some of the most important content and editorial initiatives within the music app, with a particular focus Read more
Sr. Technical Services Consultant, *Apple*...
**Job Summary** Apple Professional Services (APS) has an opening for a senior technical position that contributes to Apple 's efforts for strategic and transactional Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.