TweetFollow Us on Twitter

Mac OS X Programming Secrets

Volume Number: 19 (2003)
Issue Number: 4
Column Tag: Mac OS X Programming Secrets

Mac OS X Programming Secrets

by Scott Knaster

    I am honored, privileged, and more than a little thrilled to welcome Scott Knaster to the fold here at MacTech. In the Mac programming universe, Scott is a legend, both for his sense of humor and for books like Macintosh Programming Secrets and How to Write Macintosh Software. While I was busy writing about C and the basics of the Mac Toolbox, Scott was taking folks to the next level, writing about off screen drawing, spinning cursors, VBL tasks, dialog filters, etc.

    And that's just what we're gonna do here. While Getting Started will focus on the basics, Mac OS X Programming Secrets will take you to the next level. And for those of you who have yet to experience Scott, trust me. You are in for a treat!

    Dave Mark

    Editor-in-Chief


Thanks, Dave, for that awesome introduction. I'll try mightily to live up to those high expectations. And now, let's get started. But how to begin?

[Option #1: the wacky two-liner.] Well, I haven't written anything about Mac programming since about 1990. So as I was saying...

[Option #2: the clueless.] Hi. I've been basically out of the Mac universe for the last 10 years. Did anything interesting happen? Is Apple still in business? Excuse me... the company is run by who? Mac OS is now based on what? Hahahahahahaha!!! You big kidder!

[Option #3: keeping it real.]

That's me: always with the joking around. But really, when I think about writing for MacTech, my whole MacLife (not the same as iLife) flashes before my eyes, and I ponder how I got started on the Mac, how I ended up back here again, and what happened in between.

Programming Is Great Fun

My story, dear reader, is one of extreme good fortune and a personality tic. The lucky part came back in 1984 when I managed to find a job in the developer support department of the Macintosh division at Apple. I knew a little about programming and was in love with working at Apple, but I had never seen anything like the Mac - of course, very few of us had.

On my first day, my boss, Cary Clark, showed me the professional Mac development environment of the era. It consisted of a Mac with 128K RAM, a Lisa connected to the Mac for compiling and building applications in Pascal, and an Apple III (or Apple ///, as we insisted on spelling it) used as a dumb terminal for talking to the object-code debugger. Yes, it took three-fourths of Apple's computer models just to say "Hello World" on an underpowered original Mac. I was in awe.

I spent the next 3 years helping developers get their apps running on those early Macs. Because I was lucky enough to be in the right place at the right time, I learned a ton of cool stuff about Mac programming and debugging, like how to figure out what was on the stack, what really happened when heaps were compacted, and what caused system errors. Because lots of people were interested in learning these things, I wrote it all down in a couple of books, thus freeing my brain cells for important work, such as knowing it was Randy Van Warmer who sang the smash hit "I'd Really Love To See You Tonight".

Attentive readers will recall that way back a few paragraphs ago, I said it was luck and a personality tic that helped my career. The luck was finding myself in Mac developer support; the tic is that when I learn about cool new technology, like Mac programming, I just gotta tell other people about it. I can't stand keeping it to myself. This is a wonderful trait for a tech support guy and a writer.

Eventually, I got distracted by a shiny object or something, and I wandered away from the Mac for awhile. I wrote many charming but now-useless technical docs, first about Pink, one of Apple's several failed fix-the-Mac-OS crusades, and then about Magic Cap, a really wonderful OS and UI toolkit for personal communicators that just didn't catch on. Most surprising of all journeys, I ended up spending a number of happy years at Microsoft (yes, that Microsoft), at first working on Mac software, then writing books about Windows user interface guidelines, of all things.

New Things Happened

And then, Mac OS X sprang forth. A hypnotically pretty user interface, a foundation based on Unix (go figure), and lots of attention and cool new apps came with it. Apple's dark days had come to an end. Although I was making my living on that other platform, I was always drawn back to the Mac. When Apple started shipping Macs with OS X pre-installed in 2001, I bought an iBook and had a torrid affair with the new operating system. Although it wasn't ready for prime time then, you could tell that it had a great future - kind of how it felt using a Mac in 1984 or so. For the next two years, I always found time to keep up with OS X, messing around with development tools and generally having fun with all the new stuff Apple kept tossing our way.

When I said farewell to my employment at Microsoft (and my WinXP lifestyle) earlier this year, I fell down the OS X rabbit hole at full velocity. I found myself getting up early and staying up late, playing with all the toys: Project Builder, Terminal, Cocoa, Carbon, etc. Mac programming today is a surreal fusion of traditional Apple stuff and full-on Unix, and we haven't even begun to tap all the power that's in there. My goal in writing this column is to stay one step ahead, to show you something each month that you didn't know about before.

I find myself cursing Unixy things like folder permissions and command line syntax booboos, even while I enjoy trying to figure them out. Placing Unix under Aqua is a little like having a hood on my car. Mostly I just drive the car, but once in a while I like to open the hood to learn about or tweak something inside. Sometimes that's frustrating, but it's always educational.

I'm past the point where operating systems are a religion with me. I lived happily on last millennium's Mac OS for a long time, Windows for a few years, and now it's Mac OS X. There are things I like and dislike about each of them. I enjoy having all of them around, because they're fun to delve into and they all help me get work done. Although it's far from perfect, OS X might be my favorite OS ever because there's just so much stuff to mess with. And because after all these years, I find that my brain is still tuned to Apple's frequency: I keep coming back to Apple products because they usually feel right to me.

There Is Plenty To Do

So the truth is this column is my excuse to keep diving into OS X programming and then inflicting the results upon you, dear reader, because I just can't keep it to myself. There's so much to write about: great tools, cool tricks with frameworks, little-known APIs, debugging tips, odd and fun nooks in the system. Everything is new again, and we're all bozos on this bus. I want to write about all of it at once, but unfortunately the laws of physics prohibit this, so I'll do it one column per issue.

Speaking selfishly, I know I'm going to have a great time, and I hope you find some of it useful or amusing, because that would please the publisher and editors of MacTech. So thanks for coming along.

And I now that I think of it, it was England Dan & John Ford Coley who sang the smash hit "I'd Really Love To See You Tonight". I guess I better start writing more stuff down to free up brain space.


Scott Knaster has been writing about Macs for as long as there have been Macs. Scott's books How To Write Macintosh Software and Macintosh Programming Secrets were required reading for Mac programmers for more than a decade. Scott wrote developer books for General Magic and worked on Mac software for Microsoft. Scott's books have been translated into Japanese and Pascal. Scott has every issue of Mad magazine, which explains a lot.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

The Legend of Heroes: Trails of Cold Ste...
I adore game series that have connecting lore and stories, which of course means the Legend of Heroes is very dear to me, Trails lore has been building for two decades. Excitedly, the next stage is upon us as Userjoy has announced the upcoming... | Read more »
Go from lowly lizard to wicked Wyvern in...
Do you like questing, and do you like dragons? If not then boy is this not the announcement for you, as Loongcheer Game has unveiled Quest Dragon: Idle Mobile Game. Yes, it is amazing Square Enix hasn’t sued them for copyright infringement, but... | Read more »
Aether Gazer unveils Chapter 16 of its m...
After a bit of maintenance, Aether Gazer has released Chapter 16 of its main storyline, titled Night Parade of the Beasts. This big update brings a new character, a special outfit, some special limited-time events, and, of course, an engaging... | Read more »
Challenge those pesky wyverns to a dance...
After recently having you do battle against your foes by wildly flailing Hello Kitty and friends at them, GungHo Online has whipped out another surprising collaboration for Puzzle & Dragons. It is now time to beat your opponents by cha-cha... | Read more »
Pack a magnifying glass and practice you...
Somehow it has already been a year since Torchlight: Infinite launched, and XD Games is celebrating by blending in what sounds like a truly fantastic new update. Fans of Cthulhu rejoice, as Whispering Mist brings some horror elements, and tests... | Read more »
Summon your guild and prepare for war in...
Netmarble is making some pretty big moves with their latest update for Seven Knights Idle Adventure, with a bunch of interesting additions. Two new heroes enter the battle, there are events and bosses abound, and perhaps most interesting, a huge... | Read more »
Make the passage of time your plaything...
While some of us are still waiting for a chance to get our hands on Ash Prime - yes, don’t remind me I could currently buy him this month I’m barely hanging on - Digital Extremes has announced its next anticipated Prime Form for Warframe. Starting... | Read more »
If you can find it and fit through the d...
The holy trinity of amazing company names have come together, to release their equally amazing and adorable mobile game, Hamster Inn. Published by HyperBeard Games, and co-developed by Mum Not Proud and Little Sasquatch Studios, it's time to... | Read more »
Amikin Survival opens for pre-orders on...
Join me on the wonderful trip down the inspiration rabbit hole; much as Palworld seemingly “borrowed” many aspects from the hit Pokemon franchise, it is time for the heavily armed animal survival to also spawn some illegitimate children as Helio... | Read more »
PUBG Mobile teams up with global phenome...
Since launching in 2019, SpyxFamily has exploded to damn near catastrophic popularity, so it was only a matter of time before a mobile game snapped up a collaboration. Enter PUBG Mobile. Until May 12th, players will be able to collect a host of... | Read more »

Price Scanner via MacPrices.net

Sunday Sale: Apple Studio Display with Standa...
Amazon has the standard-glass Apple Studio Display on sale for $300 off MSRP for a limited time. Shipping is free: – Studio Display (Standard glass): $1299.97 $300 off MSRP For the latest prices and... Read more
Apple is offering significant discounts on 16...
Apple has a full line of 16″ M3 Pro and M3 Max MacBook Pros available, Certified Refurbished, starting at $2119 and ranging up to $600 off MSRP. Each model features a new outer case, shipping is free... Read more
Apple HomePods on sale for $30-$50 off MSRP t...
Best Buy is offering a $30-$50 discount on Apple HomePods this weekend on their online store. The HomePod mini is on sale for $69.99, $30 off MSRP, while Best Buy has the full-size HomePod on sale... Read more
Limited-time sale: 13-inch M3 MacBook Airs fo...
Amazon has the base 13″ M3 MacBook Air (8GB/256GB) in stock and on sale for a limited time for $989 shipped. That’s $110 off MSRP, and it’s the lowest price we’ve seen so far for an M3-powered... Read more
13-inch M2 MacBook Airs in stock today at App...
Apple has 13″ M2 MacBook Airs available for only $849 today in their Certified Refurbished store. These are the cheapest M2-powered MacBooks for sale at Apple. Apple’s one-year warranty is included,... Read more
New today at Apple: Series 9 Watches availabl...
Apple is now offering Certified Refurbished Apple Watch Series 9 models on their online store for up to $80 off MSRP, starting at $339. Each Watch includes Apple’s standard one-year warranty, a new... Read more
The latest Apple iPhone deals from wireless c...
We’ve updated our iPhone Price Tracker with the latest carrier deals on Apple’s iPhone 15 family of smartphones as well as previous models including the iPhone 14, 13, 12, 11, and SE. Use our price... Read more
Boost Mobile will sell you an iPhone 11 for $...
Boost Mobile, an MVNO using AT&T and T-Mobile’s networks, is offering an iPhone 11 for $149.99 when purchased with their $40 Unlimited service plan (12GB of premium data). No trade-in is required... Read more
Free iPhone 15 plus Unlimited service for $60...
Boost Infinite, part of MVNO Boost Mobile using AT&T and T-Mobile’s networks, is offering a free 128GB iPhone 15 for $60 per month including their Unlimited service plan (30GB of premium data).... Read more
$300 off any new iPhone with service at Red P...
Red Pocket Mobile has new Apple iPhones on sale for $300 off MSRP when you switch and open up a new line of service. Red Pocket Mobile is a nationwide MVNO using all the major wireless carrier... Read more

Jobs Board

Licensed Practical Nurse - Womens Imaging *A...
Licensed Practical Nurse - Womens Imaging Apple Hill - PRN Location: York Hospital, York, PA Schedule: PRN/Per Diem Sign-On Bonus Eligible Remote/Hybrid Regular Read more
DMR Technician - *Apple* /iOS Systems - Haml...
…relevant point-of-need technology self-help aids are available as appropriate. ** Apple Systems Administration** **:** Develops solutions for supporting, deploying, Read more
Operating Room Assistant - *Apple* Hill Sur...
Operating Room Assistant - Apple Hill Surgical Center - Day Location: WellSpan Health, York, PA Schedule: Full Time Sign-On Bonus Eligible Remote/Hybrid Regular Read more
Solutions Engineer - *Apple* - SHI (United...
**Job Summary** An Apple Solution Engineer's primary role is tosupport SHI customers in their efforts to select, deploy, and manage Apple operating systems and Read more
DMR Technician - *Apple* /iOS Systems - Haml...
…relevant point-of-need technology self-help aids are available as appropriate. ** Apple Systems Administration** **:** Develops solutions for supporting, deploying, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.