2008-06-10

Mac OS X 10.6 Snow Leopard

Unless you've been living under a rock the last few days, you probably know Apple just (briefly) announced the next version of OS X, calling it 10.6 Snow Leopard.

In a break with past releases and announcements, they have said they are not focusing on "features". The press release says:

Rather than focusing primarily on new features, Snow Leopard will enhance the performance os OS X, set a new standard for quality, and lay the foundation for future OS X innovation.
...
In our continued effort to deliver the best user experience, we hit the pause button on new features to focus on perfecting the world's most advanced operating system.
While Apple says they are not working on features, it seems more accurate to say they are not not working on too many user features.


Foundation
In past releases, OS X has been in a state of flux with important API's changing or being replaced. This has made OS X a bit of a moving target for developers. It appears with OS X 10.5 Leopard and OS X 10.6 Snow Leopard, Apple is attempting to settle things down now that they have things close to where they want them. New API's will surely be added and changes will be made, but it seems likely they will avoid the wholesale changes of the past.


Grand Central (Multi-Core CPU Utilization)
OS X has always been multiprocessor aware, but it Apple seems to be reacting to the CPU industry's effort to focus on multiple cores instead of individual processor clock speed. Now that the GHz Wars have all but ended, the efficient use of multiple processors and multiple cores is the primary method to improve performance.

If Apple has made the process of programming for and utilizing multiple processors easier to implement (or nearly automatic), this will be a huge deal and a major advantage. If they have created methods to more efficiently use multiple processors at an OS level, this will be nice (especially if they are rewriting OS X to be more reentrant allowing multiple "in flight" OS calls).

NY Times Article and Interview with Steve Jobs
“The way the processor industry is going is to add more and more cores, but nobody knows how to program those things,” he said. “I mean, two, yeah; four, not really; eight, forget it.”

Apple, he claimed, has made a parallel-programming breakthrough.

OpenCL (GPU Utilization)
It appears Apple is pushing a new, open standard to allow general purpose use of the GPU. If Apple can make general use of the fast GPU's sitting idle much of the time, this will be a major performance enhancement. If they can make this GPU utilization mostly automatic for the everyday developer, it could be a significant coup.

It will be interesting to see if this has anything to do with LLVM for which Apple has long been suspected of having a special use. They are already using it in OpenGL.

CNET Article and Interview with Nvidia's CEO
"Apple knows a lot about CUDA," Huang said, implying the company might be ready to formally embrace Nvidia's technology to make it easier to exploit graphics chips inside Macs. Apple's implementation "won't be called CUDA, but it will be called something else," Huang said in an interview here at Nvidia's headquarters on Wednesday.
From the NYT
“Basically it lets you use graphics processors to do computation,” he (Jobs) said. “It’s way beyond what Nvidia or anyone else has, and it’s really simple.”

64 Bit
This is a no-brainer for Apple. By using a larger address space, they engage in some "future-proofing", while giving some RAM hungry apps some breathing room. Being able to address 16TB of physical RAM is nice now, but it will be am absolute requirement soon. As with hard drive space and closet space, more is better.


QuickTime X
Apple is learning from every project they implement. In creating the iPhone, they apparently worked to make QuickTime more efficient, and QucikTime X Mac (and Windows?) users will benefit from that.

It is fascinating to imagine if this might be interwoven with OpenCL. It seems generally like a good idea to offload audio and video media processing to the GPU when possible.

Apple's Press Release
Using media technology pioneered in OS X iPhone, Snow Leopard introduces QuickTime X, which optimizes support for modern audio and video formats resulting in extremely efficient media playback. (emphasis added)

Exchange 2007 Support
By adding Exchange support into OS X for use in Mail, Address Book, and Calendar, Apple will remove one of the single biggest obstacles to selling Mac's into business and the enterprise in particular. It seems Apple realizes continued growth will require some level of business adoption, and this one feature will go a long way towards enabling those sales.


Mobile Me
"Exchange for the rest of us" is Apple's tag line for Mobile Me which will replace .Mac . This seems to largely apply to iPhone users, but the features will be nice for Mac (and Windows?) users too. Mobile Me will sychronize and give users access to their contact and calendar along with their Mobile Me e-mail, all through a jazzy Web 2.0 Javascript interface blurring the lines between local apps and web apps.


SquirrelFish (Javascript Engine)
The Webkit team has been working on a new, faster JavaScript engine for Safari called SquirrelFish. This will provide a major performance boost and runs the SunSpider benchmark 1.6 times faster.

Obviously, Apple's new Mobile Me platform and web sites in general will provide a better experience with a faster JavaScript engine. More of the application-like features of the web sites we all use require JavaScript, so this could be a big help.

2008-06-03

Mac OS X 10.5 Leopard: About the Application Firewall

Mac OS X 10.5 Leopard: About the Application Firewall

Apple has updated the knowledgebase article on Mac OS X 10.5 (Leopard) firewall. This is the new, additional firewall referred to as an "application" firewall. Unlike ipfw, which works at the packet level, the new firewall works at the application level allowing or disallowing applications to receive packets.


