Archive for November, 2005

Atlanta: Branding & Web Stupidity

Tuesday, November 15th, 2005

First, let me just say that I happen to really like Atlanta. I have visited the city a few times and enjoyed every minute of it and am looking forward to returning.

Ok, now, with that out of the way.

What the hell is up with the utter crap new theme song that Atlanta tax payers paid for? You will eventually be able to download it from Yup, there is an Atlanta brand. They seemed to have broken their store implementation. It assumes that cookies are disabled on first visit and claims you have to have cookies enabled “for security reasons”. Huh? (To their credit, the company that built the site is extremely responsive — I received a personal response to my bug report within an hour of sending the initial message).

In short, it is a throwaway hip-hop track with bad vocals. No melody. Nothing to remember. Generic enough that they managed to produce a symphonic and a blues version to reach a larger audience. I like good hip hop. This is not good hip hop.

Where the music makes you drop to your knees

Yeah. If I were a citizen of ATL, I’d be dropping to my knees in despair of the notion that people are going to associate Atlanta with this craptastic music.

Sounds like an act of desperation. Honestly, I have no idea of the state of Atlanta’s economy. I think Flint, Michigan tried something similar after the car companies fled town. Didn’t go so well.

Silly. I can’t stand it when the bloody marketeers take something good and try to water it down to make it “more appealing” to a “broader market”. Same reason it is nearly impossible to find a jalapeño with any spice on the East coast.

Infinity Broadcasting & Corporate Hari Kari

Friday, November 11th, 2005

(corrections made)

I will not support your failed business model.

On the days when I drive to work (more often than not now that the sun sets at about 4:30pm, it seems), I like listening to Howard Stern. The humor is often juvenile and mindless, but I find it a somehow relaxing way to start the day. What I find to be far more interesting is the ongoing battle between Howard and Infinity Broadcasting, the FCC and the religious right. Stern is the top money maker for Infinity Broadcasting, yet the company has removed him from markets. Funny, whenever Stern is removed from a market, that station drops from #1 to far behind the competition.

Stern is also leaving terrestrial radio in a highly publicized move to Sirius Satellite.

So, terrestrial radio is pretty broken. The efforts of the FCC and the religious right are at direct odds with the desires of their target marketplace. But there is something even more broken about radio.

Radio stations (conglomerates, really) generate most of their revenue from advertising. That is, they have to break up the programming with advertising just like television. On television, a 1 hour show will actually have 43 minutes of content and 17 minutes of advertising — usually in 3 or 4 commercial blocks.

While driving into work, the local Infinity Broadcasting station played 19 — yes 19 — advertisements back to back. Of those, 4 were repeats. It was something like 15 minutes of solid advertising. Clearly, this drives away customers. It certainly drives me away as I typically hit a different station as soon as the commercial starts (I decided to actually count this time).

That is insane! I don’t understand the logic. Clearly, they are trying to boost revenues by selling more ads. If so, then why is the delivery in a form that is so incredibly easy to avoid simply by hitting a button? You’d think they would break up the content a bit more and interleave it with the advertising or something.

And to think that these idiots wonder why they are losing market share to satellite, internet media, and other delivery mechanisms….

WebObjects Deployment license change

Friday, November 11th, 2005

There have been a lot of questions about when and where one can deploy WebObjects applications to non-Apple platforms. The new license agreement attempts to address these questions (from paragraph 2D):

Subject to the terms and conditions of this License, you may also deploy server applications built with the WebObjects Software on any platform.

I hope that clears things up.

Apparently not. Ok. To rephrase: Take the key included with the dev tools and deploy wherever the hell you want to (within the terms of the license). Just don’t come crying to Apple when you deploy on an AmEx blue card and you find some mysterious transactions in the Caymans on your next statement.

iPhoto & RAW Monarch Butterflies

Thursday, November 10th, 2005
Monarch Butterfly

We went to Natural Bridges State Beach to visit the Monarch butterflies on their annual wintering in a eucalyptus grove. It was incredible. Here is this random grove of trees only a mile or two from downtown Santa Cruz within which many thousands of Monarch butterflies live for 4 months of the year. There were clusters of thousands of butterflies huddled together on a single branch while several hundred more fluttered around over our heads.

And, of course, I took my camera along to both capture the moment and to test something out. In particular, iPhoto can now handle RAW images just fine. I had been avoiding RAW because the desktop tools for dealing with RAW are teh suck. So, I threw the camera into RAW+Fine mode. Each photo is written twice to the CF card; once as RAW data and once as JPEG on the highest quality compression level.

The purpose was two fold. First, if RAW handling just didn’t work, I would have a lesser quality backup. Secondly, I wanted to compare the two to see exactly what the difference was.

Wow. What a surprise.

Butterfly DetailButterfly Detail

Pictured at right is the detail of a section of the above picture. The left image is RAW and the right image is JPEG. No post processing was applied. The only difference is how the camera encoded the image.

Of course, both of these images have been scaled and re-compressed by Flickr. Click through to see the original images (which is still lossy compressed compared to the RAW original).


To address that, the side by side on the left is a screenshot of two iPhoto windows overlayed where the left is the JPEG image and the right is the RAW. Click through for the full sized image (which isn’t large), but even the thumbnail sized shows a noticeable difference.

I expected to see aliasing and compression artifacts in the JPEG image. What surprised me, though, was how much the color saturation seems to be muted in the JPEG version of the image. The RAW images simply appear to be a much higher fidelity image all around; not just sharper/clearer.

Of course, my camera is now configured to shoot only RAW whenever possible. Why Canon doesn’t enable RAW shots in full auto mode is an irritating mystery.

And, yes, I’m counting the days until Aperture arrives.

Advanced Mac OS X Programming

Thursday, November 3rd, 2005

Big Nerd Ranch recently released Advanced Mac OS X Programming.

This is an updated, second edition, printing of the book originally titled Core Mac OS X and Unix Programming. Aaron was kind enough to send me a copy of the original book of which I I wrote a review.

I also took the original edition to work. Last I saw it, it was looking rather dog eared from all the use. Now it seems to have disappeared.

Aaron was kind enough to send me a copy of the updated version.

This version is every bit as good as the first and it has been updated throughout for Tiger specific APIs and technologies. There are a couple of additional chapters and lots of refinements.

What makes this book so good?

Take fork(), for example. The fork() man page provides an extremely terse description of exactly what fork() does. As is typical, it gives absolutely no details or discussions as to the implications of fork()ing a Cocoa application or any of a number of other questions that any app level developer might need.

Core Mac OS X and Unix Programming has a discussion of fork() that spans several pages, includes details on the implications for Cocoa programs, inventories various caveats and related functionalities, and does all this while also providing several examples demonstrating the behavior provided in the text.

The first edition saved me many hours of research while often answering questions that I didn’t realize I needed to ask. I’m confident that the updated version will do the same. I certainly learned a thing or two about fork() in writing this blog entry!

The table of contents is available as a PDF. There is also a site for notes, errata, and source code.

If you are new to Cocoa programming, this book is not for you. There are a number of excellent books that cover basic to advanced Cocoa programming. As far as I can tell, Advanced Mac OS X Programming is unique within the Mac development book market.