Song of The Day: Hypnotize - Artist: System of a Down
As a follow-up to my first post about the conference, here are a few more thoughts concerning the keynote and sessions. It’s interesting to think about these events in retrospect, especially given the recent announcements of new iPods, movie sales over iTunes, and the up-and-coming iTV.
As I mentioned previously, I experienced two reactions from folks: 1) those ecstatic about the new enterprise offerings, and 2) those a bit disappointed about no “new consumer device.”
The enterprise offerings were impressive as Apple sealed its transition to Intel processors with the announcements of the new Xserve and Mac Pro. Both offer QuadCore capability by including 2 64-bit dual-core Intel Xeon processors. Furthermore, to take advantage of all this computing power, Apple introduced to the developer community and the world, their next operating system, Leopard. Regarding Leopard Apple’s site declares:
Leopard delivers 64-bit power in one, universal OS. Now Cocoa and Carbon application frameworks, as well as graphics, scripting, and the rest of the system are all 64-bit. Leopard delivers 64-bit power to both Intel- and PowerPC-based Macs, so you don’t have to install separate applications for different machines. There’s only one version of Mac OS X, so you don’t need to maintain separate operating systems for different uses.
After the keynote, I decided to keep a keen eye on any 64-bit talks and discussions. Since I’m not really sure what I can and cannot say regarding my 64-bit information regarding OS X (i.e., the sessions were “confidential”), I’ll wrap this entry up by considering what developers should consider when porting an application to 64-bits:
- int stays 4 bytes
- pointers and “long long” are 8 bytes
- watch out for large files (2^63 or a little over 1 exabyte)
- watch out for overflow from 32-bit assumptions
- compatibility and thunking layers
- larger memory configurations
For OS X types, here is a pretty good starting place.
Tags: Eric O’Laughlen, WWDC 2006 , 64-bit Porting