Links to previous Geek Precis Articles:

2008-05-31

Useful Google Bookmarklets

Here are some Google bookmarklets that I have found and/or use. They are very useful at speeding up certain common operations while surfing from most any Javascript-compatible browser.

You should be able to drag the links to your browser's bookmark bar for easy access. once they're there, you can change the names of the bookmarks to whatever you prefer.

Do you have any others you like?


Subscribe in Google Reader

Google Bookmark

Cached Page Version

Blog Links

Web Links

Send URL via Gmail

Send to Googlebot for Indexing



References:

Google Does the Math

Google spotlights data center inner workings


It is fascinating to see how how Google can use logic instead of "industry standards" to design and maintain such a robust system. Where most companies will use conventional wisdom, Google does the math.

Their systems do not use off-the-shelf software, and they use mostly custom hardware. And they understand how it all works together, because they designed it that way.

Most outfits use the "nobody gets fired for buying IBM" mentality. They go with a conventional and safe choice rather than risk an analysis they will be responsible for.





2008-05-28

About the Mac OS X 10.5.3 Update

About the Mac OS X 10.5.3 Update


Apple has released the Mac OS X 10.5.3 update.  As usual, it is recommended for all users and has a gazillion fixes and patches.

2008-03-21

Google's New Gmail Code Solves Conflict with Safari 3.1

As we mentioned before, there was a painful conflict between the new Safari 3.1 and the older Gmail code (UI 1) still active for some users. Google is now pushing out the newer codebase, and it appears to solve the problem (at least for us).

As Google, says in their blog post:

How to access what's new:
Just sign in to Gmail. You'll know when you're in new version of Gmail when you see a link for "Older version" at the top right of the screen.
Links:
Gmail blog post - feature list


FYI-YMMV

2008-03-18

When Will Apple Require Code Signing in Mac OS X?

After reading Roughly Drafted's recent article on the iPhone SDK's code signing requirements, I began to think about how this might be applied to Mac OS X. Then, I remembered the new Application Firewall in Mac OS X 10.5 (Leopard).

Starting with 10.5, Mac OS X is able to differentiate between signed and unsigned applications and can provide different levels of access to each. This functionality is exposed now in the new application firewall. A related feature is obvious, when Leopard warns you the first time you run a downloaded application.

Here's Where Things Get Interesting
The same system of code signing used by Apple for the iPhone could be applied directly to the Mac too. And the same system of iTunes distribution could be used for the whole application or simply for purchasing and delivering license codes. Optionally, Apple's existing "Software Update" system could be used to delivery the actual application files.

What if Apple decided to take this next step in computer security to maintain it's lead over Microsoft. They could implement a partially optional code signing system for Mac OS X. Signed apps would have full security privileges. Unsigned apps might generate a warning similar to a recently downloaded application until silenced. Or at the user's option, unsigned applications might not be allowed to run, or might be heavily restricted.

This would make it virtually impossible for trojans and most malware to get installed. And if the warning for unsigned apps repeated (say, daily, weekly, or monthly), it might effectively disable some malware simply by repeatedly asking for permission.

Apple can restrict the security privileges of their own software so that even exploits based on buffer overflows or other issues can be limited to specific security rights in a "sandbox". And a third party application's signature could limit it in the same manner.

I think this could be an elegant way to extend security without creating too much additional user inconvenience.



Leopard Application Firewall background here at Geek Precis:


Apple Links:

Painful Conflict Between Safari 3.1 and Gmail (UI 1)

With the new release of Apple's Safari 3.1, it has become clear there is a conflict between it and Gmail for folks using version 1 of Gmail (which includes most Google Apps and some localized accounts). When trying to type in the rich text fields, the modifier keys cause the focus to change. Trying to type a capital "I" by pressing shift will cause the focus to leave the rich text field without every typing the "I".

To say this is annoying is a major understatement. It is maddening,

Workaround:
If you can, switch to the "new" version 2 Gmail. If the new version is not available, you might be able to switch from "rich text" to "plain text" to avoid the problem.

This has been a known issue through the development of Webkit, so I'm not sure how Apple and Google could have let this very annoying problem happen. Hopefully, they will get it fixed ASAP.

Apple Releases Safari 3.1 for Mac and Windows

Apple has released Safari 3.1 for both Mac and Windows. Apple has incorporated the latest WebKit changes. Here are some highlights from Apple's changelog:

  • Support for CSS 3 web fonts
  • Support for CSS transforms and transitions
  • Support for HTML 5
  • Support for offline storage for Web applications in SQL databases
  • Support for SVG images in elements and CSS images
  • Support for SVG advanced text
  • Improved stability and compatibility
  • Improved Security
  • Improved JavaScript performance
  • Developer features including an optional menu
  • Windows version fixes and improvements

2008-03-17

Great File Systems Article at Ars

Here's a great article on the history and features of various file systems at Ars Technica.