Cocoa Programming for Mac OS X Third Edition
Silicon Valley iPhone Developer Meeting

Alex Cone wins the prize for the geekiest name tag at the first Silicon Valley iPhone Developer meeting put together by Tim Burks.
Chi-Hua Chien of KPCB talked about the iFund, KPCB's $100 million fund for investing in new iPhone applications. The meeting was well-attended: probably close to 80 people there.
Aperture: Plug-In SDK 2.1 Now Available
Aperture: Laptop Workflow

Ferris Wheel: 1/1250s f/8.0 ISO200 73mm -0.3ev, Canon 30D, Canon 70-200 f/2.8L IS
Here is what I am currently doing to manage photos on my MacBook and iMac. It's a simple one-way process.
When I import my photos onto the Macbook I do so as managed files so they go into the library. Then I'll cull, rate, keyword, or whatever I want to get done. I don't adjust much, since the screen is small and not as good as my iMac and I can't control the room illumination as well. I leave preview generation turned on for all projects in my library and set it to make half size images. This lets me quickly put together slide shows and skim through images in a flash.
Then when I'm done working on the laptop, I export the project to the desktop and rename the project in the library by adding "Exported" to the end. That's to remind me that I've already done the export and should not do any more editing.
To transfer the project to the iMac I either copy it across the network, or restart the laptop in Firewire target mode and use the Finder to drag the folder across and onto my iMac Aperture library.
Back on the MacBook I delete all the rejects by finding them with a smart album and pressing command delete and then relocate all the remaining project images to a temporary folder. I immediately delete the temporary folder, since I don't want the RAW images to remain on the Macbook, and rename the project again by removing "Exported" and adding "Previews".
So on the laptop I have previews that I can easily show, drag out to other apps, or email, and on the iMac I have the RAW files, the previews, and the project intact. On the laptop the images use up only about 1 MByte each with the thumbnails and previews, so it is pretty space-efficient.
Aperture: Adjustment Plug-Ins Starting To Appear

Tiffen now has their Dfx digital filter suite available as a plug-in for Aperture 2.1:
They are offering a 15-day free trial with full availability in May.Dfx digital filter suite offers precision adjustments over its range of effects that cannot be approached by any other digital filter software. A complete edition includes the most comprehensive array today, emulating more than 1,000 varied effects and gels, from factory pre-sets or custom effects, providing total creative and technical control with the most comprehensive and user-friendly filter-effect palette today.
Digital Film Tools has Light, Ozone, and Power Stroke, three tools that appear to be available right now.
Light: Using a pre-built light and texture library that includes windows, doors, leaves and abstract patterns, you can add realistic lighting and shadow to scenes just as if you were adding a light at the time of shooting.
Ozone: Inspired by Ansel Adams' Zone System for still photography, Ozone allows you to manipulate the color of an image with incredible flexibility and accuracy using a Digital Zone System. The Digital Zone System takes the spectrum of image values and divides them into 11 discrete zones. The color, brightness, contrast and gamma of each zone can be independently adjusted until you've painted a new picture.
Power Stroke introduces a simple, interactive stroke-based interface to quickly and intuitively perform targeted adjustments. Instead of meticulously selecting regions or hand-painting masks, regions of interest are isolated by drawing a few simple brush strokes with adjustments then made only in those areas. Strokes can be assigned multiple adjustments and effects such as color correction, recoloring or desaturation, colorization of black and white images, blur, fill light for dimly lit image areas and Diffusion/Glow.
XCode and Subversion: How Do I Revert?
I have an alternate approach, but I have to undo the changes I made. Subversion to the rescue. I have a subversion repository set up and so I can revert to a previous version. But how? The subversion functionality in XCode is very limited: it's really only any good for checking in new versions and looking at history. There is no way to see the structure of past versions and no way to revert any more than single files.
The answer was to tag the current version by copying it to the tags subversion folder and then check out the older version. I did all of that with snvx. It's a simple but functional GUI subversion client.
My subversion repository has moved from its old location that I set up with Tiger. I had hoped to be able to access it from my laptop over AFP, but locking does not work. So I moved it to an HTTP server-based repository. There are plenty of places on the web that detail how to set it up with Leopard, and it was simple to do. Next I need to figure out how to do ssh tunneling and I'll have a remote access solution.
Aperture: How To Install Aperture On A Second Machine
Dragging the application over does not work because there are some pro application frameworks that are needed. How about downloading another demo and entering my key? That would probably be OK, but then I need to fill out the form and download the whole thing over again.
What worked was to install the original 2.0 demo that I had kept, and then enter the upgrade key I had paid for. When I did that it requested my original Aperture 1.1 key as well and was unlocked. Then I ran the 2.1 updater.
I was quite pleased to find that Aperture 2.1 runs just fine on my MacBook. It's the lowest spec machine, but with 4G RAM fitted. Processing 7MB CR2 files is easily fast enough for normal use, but noticeably slower than my iMac. The glossy screen is nice, but low-end, perfectly acceptable for normal use.
Fraser Speirs On Keywording
In particular he talks at length about the keyword bar at the bottom of the window:So, finally, I’ve drawn together my thoughts about keywording in Aperture. My problem with keywording has always been more about “how can I make it easy enough that I will actually do it?”, rather than “what should the keywords be?”. I’ll explain my personal taste for both, though.
The magic — if that’s what it is — is that these button sets give keyboard shortcuts to your keywords. The first nine keywords in any set get the shortcuts Option-1 through Option-9, although the set of keywords can be arbitrarily large (I think). The second insight, that I think few people have noticed, is that you can cycle through these button groups using the shortcuts Comma and Period. This makes for really fast navigation through keyword groups.
WWDC 2008

White Tree: 1/640s f/8.0 ISO200 70mm, -0.3ev, Canon 30D, Canon 70-200L IS f2.8
Since I'm now developing a real Mac application (known as PP for now), I've taken the plunge and signed up for WWDC. It will be my first year and it will be busy.
I'm in the SF Bay area, but far enough away that commuting to the show in San Francisco makes no sense; so I'll have to find accommodation for that week. Does anyone know of a good (and not oppressively expensive) hotel in the Moscone area?
I'm coding this app in my spare time, progress is slow. I'm learning a great deal about how the frameworks are put together and how they should be used. Typically I get something wrong when I add a feature and then figure out what the right way is as I work through the issues that uncovers. Invariably I end up with less code, and find my code shifting to more sensible places. At that point I know I'm done and can move on.
I'm tackling the application in a simple way. I know that the main purpose of the app needs a whole lot of supporting functionality, so I'm writing that support first. Once all those pieces are in place I will start on the main event. This has the advantage that by the time I get there I will have had a lot of time to think about how I want to do it. And by the magic of object-oriented design, much of that should be independent of other decisions, such as how I store documents on disk and how the windows and views work.
Lightroom 2.0 Beta And Aperture 2.1
Undoubtedly in response to pre-empt any traction by Apple’s rapidly updated Aperture 2 software, Adobe has released a beta of the next version of its competing Lightroom, now at 2.0. As always, comparisons abound, and as always fans of either software will draw their respective lines in the sand.