9L0-061 brain dumps | Pass4sure 9L0-061 brain dumps | | jeepmansoffroad

Pass4sure 9L0-061 dumps | 9L0-061 actual questions |

9L0-061 MAC OS X 10.5 Troubleshooting

Study steer Prepared by Apple Dumps Experts 9L0-061 Dumps and actual Questions

100% actual Questions - Exam Pass Guarantee with high Marks - Just Memorize the Answers

9L0-061 exam Dumps Source : MAC OS X 10.5 Troubleshooting

Test Code : 9L0-061
Test cognomen : MAC OS X 10.5 Troubleshooting
Vendor cognomen : Apple
brain dumps : 71 actual Questions

where will I locate questions and answers to gape at 9L0-061 exam?
When I was getting prepared up for my 9L0-061 , It was very annoying to elect the 9L0-061 study material. I create while googling the best certification resources. I subscribed and saw the wealth of resources on it and used it to prepare for my 9L0-061 test. I transparent it and Im so grateful to this

Nice to hear that dumps of 9L0-061 exam are available.
Me surpassed this 9L0-061 exam with killexams.Com query set. I did not having a lot time to prepare, I bought this 9L0-061 questions answers and exam simulator, and this become the excellent expert option I ever made. I got via the exam easily, despite the fact that its not an cleanly one. Yet this blanketed totality current questions, and I were given lots of them on the 9L0-061 exam, and become able to parent out the relaxation, primarily based on my experience. I wager it was as near a no brainer as an IT examination can get. So yes, killexams.Com is simply as accurate as they are maxim it is.

wonderful notion to reserve together 9L0-061 actual test questions.
The study material of 9L0-061 exam is outlined properly for collect ready inside a short period of time. Questions & Answers made me score 88% in the wake of answering totality questions 90 minutes of time. The exam paper 9L0-061 has various study materials in traffic sector. Yet it got to exist exceptionally troublesome for me to pick the best one. exist that as it may after my brother requested that I used Questions & Answers, I didnt gape at for other books. Much obliged for supporting me.

What is needed to study for 9L0-061 examination? is the bizarre and accurate way ive ever encounter to prepare and bypass IT tests. The aspect is, it gives you successfully and precisely what you need to apprehend for 9L0-061 exam. My buddies used killexams.Com for Cisco, Oracle, Microsoft, ISC and distinctive certifications, totality accurate and valid. Definitely dependable, my non-public desired.

Little acquire a gape at for 9L0-061 exam, were given first rate success.
i am thankful to for his or her mock rob a gape at on 9L0-061. I may want to bypass the examination without problems. thanks once more. i acquire also taken mock test from you for my other tests. im locating it very useful and am assured of clearing this exam with the aid of achieving extra than 85%. Your question bank could exist very useful and explainations are also excellent. i will give you a four superstar rating.

Where should I register for 9L0-061 exam?
I am now 9L0-061 certified and it could not exist feasible without 9L0-061 testing engine. testing engine has been tailored keeping in wit the requirements of the students which they confront at the time of taking 9L0-061 exam. This testing engine is very much exam focus and every topic has been addressed in detail just to preserve apprised the students from each and every information. team knows that this is the way to preserve students confident and ever ready for taking examination.

forget about the whole thing! simply forcus on those 9L0-061 Questions and answers if you want to pass.
I simply requested it, honed for a week, then went in and passed the exam with 89% marks. This is the thing that the exemplar exam arrangement ought to exist similar to for everybody! I got to exist 9L0-061 affirmed partner on account of this site. They acquire an extraordinary accumulation of and exam arrangement assets and this time their stuff is exactly as great. The inquiries are legitimate, and the exam simulator works fine. No issues recognized. I advised brain dumps Steadfast!!

Belive me or not! This aid present day 9L0-061 questions works.
The nice preparation I acquire ever skilled. I took many 9L0-061 certification exams, but 9L0-061 turned out to exist the easiest one thanks to killexams.Com. I even acquire lately observed this internet site and wish I knew about it a few years ago. Would acquire stored me numerous sleepless nights and gray hair! The 9L0-061 examination isnt always an simple one, especially its concomitant model. But the 9L0-061 Q and A consists of the todays questions, every day updates, and these are really proper and telling questions. Im convinced that is actual cause I were given most of them at some point of my examination. I got an remarkable rating and thank killexams.Com to making 9L0-061 exam stress-unfastened.

Worked arduous on 9L0-061 books, but everything was in this study guide.
Due to 9L0-061 certificate you acquire many possibilities for safety experts improvement on your profession. I desired to improvement my vocation in facts protection and favored to grow to exist licensed as a 9L0-061. In that case I decided to rob assist from killexams.Com and began my 9L0-061 examination training thru 9L0-061 examination cram. 9L0-061 examination cram made 9L0-061 certificates research smooth to me and helped me to attain my desires effects. Now i am able to train without hesitation, without this net web site I in no way surpassed my 9L0-061 examination in first attempt.

All is well that ends well, at ultimate passed 9L0-061 with brain dumps.
9L0-061 exam changed into my purpose for this yr. a very lengthy novel Years determination to reserve it in replete 9L0-061 . I honestly notionthat reading for this examination, making ready to pass and sitting the 9L0-061 examination could exist just as crazy as itsounds. luckily, i create a few reviews of on line and determined to apply it. It ended up being totally well worth it as the package deal had included each question I were given on the 9L0-061 exam. I handed the 9L0-061 totally strain-loose and came out of the testing middle cheerful and cozy. simply well worth the cash, I suppose this is the nice exam enjoyfeasible.

Apple Apple MAC OS X

what is Mac OS? professionals and Cons | explanation | actual Questions and Pass4sure dumps

“Apple” probably the most positive company on earth produces probably the most most advantageous Hardware & application products and Mac OS is just one of them.

in case you don’t comprehend what is it? you then came at appropriate place as a result of here, in this article, they are presenting you with every thing you should find out about MacOs.

also study – MacOS vs home windows vs Linux: Which one is enhanced?

what's Mac Os?

The time period Mac OS stands for Macintosh operating equipment.

It’s a UNIX based mostly operating gear by Apple, completely for MacBooks and iMacs.

out there of computers, Laptops, and residential computer systems it’s the 2nd most known desktop OS after home windows.

short history of Mac Os

After the departure of Steve Jobs from Apple, the company suffered a massive loss and board of directors at Apple decided to bring Steve back from subsequent and lead the traffic on an interim foundation.

At WWDC (all over Developer’s convention) when Steve introduced that builders actually need a latest version of the Mac OS, and Apple goes to bring it, then he got a major circular of applause from the audience.

This basically made Steve and his crew labor harder on Mac Os and shortly they proved that Apple in reality has a potential.

the first initial unencumber of Mac Os became on March 24, 2001, which is very nearly 17 years in the past from now.

And till now Mac OS is improving with each novel unlock.

Myths regarding Mac Os 1. Mac OS is more snug than windows

lots of you could acquire heard that Mac Os is greater secure than windows. but that’s now not proper.

The market share of Mac is lower than 10% which consequences in less malware and spyware attacks.

basically, the leading motive at the back of here is iMac and Macbook.

These two items working on Mac OS which is a bit of high priced as compared to home windows. So this automatically consequences in much less hurt.

also read– Why actual hackers elect Linux over home windows and Mac

2. Mac is developed for Artists

Mac Os comes with a lot of built-in inventive and effective tools as in comparison to home windows.

as an example, iMovie and remaining reduce professional raises the journey of video enhancing.

however that doesn’t insinuate that windows are bad.

which you can one after the other download the third party utility corresponding to Adobe most dependable or Adobe After results for a better adventure.

Doing this on windows computing device will preclude lots of arduous earned funds.

three. particularly costly

sure running a Mac OS gear might also sound high priced but that’s now not absolutely real.

The permeate of materials utilized in making iMac and MacBook is additionally very excessive.

because of this, a user finally ends up with a superb product with highest sturdiness when it comes to each hardware and software.

Apple also spends billions of greenbacks in R&D (analysis and building) which youngsters protected within the cost of the product.

four. arduous to exist taught and Use

this is probably the most denied delusion with the aid of any Mac consumer as a result of Mac OS feels lots extra effortless to learn and operate as in comparison with any other working system.

It has a really user-pleasant person interface.

And additionally attracts everybody’s attention because it is completely stacked and arranged as compared with home windows.

5. No want of Antiviruses for Mac

As they outlined prior attackers target Mac OS gadgets very much less compared with home windows.

however it doesn’t weigh in that you simply don’t should installation any antiviruses on it.

Don’t exist fooled through fewer assaults.

As they at totality times hear in the word that some malware attacked on Mac OS. So It’s greater to exist fitted with security.

execs and Cons of Mac Os

Following are one of the crucial pros (advantages) and Cons (negative aspects) of Mac OS.

pros 1. BootCamp

Mac OS has a developed-in application known as BootCamp.

It permits you to deploy home windows, Linux or every other operating gadget moreover OS X.

setting up the boot camp in OS X is additionally very effortless.

And switching between them is even more convenient now.

2. Works seamlessly with other Apple contraptions

As every Apple gadget is made through Apple itself so the hardware and software are completely controlled by using them.

It potential they share the identical inside working mechanism.

which suggests that the iMessage on iPhone works as smooth as on a MacBook or iMac.

This seamless integration of instruments in the discontinue grants the ultimate consumer experience and pride.

3. Fewer attacks

As they outlined previous Apple has simplest 10% of market share in the computing device OS, which effects in fewer attacks.

The amount of Mac users are pretty less as compared to home windows.

So this doesn’t construct any feel for hackers to assault Mac OS clients.

here is by some means will also exist an lore for some individuals as it makes the consumer believe Mac Os extra relaxed however will also exist a drawback for some others as a result of at the equal time it is not as tons universal as the windows.

four. Bloatware Free

well-nigh each home windows pc comes with some benign of Bloatware (Pre-put in utility) which slows down the computing device over time.

but Macbook and iMac makes you free from this exist troubled.

It doesn’t insinuate that they don’t comprehend Pre-put in software.

Mac computers acquire pre-put in software, but simplest from Apple and they don’t decelerate your system as smartly.

5. stunning glossy Design

The biggest abilities of Macbook and iMac is that they are graceful as in comparison to their competition.

This makes the utilize of Mac OS greater pleasing.

As a depend of reality, the primary MacBook air became the slimmest laptop on the earth at that time.

And iMac nevertheless remains the slimmest computer edition.

6. Mac can study NTFS or fat

Macs can read NTFS or fats formatted challenging drives whereas windows can’t examine Mac formatted drives.

You need to set up third-celebration software for that in windows.

7. more suitable customer provider and After sales assist

Apple is very neatly well known for it’s highest quality client service and after income guide.

they've the maximum consumer satisfaction impress totality around the globe.

The team of workers on outlets are well informed and in case you obtained your gear damaged they construct confident that they give you the very best answer.

also examine – correct 5 reasons for Apple’s Success

Cons 1. less diversity and options

The largest drawback of Mac OS or they may noiseless train MacBook and iMac is that Apple presents very restricted versions of them.

capability you need to disburse the determined volume by them, handiest then you definately can purchase their product in any other case no longer.

This makes home windows a go-to option for those that are trying to find some low-priced pc or desktop on account of a wide selection of option.

This issue restricts the buyer from procuring Apple Mac Product.

2. Non-upgradable

one other foremost drawback of Mac OS powered products is that they're non-upgradable.

means which you could’t enhance the volume of RAM, exchange processor or motherboard, really, that you may’t customise it in response to you.

when you bought it, you ought to alter on what you purchased.

three. Worse for taking section in video games

Many individuals believe so you might’t play excessive-conclusion video games on Macbook and iMac which is someway true.

both of those items are not made for gaming.

they've a extremely less quantity of pictures reminiscence which isn't enough for most excellent gaming efficiency.

so you need to submission on this.

4. Fewer accessories

as it isn't as frequent as windows PCs.

The MacBook and iMac should undergo from fewer add-ons.

There are very less amount of add-ons producers who create add-ons for them.

This additionally effects on what may exist the edge patrons of Mac.

5. wee group

because of fewer income, the MacBook and iMac people acquire a really wee group as in comparison to home windows users.

Which means you won’t capitalize from the advocate as plenty you might on home windows computing device.


So this turned into totality related to what is Mac Os? their professionals and Cons and rationalization. in case you find it effective then effect divulge us in the remark region beneath, they would admire to hear that.

reside tuned for more.

Continental proclaims Apple OS compatibility for VDO RoadLog ELD | actual Questions and Pass4sure dumps

Continental has announced that its VDO RoadLog office Solo digital Logging device (ELD) application is now usurp with Apple computer systems and laptops. VDO RoadLog Solo purchasers can now office USB key synchronization on modern Apple computer systems and laptops having macOS Sierra (version 10.12 or greater), Apple desktop’s Mac OS X working system for Macintosh desktop, computer, and server computer systems. The client’s computer or desktop acquire to also acquire an obtainable USB port and broadband web entry.

“Many owner/operators and fleets acquire an interest in synchronization to Apple computer systems and laptops, and they are actually able to present a straightforward manner for them to connect these gadgets,” celebrated Jay McCarthy, Continental’s VDO RoadLog marketing manager. “for people that may exist the usage of different ELDs, here's yet another reason to construct the switch to the VDO RoadLog ELD solution.”

OS X/macOS now older than classic Mac OS | actual Questions and Pass4sure dumps

Older readers may noiseless exist sensible when Macs made the transition to OS X, greater currently rebranded to macOS. but if you noiseless sort of suppose of that because the ‘new’ OS, as of these days it’s in fact now been round for longer than totality the preceding models – mutually and colloquially called traditional Mac OS …

Jason Snell marked the event in a blog submit the previous day.

today marks 17 years, one month, and 29 days due to the fact Mac OS X 10.0 turned into launched on March 24, 2001. That’s a strangely unusual number—6,269 days—nevertheless it also occurs to exist the accurate size of time between January 24, 1984 (the launch of the customary Macintosh) and March 24, 2001.

In other phrases, nowadays the Mac’s second operating gadget period, powered by means of Mac OS X (now macOS) has been in actuality as long as the primary period become.

As he notes, it does depend a bit of on the way you measure these things.

There become a Mac OS X public beta. The funeral for Mac OS 9 wasn’t held except 2002. traditional Mode persevered to characteristic inside Mac OS X unless it changed into eliminated in Mac OS X 10.5 Leopard.

So for beta clients, the milestone might also acquire been handed a long time again, and for those who held onto Mac OS 9 for some time after OS X launched, it can now not yet acquire arrived.

Early types of the Macintosh system application had no reputable name, with Apple referring best to Macintosh Toolbox ROM and the gear Folder. It most effective became Macintosh system utility in 1987, with what was then referred to as gadget 5. Apple rebranded it to Mac OS in 1996, at system 7.6.

As to the future, Snell says that he doesn’t notice a ‘seismic’ shift any time quickly, extra a gradual boost within the borrowing from iOS. but he does admit that a brand novel chip might notice the system occur everywhere once again.

there was persevered speculation about Apple switching from Intel to ARM chips for future Macs, with one recent report suggesting it might occur as quickly as 2020. I gave my own view on that concept, concluding that the date might gape unlikely, but that it is coming soon.

you could down load the entire default wallpapers in 5K from 512 Pixels.

by means of Daring Fireball. photo: 512 Pixels

check out 9to5Mac on YouTube for greater Apple information:

9L0-061 MAC OS X 10.5 Troubleshooting

Study steer Prepared by Apple Dumps Experts 9L0-061 Dumps and actual Questions

100% actual Questions - Exam Pass Guarantee with high Marks - Just Memorize the Answers

9L0-061 exam Dumps Source : MAC OS X 10.5 Troubleshooting

Test Code : 9L0-061
Test cognomen : MAC OS X 10.5 Troubleshooting
Vendor cognomen : Apple
brain dumps : 71 actual Questions

where will I locate questions and answers to gape at 9L0-061 exam?
When I was getting prepared up for my 9L0-061 , It was very annoying to elect the 9L0-061 study material. I create while googling the best certification resources. I subscribed and saw the wealth of resources on it and used it to prepare for my 9L0-061 test. I transparent it and Im so grateful to this

Nice to hear that dumps of 9L0-061 exam are available.
Me surpassed this 9L0-061 exam with killexams.Com query set. I did not having a lot time to prepare, I bought this 9L0-061 questions answers and exam simulator, and this become the excellent expert option I ever made. I got via the exam easily, despite the fact that its not an cleanly one. Yet this blanketed totality current questions, and I were given lots of them on the 9L0-061 exam, and become able to parent out the relaxation, primarily based on my experience. I wager it was as near a no brainer as an IT examination can get. So yes, killexams.Com is simply as accurate as they are maxim it is.

wonderful notion to reserve together 9L0-061 actual test questions.
The study material of 9L0-061 exam is outlined properly for collect ready inside a short period of time. Questions & Answers made me score 88% in the wake of answering totality questions 90 minutes of time. The exam paper 9L0-061 has various study materials in traffic sector. Yet it got to exist exceptionally troublesome for me to pick the best one. exist that as it may after my brother requested that I used Questions & Answers, I didnt gape at for other books. Much obliged for supporting me.

What is needed to study for 9L0-061 examination? is the bizarre and accurate way ive ever encounter to prepare and bypass IT tests. The aspect is, it gives you successfully and precisely what you need to apprehend for 9L0-061 exam. My buddies used killexams.Com for Cisco, Oracle, Microsoft, ISC and distinctive certifications, totality accurate and valid. Definitely dependable, my non-public desired.

Little acquire a gape at for 9L0-061 exam, were given first rate success.
i am thankful to for his or her mock rob a gape at on 9L0-061. I may want to bypass the examination without problems. thanks once more. i acquire also taken mock test from you for my other tests. im locating it very useful and am assured of clearing this exam with the aid of achieving extra than 85%. Your question bank could exist very useful and explainations are also excellent. i will give you a four superstar rating.

Where should I register for 9L0-061 exam?
I am now 9L0-061 certified and it could not exist feasible without 9L0-061 testing engine. testing engine has been tailored keeping in wit the requirements of the students which they confront at the time of taking 9L0-061 exam. This testing engine is very much exam focus and every topic has been addressed in detail just to preserve apprised the students from each and every information. team knows that this is the way to preserve students confident and ever ready for taking examination.

forget about the whole thing! simply forcus on those 9L0-061 Questions and answers if you want to pass.
I simply requested it, honed for a week, then went in and passed the exam with 89% marks. This is the thing that the exemplar exam arrangement ought to exist similar to for everybody! I got to exist 9L0-061 affirmed partner on account of this site. They acquire an extraordinary accumulation of and exam arrangement assets and this time their stuff is exactly as great. The inquiries are legitimate, and the exam simulator works fine. No issues recognized. I advised brain dumps Steadfast!!

Belive me or not! This aid present day 9L0-061 questions works.
The nice preparation I acquire ever skilled. I took many 9L0-061 certification exams, but 9L0-061 turned out to exist the easiest one thanks to killexams.Com. I even acquire lately observed this internet site and wish I knew about it a few years ago. Would acquire stored me numerous sleepless nights and gray hair! The 9L0-061 examination isnt always an simple one, especially its concomitant model. But the 9L0-061 Q and A consists of the todays questions, every day updates, and these are really proper and telling questions. Im convinced that is actual cause I were given most of them at some point of my examination. I got an remarkable rating and thank killexams.Com to making 9L0-061 exam stress-unfastened.

Worked arduous on 9L0-061 books, but everything was in this study guide.
Due to 9L0-061 certificate you acquire many possibilities for safety experts improvement on your profession. I desired to improvement my vocation in facts protection and favored to grow to exist licensed as a 9L0-061. In that case I decided to rob assist from killexams.Com and began my 9L0-061 examination training thru 9L0-061 examination cram. 9L0-061 examination cram made 9L0-061 certificates research smooth to me and helped me to attain my desires effects. Now i am able to train without hesitation, without this net web site I in no way surpassed my 9L0-061 examination in first attempt.

All is well that ends well, at ultimate passed 9L0-061 with brain dumps.
9L0-061 exam changed into my purpose for this yr. a very lengthy novel Years determination to reserve it in replete 9L0-061 . I honestly notionthat reading for this examination, making ready to pass and sitting the 9L0-061 examination could exist just as crazy as itsounds. luckily, i create a few reviews of on line and determined to apply it. It ended up being totally well worth it as the package deal had included each question I were given on the 9L0-061 exam. I handed the 9L0-061 totally strain-loose and came out of the testing middle cheerful and cozy. simply well worth the cash, I suppose this is the nice exam enjoyfeasible.

Obviously it is arduous assignment to pick solid certification questions/answers assets concerning review, reputation and validity since individuals collect sham because of picking incorrectly benefit. ensure to serve its customers best to its assets concerning exam dumps update and validity. The vast majority of other's sham report objection customers forward to us for the brain dumps and pass their exams cheerfully and effectively. They never trade off on their review, reputation and quality because killexams review, killexams reputation and killexams customer assurance is vital to us. Uniquely they deal with review, reputation, sham report grievance, trust, validity, report and scam. In the event that you notice any wrong report posted by their rivals with the cognomen killexams sham report grievance web, sham report, scam, dissension or something dote this, simply recall there are constantly terrible individuals harming reputation of top-notch administrations because of their advantages. There are a powerful many fulfilled clients that pass their exams utilizing brain dumps, killexams PDF questions, killexams hone questions, killexams exam simulator. Visit, their specimen questions and test brain dumps, their exam simulator and you will realize that is the best brain dumps site.

Back to Braindumps Menu

500-275 braindumps | NS0-163 bootcamp | 650-295 dump | 000-N04 study guide | HP0-752 mock exam | C2040-417 VCE | P8060-002 test prep | 190-822 study guide | 310-560 practice questions | A2040-405 braindumps | P9530-089 examcollection | 000-427 braindumps | P2020-795 practice exam | 920-257 brain dumps | 1Z0-500 free pdf | 000-536 sample test | 9A0-409 practice Test | 000-M19 free pdf | IBQH001 actual questions | 000-340 test prep |

9L0-061 exam questions | 9L0-061 free pdf | 9L0-061 pdf download | 9L0-061 test questions | 9L0-061 real questions | 9L0-061 practice questions

Get high marks in 9L0-061 exam with these dumps
In the event that you are intrigued by effectively Passing the Apple 9L0-061 exam to commence gaining, has fundamental aspect developed MAC OS X 10.5 Troubleshooting exam questions with a reason to ensure you pass this 9L0-061 exam! offers you the most extreme exact, concomitant and stylish breakthrough 9L0-061 exam questions and to exist had with a 100% unconditional promise.

Apple 9L0-061 Exam has given another presence to the IT business. It is currently required to certify as the stage which prompts a brighter future. exist that as it may, you acquire to reserve extraordinary exertion in Apple MAC OS X 10.5 Troubleshooting exam, in light of the fact that there is no escape out of perusing. acquire made your easy, now your exam planning for 9L0-061 MAC OS X 10.5 Troubleshooting isnt intense any longer. Click Huge Discount Coupons and Promo Codes are as under;
WC2017 : 60% Discount Coupon for totality exams on website
PROF17 : 10% Discount Coupon for Orders greater than $69
DEAL17 : 15% Discount Coupon for Orders greater than $99
DECSPECIAL : 10% Special Discount Coupon for totality Orders
As, the is a solid and dependable stage who furnishes 9L0-061 exam questions with 100% pass guarantee. You acquire to hone questions for at least one day at any rate to score well in the exam. Your actual trip to success in 9L0-061 exam, really begins with exam questions that is the magnificent and checked wellspring of your focused on position.

At, they give examined Apple 9L0-061 actual exam questions the best to pass 9L0-061 exam, and to collect certified by Apple. It is a best determination to quicken your labor as a master in the Information Technology industry. They are cheerful with their notoriety of helping individuals pass the 9L0-061 test in their first endeavors. Their flourishing rates in the previous two years acquire been absolutely uncommon, because of their chipper clients arranged to prompt their occupations in the most improved arrangement of assault. is the essential determination among IT experts, particularly the ones intending to climb the evolution levels speedier in their individual organizations. Apple is the traffic pioneer in data improvement, and getting declared by them is a guaranteed approach to manage win with IT employments. They engage you to effect effectively that with their splendid Apple 9L0-061 preparing materials.

Apple 9L0-061 is ubiquitous totality around the globe, and the traffic and programming blueprints gave by them are understood by every solitary one of the organizations. They acquire helped in driving a broad number of relationship on the shot strategy for progress. Far reaching learning of Apple things are viewed as a fundamental limit, and the authorities certified by them are remarkably respected in totality organizations.

We present genuine blue 9L0-061 pdf exam question and answers braindumps in two designs. Download PDF and practice Tests. Pass Apple 9L0-061 actual Exam rapidly and reasonably. The 9L0-061 braindumps PDF sort is accessible for examining and printing. You can print continuously and practice more often than not. Their pass rate is high to 98.9% and the resemblance rate between their 9L0-061 syllabus prep oversee and genuine exam is 90% Considering their seven-year training establishment. effect you require accomplishments in the 9L0-061 exam in only a solitary attempt? I am birthright now breaking down for the Apple 9L0-061 actual exam.

As the primary concern in any way basic here is passing the 9L0-061 - MAC OS X 10.5 Troubleshooting exam. As totality that you require is a high score of Apple 9L0-061 exam. The main a lone thing you acquire to effect is downloading braindumps of 9L0-061 exam prep organizes now. They won't let you down with their unlimited guarantee. The masters in dote way preserve pace with the most best in class exam to give the greater section of updated materials. Three Months free access to exist able to them through the date of procurement. Each hopeful may suffer the cost of the 9L0-061 exam dumps through expecting practically zero exertion. no hazard required by any means..

Inside observing the genuine exam material of the brain dumps at you can without a considerable measure of a stretch out build up your specialty. For the IT pros, it is essential to upgrade their abilities as appeared by their labor require. They construct it essential for their clients to convey accreditation exam with the assistance of certified and genuine blue exam material. For a powerful future in its area, their brain dumps are the best choice.

A best dumps making is a fundamental portion that makes it transparent for you to rob Apple certifications. Regardless, 9L0-061 braindumps PDF offers settlement for competitors. The IT attestation is a basic troublesome attempt if one doesn't find certified course as transparent asset material. Consequently, they acquire actual and updated material for the orchestrating of certification exam.

It is major to accumulate to the steer material on the off desultory that one needs toward spare time. As you require packs of time to search for restored and bona fide exam material for taking the IT accreditation exam. if you find that at one place, what could exist superior to this? Its essentially that has what you require. You can spare time and preserve up a vital separation from inconvenience if you purchase Adobe IT certification from their site.

You ought to collect the most resuscitated Apple 9L0-061 Braindumps with the birthright answers, set up by experts, enabling the probability to comprehend getting some answers concerning their 9L0-061 exam course in the best, you won't determine 9L0-061 results of such quality wherever in the market. Their Apple 9L0-061 practice Dumps are given to hopefuls at performing 100% in their exam. Their Apple 9L0-061 exam dumps are latest in the market, empowering you to device for your 9L0-061 exam in the reform way.

On the off desultory that you are had with reasonably finishing the Apple 9L0-061 exam to commence getting? has driving edge made Apple exam keeps an eye on that will guarantee you pass this 9L0-061 exam! passes on you the most right, present and latest restored 9L0-061 exam questions and open with 100% honest to goodness guarantee. various organizations that give 9L0-061 brain dumps yet those are not reform and latest ones. Strategy with 9L0-061 novel exact is an absolute best approach to manage pass this accreditation exam in fundamental way. Huge Discount Coupons and Promo Codes are as under;
WC2017: 60% Discount Coupon for totality exams on website
PROF17: 10% Discount Coupon for Orders greater than $69
DEAL17: 15% Discount Coupon for Orders greater than $99
DECSPECIAL: 10% Special Discount Coupon for totality Orders

We are advised that a basic issue in the IT traffic is that inaccessibility of huge worth prep materials. Their exam preparation material gives every one of you that you should rob a certification exam. Their Apple 9L0-061 Exam will give you exam question with certified answers that mirror the actual exam. These put a question to for and answers give you the experience of taking the genuine blue test. high bore and driving force for the 9L0-061 Exam. 100% certification to pass your Apple 9L0-061 exam and collect your Apple attestation. They at are made arrangements to enable you to pass your 9L0-061 exam with high scores. The odds of you neglect to pass your 9L0-061 test, after experiencing their universal exam dumps are in every way that really matters nothing.

9L0-061 Practice Test | 9L0-061 examcollection | 9L0-061 VCE | 9L0-061 study guide | 9L0-061 practice exam | 9L0-061 cram

Killexams ST0-096 questions and answers | Killexams HP2-B119 practice test | Killexams 1Z0-070 pdf download | Killexams 000-117 exam questions | Killexams HP0-Y31 practice test | Killexams HP0-756 actual questions | Killexams 920-333 mock exam | Killexams C8010-726 practice questions | Killexams A2040-442 test prep | Killexams CRA study guide | Killexams IFSEA-CFM examcollection | Killexams 6002 practice test | Killexams 1Z0-331 dumps | Killexams 77-884 free pdf | Killexams 010-002 braindumps | Killexams 000-035 sample test | Killexams PPM-001 questions and answers | Killexams 00M-230 free pdf | Killexams A2040-914 study guide | Killexams VCP510 practice exam |

Exam Simulator : Pass4sure 9L0-061 VCE Exam Simulator

View Complete list of Brain dumps

Killexams 650-472 practice test | Killexams 200-150 test prep | Killexams 3002 cheat sheets | Killexams EE0-503 braindumps | Killexams 000-702 braindumps | Killexams 650-303 practice test | Killexams 920-260 dump | Killexams HP2-E23 questions and answers | Killexams C9020-971 dumps | Killexams 000-567 brain dumps | Killexams 650-669 braindumps | Killexams MOS-AXP study guide | Killexams 010-002 sample test | Killexams NCLEX questions answers | Killexams MAYA11-A cram | Killexams C4040-221 pdf download | Killexams 202-400 exam prep | Killexams C9520-422 practice questions | Killexams P2080-088 braindumps | Killexams M9520-233 practice questions |

MAC OS X 10.5 Troubleshooting

Pass 4 confident 9L0-061 dumps | 9L0-061 actual questions |

How to Repair Mac OS X Version 10.5 Leopard | actual questions and Pass4sure dumps

Snow Leopard debuted in 2007.

Snow Leopard debuted in 2007.

Win McNamee/Getty Images News/Getty Images

Mac OS X version 10.5 Leopard provides the most recent version of the Macintosh operating system that runs on many PowerPC-based Apple computers. dote previous and later versions of the Mac OS, Leopard includes utilities you can utilize to troubleshoot and maintain your OS and your arduous drive. To resolve freezes and crashes, or simply give your Mac a tuneup, commence with Apple's built-in maintenance tools before you reach for third-party repair applications or reinstall your OS.

Mac OS X 10.5 Leopard: the Ars Technica review | actual questions and Pass4sure dumps

reader comments with 0 posters participating Share this story
  • Share on Facebook
  • Share on Twitter
  • Share on Reddit
  • Introduction

    At the discontinue of my Mac OS X 10.4 Tiger review, I wrote this.

    Overall, Tiger is impressive. If this is what Apple can effect with 18 months of evolution time instead of 12, I tremble to assume what they could effect with a replete two years.

    That was exactly two and a half years ago, to the day. It seems that I've gotten my wish and then some. Mac OS X 10.5 Leopard has gestated longer than any release of Mac OS X (other than 10.0, that is). If I had high expectations for 10.5 back in 2005, they've only grown as the months and years acquire passed. Apple's tantalizingly categorical withholding of information about Leopard just fanned the flames. My condition of wit leading up to the release of Leopard probably matches that of a lot of Mac enthusiasts: this better exist good.

    Maybe the mediocre Mac user just expects another incrementally improved version of Mac OS X. Eighteen months, two and a half years, who's counting? Maybe they enthusiasts are just getting greedy. After all, as Apple's been so fond of touting, there acquire been five releases of Mac OS X in the time it's taken Microsoft to deliver Windows Vista.

    But far exist it from me to utilize Microsoft to calibrate my expectations. Leopard has to exist something special. And as I notice it, operating system beauty is more than skin deep. While the casual Mac user will gauge Leopard's worth by reading about the marquee features or watching a guided tour movie at Apple's web site, those of us with an unhealthy obsession with operating systems will exist trolling through the internals to notice what's really changed.

    These two views of Leopard, the interface and the internals, lead to two very different assessments. Somewhere in between prevaricate the features themselves, judged not by the technology they're based on or the interface provided for them, but by what they can actually effect for the user.

    This review will cover totality of those angles, in varying degrees of depth. dote totality other Mac OS X releases before it, Leopard is too ample for one review to cover everything. (After all, Tiger's internals lonely can fill over 1,600 printed pages.) As in past reviews, I've chosen to delve deeply into the aspects of Leopard that are the most spellbinding to me while also trying to provide a reasonable overview for the non-geeks who've decided to rob the plunge into an Ars Technica review. (Hi, Mom.)

    Okay Leopard, let's notice what you've got.


    This is the section where I usually link to the entire history of Ars Technica's Mac OS X coverage, from the hoary DP2 in 1999 totality the way up to the previous major release. If you're interested, you can find the list of links on page two of my Tiger review. But with 10.5, I assume it's time to construct a cleanly fracture from the past. While Mac OS X is noiseless changing as quick as it ever has, I feel dote the concept of Mac OS X as a product has settled down in the minds of users. What was once seen as a freakish and exotic beast is now simply "the Mac operating system." It's almost a shame that the "X" qualifier is in there.

    After over eight years of exposure, even the hardest of hardcore classic Mac OS fans acquire gone through totality five stages of grief over what's been lost—some of us multiple times. Though what's been create in Mac OS X has long overshadowed those concerns, rest assured that they are not forgotten. The incompatibility now is that enough time has passed to allow them (I hope) to shed totality semblance of nostalgia and exist seen as they always should acquire been, as faultfinding statements about the current condition of Mac OS X, replete stop.

    Moving on to hardware, can you believe I noiseless don't acquire an Intel Mac in the house? Okay, maybe it's not so arduous to believe if you occur to recall that my dual 2GHz G5 replaced a blue and white G3/400, and my G3/400 replaced an SE/30. Though a MacBook Pro is likely on its way to my house as you read this, alas it did not construct it in time for this review. On the shiny side, my relatively static hardware collection allows for top-notch continuity of performance impressions. To recap, my time with Leopard has been spent with the following hardware:

  • Dual G5 2GHz: A dual 2GHz Power Mac G5 with 2.5GB RAM, an ATI Radeon 9800 Pro video card with 128MB of VRAM in an 8x AGP slot, two 160GB 7,200 RPM Serial ATA arduous drives, a DVD-RW/CD-RW drive, and a 23-inch Apple Cinema HD parade (the non-aluminum one).
  • Dual G5 1.8GHz: A dual 1.8GHz Power Mac G5 with 1.25GB RAM, an ATI Radeon 9600 XT video card with 128MB of VRAM in an 8x AGP slot, a 80GB 7,200 RPM Serial ATA arduous drive, a CD-RW/DVD-ROM drive, and a Dell 20-inch LCD.
  • 15" AlBook: The 1GHz 15-inch Aluminum PowerBook G4 which I reviewed here at Ars Technica.
  • In this post-PowerPC era, it's reasonable to expect that Apple is spending most of its time on Intel-specific performance enhancements, but even if this were not the case, Intel's CPUs acquire long since left behind the ultimate PowerPC chips used in Macs in terms of totality reasonable performance measures. There is no need for profound analysis or gnashing of teeth; Leopard is faster on today's Intel Macs than it is on yesterday's PowerPC Macs because today's Intel Macs are, well, today's Macs. Time marches on.

    The top-notch news, I suppose, is that Leopard certainly isn't hamstrung on PowerPC Macs. More on performance later. For now, let's talk fluff.


    Big cat names are noiseless in effect. After a two-year wait, I was entirely ready for Apple to abandon this theme. It's almost as if they have. Leopard's branding has few feline traces: no furry "X" logo, no leopard spots in the screenshots, and so on. So what is the theme? First, recall the history.

    Mac OS X boxes: Cheetah/Puma, Jaguar, Panther, TigerMac OS X boxes: Cheetah/Puma, Jaguar, Panther, Tiger

    So what's the fable with Leopard? Quite simply, it's Tiger in space.

    To my eyes, Mac OS X's branding is changing ever so slightly less between each novel release. I guess this is yet another sign of a maturing product. I dote the space theme. dote Tiger's spotlight theme, it highlights the most prominent feature of the OS. It also leads nicely into a secondary future-world theme, as seen in this screenshot of a prerelease web page at

    It took a while to settle down, but once the space theme was chosen, Apple has dash with it and produced what I assume is the most appealing mass-market message for Mac OS X yet.


    The installation process has been further pared down. There are fewer options in the optional install and even less clutter on the screen during the installation process. They Mac users rob this totality in stride, but I can imagine the Leopard installer being a revelation to someone who uses Windows exclusively.

    Apple has also updated the introduction movie, which now plays full-screen during the first boot into Leopard. It's hot.

    Leopard's novel look

    There's been mention of a "new look" in most post-10.0 Mac OS X reviews, and with top-notch reason. With each release of Mac OS X, Apple has chosen to revise the gape of several aspects of the interface. Sometimes these changes were made for usability reasons, but increasingly, the motivation appeared to be, for need of a better word, fashion.

    The phrase "arbitrary graphical change" has become increasingly applicable, and the sheer number of feasible looks for any given ingredient of the OS has exploded. As of the discontinue of Tiger's reign, most major interface elements had at least two feasible looks, with windows themselves having many more than that. Worse, Apple itself has introduced many novel looks that are exclusive to its own applications (e.g., the iTunes scroll bars or just about the entire Aperture interface.)

    I've never been among those who rail against this proliferation of looks based solely on their number. It's okay to acquire multiple looks for, say, a button as long as it's noiseless recognizable as a button. In fact, this exact sentiment was expressed in Apple's human interface guidelines long before the advent of Mac OS X.

    That said, I acquire my own reasons for being down on the condition of Mac OS X's appearance through the Tiger era. reserve simply, after six years of tweaks, I'm ready for a ample change.

    I touched on this in the introduction, and it colors my entire view of Leopard: I'm looking for a discontinuity, a novel beginning, in totality aspects of the OS. This is unfair (and you'll notice how unfair in a moment), but it's how I felt. I know plenty of other Mac fans also pinned their hopes on a radical appearance revision in Leopard; totality the "top secret" hype certainly fanned those flames.

    Just to exist clear, I'm talking only about the appearance of the OS for now. I certainly wasn't expecting ample changes to the interface behavior—a crazy iPhone-like multitouch reimagining, pervasive voice or handwriting recognition, and so on. But there's plenty of leeway for a revolution solely within the "look" half of "look and feel."

    Look no further than the introduction of Aqua itself for the quintessential example. recall what that was like?

    Introducing Aqua.

    Aqua hit dote a ton of bricks, and it wasn't just because it was such a fracture from the past. Aqua was a comprehensive overhaul of the gape of Mac OS. As it existed in Mac OS X 10.0, Aqua was a closed circle: a single, internally consistent design from top to bottom.

    That's not to train that it was perfect—far from it. Some judged it too bright; the pinstripes were a bit too pronounced; translucency hindered legibility in some areas; the list went on. These flaws were slowly corrected with each subsequent revision of Mac OS X. But while these corrections improved the usability and (usually) the gape of the OS, they also compromised the overall aesthetic design. What started as a (flawed) labor of genius was patched and filled and tweaked by a committee of pragmatists, rendering it much improved, but considerably less inspired.

    Is it impartial to expect Leopard to wipe the slate cleanly and, further, to succeed where Aqua failed by being at once a labor of know-how and a pragmatic match for the evolved Tiger user interface? Maybe not, but that's what was in my heart as Leopard was revealed. I wanted Steve to collect up on stage and say, "Aqua's had a top-notch run, but it's time for something new. Introducing (insert code cognomen here)." That's why I loved the "Illuminous" rumor so much. To me, a novel cognomen meant a novel beginning.

    Leopard's novel look: the reality

    Leopard's appearance is not a novel beginning, but it is noiseless the most substantial visual change in the history of Mac OS X. This is mostly attributable to the appearance of windows. A Leopard window looks dote this (mouse over for graphite).

    Notice that I didn't train that this is what a "standard" Leopard window looks like, or a "metal" Leopard window, or a "unified" Leopard window. That's because there's only one benign of window in Leopard, and you're looking at it. This slate gray appearance replaces totality other standard window styles. Existing applications that put a question to for metal or unified windows will collect this appearance instead.

    Custom appearances dote those used by some of Apple's applications retain their unique looks. (Yes, Garage troop is noiseless sporting wood.) But oddballs aside, this is effectively a stately Unification of window appearance after six long years of experimentation.

    I mentioned before that I've never been opposed to multiple window looks on universal principles, but there was one reason (aside from my covet for radical change) that the multiplying window appearances bothered me. The ample problem was that it was never transparent which appearance to utilize in any given situation. Apple's few attempts at setting guidelines stank of retroactive justification, so developers were left to their own judgment. This led to some impoverished choices and some repulsive applications.

    And, verity exist told, if there's no coherent reason for the utilize of a novel window appearance, then why does it need to exist at totality as a system-wide option for totality developers? I'm not confident what to convene the novel One genuine Window Appearance in Leopard (Aqua? Slate?), but I'm cheerful someone at Apple finally made a option and stuck with it.

    As for the gape itself, I find it benign of heavy, especially when paired with the still-bright standard window background, as seen in dialogs, especially.

    It also clashes a bit with the mostly unchanged buttons, scroll bar thumbs, and other standard controls that retain their shiny blue appearance. The venerable "Aqua" window looks (any of them) were definitely a better fit.

    Tool bars in the novel windows are "unified" in that there is no dividing line between the title bar and the utensil bar area. utensil bar items retain their many different looks across the bundled applications. There's a novel appearance for the "selected" condition of toolbar items, which has its own spellbinding story.

    There's also been a welcome revision to the gape of "capsule" toolbar buttons. Gone are the muppet-felt blue buttons introduced in Tiger's Mail application, replaced with more palatable gray equivalents.

    Preview toolbar capsulesPreview toolbar capsules Mail toolbar capsulesMail toolbar capsules Depressed toolbar buttonDepressed toolbar button

    The capsules are noiseless a bit of an oddity, coming in limited clumps as they do. The Safari-style square toolbar buttons are more common, and much nicer looking. The blue (mouse-down) condition of these buttons is particularly nice.

    The inactive condition of the novel windows is now more clearly distinguished from the vigorous state. inactive windows fade to a much lighter umbrage of gray. The switch from dim to light gray can actually exist a bit jarring when it happens to large windows.

    Inactive windowInactive window

    It takes a while to collect used to these changes. Long-time users used to looking for "dark windows" to pick out Safari, for example, will exist flustered. Now, only the front-most window is dark, and even Safari windows are light when in the background. Still, it's a change worth acclimating to.

    To even further emphasize the front-most window, its drop shadow has been greatly expanded (see screenshot above). It's large, but also quite diffuse, so it doesn't unduly obscure content below.

    Aesthetic quibbles aside, the novel window gape is overwhelmingly a net win. It eliminates developer and user confusion, sweeps up and disposes of several repulsive (in the view of many) looks from past versions of Mac OS X, and is, well, pretty okay looking in its own right.

    Perhaps I should try to sound more positive about the novel window style, because it turns out to exist the highlight of the visual changes. Leopard also includes its own crop of the aforementioned "arbitrary graphical changes," and most of them are not changes for the better.

    Leopard's novel gape (continued)

    Arguably, the novel window appearance was also an whimsical change. (Why dim gray? Why not standardize on the venerable "unified" appearance instead?) But in the stately scheme of things, the particular design chosen is not as well-known as the fact that a option was made. Of course, it could acquire been an repulsive option (I don't assume it is) or it could acquire suffered from terrible usability issues (I don't assume it does), but at least the intent was a top-notch one: to simplify.

    The same cannot exist said for a several other significant changes to the gape of Leopard's interface. Their intent is unclear at best, they cause usability issues where not a soul existed before, and many of them are visually unpleasing, if not downright ugly.

    Folders Tiger folder iconTiger folder icon

    Let's start with the most iconic icon in the OS, the humble folder. Next to windows and standard controls, the folder icon is the most ubiquitous piece of reused art. A lot of people didn't dote the folder icon introduced in Mac OS X 10.0 and carried through essentially unchanged to Tiger.

    As the gape of the OS moved away from 10.0's heavily pinstriped, ultra-bright-and-shiny look, the folder icon stayed stuck in the past. Some also complained that the isometric perspective didn't match Apple's icon design guidelines. But these are totality picayune issues, and subjective ones at that. Most Mac users were not clamoring en masse for novel folder icons.

    Leopard folder icon. Enlarge / Leopard folder icon.

    I'm not opposed to a novel folder icon design, of course. But the first rule of such an application should exist "don't construct it worse." Unfortunately, that's exactly what Apple's done with the Leopard folder icon design.

    The gape isn't bad, right? It's noiseless easily recognizable as a folder. It's even environmentally friendly; note the darker blue flecks that imply it's a recycled paper product. (Er, recycled pixels... or something.) The peril starts when you notice what the "special" folder icons gape dote (Applications, Documents, etc.)

    Leopard special folder iconsLeopard special folder icons

    The embossed gape is attractive, but it's also incredibly low-contrast and pretty much impossible to construct out at wee sizes. I preserve several special folders in my Dock, and I depend on being able to pick them out quickly, even at wee sizes. Here's how they gape in Tiger.

    Tiger docked special foldersTiger docked special folders

    Now here they are in Leopard.

    Leopard docked special foldersLeopard docked special folders

    When it comes to at-a-glance identification, the incompatibility is striking. I find myself literally squinting at the Leopard special folder icons, as if I'm constantly not seeing them clearly. You can find a more rigorous examination of the novel folder icons at Indie HIG (a site whose mere actuality is a blot on Apple's recent user interface record).

    Poorly designed folder icons aren't the discontinue of the world, but it's the context that's so maddening. Here's an interface ingredient that maybe could acquire used some freshening up, but it was far from broken. Apple's gone and made it worse in a way that's obvious in seconds to anyone who's ever given any thought to interface design. It boggles the mind. The rumor is that Jobs likes them. Great.

    The Dock

    It gets worse. Next to fade under the knife is the Dock. Now here's an interface ingredient with some serious, long-standing issues, but recall we're only talking about appearances in this section. On that front, there's not much to complain about in Tiger, where the Dock is a minimalist translucent rectangle upon which icons are arrayed.

    The Tiger DockThe Tiger Dock

    Hmm, how can they construct this more "Leopard"? We'll acquire to decrease the usability in some obvious ways. I've got a few ideas there. Let's start by removing the uniform background, leaving the icons partially hanging over the desktop. That'll exist confident to cause some visibility issues. Next, the already-small triangles that display under running application icons can probably exist further obscured. Let's supplant those with fuzzy blue orbs. Also, if they can Somehow construct the Dock less space-efficient, that'd exist a plus. But they also acquire to jazz it up, don't we?

    I know! Let's construct it pseudo-3D! And finally, the obligatory demo feature: reflections everywhere! Reflections on the fuzzy blue orbs, a reflection highlight line running across the whole Dock, and—the coupe de grâce—real-time reflections of any windows that chase near the Dock! Behold, the Leopard Dock.

    The Leopard Dock. The Dock on<br /> the sideThe Dock on the side

    It's a cornucopia of Obviously wicked Ideas, again addressed more thoroughly by others. This is dote the folder icon situation totality over again, but even worse. It's an specimen of sacrificing usability for the sake of purely aesthetic changes that are far from universally loved (to reserve it mildly) in isolation, and inexcusable given the expense paid for them.

    Seriously, pseudo-3D? Really? If a compulsion for gaudiness must exist quenched, at least try to confine such exercises to more obscure features. Don't scribble totality over the second-most visible interface ingredient in the entire OS dote a nine year-old girl putting make-up on her dollie.

    When the Dock is placed on the side, it regains its sanity, appearing with a uniform, flat background that encloses the icons entirely. There are no real-time reflections, and running applications are indicated by a wee but high-contrast white dot.

    This visual style never appeared in a developer seed of Leopard, indicating that it was added very late in the game. Perhaps it's meant as an apology, or an acknowledgement that the people most annoyed by the gape of the horizontal Dock are also the most likely to acquire their Docks on the side. Either way, the presence of an alternate gape is a tacit admission that the default design has problems.

    If you want the alternate gape when the Dock is on the bottom too, type the following commands at a Terminal prompt:

    % defaults write no-glass -boolean YES % killall Dock

    There is actually one legitimate improvement in the appearance of the Leopard Dock. The text labels that display when hovering over Dock icons are more readable, with light text on top of large, uniform, dim backgrounds.

    Dock labelsDock labels

    Did I train "second-most visible interface element" earlier? Oh, you notice it coming, don't you? What's the most visible interface element? What's on screen even more than the Dock? Your brain doesn't even want to fade there, I know. "The menu bar? Surely they didn't... I mean, what's to change there?" Oh yes, buckle your straightjackets; they acquire now passed over to the other side.

    The menu bar

    Completing the troika of insane, unnecessary changes for the worse made to Mac OS X's most prominent interface elements is the Leopard menu bar which is, inexplicably, incomprehensibly translucent.

    The Leopard menu bar. ReallyThe Leopard menu bar. Really

    It's more of a "menu smear" than a menu bar, as if someone painted it onto the screen with Vaseline. (It's actually using Core Image to filter the background, if you care.)

    It used to exist worse, believe it or not. In prerelease versions of Leopard, the menu bar was even less opaque—comically so. But Apple gets zero points from me for lessening the degree of transparency. That'd exist dote congratulating someone for extinguishing the left half of his corpse after intentionally lighting himself on fire.

    The rationale proffered by Apple for the utilize of translucency in the original Aqua design was that it denoted a ephemeral element—pull-down menus and sheets, for example. Now it's being applied to the least ephemeral ingredient in the entire interface.

    Leopard's novel gape has been compared to the Aero Glass gape in Windows Vista. While I assume there are few legitimate similarities, this comparison comes up as often as it does because the two designs share one prominent attribute: the gratuitous, inappropriate utilize of translucency to the detriment of usability.

    Why, Apple? Why!? Was there something horribly wrong with the existing menu bar—something that could only exist fixed by injuring its legibility? dote the folder icons and the Dock, it's not so much a mortal flaw in and of itself. It's what it implies about the situation at Apple that is so troubling. What in the holy hell has to occur in a meeting for this notion to collect the green light? Is this the dim side of Steve Jobs's iron-fisted rule—that there's always a risk that an obviously ridiculous and horrible notion will exist expressed in his presence and he'll (inexplicably) latch onto it and construct it happen? Ugh, I don't even want to assume about it.

    In the meantime, there's confident to exist a burgeoning market for hacks to restore blessed sanity to the menu bar. This is nothing new, really. Since the dawn of Mac OS X, third-party developers acquire been saving Apple's bacon by doing what Apple should acquire done itself. I already need several "hacks" to exist cheerful in Tiger, but a hack for the menu bar? It's just getting ridiculous.

    I guess I should try to train something nice about the Leopard menu bar too. Well, the novel Spotlight icon fits in much better with the line-art theme used for other menu icons.

    Menu bar iconsMenu bar icons

    Leopard's menus also acquire a subtle change: rounded corners. Only the lower corners are rounded in drop-down menus, while totality four corners are rounded in pop-up menus.

    Pull-down menu

    Pull-down menu

    Pop-up menu<br /> (graphite)

    Pop-up menu (graphite)

    Although I'm a ample fan of rounded corners (round rects forever!) I don't dote them in this particular location; I assume it makes drop-down menus in particular gape less crisp. But at least the change has no detrimental effect on usability and isn't aggressively ugly.

    The novel menu highlight color is a deep, moneyed blue on an appropriately slatey gray, both with the obligatory gradients. They're certainly striking, but perhaps distractingly so. I know, I know, I'm never satisfied.

    Leopard's visual scorecard

    I'm going to discontinue here, not because there's nothing more to train about the novel gape in Leopard, but because the things I acquire covered span the sweep of quality. The new, standardized window style makes the biggest visual impact and is the best aspect of the novel design. At the other discontinue of the spectrum are the baffling alterations and adornments that construct Leopard less usable and (in many cases) less pleasant to gape at. There are wee visual improvements in individual applications, but the overall gape of the OS proper is foundering.

    I was ready for an all-new gape in Leopard; I was ready for Aqua's successor. That Leopard doesn't provide that is a disappointment, but hardly a sin. But a lower degree of rigor should entail less risk. Viewed in that light, Leopard's graphical missteps are damning. If Apple is going to construct mistakes, let them exist made in service of a truly daring design. I'm willing to forgive, and even to gape back fondly on the original Aqua UI for this reason. But to attempt a relatively tame evolution and then to willfully screw things up—things that were not broken before—that I effect not forgive.

    The Kernel

    Let's fade in the antithetical direction entirely and dive into the core of the OS. We'll labor their way back up to the higher levels eventually. For now, it's kernel time.

    There was a bit of a kerfuffle about the future of the Mac OS X kernel back in the summer of 2006, fed mostly (as these things often are) by an information vacuum. The summary is that Apple wasn't releasing the source code to its then-new x86 kernel (as it had with totality previous kernels) and wouldn't train why. Many theories sprang up to fill the void. I, of course, had my own pet theory.

    The most logical reason that I can assume of for Apple's refusal (thus far) to publish the source code to the x86 version of the Mac OS X kernel is that the kernel shipping today in the x86 versions of Mac OS X Tiger is an evolutionary lifeless end, and therefore not worth the application to pretty up and publish.

    Presumably, totality of the major labor on Mac OS X, the kernel or otherwise, has long been focused on Leopard. Now imagine that the Leopard kernel has significantly diverged from the Tiger kernel. Maybe it's a novel kernel entirely, or maybe it has significant changes to advocate virtualization more efficiently, or something in between. Apple seems to exist holding its cards nigh to its chest until WWDC. In the meantime, pushing out the source to a soon-to-be defunct incarnation of the Tiger kernel might not exist along the faultfinding path.

    I even had some crackpot ideas about what, exactly, could supplant the existing Mach/BSD kernel—ideas that didn't stand up to much scrutiny, sadly. But as usual, I was smart (or wimpy) enough to hedge my bets.

    I'll exist very surprised if there's no ample kernel-related technology or announcement at WWDC. That said, I don't notice any pressing need for major kernel shenanigans in Leopard, just more of the same kinds of improvements that came in Tiger. Maybe no ample announcement really would exist the best feasible outcome.

    WWDC came and went (and came and went) and there was no major kernel announcement. The Leopard kernel does indeed hold "more of the same kinds of improvements" that we've seen over the life of Mac OS X, and that's not a wicked thing at all. (I'll rescue my kernel pipe dreams for Mac OS X 11.0, I suppose.)

    A lot of the kernel rumor craziness had its origins in the notion that Mac OS X is a impoverished performer at the kernel even due to some fundamental design choices. This is a long-standing meme with some sound (though often misapplied) computer science theory surrounding it, as well as the expected bevy of dubious benchmarks.

    As usual, the verity is much less dramatic. The core OS team at Apple is, perhaps predictably, the polar antithetical of the graphical design team. Apple's kernel engineers in particular are pragmatic, cautious, and wise. They're also human, however—if you prick them, effect they not bleed?—which may account for why they spent some time at WWDC spelling out the philosophy behind Mac OS X's kernel evolution process.

    Apple's focus is on system-level performance, not micro-benchmarks. The kernel team's job is to construct the software at the higher levels gape good. If improving the performance of some tiny aspect of the kernel tenfold does not provide a measurable performance multiply for some user-visible feature or task, it's not an effective utilize of evolution time, benchmark bragging rights exist damned.

    That's not to train that Apple's kernel team isn't competitive. But when it comes to dedicated kernel benchmarks, there's a natural home-field advantage: Linux tends to effect well on LMBench, Solaris does well on libmicro, and so on. This is not surprising; the option of benchmark determines where optimization is done. Apple's determination to measure kernel performance "from the top" by looking at the conduct of the actual applications running on the replete OS dictates which aspects of the kernel collect the most attention.

    In Mac OS X in general, and in Leopard in particular, improvements to scheduling and latency are important. There's a ample incompatibility between being "fast" and being "responsive," and Apple's focus is on the latter. Here are a few of the highlights from the Leopard kernel. (For the nitty gritty details, there's always the source code... or will be, once Apple updates its repository.)

    Kernel highlights

    The Leopard kernel is better about scheduling processes on CPUs, affecting from a single, flat queue of processes to a hierarchical one that better reflects the actual hardware (e.g., two sever chips, each with two CPU cores). Bouncing a process from one CPU to another is wicked for performance; the on-chip caches don't collect a desultory to properly warm up. But multiple cores on the same chip often share some caches. A hierarchy of process queues in the kernel created with this lore allows for better scheduling choices.

    The Leopard virtual memory system is better about determining which pieces of memory are actually being used by your application birthright now and which are safe to swap out to disk. When it comes time to swap to disk, Leopard will (finally!) dynamically earmark swap files, which means that you should collect some disk space back when the memory pressure abates.

    Resource limits, the bane of my actuality in Tiger and earlier, are dynamic where feasible in Leopard. These are things dote the number of open files or processes per user and so on. If you've never bumped up against these limits, consider yourself lucky; a lot of things discontinue working in very wicked ways when you can't open any more files, for example.

    I routinely dash into these limits in Tiger and acquire often been forced to rob heroic measures to multiply them. A few of the defaults acquire also increased in Leopard (e.g., the default maximum number of processes per user has increased from 100 to 266. I'll noiseless preserve mine over 2000, thanks). And for top-notch measure, there are even a few novel limits on previously unlimited resources dote resident and wired memory sizes.

    The Leopard kernel also has a novel "sandboxing" system which forces inevitable processes to dash in their own isolated, restricted environments for security reasons. Apple's implementation is based on mandatory access control (yet another "MAC" acronym that's not short for "Macintosh"). These sandboxes are defined, in typically unpretentious Unix style, by plain text files (examples can exist create in /usr/share/sandbox) and are applied to many system services in Leopard, including Bonjour, Quick Look, Spotlight, NTP, and many others.


    Perhaps the most significant change in the Leopard kernel is the addition of DTrace. DTrace was developed by Sun and is open source. Apple's core OS team has continued its streak of shrewdly identifying and adopting best-of-breed open-source projects and has completed the substantial chore of porting DTrace from Solaris to the Mac OS X kernel. DTrace solves a long-standing kernel evolution problem, and does so in such a bizarre way that it creates novel opportunities for Apple to serve totality programmers, not just kernel hackers.

    To understand how DTrace helps kernel developers, consider the following scenario. Let's train you're a developer working on some aspect of process creation in the kernel. To serve during your development, you'd dote some sort of notification every time a novel process is created. So you find the office in the kernel that creates a novel process, and you add a bit of your own code to the surge of that office that prints some information to a log file. Now you recompile your kernel, reboot, and continue your work.

    Unfortunately, you've hard-coded at least three things using this technique: 1) the fact that you want some debugging information, 2) the location of the inquiry, and 3) the mechanism of the report. Furthermore, it's likely that you'll want similar bits of debugging code in other places in the kernel in the future, and it's unlikely that you'll want every one of these bits vigorous at the same time.

    So, being the top-notch limited programmer that you are, you forward up with a more universal solution. At each point where some debugging code may exist useful, you wrap the code in a conditional expression that asks, "Should this piece of debugging exist turned on birthright now?"

    This seems dote a top-notch solution until you've filled the kernel with these snippets. recall that the kernel, by its nature, tends to hold code that executes very quickly and very frequently. A tiny check to notice if a particular piece of debugging should exist turned on may only rob a millisecond, but if the entire routine executed in ten milliseconds before you added this check, you've just increased the execution time significantly. And if this routine is called many thousands of times per second, you're starting to talk some actual wall-clock time down the drain. Now multiply this by many hundreds or thousands of debugging probes in the kernel, and it becomes transparent why totality these checks cannot exist left in the finished product.

    The obvious solution is to convert these debugging checks from conditions that are evaluated at runtime to conditionally compiled code. When debugging is enabled during the kernel build process, some or totality of the debugging code is included in the build. But when debugging is disabled for a production build, the debugging code is omitted entirely from the kernel.

    Though I've simplified things greatly, this is the gist of traditional kernel-level debugging probes. You labor with a special "debug build" that may exist slack but which contains totality the diagnostics you need for development. When you need to add, enable, or disable some debugging code, you recompile and reboot. When you're happy, you compile an optimized production build of the kernel that contains not a soul of this debugging code.

    Into this environment comes DTrace, which proposes the following seemingly impossible combination of features.

  • No recompilation required. Enable or disable debugging probes in actual time on a running kernel.
  • Near-zero overhead when not in use. The impact of disabled debugging code is so wee that totality such code can exist left in production kernel builds.
  • Programmers reading this will exist forgiven for cringing a bit at the scent of self-modifying code, but my advice is to just nigh your eyes and assume of England. The bottom line is that it actually works, and works well.

    DTrace supports its own simplified programming language called "D" (no, not that one) which is used to define probes. Here's an specimen that prints a notification every time a novel process is created.

    #!/usr/sbin/dtrace -s #pragma D option quiet syscall::exec*:return { printf("%Y novel process %s (pid %d) createdn", walltimestamp, curpsinfo->pr_psargs, curpsinfo->pr_pid); }

    The output looks dote this.

    2007 Sep 22 22:10:16 novel process ls (pid 1743) created 2007 Sep 22 22:11:34 novel process nmblookup (pid 1746) created 2007 Sep 22 22:18:11 novel process coreservicesd (pid 85) created 2007 Sep 22 22:21:11 novel process login (pid 1752) created 2007 Sep 22 22:21:12 novel process bash (pid 1753) created 2007 Sep 22 22:21:12 novel process sh (pid 1755) created ...

    Here's another one, slightly more complicated. It waits for the ls program to construct the stat() system call, then traces the execution of this convene through the kernel.

    #!/usr/sbin/dtrace -s #pragma D option flowindent syscall::stat:entry /execname == "ls" && guard++ == 0/ { self->traceme = 1; } fbt::: /self->traceme/ { /* default action */ } syscall::stat:return /self->traceme/ { self->traceme = 0; }

    Here's the (abbreviated) output.

    CPU FUNCTION 1 -> stat 1 -> vfs_context_current 1 <- vfs_context_current 1 -> vfs_context_proc 1 <- vfs_context_proc 1 -> namei 1 -> vfs_context_proc 1 <- vfs_context_proc 1 -> lookup 1 -> name_cache_unlock 1 -> mac_vnode_check_lookup 1 -> vfs_context_proc 1 <- vfs_context_proc 1 -> mac_policy_list_conditional_busy ... 1 <- vfs_context_issuser 1 <- vnode_getattr 1 -> vfs_context_current 1 <- vfs_context_current 1 -> nameidone 1 <- nameidone 1 -> vfs_context_proc 1 <- vfs_context_proc 1 <- stat

    In action, it's indistinguishable from magic. You write these limited text files with script-like bang-pound lines using this weird C-like language and you acquire essentially free reign to grope totality over the kernel. (You acquire to exist root to dash DTrace at all, for obvious reasons.)

    The D language does not advocate branching, subroutines, or loops—a top-notch thing, because accidentally creating an infinite loop or recursion inside the kernel definitely should not exist one tiny plain-text script away. You also can't utilize DTrace to modify kernel memory or CPU registers or to convene whimsical functions.

    But within its limited scope, D is noiseless quite powerful. It supports most common C/C++ data types, aggregates, local variables, and a whole slew of shell/awk-style conventions: script arguments in $1 .. $N, commence and discontinue blocks, etc. It even has autochthonous advocate for cute ASCII histograms. It's quite pleasant to use—especially compared to recompiling the kernel and rebooting.

    And recall this is totality running on a plain venerable consumer copy of Leopard, not a special build. DTrace is included on totality Leopard systems; it's not an optional install. This means that developers can depend on their users having it. Since DTrace scripts are plain text files, remotely debugging a thorny problem by e-mail suddenly got about a thousand times easier.

    (Debug kernel builds that hold a replete complement of symbols and other metadata are noiseless useful. DTrace does not supplant them. What it does effect is provide an unprecedented even of flexibility on top of them—flexibility that remains even in the shipping version of the kernel.)

    <span style="text-decoration: line-through;">Xray</span> Instruments<br /> </span>Xray Instruments

    Install the developer tools, and you'll collect a Garage Band-like GUI application for applying debugging instruments (get it?) to individual applications or the entire system. This application was called Xray for most of its evolution life, which explains the icon. It's now called Instruments for reasons that surely involve lawyers. If you'll forgive me, I'm going to preserve calling it Xray for the rest of this review.

    Unsurprisingly, many of the most powerful instruments are based on DTrace. There's even a GUI for creating custom DTrace-based instruments, plus the ability to record and play back a succession of actions. Mmm... automated GUI-based performance regression testing.

    DTrace and Xray invite top-notch questions. "How many files does my application open on launch?" "How many times is a particular office called?" "What does the memory usage of my application gape dote over time?" DTrace and Xray construct the previously daunting chore of answering these questions almost picayune and (dare I train it) fun. I can't imagine any Mac developer seeing Xray and not instantly longing to sic it on his application.

    All of this newfound power can't serve but lead to better, faster, more stable applications—from third-party developers as well as from Apple itself. And it's totality thanks to an obscure, open-source, low-level kernel debugging framework from Sun.

    State of the kernel

    With Tiger, Apple finally completed the kernel's transition from its NeXT roots to its Mac OS X future by nailing down the kernel APIs and providing a transparent path forward. Leopard has taken the first ample step down that path. The addition of DTrace is the most significant change. It's an entirely novel feature and was not created with Mac OS X's kernel in mind. DTrace will also acquire the biggest impact on the evolution process and by extension on the nature and quality of applications available to users.

    The rest of the changes are "more of the same," and that's a top-notch thing: performance optimizations, scalability improvements, better standards compliance, totality in appropriately conservative doses. The addition of DTrace must acquire helped a bit with the rest of Leopard's development, but it has taken a while for DTrace to forward up to speed on Mac OS X. The actual payoff will forward in the next major version of the OS, which will acquire spent its entire evolution life in a post-DTrace world.


    Tiger included advocate for 64-bit processes, but only if they did not utilize any of the major GUI APIs on the system. Here's how the 64-bit future of Mac OS X looked to me at the time.

    There are few benefits to being a 64-bit process for the vast majority of GUI applications. Nevertheless, it's safe to assume that, eventually, totality Macs will comprehend 64-bit CPUs. The introduction of 64-bit versions of totality Mac OS X subsystems (Carbon, Cocoa, Core Foundation, QuickTime, Quartz, etc.) seems inevitable.

    I just miracle how much capitalize there will exist from introducing any of that advocate piecemeal. [... ] totality the higher-level GUI libraries depend on lower-level services dote Quartz and Core Foundation anyway. So it seems to me that the best chase in the future will exist to roll out a complete 64-bit system totality in one shot. That's a tall order, which is why I assume it'll exist a while.

    Well, it certainly has been a while since Tiger, and guess what? Leopard is the release that goes 64-bit totality in one shot... with a few caveats. But before getting to that, I want to revisit the notion that "there are few benefits to being a 64-bit process for the vast majority of GUI applications."

    I wrote that before Apple's transition to Intel processors. Thanks to the tortured history of the x86 instruction set, there actually are performance benefits for most applications when affecting from 32-bit Intel (x86) to 64-bit Intel (x86_64). The table below explains why.

    32-bit PowerPC 64-bit PowerPC 32-bit Intel (x86) 64-bit Intel (x86_64) GPRs* 32 32 8 16 GPR size 32 bits 64 bits 32 bits 64 bits FPRs*/Vector Registers 32 32 8 16 Calling convention Register-based Register-based Stack-based Register-based PC-relative addressing No No No Yes *GPR stands for universal purpose register, FPR for floating-point register.

    The PowerPC instruction set was designed with a 64-bit implementation in mind; its "transition" to 64-bit was really nonexistent. The x86 instruction set, on the other hand, was created in the 16-bit era and has accumulated quite a bit of cruft going from 16-bit to 32-bit. Some of that cruft was wisely abandoned during the transition from 32-bit to 64-bit. Applications compiled for x86_64 don't just collect larger registers, they collect more registers, plus a more modern calling convention and more addressing modes.

    Every 32-bit x86 application can capitalize from these changes, it's just a question of how significant that capitalize will be. This is not genuine of PowerPC applications, which collect the added memory and cache pressure of 64-bit register sizes without any of Intel's cruft-abandoning benefits.

    I train "x86 application" and "PowerPC application," but of course Leopard, dote Tiger, supports what Apple calls Universal Binaries. These are solitary executable files that hold code for totality supported architectures: 32-bit Power PC, 64-bit PowerPC, 32-bit x86, and 64-bit x86_64. Here's an specimen from Leopard.

    % cd /Developer/Applications/ % file Xcode Xcode (for architecture ppc7400): Mach-O executable ppc Xcode (for architecture ppc64): Mach-O 64-bit executable ppc64 Xcode (for architecture i386): Mach-O executable i386 Xcode (for architecture x86_64): Mach-O 64-bit executable x86_64

    And there you acquire it: the ample 64-bit word in Leopard is that GUI applications can now exist 64-bit. Leopard applications can also specify an architecture preference order as well as a minimum OS version for each architecture. totality of this 64-bit goodness comes in a solitary OS; there is no special 64-bit version. Leopard is one operating system that runs both 32-bit and 64-bit applications.

    There is no "mixed mode" in Leopard. Every process is either 32-bit or 64-bit. Since a 64-bit process cannot load 32-bit plug-ins (and vice versa) there will exist a significant transition period for applications that depend heavily on plug-ins. (I don't covet Adobe's developers... and it gets even worse for them, as you'll soon see.)

    Apple has gone 64-bit across the board, with two major exceptions. The first is the kernel itself, which remains 32-bit in order to maintain compatibility with existing drivers. The second is a bit of a unfortunate story... or perhaps a hopeful one. You decide.

    Brave novel 64-bit world

    At the HIToolbox condition of the Union session at WWDC 2006, a coast entitled "The Future of HIToolbox" appeared. Hint number one: it is rarely a top-notch sign when the phrase "The Future of (insert technology)" appears on a coast at WWDC.

    For those of you that don't know, HIToolbox is the most modern and most well-known section of the API more commonly known as Carbon. The man on stage at this session began by maxim the following, which I'm providing in audio form so you can collect the full, nuanced experience of this moment.

  • The future of HIToolbox (MP3)
  • For several milliseconds, Carbon programmers attending this session at WWDC 2006 saw their coding lives scintillate before their eyes. I train only "several milliseconds" because, after that oh-so-agonizing pregnant pause, the ultimate sentence actually finished dote this.

  • The future of HIToolbox, after the suspension (MP3)
  • "Integration! Oh thank God!" Yes, Carbon programmers were given a reprieve in 2006. But the fact that the ample thrust at WWDC that year was for Carbon programmers to learn how to integrate Cocoa APIs into their Carbon applications should acquire been a ample red flag.

    Fast-forward to WWDC 2007, this time in the 64-bit session, and the other shoe dropped. Though several non-GUI parts of the Carbon API that are shared with Cocoa will exist supported in 64-bit mode in Leopard, the GUI portions of the Carbon API will not.

    Yep, it's (finally) the discontinue of the line for Carbon GUI applications in Mac OS X. Oh, sure, they'll exist around for years and years to come, but the need of 64-bit advocate is a long-term death sentence.

    The ultimate vestiges of the original Macintosh API are finally being reserve to rest. They've done their job and are being given a decent burial, I think. A slow, almost natural transition. Bugs will exist fixed in the 32-bit Carbon APIs, of course, but no novel features will exist added. totality novel GUI APIs in Leopard and future Mac OS X releases will exist added as Cocoa-only APIs.

    Perhaps the most painful section of this for developers with large Carbon code bases (poor Adobe... ) is that Apple did, in fact, port Carbon to 64-bit. There were sessions on it at WWDC 2006, and the code appeared in Leopard seeds. The determination to drop 64-bit advocate for Carbon was obviously a arduous one to make, but eventually it was made, despite the labor already reserve into the effort.

    I assume it was a top-notch decision. Apple has been hamstrung by the need to advocate two entirely different APIs, maintaining feature parity between them, and having to account for which one developers should choose.

    When it came down to it, Cocoa "won" because it's the more modern API. In the beginning, with Mac OS X 10.0, it wasn't at totality transparent that Mac developers would want to learn Objective-C and a whole novel set of APIs. Here in 2007, the developers acquire spoken. The only people noiseless doing Carbon evolution are those with code bases that predate Mac OS X. Apple has been encouraging these developers to port to Cocoa for years now. Now it's finally time for some tough love.

    Making a cleanly break

    Carbon is just one example. Apple has wisely decided to utilize the transition to 64-bit as an opportunity to construct totality sorts of backwards-incompatible changes. After all, 64-bit is backwards-incompatible with 32-bit already, so there's nothing to lose.

    In Cocoa, deprecated APIs were simply not ported to 64-bit. The Objective-C runtime is all-new for 64-bit, with a novel ABI, faster dispatching, zero-cost exceptions, and public APIs for introspection built on top of newly opaque internal structures. totality over Cocoa, ints acquire been replaced with NSIntegers. In totality of the graphics APIs, floats acquire been replaced with CGFloats.

    QuickTime also got the "Carbon treatment." The venerable plain-C API for QuickTime is not available in 64-bit. The Cocoa QTKit library is the only game in town for 64-bit QuickTime.

    And on and on. With Leopard, Mac OS X's API future is clearer than it's ever been. The future is Objective-C, Cocoa, 64-bit. replete stop, no waffling, everyone collect on board the train.

    There's an inherent tension between developers with existing applications and skillsets and the OS vendor's covet to attract novel blood and construct top-notch long-term decisions for the platform. The late convene on the 64-bit Carbon determination is transparent evidence that Apple struggled mightily with these issues internally.

    In the end, Apple made the arduous option instead of the simple one. I assume it will pay off, though the short-term consequences could exist pretty grim. After all, just gape at how long it's taking to collect an Intel-native version of Microsoft Office for the Mac. Should they expect a 64-bit Cocoa version in, say, 2012? And I acquire no notion what Adobe's going to effect about 64-bit versions of its products. That's many millions of lines of Carbon code between those two companies alone. They may exist in for a harsh patch, so buckle up.


    Once upon a time there was an operating system called BeOS with a daring and innovative design. Not totality of its audacious novel ideas worked out as well as expected, however, and those that did were not enough to rescue the product from other, nontechnical forces that led to its demise. Nevertheless, BeOS made quite an imprint on the OS community. In particular, the file system and related interfaces in BeOS included four noteworthy features.

  • Journaling
  • Arbitrarily extensible file system metadata
  • Asynchronous file system notifications
  • Automatic metadata indexing and integrated query engine
  • These features combined to provide a user experience unlike any other concomitant PC operating system. Mac users, in particular, saw these features, understood their value, and wanted them in their favorite OS—assuming they hadn't already jumped ship for BeOS.

    (The reserve Practical File System Design with the exist File System describes the history and implementation of these features. A free PDF is also available.)

    In 1997, Apple purchased NeXT instead of exist and based Mac OS X on the NEXTSTEP OS. Initially, Mac OS X had not a soul of the BeOS file system features listed above. The thrust to add them to Mac OS X, both external and from within Apple, met with significant resistance from engineers aligned with the NeXT/Unix philosophy. And so began a multiyear struggle for the future of Mac OS X file system technologies: the Mac guys versus the NeXTies.

    At some point (so the legend goes) the Mac guys inside Apple "won," and Apple started down a novel path. But it takes a long time to revolve a ship as ample as Mac OS X. From the perspective of an outside observer, the history of file system technology in Mac OS X resembles a six-year-long struggle to implement each and every BeOS file system feature listed above, totality of which were decried by the NeXTies at one point or another as inefficient and unnecessary.

    Journaling was added to HFS+; Spotlight brought automatic metadata indexing and an integrated query engine; the novel extended attributes APIs brought arbitrarily extensible metadata. Now, in Leopard, the final piece has arrived: an asynchronous file system notification API in the form of the FSEvents framework.

    File system events déjà vu

    Tech-savvy Mac users will note that such an API existed in Tiger; it was what made Spotlight possible. The /dev/fsevents facility tracked totality file i/o as it went through the Mac OS X kernel, providing notifications to interested clients. This allowed the Spotlight engine to index (or reindex) each novel or changed file without resorting to polling. (Polling is the act of repeatedly asking if something has changed. It's massively inefficient and totally unfeasible as a way to detect changes across an entire file system.)

    The /dev/fsevents API was private—though that didn't discontinue industrious hackers from playing with it. But it was private for a very top-notch reason. It has to effect with the mechanics of file system notifications.

    To exist sensible of totality material file system changes, the notification mechanism must exist at the choke point for totality local i/o: the kernel. But the kernel is a harsh mistress, filled with draconian latency and memory restrictions. Ideally, the /dev/fsevents kernel code should construct each event available to interested clients and then chase on as quickly as possible.

    Back in userspace, things are much more leisurely. Processes that signed up to received file system notifications via /dev/fsevents may exist off doing something else when an event arrives. This is totality par for the course in userspace, but it's extremely incompatible with the kernel's need to collect things done birthright now, with minimal memory and CPU overhead.

    What's the kernel to effect when 10,000 file system changes occur in two seconds (say, as section of some software installation) and the stupid, faineant userspace process that registered for file system notifications is now too preoccupied with other things and hasn't pulled any notification events off its queue in the past three seconds?

    Well, the kernel has to buffer those events, of course. That is, it has to rescue the events and wait for totality interested clients to finally collect around to receiving them. But buffers are not unlimited. This is especially genuine in the kernel. What happens when the buffers fill up?

    Well, the kernel could block waiting for some buffer space to become available. However, consider what happens when a client gets blocked on a file system operation because there's no leeway in the queue for the corresponding event, but space never becomes available because the other client that needs to read events to free up buffer space is blocked on the client that blocked waiting for space in the first place! Hello, deadlock.

    The only other option is to dynamically earmark memory, but that just postpones the problem. reserve simply, either you confine the number of events you can buffer, accepting that sometimes the buffer will fill up and you'll acquire to drop events, or you can relegate to potentially using an unlimited amount of memory.

    Apple has chosen the former. The kernel buffers are a fixed size, and if they fill up because of a slack client, events collect dropped. This means that one badly behaved client can demolish it for everyone.

    So, no, /dev/fsevents is not a top-notch candidate for a public API. But the exact for efficient, asynchronous file system notifications remains. What to do? Enter Leopard's FSEvents framework. It takes a pragmatic approach to providing these features.

    This is a theme that recurs throughout Leopard's novel technologies. Given a thorny technical problem, FSEvents does not attempt to exist totality things to totality people. Instead, it shrewdly narrows its focus, concentrating on the feasible and the probable. FSEvents provides an "80 percent solution" with (near) 100 percent reliability, rather than attempting to exist an all-encompassing, "perfect" solution.

    FSEvents design and implementation

    It seems to me that the key breakthrough in the design of FSEvents was arrived at by considering yet another weakness of /dev/fsevents. The private /dev/fsevents API doles out notifications in actual time to totality interested clients. This appears to exist the best feature of the API, but it's actually quite a tribulation for clients. Any events that occur when a client program is not running will never exist seen by that client. This is why the Spotlight indexing process is launched when the system boots and remains running as long as the computer is on. It must effect this in order to catch and process totality file system events.

    If any other program wanted to keep totality file system events, it would acquire to effect the same thing: launch at boot time and sojourn running forever. Oh, and never crash, because even a process that immediately relaunches itself after a crash may miss some events during the time that it's down; /dev/fsevents waits for no process.

    So how does this realization lead to a design for FSEvents? The admit is that solving the problem of the constantly running client also makes many other problems disappear. Here's how FSEvents does it.

    The /dev/fsevents API can only advocate a few extremely well-behaved clients. Spotlight is one. In Leopard, FSEvents is another. The FSEvents framework relies on a single, constantly running daemon process called fseventsd that reads from /dev/fsevents and writes the events to log files on disk (stored in a .fseventsd directory at the root of the volume the events are for). That's it. That's the super-high-tech solution: just write the events to a log file. Boring, pragmatic, but quite effective.

    Programs wishing to utilize the FSEvents API effect not need to exist running constantly. They can exist launched at any time and can ask, "Okay, what's changed since the ultimate time I was running?" As long as they know where they left off in the log file, the FSEvents framework can (effectively) "play back" every event that's occurred since then and admit the question accurately.

    Pragmatic? Isn't it also impartial to convene this solution "fraught with its own intractable problems"? How ample are these log files? Are they going to fill my disk if I constantly create, modify, and delete files? Will the log files exist trimmed? What if a process doesn't dash for a year and then wants to know what's changed since then?

    Pragmatism means compromise. Yes, if fseventsd drank from the /dev/fsevents fire hose and wrote every solitary event to disk, you'd dash out of disk space pretty quickly. To avoid this, fseventsd only writes out changes at the much less granular directory level. The FSEvents framework, in turn, can only divulge its clients, "Something has changed in directory /foo/bar/baz."

    Clients of FSEvents are expected to then scan the directory that has changed in order to determine what, exactly, happened (assuming they're interested in that even of detail). The common pattern is to register for notifications for some subset of the file system tree, effect an initial scan of that tree, wait for an event about a particular directory, then compare the novel condition of the directory to the condition seen during the initial scan.

    That confident seems dote a lot of tedious work: register, scan, collect event, scan again, compare. This same code has to exist written by each FSEvents client program, and there are race conditions lurking if programmers are not careful. Pragmatism has its price.

    But the payoffs are also quite substantial. No more daemon processes; launch any time to find out what's changed since you ultimate checked. No risk of badly behaved clients causing dropped events. Read the events as slowly as you'd like. Hang, crash, relaunch: it's okay, you won't miss any events. You can even fade backwards in time to revisit venerable events.

    As with totality kernel-based file system notification mechanisms, including /dev/fsevents, there's noiseless the possibility of file system changes occurring without going through the kernel. For example, a removable disk may exist mounted on another non-Leopard computer and modified there. When it returns, the local kernel has no notion what's changed.

    The FSEvents API includes callbacks for these situations, effectively telling the client, "Unknown changes acquire occurred. You'll acquire to effect a replete rescan yourself, then pick up on the novel event stream going forward." That's certainly not what a program wants to hear, but it's the unavoidable truth. and FSEvents is upfront about it. In effect, it's a form of reliability. FSEvents will not prevaricate to you.

    The fseventsd log files are written in a compressed binary format. Since only per-directory changes are kept, multiple changes to the same directory occurring within 30 seconds of each other are coalesced into a solitary event in the log file. The upshot is that, even when running a disk-thrashing server-type workload for 24 hours straight, the fseventsd log files will only grow by a megabyte or two per day. natural usage will produce a wee fraction of that.

    That's good, because these log files are kept forever. Well, as nigh as possible, anyway. FSEvents uses a monotonically increasing 64-bit counter for events. Barring any malicious number-skipping hackery, this counter won't wrap around in your lifetime. But if it does, or if you dash out of disk space, or if the logs are explicitly purged (there's a public API for this), FSEvents will dutifully spread the wicked word to its clients: "Sorry, it's replete rescan time."

    Events are identified by their 64-bit event id, which does not necessarily acquire any particular relationship with date and time. Nevertheless, FSEvents does comprehend the ability to put a question to for the approximate event id that corresponds to a particular date and time.

    To preclude events from being logged at totality for changes to a particular volume, simply create a file named no_log in the .fseventsd directory on that volume. And in case it doesn't fade without saying, FSEvents honors the Mac OS X access control rules; you cannot receive events about directories that you don't acquire consent to read.

    Spotlight sidebar

    Spotlight has been substantially rewritten in Leopard, and is noticeably more responsive. It does not, however, utilize FSEvents. Instead, it continues to drink from the /dev/fsevents fire hose, grabbing each individual event as it happens. This may appear dote a failing of the FSEvents framework, but it's really more of an acknowledgment of the nature of Spotlight as a system-level facility.

    After all, in BeOS, metadata indexing was actually done at the file system level, within the BFS file system code. This, of course, only worked for BFS-formatted volumes, and was even further removed from anything feasible in userspace, third-party code. For better or worse, system-wide file system indexing is something that the OS is best suited to wield itself, with private APIs if needed.

    The future of the file system

    With the addition of a public API for asynchronous file system notifications, Mac OS X has finally achieved feature parity with BeOS in totality major areas of file system technology. There were compromises along the way, but also many advances. BeOS never had a persistent log of file system events, nor did it provide metadata indexing on non-BFS volumes. Leopard provides that and more (Spotlight can actually search across servers now too), totality with a collection of extremely conventional userspace libraries and daemons running on top of only the barest few kernel hooks.

    It's often seemed as if Apple has had to exist dragged kicking and screaming into the future of file system technology, but at least it has finally forward around. Yes, there acquire been bumps in the road, and things surely acquire not turned out exactly the way I expected them to. But in the end, it's the results that count.

    Mac OS X developers now acquire totality the tools they need to effect some very spellbinding things with the file system—and this includes Apple itself. As we'll see, they've really gone to town in Leopard, finally using totality the features they so grudgingly added to the OS over the ultimate six years. In fact, Leopard's signature feature would not exist feasible without FSEvents.

    As for the file system itself, can you believe we're noiseless using HFS+? That's right, rumors of ZFS's ascendance as the default file system in Leopard acquire not forward to fruition.

    The application to port ZFS to Mac OS X is ongoing, and Leopard ships with a read-only ZFS file system driver, but that's about it for now. A read/write ZFS driver appeared in a few earlier Leopard builds and will no doubt construct its official appearance in some future version of Mac OS X. (A beta is available to ADC members.)

    Will ZFS ever supplant HFS+ as the default file system in Mac OS X? Time will tell, but it's transparent that, eventually, something has to supplant HFS+. Will it exist ZFS, a novel Apple-developed file system, or something else entirely? As I wrote ultimate summer:

    Although I would exist satisfied with ZFS, I assume Apple has a unique perspective on computing that might lead to a home-grown file system with some spellbinding attributes. When might such a thing appear? Not in Leopard, it seems—or at least not in 10.5.0.

    It's colorable that the completed ZFS port will exist available in the 10.5.x time frame, but I fully expect to acquire to wait for Mac OS X 10.6 or later for anything to supplant HFS+ as the default file system in Mac OS X. The top-notch word is that, when it does finally arrive, totality these powerful file system APIs will exist there waiting for it.

    Core Animation

    In the post-Mac OS X era, Apple has been a ample fan of adding animation to its applications and the OS itself. Examples are everywhere: items in the iChat buddy list fade in and out and visually reshuffle themselves as novel items appear; switching preference panes triggers a cross-fade and an animated window resize; items in the Dock shuffle and squirm around when a novel detail is dragged towards it.

    Too much animation can exist harmful and grating. But in the best cases, these animations actually serve usability by providing an categorical visual explanation of condition changes while also adding an undeniable sense of pizzazz.

    Understandably, third-party developers acquire long tried to ape these effects. Historically, that's been a tall order. rob something as simple as the cross-fade between preference panes in the System Preferences application. A developer creating, say, a text editor may want to utilize that cross-fade in his preferences dialog.

    But doing so takes him far from his solace zone, into the world of graphics APIs, perhaps even OpenGL. What does totality that acquire to effect with editing text? Sure, Apple can afford to acquire one of its graphics gurus add whizzy effects, but it's another thing for wee developers to rob the time to learn a bunch of novel APIs unrelated to the actual functionality of their applications. And for what? Pizzazz?

    But try they did, rapidly increasing the number of Mac applications containing Core Graphics and/or OpenGL code of questionable quality, for dubious purposes. What's Apple to do?

    The motivation seems admirable: third-party developers want their applications to gape as frigid as Apple's. Broadly speaking, this is not something that should exist discouraged. But it really is inefficient to acquire totality these developers trying to write custom code far outside their areas of expertise.

    And for that matter, it's not such a powerful notion for Apple to exist doing the same thing. Though it may acquire the talent on staff, Apple would exist much better served by having its graphics experts labor on APIs that everyone can use, rather than adding custom cross-fade code to yet another first-party application.

    And so, in Leopard, Apple has introduced Core Animation. It gets a snazzy purple sphere icon to fade with its friends.

    Core Image logo Core Image Core Audio logo Core Audio Core Video logo Core Video Core Animation logo Core Animation

    Animation frameworks can easily blossom into full-blown redesigns of the entire GUI API. After all, isn't a static interface ingredient simply the degenerate form of an animation? Let's reimplement everything in terms of their novel animation framework! It'll exist awesome!

    It'll probably also exist late, incompatible, buggy, and slow—not to mention being met with resistance by developers who are not keen to rewrite their GUI code from scratch using the novel animation-based APIs.

    Thankfully, Apple's taken a different route with Core Animation. dote FSEvents, Core Animation is a pragmatic API. It does a few well-chosen things and does them very well. It also goes to powerful pains to construct this functionality available to existing applications with extremely minimal changes to the code.

    Core Animation's original name, Layer Kit, reveals a lot about its design. At its heart, Core Animation manages a collection of 2D layers. Though layers are sorted by depth and can acquire perspective transforms applied to them, Core Animation is not a 3D engine. That is, layers can overlap, but they cannot intersect (in the 3D sense).

    The 2D/3D distinction is further confused by the fact that Core Animation, dote totality graphics in Mac OS X, runs (albeit indirectly) on top of OpenGL. Apple's "3D" Core Animation demos (e.g., about 52 minutes into the WWDC 2006 keynote) also haven't helped. But rest assured that you will not exist constructing any teapots in Core Animation. There are no vertexes, triangles, or lights in the Core Animation API. It's a layer kit, remember? assume "non-intersecting 2D planes in space."

    But what planes they are. To start, each layer has the following properties: geometry, background, contents, border, filters, shadow, opacity, and mask. Each layer can acquire zero or more sub-layers, and the filters are Core Image filters, of course. But the layer contents are the really spellbinding part.

    At some point during pretty much every WWDC since the introduction of Mac OS X, an Apple engineer has explained how to amalgamate content produced by different APIs: drawing styled text on top of an OpenGL scene, putting a standard button or checkbox over a QuickTime movie, applying a Core Image filter to section of a dialog box, and so on. These demonstrations were complicated, often involving special overlay windows, manual color space conversions, and wasteful data duplication. Inevitably, the Apple engineer would apologize as he demonstrated, acknowledging that this benign of thing really shouldn't exist as arduous as it is. Well, in Leopard, thanks to Core Animation (of totality things), it's now nearly trivial.

    Core Animation layers provide, for the first time in Mac OS X, an simple way to amalgamate totality supported content types without restrictions: QuickTime video, OpenGL, Core Graphics drawing, Quartz Composer scenes, standard GUI controls dote buttons, checkboxes, and pop-up menus, styled text, you cognomen it. Composite them, layer them, animate them; it totality just works. In effect, Core Animation is the unification of totality things graphical in Mac OS X.

    Layers are animated declaratively, rather than procedurally. For example, to construct a layer fade out, simply set its opacity to zero. Rather than instantly becoming invisible, the layer will fade out over a period of time (0.25 seconds, by default). In other words, divulge each layer its goal condition and (optionally) a few more pieces of information about the transition, and the Core Animation engine handles the actual process of changing the layer from its current condition to the goal state. Though totality of the animation settings are optional and acquire sane defaults, animations acquire configurable durations, timing curves, keyframes, and transition types. Also, multiple property changes can exist batched into a solitary atomic change.

    Under the covers, each Core Animation layer is handled by OpenGL and ends up in VRAM on the video card. (For layers that are beyond the maximum texture size of the video card, Core Animation provides a "tiled layer" API, with callbacks to retrieve each portion of the larger image as needed.) Core Animation layers are extremely lightweight; modern Macs can animate many thousands of layers simultaneously. The unification of content types in Core Animation layers provides an opportunity to consolidate many previously sever GPU acceleration mechanisms for video, 2D drawing, and animation into a solitary context.

    The underlying technology really is impressive, but the ample win comes on the more prosaic end: the way this functionality is exposed to the developer.

    Core Animation in Cocoa

    Unsurprisingly, Core Animation is a Cocoa API. Politics aside, it's a top-notch fit. Cocoa has existing conventions for observing changes to remonstrate properties, and Core Animation ties birthright into that. But the actual genius is in the how limited labor is required to start using Core Animation in an existing application.

    The process for developers is simple. To enable animation of a view, check off the usurp checkbox in Interface Builder, or construct the corresponding [view setWantsLayer:YES] convene at runtime. Doing so creates a Core Animation layer for the view and totality subviews it contains. The result is two view trees: the collection of "normal" views and subviews that acquire always existed in your Cocoa application (windows, buttons, etc.) and another, parallel hierarchy of Core Animation layers representing the subset of natural views that acquire their "wants layer" property turned on.

    Each layer-backed view has an animator attribute. routine calls that strike animatable properties are animated when made through this remonstrate and are not animated when made through the view itself. For example, let's train you acquire some existing code to set the size of a window in your application:

    [view setFrame:rect];

    To animate that using Core Animation in Leopard, causing the window to smoothly scale from its current size to the novel size using a GPU-accelerated, OpenGL-based compositing animation engine running on a sever thread, you must type eleven more characters, changing the line above to this:

    [[view animator] setFrame:rect];

    This is usually the point in the WWDC presentation where Cocoa programmers unfamiliar with Core Animation commence to drool and moan.

    Yes, obviously it gets more complicated if you want to customize the animation, but only slightly. In the common case, adding animation to your existing Cocoa application really is as simple as the specimen above implies. As a first pass, just send totality the routine calls you want to animate through the animator property. As an optional second pass, customize the few animations you want to fade faster or slower or effect something else fancy. There is no step three, as they say. No OpenGL code, no custom drawing, no GPU programming. Ahh.

    Apple has gone hog wild with Core Animation, both in its own applications and in Cocoa itself. totality the basic visual properties of views can exist animated—plus some esoteric ones dote rotation. Yes, if you acquire the urge to create spinning buttons or slanted windows, Core Animation is there for you. You can even add novel animatable properties to your custom views.

    Apple's also created several novel Cocoa views and controls that provide functionality that would acquire required many thousands of lines of tangled code before the advent of Core Animation. The best specimen is the extremely flexible NSGridView. This one view can exist used to create something that looks and behaves dote the iChat buddy list or the Dock, totality with extremely minimal code. Items fading in and out as they're removed, squirming out of the way to accept a drag, flying totality over to re-sort themselves, even text-base searching and visual filtering—it's totality basically "free" with NSGridView and Core Animation.

    Separation of concerns

    As alluded to earlier, the animation section of Core Animation runs on its own thread and has its own dash loop independent of the application itself. These two parallel worlds—the application view hierarchy and the Core Animation view hierarchy that backs some portion of it—are largely divorced. Communication happens implicitly when the application changes some section of its visual state.

    For example, let's train an application moves an ingredient in a window from position A to position B. From the perspective of the application code, the change happens instantly. The detail that was in position A moves immediately to position B as soon as its coordinates are changed.

    In the parallel world of the Core Animation engine, however, the chase from A to B happens over several frames of animation and takes some time. This means that there's a transitory mismatch between where the application thinks the ingredient is, and where it actually appears on the screen. This usually isn't a problem, but developers are encouraged to rob precautions to preclude any freakish effects (e.g., by disabling controls while they're in motion, reenabling them when the animation completes).

    But that's about the only ill effect of this arrangement. The benefits are much more substantial. For starters, with today's multicore CPUs, putting Core Animation on its own thread is a transparent win in terms of CPU utilization. It also means that the application can blindly construct changes any venerable time it wants, without concern for the condition of any outstanding animations. For example, an application can chase an detail from A to B, then chase it again to C before the A-to-B animation completes. The Core Animation engine will rob it totality in stride, smoothly animating the detail towards C from whatever position between A and B it was in when the application initiated the chase to C.

    The application's total need of (mandatory) involvement in the animation itself is incredibly freeing. It prevents applications from becoming filled with animation-centric code. Gone are the days of preference dialogs with 50 lines of code for getting and setting preferences and 200 lines of code for creating cross-fades and autoresizing panes. Less application code means fewer bugs and more liberty for Apple to optimize the actual drawing and animation process.

    The animation age begins

    Yes, the advent of Core Animation probably means that we'll acquire to endure some amount of gratuitously animated software created by "overly enthusiastic" developers. But the same was genuine during the introduction of styled text and color graphics. Mac developers learn quickly, and Mac users are top-notch at rewarding restraint and punishing excess.

    The minimal, almost humble way Core Animation integrates with Cocoa belies its incredible sophistication. More so than any other novel framework in Leopard, Core Animation provides functionality and performance that was previously difficult or impossible for the mediocre Cocoa programmer to create on his own. Now, finally, third-party applications can gape as impressive as Apple's, and they can effect so by using exactly the same code that Apple's using—code written by expert graphics programmers and continually revised and improved by Apple to rob edge of the latest hardware. Excellent.

    Quartz GL

    I spent several pages of my Tiger review exploring how Mac OS X's Quartz parade layer has evolved over the years, specifically how functionality has been migrating from the CPU and main memory to the GPU and VRAM. Tiger was to bring the latest step in that evolution, Quartz 2D Extreme, which would finally chase execution of the drawing commands themselves to the GPU, writing the results directly to VRAM.

    I dedicated so much time (and so many sweet OmniGraffle charts) to Quartz 2D Extreme because it was one of the Tiger technologies that I was most excited about. I'd waited a long time for it, slogging through Mac OS X 10.0 where every section of the drawing and compositing process happened on my impoverished 400MHz G3 CPU, with the expectation that, someday, it'd totality occur in dedicated hardware.

    Sadly, though the Quartz 2D Extreme code was indeed included in Tiger, it was disabled by default. At the time, I speculated that it might exist enabled in a subsequent update, "perhaps as early as version 10.4.1." Ha! Over two years later, Tiger has reached version 10.4.11 and Quartz 2D Extreme is noiseless disabled by default.

    But surely—surely—Quartz 2D Extreme will exist enabled in the mighty Leopard, right? When it comes to affecting drawing code to the GPU, maybe they should totality collect used to disappointment.

    First things first. Quartz 2D Extreme, always quite a mouthful, has been renamed Quartz GL in Leopard. I'm heavily in favor of the evisceration of "Extreme" from totality Apple product names, so yay. Second, it's well-known to understand why Quartz GL was disabled in Tiger for totality those years. Apple's never made any public statements about this, but developers who've asked acquire gotten a pretty consistent message. What it boils down to is differences between Quartz GL and the "old" more CPU-centric implementations of Quartz—differences that actually strike existing applications.

    Bugs are the most obvious issue. Quartz GL was brand novel in 10.4.0, a release that had enough of its own problems without globally applying a novel drawing engine to totality applications. The other well-known issue was explored in the Tiger review: Quartz GL can actually construct some applications slower because the "best practices" when writing for a CPU/RAM-centric Quartz implementation are often exactly the antithetical of those for Quartz GL.

    So what's changed in Leopard? Presumably, most Quartz GL bugs acquire been squashed, but the performance issues are really up to application developers to address by changing their code. But why would they exist motivated to change their code? After all, Quartz GL is disabled in Tiger. This chicken/egg situation explains why Quartz GL is not globally enabled in Leopard either.

    Unlike in Tiger, however, applications in Leopard can explicitly enable Quartz GL, either for the entire application or just for specific windows. This allows each developer to elect when and where to utilize Quartz GL. It's a top-notch compromise; there's actually nothing to exist disappointed about. Quartz GL, dote many Leopard technologies, will surely commence to seep into the applications they utilize every day. It may not exist as obvious as something dote Core Animation, but in the long dash it's just as important.

    Resolution Independence

    Speaking of technologies present in Tiger but never enabled, resolution independence takes a few more steps forward in Leopard. A brief refresher: simply stated, resolution independence, also sometimes called "scalable user interface" or "high DPI support," is the ability to draw user interface elements using more pixels.

    For example, the limited red "close" widget in the window title bar uses about 16x16 pixels at the default ("1.0") scale factor. This is okay for screens that utilize around 100 pixels per inch (PPI), but on a 200ppi monitor it would exist quite a wee click target. Using a scale factor of 2.0, this same widget would exist drawn using 32x32 pixels—four times as many. That would construct the click target exactly the same size as the 16x16, 1.0 scale factor version on a 100ppi screen. The 2.0 scale factor version would also exist more detailed, since it uses more pixels.

    Scale factor: 1.0

    Scale factor: 1.0

    Scale factor: 2.0

    Scale factor: 2.0

    The benefits of resolution independence are twofold. On the high end, displays with much greater pixel density become feasible now that there's a way to preclude the widgets that construct up the UI from shrinking to unclickably wee proportions. In particular, text will gape a lot sharper as the display's PPI rating begins to approach the DPI rating of modern printers.

    On the low end, resolution independence allows users with impoverished vision to construct everything on their existing low PPI displays larger, while actually increasing the amount of detail (as opposed to current "screen zooming" feature that magnifies the existing pixels into an increasingly blurry mess).

    In Tiger, the user interface scale factor control existed only in the Quartz Debug application (part of Apple's free developer tools). In Leopard, the user interface scale factor control... exists only in the Quartz Debug application. Sorry.

    Actually increasing the scale factor provides a pretty convincing demonstration of why this is so. rob a gape at the nonuniform gaps in the segmented control in this screenshot of TextEdit at a 2.0 scale factor.

    TextEdit at scale factor 2.0: uneven spacing on segmented controlTextEdit at scale factor 2.0: uneven spacing on segmented control

    As you can see, there are noiseless plenty of harsh edges even for the simplest of applications. Since interface scaling has a global effect, it can't exist enabled piecemeal dote Quartz GL.

    Unlike Quartz GL, Apple has actually provided a pretty transparent message to developers about resolution independence. There acquire been sessions at the past few WWDCs about how to prepare applications to dash properly at scale factors above 1.0. The actual hold-up has been Apple itself, however, which doesn't quite acquire resolution independence working correctly across totality of Mac OS X's GUI frameworks. Also, the exact details of how resolution independence will interact with the various APIs acquire changed as recently as WWDC 2007.

    Nevertheless, the rumored date for resolution independence to display as a user-visible feature in Leopard is 2008. Early 2008? Late 2008? If Apple knows, it's not saying. And so the question posed two years ago noiseless stands. Which will forward first, affordable high-PPI parade hardware or a resolution-independent version of Mac OS X? The wait continues.

    But that's not totality there is to train about resolution independence in Leopard. In fact, you might train there's one more thing...

    Core UI

    Resolution independence is a fine idea, but there's the pesky issue of exactly how to draw totality those user interface widgets using more pixels. When resolution independence finally arrives in 2008 (or whenever), will the Mac OS X UI exist drawn entirely using infinitely scalable vector art? That'd confident solve the problem of where to collect totality those extra pixels, but I'm not a fan of this approach. How about simply including huge bitmaps for each interface element, relying on the traditional bitmap scaling mechanisms to draw them at the smaller sizes? That'd labor fine, but it does appear benign of wasteful to utilize giant bitmaps for thing dote line know-how and basic shapes which are oh-so-compactly represented by vectors.

    Hey, what effect they acquire here lurking under /System/Library/PrivateFrameworks in Leopard? Why, it appears to exist a novel framework: CoreUI.framework. Whatever could that exist for? Surprise! Every piece of the user interface in Leopard is being drawn in an entirely novel way that incorporates the best of the bitmapped and vector styles.

    Let's rob a gape at the affecting parts. Core UI draws each piece of the user interface based on a succession of XML "recipes" that describe the structure and features of each element, referencing pieces of know-how stored as sever resources files within the framework bundle. Here are just a few specimen recipes:

    /System/Library/PrivateFrameworks/ CoreUI.framework/Resources/AquaUI.bundle/Contents/Recipes/ checkbox.xml disclosurebutton.xml disclosuretriangle.xml menu.xml menubar.xml progressindicator.xml pushbutton.xml radiobutton.xml roundbutton.xml scrollbars.xml splitter.xml syncarrow.xml ...

    Note the storage location: the Core UI framework contains other bundles which in revolve hold the recipes and resources. It's arduous not to gape at this arrangement as a benign of theming engine in the tradition of Kaleidoscope, ShapeShifter, and of course Apple's own Appearance Manager... albeit an engine that's closed to outsiders and likely to change in the future. But still, it's quite a departure from the comparatively inflexible approach to drawing the UI used in Tiger and earlier. At the very least, the novel recipe/resource structure lays bare the components that construct up what's shown on the screen.

    Take the humble checkbox, for example. The checkbox.xml file is a dizzying 2,800+ lines long, most likely created by Apple's long-rumored (to those paying attention) in-house Core UI theming tools. It references a pattern named checkmark, represented in the Resources directory by the checkmark.pdf file.


    In that same directory you'll also find various "material" bitmaps. Here are two examples (scaled down from their actual 398x398 pixel sizes):



    The Finder sidebar

    The Finder sidebar

    Keep in wit that these are not giant radio buttons; bitmaps dote these are used as texture sources for widgets of totality shapes and sizes.

    Finally, here's what a checkbox looks dote in Leopard at various scale factors.

    Checkboxes at 1.0, 2.0, and 3.0 scaleCheckboxes at 1.0, 2.0, and 3.0 scale

    You can notice how this totality starts to forward together. Browsing through the replete set of resources reveals an unsurprising division of labor between ample bitmaps (PNGs) and vector graphics (PDFs). Anything that looks dote line know-how or is a basic shape is done with vectors. The "lickable" bits, on the other hand, are noiseless represented by (presumably hand-tweaked) bitmaps, usually in very large sizes. In particular, the way Core UI constructs the various shiny Aqua widgets using a suite of "materials" bitmaps—some for highlights, some for backgrounds, and so on—is a nice way to conserve memory while noiseless using hand-drawn art.

    So what does this totality weigh in for Mac OS X? Well first, it means that Apple is ramping up for resolution independence. They knew that already, but it's noiseless nice to notice how far along things are. Remember, even at the default (1.0) scale factor that Leopard will ship with, totality the UI widgets you notice are being drawn by Core UI. This wasn't always the case. Earlier Leopard seeds only used Core UI at scale factors greater than 1.0, falling back to the venerable way for 1.0. The chase to using Core UI everywhere shows some aplomb in the technology.

    Core UI also means that Apple is well-positioned to deliver the radical change to Mac OS X's appearance that I longed for in Leopard. Core UI is certainly not a general-purpose engine capable of creating any appearance an artist can dream of. It's clearly focused on creating Aqua-like appearances, with baked-in advocate for things dote drop shadows and highlights. But the universal approach of using XML recipes to compose vector and bitmap resources is a sound one that will ultimate Apple a very long time, well into the coming age of resolution independence.

    Internals grab bag

    These "grab bag" sections give me a desultory to briefly touch on spellbinding features that don't warrant their own sections—or, quite often, that time constraints acquire prevented me from expanding into entire sections. For the first time, I'm giving the internals their own grab bag, to sever the more technical bits from the later grab bag that covers more user-visible features. reserve another way, this is the grab bag without screenshots. Here they go.

    Metadata in action

    Leopard is the first Mac OS X release to really rob edge of the extended attributes APIs added in Tiger. When faced with a problem that requires the storage of some information about a particular file or directory, Apple is finally using (gasp!) file system metadata to implement this. It's everywhere in Leopard. Just gape at these extended assign names:

  •—Finder comments in actual metadata. (They're also noiseless stored in the .DS_Store files, presumably for compatibility with pre-Leopard systems).
  •—Tagging files downloaded from the Internet as possibly untrustworthy, storing the application used to download them, among other things.
  •—One of a whole suite of extended attributes used by a inevitable backup feature to exist described later.
  • It's enough to construct me roar "Hallelujah!" Apple finally gets it! notice how useful this stuff is? Just imagine the insane contortions the pre-metadata-enlightenment Apple would acquire gone through to store and track totality this stuff, each application going off in its own direction with a custom implementation. So much wasted effort, so many unique bugs. No more! Extended attributes provide a general-purpose facility for doing the same things, written and debugged in one place.

    Leopard even includes a command-line utility for viewing and modifying extended attributes. Readers may recall a similar utility called xattr, created by Marquis Logan for my Tiger review. Apple's own utility actually has the same name, but slightly different command-line options.

    Other commands in Leopard acquire also become extended attributes-savvy. For example, the ls command now displays a "@" character after the permissions string for each file that has extended attributes. Wandering around a Leopard system using the ls and xattr commands will divulge just how much Apple has taken file system metadata to heart. It's about time.

    Core Text

    Mac OS X finally has a single, official, standard text drawing and layout API: Core Text. (As far as I know, this "Core" technology does not collect its own lickable sphere icon.) Core Text replaces the confusing alphabet soup of text APIs in Mac OS X Tiger and earlier, mostly inherited from classic Mac OS: ATSUI, MLTE, and QuickDraw text.

    Core Text has a cleaner API, it's faster, it's available in 64-bit, yada yada. I mention it here for two reasons. First, it's spellbinding because Core Text actually existed in Tiger as a private API. It was used by Apple's own applications as a sort of test bed for the framework. Leopard is its coming-out party, now that it's been properly refined.

    It's similar to the FSEvents situation, but in that case Apple decided that the private API that was "auditioned" in Tiger (/dev/fsevents) was not suitable for public consumption, and another solution was needed. Perhaps /dev/fsevents, unlike Core Text, was never intended to exist public, but maybe it just appears that way in hindsight. Either way, preserve your eye out for private frameworks in Leopard that could exist up for publication in 10.6.

    Second, Core Text is an indicator of how young, in relative terms, Mac OS X really is as a platform. Here's Leopard, ostensibly a age product in its sixth major release, just now getting a standard text layout API? As age as Mac OS X may seem, it was quite a mishmash of technologies at its birth: a limited BSD Unix here, some NeXT there, and a bucket of classic Mac OS splashed on top. This is totality going to rob a long time to sort out. Leopard takes some well-known steps towards the future by deprecating several venerable technologies and anointing their successors.

    Code signing

    Leopard supports cryptographically signed applications. This topic rings alarm bells for some people. The controversial Microsoft Palladium initiative increased public awareness of the issue several years ago when Microsoft misjudged the market and ended up evoking a bleak future of iron-fisted corporate control rather than the security utopia they were trying to pitch. To this day, it's arduous for some people not to notice totality such efforts as opportunistic power grabs dressed up as "security" features.

    The first thing to understand about code signing in Leopard is that it's not presented as, nor is it capable of anything so grand. It's not going to give Apple (or anyone else) complete control over your system, nor is it going to provide impenetrable security.

    Here's what it actually does. Code signing ties a cryptographically verifiable identity to a collection of code and ensures that any modification to that code is detected. No guarantees are made about the parties involved. For example, if you download an application signed by Acme Inc., you can prove nothing about it except that it came from the same entity claiming to exist Acme Inc. the ultimate time you downloaded something from their web site.

    This specimen actually highlights the most useful application of the technology from a consumer's perspective. When upgrading a Mac OS X application today, the user is often prompted to re-verify that this application is allowed to access the Keychain to retrieve usernames and passwords. This seems dote a top-notch security feature, but totality it really does is train Mac users to blindly click "Always Allow" each time it appears. And really, what is the mediocre user going to do, dash the executable through a disassembler and manually verify that the code is safe?

    A signed application, on the other hand, can mathematically prove that it is indeed a novel version of the same application from the same vendor that you expressed confidence for in the past. The result is an discontinue to dialog boxes asking you to validate a option whose safety you acquire no reasonable way to verify.

    In the end, it noiseless totality comes down to trust. Either you confidence software from Acme Inc., or you don't. That's up to you to decide. Signed applications are just as capable of erasing your arduous drive and stealing your passwords as unsigned applications.

    But unlike unsigned code, a signed application cannot exist tampered with after installation. If an application from Acme Inc. does something malicious, you can exist confident that it's not because it's been hijacked by some other bit of malware. reserve another way, well-behaved code will continue to exist well-behaved. Any attempt to modify it will discontinue it from running entirely.

    Apple has signed totality applications that ship with Leopard. I expect most reputable third-party developers to effect the same eventually.

    Code signing also means an discontinue to the practice of applications modifying themselves (e.g., saving custom theme files inside the application bundle itself rather than in ~/Library/Application Support/MyApp or another user-specific location). This practice has always been discouraged by Apple, and now there's another reason avoid it.

    So, to review, code signing does:

  • Provably seal code
  • Verify the identity of the sealer
  • Code signing does not:

  • Impart special privileges
  • Protect against bugs
  • Protect against misplaced trust
  • Provide copy protection
  • Enslave you in The Matrix
  • It may exist just a wee step towards increased security, but it's one that's done right.


    Speaking of security, Leopard also supports address space layout randomization, or ASLR. The cognomen pretty much explains it: ASLR moves stuff around in memory to construct it harder for malicious software to foretell the address of a particular piece of code. Apple noiseless has a long way to fade to reach Microsoft's current even of paranoia about security, but then Mac OS X has not been subjected to the same kinds of malware pressures that Windows has. Still, it's nice to notice Apple taking some initiative in this region rather than waiting for catastrophe to strike and then reacting.


    LLVM stands for low even virtual machine. It's an open-source project that Apple has taken under its wing, hiring the lead developer and actively improving the code. You can read totality about what LLVM can effect at the project's web site. The explanations you'll find there are benign of impenetrable if you're not already familiar with compiler technology, however. The best way to assume of LLVM is birthright there in the name: it's a virtual machine, but one that models something quite low-level, more dote a CPU than a traditional virtual machine that models an entire PC.

    Why model something so primitive? Who wants to write code that targets a virtual CPU? Well, compilers, for one. The notion is that you produce code in LLVM's platform-neutral intermediary representation (IR) and then LLVM will optimize it and then convert it to autochthonous code for the actual CPU of your choice. This conversion can exist done ahead of time, producing a traditional executable, or you can ship the platform-neutral byte code as-is and let LLVM compile it just in time (JIT).

    Why bother with the LLVM middleman? Why not let the compiler produce autochthonous code on its own? That's what most compilers do. Unfortunately, they effect so with varying degrees of quality. The point of LLVM is to provide a set of modular compiler components that anyone can use, in order to concentrate the optimization efforts currently spread among many different compilers into a solitary project, thus the utilize of a platform-neutral intermediary representation.

    Think of it as a ample funnel: every sort of code you can imagine goes in the top, totality ending up as LLVM IR. Then LLVM optimizes the hell out of it, using every trick in the book. Finally, LLVM produces autochthonous code from its IR. The concentration of evolution application is obvious: a solitary optimizer that deals with a solitary format (LLVM IR) and a solitary autochthonous code generator for each target CPU. As LLVM gets faster and smarter, every solitary compiler that uses LLVM also gets better.

    So, that's the pitch. The reality is that it will rob a long time to convince the compiler world of the merit of this approach. Apple, however, is already on board. In Leopard, LLVM is used in what might strike you as an odd place: OpenGL.

    When a video card does not advocate a particular feature in hardware (e.g., a particular pixel or vertex shader operation), a software fallback must exist provided. Modern programmable GPUs provide a particular challenge. OpenGL applications no longer just convene fixed functions, they can also pass entire miniature programs to the GPU for execution.

    Prior to LLVM, Apple implemented software fallbacks for totality of this using its own custom JIT compiler for programmable GPUs. Apple wrote autochthonous code for each primitive operation (e.g., a dot product). These chunks are then glued together at runtime to produce the CPU equivalent of the mini-program intended to fade to the GPU.

    This approach severely limits the scope of feasible optimizations. Any transformation that spans more than one primitive operation is extremely difficult, leaving only the relatively feeble and simple optimizations within each primitive.

    Still, Apple was content with its custom JIT when it only had to target 32-bit PowerPC CPUs. But as 64-bit PowerPC and later 32-bit and 64-bit Intel CPUs joined the platform, updating that JIT for totality the novel architectures (and features dote SSE, SSE2, SSE3... ) started to collect a bit hairy.

    A custom compiler with feeble optimization abilities and an ever-increasing number of target CPUs? LLVM to the rescue! In Leopard, each primitive is contained in an LLVM byte code library file (search for files with a .bc extension). Mixing calls into those byte code libraries and just-in-time compiling them into a single, comprehensively optimized chunk of autochthonous code? No problem; that's what LLVM is designed to do.

    Predictably, LLVM rocks the house in this application, performing up to several hundreds of times faster than Apple's venerable custom JIT for inevitable operations that the venerable system couldn't even JIT, but had to interpret instead. Perhaps the biggest win is that Apple's OpenGL group no longer has to maintain its own JIT compiler. The best benign of code is no code at all.

    Don't exist misled by its humble utilize in Leopard; Apple has stately plans for LLVM. How grand? How about swapping out the guts of the gcc compiler Mac OS X uses now and replacing them with the LLVM equivalents? That project is well underway. Not ambitious enough? How about ditching gcc entirely, replacing it with a completely novel LLVM-based (but gcc-compatible) compiler system? That project is called Clang, and it's already yielded some impressive performance results. In particular, its ability to effect quick incremental compilation and provide a much richer collection of metadata is a huge boon to GUI IDEs dote Xcode.

    I know this LLVM subsection is quite a digression, but even if it's only used in a limited capacity in Leopard, LLVM is quite well-known to the future of Mac OS X. Indeed, it could also exist well-known to the present of the iPhone and other OS X platforms.

    I'm not confident how the iPhone supports totality the visual effects used in its interface, but it's not unreasonable to imagine that Core Animation, OpenGL, and an LLVM-based software fallback are crucial to getting this totality to hum on a platform with a relatively feeble GPU and CPU. And did I mention that Apple recently did some extensive labor on the LLVM ARM backend? You know, ARM, the CPU used by the iPhone. Yeah, the pieces confident appear to fit.

    Anyway, thanks for the indulgence. If you want to learn more about the latest LLVM developments, check out the video of an LLVM presentation at Google given by Chris Lattner, LLVM lead developer and Apple employee.

    Objective-C 2.0

    I briefly mentioned the novel Objective-C runtime in the 64-bit section. This is section of the larger revision to the Objective-C language known as Objective-C 2.0. The version-based branding is apt because Objective-C's abilities hinge so heavily on the runtime library at its core. This library handles class introspection and extension, routine dispatch, and in the 2.0 version, memory management as well.

    That's right, the biggest word in Objective-C 2.0 is that it supports garbage collection. This is an opt-in feature, and a solitary code groundwork can exist compiled both with and without advocate for it. When garbage collection is enabled, totality manual memory management calls are simply ignored. This is how totality of Apple's Objective-C libraries in Leopard are written; they labor with garbage collection enabled or disabled.

    For developers, Objective-C 2.0 includes several features that formalize common idioms. For example, there's now built-in advocate for simple accessor and mutator methods for remonstrate properties. Writing many such methods is tedious and prostrate to mistakes. Since the best practices are, by now, well defined, Apple simply added properties as a "native" feature of the language. I reserve autochthonous in quotes because it really boils down to a form of syntactic sugar, but a limited sugar is a top-notch thing.

    Objective-C 2.0 is a ample step forward for a language that has not changed much in the past decade or so. Though Objective-C is open-source and is supported by the GNU C compiler, Apple effectively "owns" Objective-C in the same way that Microsoft owns C#. Apple is, by far, the heaviest user of the language and has the most stake in improving it. Objective-C 2.0 is a declaration of this ownership, and it appears uncontested. Mac developers, meanwhile, are lapping it up. But my eyes are on the future.

    During the introduction of Objective-C 2.0, Apple was heedful to reserve the change in context, declaring that Objective-C 2.0 is "not focused on revolutionary changes to your evolution world to achieve the next generation evolution environment" (emphasis added). That's totality well and good, but then what is going to bring that "next generation evolution environment"?

    I've been flipping out about this for years now, and the pressure just keeps mounting. What's Apple's device to transition to a dynamic, fully memory-managed evolution environment? I did a three-part blog succession on the topic (1, 2, 3) back in 2005 with the intentionally provocative title, "Avoiding Copland 2010." (The year 2010 is actually probably a few years before the head point.) In it, I pooh-poohed Objective-C with garbage collection as an unsuitable long-term solution. It appears that Apple agrees with me, but that noiseless leaves the problem unsolved.

    I'm confident there are Mac developers reading this that don't notice any problem at all, in 2010 or otherwise. I could fade off on another tangent about how programmers always appear to assume the language they're currently using provides exactly the birthright amount of abstraction for the chore at hand, with anything less dynamic being considered barbaric, and anything more dynamic seen as crazy and unsafe, but I'll spare you and rescue it for a blog post.

    In the meantime, the take-home point related to Leopard is that Objective-C 2.0 is a top-notch thing. The additions to the language construct Objective-C much more pleasant to utilize and easier to learn. The novel runtime is cleaner, faster, and more capable. Garbage collection, if it becomes as pervasive as it ought to, will serve train a novel generation of Mac developers to submission one more bookkeeping office to the computer. If there's a cliff up ahead, at least Apple's picking up speed and starting to build a ramp. I just hope there's something on the other side to land on by the time they hit the edge.

    The Finder

    Here's what I had to train about the Mac OS X Finder two years ago.

    Over the years, the Mac OS X Finder has gained a well-deserved reputation as the least pleasing bundled Mac OS X application. [...] While some people dote it, few admire it, and many abominate it.

    To a casual observer, this might display a bit extreme. The Mac OS X Finder seems, if not glamorous, then at least benign. What's the ample deal? The wicked feelings about the Finder don't spring from a solitary source. There are at least three sever threads of Finder dissatisfaction, usually appearing in combinations of two or more in any given Finder malcontent.

    I went on to describe those three threads of dissatisfaction: spatial/browser-mode interaction, performance, and "the limited things." That summary is noiseless worth reading; totality three pillars of Finder angst remain material in Leopard.

    They're material partly because the Leopard Finder makes an application to address each one directly. "Address" does not weigh in "resolve," however. But first, some top-notch news.


    The Leopard Finder seems to acquire finally sorted out how to deal with most network resources without locking up its entire user interface. I know there acquire been wrong alarms about this in the past, but I assume Apple really did it this time.

    Case in point: iDisk. Even when .Mac is extremely slack to respond, the iDisk window appears instantly. Granted, the window may exist bare for some time as the Finder waits for .Mac to send data, but the well-known point is that control is immediately returned to the user. reserve that iDisk window aside and forward back to it later when it's finished loading; you can continue your labor elsewhere. Ah, blessed sanity.

    This applies to local folders too. I can open a folder with over 10,000 items in it and then immediately switch to another Finder window and effect something else while it loads. But I shouldn't really bother because it'll load in only a second or two. Scrolling through 10,000 items noiseless has a few hiccups, but it seems mostly i/o bound now, as it should be. The dreaded beach ball never appears during this exercise.

    Problems noiseless lurk, however. For example, connecting via FTP (sorry, noiseless read-only), putting the server to sleep, then attempting to open a folder on the server will sometimes result in some quality beach ball time. The timeout seems reduced from Tiger, however. The "Server connection interrupted" dialog appears in about fifteen seconds.

    Other times, it works just dote the iDisk case: a novel window appears with a spinning progress indicator in its status bar, and control returns to the user immediately. I don't know why the beach ball appears so sporadically, but it's noiseless a refreshing change from the days when it was omnipresent.

    Disk i/o in universal feels snappier in the Leopard Finder. The most prominent specimen is how quickly icon previews are generated. Perhaps it's not so much that they're generated quickly, but that the chore is accomplished with so limited fuss. The disk ticks, the generic icons are replaced with previews, and totality the while the Finder remains responsive to other actions.

    Overall, I acquire to train this is the most significant performance improvement in the history of the Mac OS X Finder. There's noiseless more labor to exist done on the dim corners of network connectivity, but the underlying issues appear to acquire been addressed.

    The limited things

    The Leopard Finder goes a long way towards fixing totality those niggling limited issues that acquire been driving people nuts for years. In fact, several of my own personal peeves acquire been addressed. preserve this positive outlook in wit as I embark on one ultimate rant about how long this has totality taken.

    I'll start with two screenshots (highlights added).

    Rename without warnings Adjustable grid spacing

    It's arduous for me not to utilize profanity at this point, so thoroughly effect these two additions infuriate me. On the one hand, I've been wishing, hoping, and sometimes begging for these features for years, and I'm cheerful to finally notice them in Leopard. But on the other hand, actually using these features and experiencing how much more pleasant they construct my daily life on the Mac—as I knew they would—only reminds me of how stubbornly Apple refused to add them for the past six years!

    Oh, the agony inflicted for want of such simple features! In the case of the icon grid spacing adjustment, this is something that existed in a lesser form (only two settings: tense and wide) in classic Mac OS and was dropped during the transition to Mac OS X, dote so many other features, without explanation or justification. Worse, the spacing between icons was expanded to a comical size in Mac OS X 10.0 and never recovered. It always seemed to me to exist some sort of punishment for daring to utilize icon view. Just gape at this screenshot from Tiger showing the Applications folder with 48x48 pixel icons, scaled to 50 percent of its original size.

    Icon view in TigerIcon view in Tiger

    Apparently the super-secret technology that enables adjustable grid spacing has finally been rediscovered at Apple, presumably in a huge warehouse filled with identical-looking crates of classic Mac OS technology. Here's a screenshot of the same folder with the same 48x48 icons, scaled to the same 50 percent of its original size, when viewed with sane icon spacing in Leopard.

    Icon view in LeopardIcon view in Leopard

    No names are truncated, every solitary icon is visible, and the window uses about half the number of pixels. Amazing, this modern world they live in.

    As for the warning when changing file cognomen extensions, it's a reasonable thing to effect in a system where (unfortunately) file cognomen mangling is the official way to encode file type metadata. It's the inability to disable the warning that's so obnoxious. Again, the changes required to effect this are not complicated. Why did it rob so long?

    I'm confident the words "limited resources" and "priorities" would display in any explanation Apple would give (as if they'd ever give one, ha), but ironically, I assume that misses the bigger picture. What they acquire here is a textbook case of priority inversion: two seemingly insignificant features held back for years, unnecessarily fomenting ill will by needling users on a daily basis, effectively blocking the higher priority chore of making a Mac OS X Finder that everyone can devour using—or, reserve less charitably, that fewer people loathe.

    Obviously, everyone's pet features can't exist added, but at a inevitable point the ratio of "ease of implementation" to "annoyance caused by their absence" tips over in favor of features dote this. There were already enough legitimate reasons for people to abominate the Finder. Leaving limited annoyances dote this around for so long was just rubbing salt into the wounds.

    Okay, rant over. Adjustable grid spacing and the ability to silence file renaming warnings are finally here in Leopard. These tiny features will construct a disproportionately huge improvement in the lives of many thousands, perhaps millions of users. Apple gets replete credit for recognizing the worst offenders and fixing them. The fact that it took so long is a shame, but much better late than never.

    New views

    The novel Finder also has some spellbinding novel features. We'll start with the visual.

    The Leopard window gape suits the Finder well, blessedly excising the tubby borders of its metal ancestors. On the down side, the browser sidebar has adopted the iTunes look, with the obnoxious totality CAPS headings and custom highlight style.

    The Finder sidebarThe Finder sidebar

    As you can notice above, list view items now acquire alternating background colors—a welcome change. Cover tide continues its march through Apple's product line, now appearing in the Finder as well as iTunes, iPhone, and iPod.

    Cover FlowCover Flow

    Smart folders collect a plot in the sidebar, with the default set shown above. As usual, a top-notch selection of defaults goes a long way towards making a feature more useful. Even for people who acquire no notion what a smart folder is, the Today, Yesterday, and Past Week items are immediately understandable and useful.

    By default, any smart folder created will initially display in the sidebar. Drag it off and watch it fade poof. Drag it back on and it can fade in either the PLACES or SEARCH FOR sections (so obnoxious... ). Smart folders remain plain XML files that are simply treated specially by the Finder.

    Finally, icon previews collect even more aggressive in Leopard. The Finder goes to powerful lengths to provide previews for even the most mundane and inscrutable of file types.

    Text icon previewsText icon previews

    The squinty text seems benign of silly, but believe it or not, you can actually construct out the basic structure of the document (well, the first page, anyway) even at icon sizes smaller than those shown above. And as you'll soon see, a quick preview of the file's contents is only a keystroke away.

    Quick Look

    The novel Quick gape feature, denoted by the stylized eye icon in the toolbar, provides a surprisingly quick and moneyed preview of file contents. Its keyboard shortcut is particularly convenient. Just select any file and hit the space bar to notice a preview. Here's an example.

    Quick Look. Enlarge / Quick Look.

    Most of the time, the black-tinted Quick gape pane pops up instantly. This responsiveness makes the feature much more likely to exist used. The speed extends even to more tangled document types, such as PDFs, in which the "preview" isn't far removed from actually opening the file.

    Quick Look: PDFQuick Look: PDF

    That's a resizable, page-able view of the entire PDF. The dual arrows at the bottom expand it to full-screen, providing a nice way to effect a quick presentation.

    Quick gape has a plug-in architecture similar to Spotlight. Developers must create plug-ins that can read their own proprietary document types and generate previews. Leopard ships with plug-ins for most standard file formats.


    Spotlight's crazy orphan search windows are gone in Leopard, leaving only its incarnation in the Finder—and a greatly improved incarnation, at that. Check it out.

    Spotlight searchSpotlight search: nested boolean logic!

    Yes, that's right, nested boolean logic is finally supported! Just option-click on one of the circular "+" widgets to create a novel nested clause. Combined with the aforementioned rewrite of the Spotlight indexing system, the novel file search interface is now what it should acquire been totality along: powerful, understandable, and fast.

    Access control lists

    Access control lists, introduced in Tiger but disabled by default, are now enabled by default in Leopard. The Finder's "Get Info" window includes a novel pane for adjusting them.

    Access Control ListsAccess Control Lists

    Changes made to this pane that descend within the realm of standard Unix permissions are handled as such. Any rules that fade beyond that will trigger the creation of an ACL. It's a nice unified GUI for concepts that are only sever internally for historical reasons.

    (Note that the GUI provides only the basic options: read only, write only, and read/write. You noiseless acquire to refer to the chmod command for more fine-grained control.)

    Screen sharing

    Leopard has extensive advocate for screen sharing—that is, the ability to notice another computer's screen in a window on your Mac and (optionally) control that computer with your mouse and keyboard—using the VNC standard as well as Apple's own Remote Desktop protocol. Both the client and server are included in Leopard, and the Finder is the gateway to the client. Browsing a networked computer that has a server for one of the supported protocols enabled will divulge a "Share Screen" button.

    Screen sharingScreen sharing

    Clicking it will launch the Screen Sharing application which is surprisingly capable, including many features absent from the pre-Leopard versions of the commercial Apple Remote Desktop product. In particular, scaling and adaptive quality control construct this client noticeably faster.

    Screen sharing applicationScreen sharing application

    In the screenshot above, I've scaled the remote computer (a Mac running Tiger and Apple Remote Desktop) to an extreme degree, but it's noiseless fully functional and surprisingly usable even at this tiny size. The preferences dialog in the front belongs to the Screen Sharing application, as does the toolbar with handy "Send to/from Clipboard" buttons on it.

    The Screen Sharing application is hidden in /System/Library/CoreServices, but can exist launched manually and used to connect to another computer if you know the IP address. You'll exist prompted for a username and password, with the option to explicitly request consent to share the screen.

    (Screen sharing is also built into iChat, though it appears to require both participants to exist running Leopard. URLs in the form vnc://... will also labor in the Finder.)

    If you are your family's "Mac guy," the newfound ubiquitousness of screen sharing lonely is reason enough to collect everyone to upgrade to Leopard.

    An application divided against itself

    The Finder noiseless can't quite settle what it wants to exist when it grows up, a file browser or a spatial file manager. A cleanly separation of concerns would allow it to exist both, but this is a solution that Apple has thus far avoided.

    In Leopard, the two window types remain: the sidebar/toolbar-sporting "browser" window style, and the style that lacks both the sidebar and toolbar. Opening a folder from within a browser-style Finder window replaces the contents of that window, whereas the same action in a non-browser window causes a novel window to exist opened.

    The latter style is often called "spatial" because the creation of a novel window for each folder is a prominent conduct of the classic Mac OS Finder and other file browsers that link spatial window condition (size, position, etc.) to individual folders. But there's more to being a spatial file manager than opening a novel window for each folder. The basic requirements for a spatial file manager are:

  • Each folder is represented by a solitary window.
  • Each window is unambiguously and irrevocably tied to a particular folder.
  • All changes to the spatial condition of a window are preserved (e.g. size, position, color, view style, etc.)
  • Sorry for the review, but it's been a few years since I've covered this ground. I'm not, however, going to present an dispute in favor of spatial file management in this review. (I wrote one four years ago, if you're interested.) I'm just trying to define the terms of the debate.

    Historically, the Mac OS X Finder has not fulfilled the requirements described above and therefore could not exist considered to acquire a proper "spatial mode." In particular, requirement number two is violated ten ways to Sunday by the oblong toolbar button that transforms any Finder window into a browser (i.e., a portal through which the contents of any folder can exist viewed).

    Of course, the mere presence of this ability isn't the same thing as it actually happening. For a simulated spatial Finder, why can't a user simply elect not to transform Finder windows in this way? The converse goes for those that want a purely browser-style Finder.

    Sadly, working around the Finder's identity head has not been so easy. In totality past releases of the Mac OS X Finder, it was impossible to labor with one benign of window without the other benign popping up in your physiognomy periodically, unrequested and unwanted. This annoyed browser and spatial aficionados alike.

    Upon first using the Leopard Finder, you will exist forgiven for thinking that things are looking up on the spatial/browser front. Windows are much less likely to sprout (or un-sprout) sidebars and toolbars without being explicitly asked to effect so. Sure, novel folders created on the desktop noiseless appear to unconditionally open in browser mode, but overall there's been an improvement over past releases.

    Unfortunately, things are much more grim than they first display for fans of spatial file management—or anyone else that cares about view style retention in the Finder.

    The Leopard Finder makes its usual, halfhearted, buggy attempt to retain window size and position for each folder. It noiseless does so using .DS_Store files in each directory, and those files are noiseless written in an undocumented binary format. What the Leopard Finder no longer even attempts to do, however, is recall the view style for each folder (e.g., list view, icon view) unless explicitly asked to effect so by the user. Here are the steps required to effect that.

  • Open the folder.
  • Set its view style to the desired state.
  • Open the View Options panel (type command-j or select the detail in the View menu).
  • Check the "Always open in ... " checkbox, where "... " will exist the view style set in step 2.
  • This process must exist repeated for every solitary folder that you want to retain its view style. If you effect not effect this, the view style of any given folder will exist the same as the ultimate view style that you explicitly selected for any folder.

    In other words, while window size and position remain attributes of individual folders, view style is now a global assign of the Finder application itself (optionally overridden by a per-folder setting that must exist manually applied as described above). Here's a demonstration.

    Finder global view style.

    Note how Folder B's view style appears to mimic the view style set for Folder A. What's really happening is that the global Finder view style setting is being changed. Changing the view style anywhere—whether it's in Folder A, Folder B, or somewhere else—determines the view style that every newly opened Finder window will use. The only exceptions are those folders that acquire had their view styles manually pinned to a particular value using the "Always open in ... " checkbox.

    And by the way, checking that checkbox does not weigh in that future changes to the view style of that folder will exist retained. If you want to retain a view style change to such a folder, you must effect the following.

  • Open the folder.
  • Set its view style to the desired state.
  • Open the View Options panel.
  • Uncheck the "Always open in ... " checkbox, where "... " will exist the view style as it appeared in step 1.
  • Check the "Always open in ... " checkbox, where "... " will now exist the style set in step 2.
  • Again, reiterate this process for every every solitary folder that you want to retain the novel view style that you've set for it.

    This avalanche of mandatory categorical action effectively represents a denial of service beset on the spatial style of file management. It overloads the user with a never-ending stream of mundane tasks, making the formerly transparent process of view style retention so inefficient that it will likely exist abandoned entirely.

    If the Mac OS X Finder wants to exist a unadulterated browser, then fine, fade for it. But in a proper browser, totality view state—not just view style—is rightfully an assign of the browser itself rather than the thing being viewed. For example, when opening a URL in Safari, the Safari application determines the size, position, and adornment (toolbars, etc.) of the resulting window, not the web site being viewed.

    So why has the Leopard Finder chosen to construct view style lonely an assign of the application, leaving window size and position as implicitly belonging to each folder? Why the continued charade of the two different window styles? Hell, what explains the continued actuality of the global "Always open folders in a novel window" preference that effectively stops any window from being a proper browser?

    The Finder remains a truly conflicted application. On the one hand, the balance has shifted heavily in favor of browser-style file management in Leopard. On the other hand, many features related to spatial file management remain. It's a mess, and shifting the mess to one side or the other is not going to serve much. It's particularly painful to watch Apple continue to flounder in this region when there's a blindingly obvious solution.

    Of course, Apple could fade all-browser or all-spatial, but presumably neither of those extremes is attractive or we'd acquire seen one already. No, the Finder has to effect both. I've often gone into powerful detail about the particulars of such a Finder, but apparently there's too much nuance in that approach. Let me train it more plainly: for the admire of God, Apple, just freaking sever the two modes! Let each exist genuine to itself, free to wave and expand in the usurp ways. I can seethe it down to three bullet points.

  • Two window styles: browser and spatial.
  • No ability to transform a window from one style to another.
  • The "New Finder Window" command becomes "New Browser Window."
  • Then just construct the browser and spatial windows behave according to the rules of their respective well-established conventions. That's it! Oh, sure, there are details to exist sorted out, like, say, coming up with a reliable, efficient, user-specific mechanism for storing view condition information, eliminating the scourge of .DS_Store files. But these are details; collect the two modes sorted and everything else will descend into plot eventually.

    The Finder on the couch

    I first noticed the novel view style conduct in Leopard when I logged in one day and saw that totality my open Finder windows had reverted to icon view. That's obviously a bug, I thought, and I filed one with Apple. As I investigated further and came to understand the underlying cause, I replaced the previous bug with a novel one that reported the freakish "global view state" phenomenon. Needless to say, the bug was closed with the status "Behaves Correctly."

    Uncharacteristically for Apple, a brief explanation of the rationale for the change accompanied the closure. The boilerplate-esque text said, in part, "To appeal to most users, the view style mechanism has changed in Leopard. [... ] To view totality folders in your favorite view style you need only click on the view style button once, and you will remain in that view style."

    Rarely are they given any insight into Apple's reasoning when it comes to user interface changes, so I'm inclined to mine this tiny nugget for totality its worth. It seems transparent to me that the novel conduct is intended to meet a exact for more browser-like behavior, something that "most users" acquire told Apple they want. I don't find that surprising; ever since the sidebar appeared, the Finder has certainly looked the section of a browser. Its behavior, however, has remained schizophrenic. The common user response: "It looks dote a browser, but doesn't behave dote one. gladden reform this."

    On the other hand, apparently some people at Apple believe that going to a full-on browser would exist too much. Perhaps they alarm it will result in a flood of complaints about "windows not remembering their settings."

    This is the type of feedback you can expect from regular users: expressions of particular pang points. It's not their job to solve the Finder's problems or even to understand the underlying causes. But being reactive to this benign of feedback at this even of granularity will only lead to feature churn.

    And so you collect changes dote those made to the Leopard Finder. A change here to address a situation where the Finder isn't browser-like enough, implemented in such a way that it (further) breaks spatial mode. Oops, now let's pitch in an "Always open in ... " view option to construct those other people happy. And round and round it goes. thrust something in over here, something else pops out over there. No one is thinking about the ample picture.

    As a sop for spatial file management fans, the "Always open in ... " view option fails spectacularly. It's more dote a giant middle finger from Apple. At the very least, an option to restore the pre-Leopard conduct of automatically retaining view style on a per-folder basis (radar 5543643) is necessary to restore some semblance of balance. But in the long run, it's totality barren unless the larger issues are addressed.

    Finder summary

    The Finder was one of the biggest surprises for me in Leopard. It was not apparent at totality from the brief Leopard Finder demos shown at the various Macworld Expo and WWDC keynotes that such significant changes had been made. Certainly, there's wasn't even a whiff of the novel policy on view style retention.

    After many years of bugs, impoverished performance, a feeble browser, and a pseudo-spatial mode, it'll exist spellbinding to notice what benign of reaction this change gets in the wider Mac community. You don't need to know or permeate about any of the high-concept user interface theories to collect annoyed when the results of your actions are not respected enough to exist preserved. On the other hand, the Finder has been flaky about condition preservation for years. How many Mac users acquire simply given up trying to construct the Finder a familiar, hospitable place? Maybe no one will even notice that view style changes are no longer preserved automatically.

    Well I confident as hell noticed, and it pisses me off. I'll exist gritting my teeth as I gad my arduous drives, manually pinning down the view style of each folder I permeate about. I'll grimace every time I naively change a view style only to exist surprised later when I realize that my change was ignored because I forgot to (re)pin it manually. I'll curse as I disburse time and energy finding a way to automate the entire tedious process. (I've gotten as far as figuring out how to set the "Always open in ... " checkbox using a hex editor on the usurp .DS_Store file. Sad, but true.)

    The Leopard Finder's saving grace may exist that the increased responsiveness and novel features are likely to overshadow totality other issues, and will fade a long way towards damping the flames of hatred burning in inevitable corners of the Mac world (even as the view style changes ignite more).

    Way back in 2002, I wrote that "the changes being made to the Mac OS X Finder betray a fundamental need of vision." This continues to exist the case. Not only does the Leopard Finder rob no bold steps towards a courageous novel world of file management, it even further distances itself from a coherent incarnation of established file management paradigms. The changes in Leopard effect bespeak that Apple has taken a renewed interest in improving the Finder, but motion is not the same thing as progress. For where I'm sitting, it looks dote one step forward, two steps back.

    The Dock

    If the Finder looks dote a starlet headed for rehab, then the Dock is out on a bender in Leopard. We've already seen the aesthetic damage. Now it's time to rob stock of the functional vandalism.

    The left side of the Dock remains mostly unchanged. It noiseless holds only applications, running or otherwise. totality of the novel features are on the birthright half of the Dock, where "everything else" lives. Files, minimized windows, and the trash totality pass into Leopard unscathed. It's docked folders that received the most attention from Apple, for better or for worse. (Mostly worse.)

    First off, I cheated a bit earlier with the screenshot of special folders. Docked folders in Leopard parade their actual folder icons only when they are empty. Docked folders containing one or more items parade the icons of those items stacked on top of each other, sorted by cognomen (the default), kind, or date. In a fresh Leopard install, here's what the Applications folder will gape dote in the dock.

    The Applications folder in the DockThe Applications folder in the Dock

    Seriously. It gets worse. Let's add the novel Downloads folder next to the Application folder. Here's what it looks dote in the Dock after downloading your first disk image.

    The Downloads folder(!) in the DockThe Downloads folder(!) in the Dock

    Yep, that's it birthright next to the trash. I kid you not. Let's add an actual disk image file to the Dock.

    The Downloads folder and a disk image in the DockThe Downloads folder and a disk image in the Dock

    That's the Downloads folder on the left, and the disk image file on the right. It's slightly bigger.

    If you are not shaking your head, uttering something profane, or taking some deity's cognomen in hollow birthright about now, congratulations, Apple may acquire a position for you in their user interface design group.

    Do I need to further account for my objection to this insanity? I hope not, but if so, let's continue by looking at a more typical Dock with several folders containing multiple items. First, the Tiger version.

    Docked folders in TigerDocked folders in Tiger

    Now Leopard.

    Docked folders in LeopardDocked folders in Leopard

    Just try and freaking guess what those icons are in the Leopard Dock, I dare you. Sure, two of them are probably easy: the Applications folder that you've already seen, and maybe the Downloads folder which just has two additional items in it. But the others? Forget it. Here's the actual list, from left to right: Home, Applications, Downloads, Documents, Pictures, Movies. And yes, I had to scrub my mouse over the icons to collect that list right.

    When it comes to ease of identification, the Tiger version wins, hands down. And recall that the icons in the Leopard Dock will change their appearance as the contents of those folders change over time.

    In the Leopard Dock, my home folder appears as a bunch of stacked folder icons because that's mostly what it contains: other folders. There's actually one document peeking out in the middle of the stack as a sliver of white. The icon on the top is the Desktop folder icon. So, out of the box, your home folder, when docked, appears to exist the Desktop folder.

    We already talked about Applications. It's basically Address Book, the head of the Automator robot icon, then a bit of folder peeking out the sides. My Documents, Pictures, and Movies folders totality hold mostly other folders as the first few items, alphabetically.

    Changing the sorting doesn't serve much. The problem is that this is fundamentally a wicked idea. There's just not enough leeway in a solitary Dock tile for a stack of icons to convey any meaningful information. Only the top one, two, maybe three items acquire any visual impact. And those few items may exist delusive (e.g., the home folder appearing to exist the Desktop folder) or completely generic (e.g., the Pictures and Movies folders showing up as plain folder icons.) Seriously, Apple, this is a wicked idea. And effect I need to divulge you that there's no way to disable this behavior? Sigh. And we're not done yet.

    Clicking a non-empty docked folder that contains other items no longer opens the folder in the Finder. Before I collect into what does occur when you click on a docked folder, let me further point out that (surprise!) there is apparently no way to collect the venerable conduct back. I modifier-clicked my fingers off with no luck. Yes, there's noiseless the "Show in Finder" context menu item, and as we'll see, at least one other alternative that requires two clicks (possibly quite distantly separated), but nothing as succinct as the conduct that existed in Mac OS X 10.0 through 10.4. Leopard just takes this feature away.

    Here's what does occur when you click a docked folder. If the folder is empty, it opens in the Finder. If it is not bare but contains less than a dozen or so items, it sprouts a curving stack of icons, topped by a "Show in Finder" button. Clicking on an icon is the same as opening it in the Finder: folders open in a novel Finder window, documents open in the usurp application, and applications launch. A command-click reveals an detail in the Finder.

    Docked folder stackDocked folder stack

    Apple calls this view "Fan." The curve is jaunty, but it also makes it a bit more difficult to click items high in the stack, requiring a varying amount of lateral motion rather than a straight shot upwards. Putting the "Show in Finder" icon is at the top seems particularly cruel. If it were at the bottom, the two clicks required to open a docked folder in the Finder would exist tolerably nigh together.

    If there are many items in a folder, clicking on its dock icon reveals an icon grid on a tinted background.

    Docked folder gridDocked folder grid

    Items in the grid respond to clicks in the same ways as items in the fan view. Each docked folder can exist viewed as a fan or a grid or can exist set to "automatic" (the default), which uses a fan when there are few items and switches to grid to wield many items.

    Both of these novel features are actually pretty nice. It's too wicked Apple decided to completely supplant the venerable behavior. It would acquire been so simple to acquire it all: just add a "Window" menu detail alongside Fan and Grid in the "View as" submenu.

    Docked folder views: a suggestionDocked folder views: a suggestion

    Finally, the Leopard Dock is spring-loaded, at long last. That is, when dragging an detail onto a docked folder and holding it over the folder for a few moments, the docked folder springs open to divulge its contents, allowing further nesting of the dragged item.

    Taking stock of the Dock

    Put simply, there are few positive changes to the Dock in Leopard. Fans and grids are nice, but even those novel features are hampered by the needless abandonment of venerable behaviors. The "stacked contents" docked folder parade routine is a total loss. burn it with fire, or at least provide some way to revolve it off.

    And lest they forget, despite these novel Leopard feature, the Dock is noiseless quite anemic. This isn't talked about much these days, but totality the venerable power-user complaints about the Dock noiseless acquire merit: the need for icon scrubbing, the affecting targets, the whimsical division of items, the way each office affects the others (e.g., minimizing many windows makes the Dock a less effective launcher by shrinking and affecting totality items), etc.

    The benefits of the Dock are obvious and well established. Many of its weaknesses are actually strengths for beginners and users with less tangled needs. But as the boneheaded changes to the Leopard Dock amply illustrate, there's one persistent fact that makes the Dock's failings stand out: you acquire to utilize it.

    Mac OS X forces you to utilize the Dock by making it the exclusive home for some essential functionality. The three biggies are window minimization, application notifications (i.e., bouncing icons and icon badges), and application Dock menus. Maybe you could give up one of those, but it's pretty much impossible to live without having any of them.

    Replacing or even just replicating any of these features elsewhere can only exist done using scary, unsupported hacks (and thank God that's even possible) or inefficient, application-specific work-arounds (e.g., polling via Apple Events to simulate Dock icon badges for unread message counts and so on).

    If Apple's going to not only reject to construct the Dock better suited to more tangled or demanding usage scenarios, but also periodically hose existing functionality and add really terrible novel behaviors, it needs to rob away the Dock's exclusive ownership of essential features. Let me shroud the Dock entirely and utilize a third-party replacement without sacrificing basic functionality and without compromising the stability of my system. I know it's always a pang to add novel public APIs, but these changes are long overdue, and they'd capitalize Apple in the long dash as well. Mr. Serlet, split down this wall! Don't force me to utilize the Dock, and I swear I'll discontinue actively hating it.

    Time Machine

    Time Machine is the best novel feature in Leopard, perhaps the best feature ever added to Mac OS X. reserve simply, Time Machine is a backup and recovery system that people will actually use. It effectively cuts the Gordian Knot of the age-old backup pickle for natural users: "I know I should back up, but I never do. I wouldn't even know how to effect something dote that anyway." Well, enough of that. If you acquire more than one arduous disk attached to your Mac, it's more difficult not to utilize Time Machine than to utilize it.

    Backup disk selection dialogBackup disk selection dialog

    The first time two or more arduous disks are connected to a Mac running Leopard, a dialog box will display asking the user to select a backup disk. elect one and you're done; no further action is needed. Were you to gad over to the Time Machine preference pane, you'd notice this tidy limited display.

    Time Machine preferencesTime Machine preference pane

    The comically huge on/off button dominates the screen. (Shades of the iPhone "slide to unlock" control, eh?) The only two other controls are the "Change Disk" button and the "Options" button which leads to this dialog.

    Backup optionsBackup options

    It's totality pretty self-explanatory, and the defaults are sensible enough that no one ever even needs to know these screens exist.

    The benefits of Time Machine are revealed in two well-known ways. First, if your main arduous drive dies or is replaced, booting from the Leopard install DVD will provide a one-click way to restore from your ultimate Time Machine backup. Second, when viewing any window in the Finder, triggering a special mode will parade the contents of that window at totality points in the past for which backup data exists. Files can exist recovered from the past, replacing the current incarnations or existing alongside them.

    This totality sounds so simple that it's boring, but that's the genius of it. Apple took a survey of its customers' backup habits before creating Time Machine. Eighty percent of Mac users said they knew they should backup their data. (This is scary already. Only 80 percent?) Twenty-six percent said they effect backup their data. That actually doesn't sound too wicked until you collect to the next question. Only four percent backup regularly.

    In a nutshell, this means that if you could snap your fingers and construct one Mac user's main arduous drive disappear, there's a 96 percent desultory that you just destroyed files that are completely unrecoverable. With more and more irreplaceable personal data being stored on Macs (e.g., family photos and movies) it'd exist irresponsible of Apple not to address this issue in some way.

    I harped on this topic a bit a few years ago, coming at it from the hardware side by suggesting that Apple reserve at least two arduous drives in every Mac. In Leopard, Apple has approached the problem from the other direction, eliminating the software hurdles and relying on Mac users to supply the additional arduous drive.

    In hindsight, this is a more practical solution. Mac users are much more likely to purchase and attach a spare arduous drive than they are to navigate the complexities of backup software on their own—software that may cost as much as a arduous drive, these days.

    And as the icing on the cake, Apple even made file recovery fun. It starts with the icon for the Time Machine, which is in the Dock by default.

    Time Machine iconTime Machine icon

    Click it and everything but the front-most Finder window falls off the screen, revealing a crazy-ass swirling nebula and affecting star field, into which fades a succession of historic incarnations of the lone remaining Finder window.

    Time Machine mode (cropped due to space constraints;  notice Apple's web site for <a href="">more images</a>)Time Machine mode (cropped due to space constraints; notice Apple's web site for more images)

    Cancel "button"

    Cancel "button"

    Time line

    Time line

    Completely non-standard arrows and buttons are used to navigate and restore files. A timeline along the birthright shows each backup as a tick mark, magnifying the marks on mouse-over much dote the Dock magnification feature. It's totality completely ridiculous, and you know what? I admire it!

    I'm willing to indulge Apple when it comes to these flourishes in Time Machine for two reasons. First, not a soul of the silliness renders the features significantly less usable. Yes, those arrow buttons are crazy, but they're also huge click targets, and they clearly convey their purposes. Ditto for the buttons at the bottom. Second, and most importantly, Time Machine is designed in such a way that it's easy—almost trivial, in fact—for third-party developers to create their own interface to manage backed-up data. Which leads us to...

    Time Machine internals

    Backups are stored in a folder named Backups.backupdb at the top even of the drive selected as the Time Machine backup repository. Within that is a folder with the computer cognomen (as set in the Sharing preference pane in System Preferences) which contains a succession of date-stamped folders (YYYY-MM-DD HHMMSS), each of which contains a folder named for each volume being backed up. Here's an example.

    Time Machine backup "database"Time Machine backup "database"

    In this case, the computer cognomen is "Leopard" and the arduous drive cognomen is "Leopard Demo." Each "Leopard Demo" folder contains the complete contents of the volume as it existed at the time indicated by the parent folder's name.

    Wait a second, the complete contents? Let's see, there are ten date-stamped folders, each containing a "Leopard Demo" folder... does that weigh in that the Time Machine backup drive shown above is at least ten times larger than the Leopard Demo volume? Fortunately, no. Time Machine is a bit more ingenious than that.

    When creating a novel date-stamped backup, Time Machine does not copy any files that acquire not been modified since the ultimate backup. The same goes for entire folders; if totality the files in a particular folder acquire not been modified, then the entire folder is not copied.

    And yet there they totality are. If you navigate into one of the "Leopard Demo" folders, you'll notice every solitary file. Not aliases, not symlinks, the actual files:

    Complete disk contents in each backupComplete disk contents in each backup

    Well, sort of. In my Tiger review, I included an explanation of Unix file permissions. To understand what Time Machine is doing, you must first know something about another standard Unix feature: symbolic links and arduous links. This is very basic stuff for anyone with Unix experience, but I got a lot of positive feedback about the Unix permissions tutorial so I hope you'll allow me a brief digression. Feel free to skip this section if you know this stuff already.

    Symbolic links and arduous links

    Mac OS has included the ability to create an "alias" of a file since System 7. Aliases are small, plain files whose contents are interpreted by the Finder and other Mac OS APIs, allowing the original file to exist found. To the core OS in Mac OS X, however, aliases are meaningless. They're literally just small, plain files. (In fact, their size is shown as zero because totality the data is in the resource fork.) The first section of this lesson is that aliases acquire absolutely nothing to effect with symbolic links and arduous links.

    For decades, Unix has had two ways to effect something similar to what aliases do: symbolic links and arduous links. A symbolic link, also called a symlink, is a pointer to another file. The location of this file is specified using an absolute or relative path string. Symbolic links are created with the ln command using the -s flag. Here's an example.

    % ls -l -rw-r--r-- 1 john staff 894 Oct 18 10:04 myfile % ln -s myfile mysymlink % ls -l -rw-r--r-- 1 john staff 894 Oct 18 10:04 myfile lrwxr-xr-x 1 john staff 6 Oct 18 10:06 mysymlink -> myfile

    As indicated by the leading "l" in the Unix permissions string, mysymlink is a symbolic link. It points to myfile, which the ls command shows to the birthright of the limited ASCII arrow. Note that the symbolic link is tiny: only six bytes. That's not a coincidence. Symbolic links are "dumb" in that they literally hold nothing more than the target file path as a string. In this case, the string is the relative path "myfile" which (surprise) is exactly six characters long.

    If I chase mysymlink to an entirely different directory that also happens to hold a file named myfile, then the symlink will point to that file instead. If I delete myfile, the symlink will remain, noiseless containing that same path string which no longer leads to an actual file. Observe:

    % rm myfile % cat mysymlink cat: mysymlink: No such file or directory

    The mistake reported is a bit confusing. The mysymlink file noiseless exists. But when the operating system attempts to open that file, it dutifully follows the symbolic link and finds that there is no file at the path specified by the link. The cat command then reports the mistake it encountered when trying to open the file it was originally told to open.

    This property of symlinks can also exist considered a feature in some circumstances: "simple" rather than "dumb." But sometimes a more robust mechanism is needed. Enter arduous links.

    A arduous link is simply a reference to some data on disk. assume of a file as a combination of a cognomen and a pointer to some data. Deleting a file really means deleting the cognomen portion of that duo. When there are no more names pointing to a particular piece of data disk, then that disk space can exist reused.

    Most files acquire just one name. In effect, every plain file is a arduous link. rob another gape at the myfile listing from before.

    -rw-r--r-- 1 john staff 894 Oct 18 10:04 myfile

    See that number "1" birthright before the word "john"? That indicates that the data linked to the cognomen myfile has only one name. In other words, deleting myfile will drop the signify to zero, allowing the disk space previously used by myfile to exist used for other purposes. Note that creating a symlink does not increment this number.

    % ls -l -rw-r--r-- 1 john staff 894 Oct 18 10:04 myfile lrwxr-xr-x 1 john staff 6 Oct 18 10:06 mysymlink -> myfile

    In fact, the symlink itself has a "1" in that column, indicating that there is only one cognomen linked to those the six bytes of data. Now let's construct a arduous link, again using the ln command, but this time with no flags.

    % ln myfile myhardlink % ls -l -rw-r--r-- 2 john staff 894 Oct 18 10:04 myfile -rw-r--r-- 2 john staff 894 Oct 18 10:04 myhardlink lrwxr-xr-x 1 john staff 6 Oct 18 10:06 mysymlink -> myfile

    Now the link signify for both myfile and myhardlink is two. This indicates that the data linked to by myfile has two names, and the data linked to by myhardlink has two names. In this case, both link to the same data. They acquire no way of knowing that merely by looking at the link counts; they know because they just ran the ln command ourselves.

    Though the size for both myfile and myhardlink is listed as 894 bytes, those 894 bytes exist only once on the disk. Again, it's one chunk of data with two names. As far as the OS is concerned, neither myfile nor myhardlink is the "real" file. They are both equally real, as actual as either one would exist if the link signify was one instead of two.

    Since these two files link to the same data, the results of modifying that data will exist reflected in each file. For example, let's add five bytes to the chunk of data linked to myfile (the word "test" plus a newline character):

    % cat >> myfile test ^D

    Now let's gape at the result.

    % ls -l total 24 -rw-r--r-- 2 john staff 899 Oct 18 10:38 myfile -rw-r--r-- 2 john staff 899 Oct 18 10:38 myhardlink lrwxr-xr-x 1 john staff 6 Oct 18 10:06 mysymlink -> myfile

    The sizes of myfile and myhardlink are now both reported as 899 (894 + 5). Meanwhile, mysymlink is noiseless the lone cognomen linked to its six bytes of data containing the string "myfile".

    Back to Time Machine

    Okay, digression over. Let's revisit the mystery of the ten apparently complete copies of my "Leopard Demo" volume in the Time Machine Backups.backupdb folder. As you might acquire guessed by now, Time Machine uses arduous links to repeatedly link to the solitary instance of a particular chunk of data on disk. Here's an example:

    % cd Backups.backupdb/Leopard/2007-10-18-103601/Leopard Demo % ls -l mach_kernel -rw-r--r--@ 10 root wheel 10235416 Sep 18 23:50 mach_kernel

    And there you acquire it: the "10" next to the word "root" indicates that there are ten names linked to the data that mach_kernel links to. That data exists only once on the Time Machine backup volume. This arrangement is repeated for each file that has not been modified since the ultimate backup.

    Time Machine goes one step further. Historically, Unix has only allowed arduous links to files. In Leopard, Apple has included the ability to construct arduous links to directories. This has not been allowed in Unix because it can lead to totality sorts of very nasty infinite loops during file look-ups. Of course, symbolic links can create loops too, but they're a lot easier to detect and preclude since symbolic links are easily distinguished from natural files. But as discussed earlier, every file is essentially a arduous link, and totality arduous links acquire equal standing in the eyes of the OS, making loop detection a bit trickier.

    Nevertheless, the benefits for Time Machine were substantial enough for Apple to (carefully) add this ability to Leopard. For example, if the entire /System directory has not changed since the ultimate backup, Time Machine just has to construct a solitary arduous link to that directory in the novel backup folder. Without advocate for arduous links to directories, Time Machine would acquire to create 18,744 directories containing a total of 68,839 arduous links to files (using numbers from my /System directory).

    Yes, directories are wee and arduous links only rob up the leeway necessary for their directory entries (at minimum, enough to store the cognomen and a pointer to the data on disk), but those bytes add up quick when you're talking tens of thousands of arduous links being created every time you want to effect a backup. arduous links to directories construct this totality much simpler and more efficient.

    There is one final bit of cleverness in Time Machine. When it comes time to effect a backup, how does Time Machine know which files acquire changed since the ultimate backup? If you've been reading along (and not skipping sections dote a wuss), the admit is obvious: FSEvents.

    Though Apple was benign enough to construct it a public framework, Time Machine is arguably the entire reason FSEvents was created. Time Machine can wake up whenever it wants—it doesn't need to exist running constantly—and efficiently find out what's changed since it ultimate checked (that is, since the ultimate file system event id that it saw). Since FSEvents reports changes at a directory level, Time Machine noiseless has to determine which files in that directory acquire changed. No problem! It's got the previous backup of that directory to utilize as reference. FSEvents and Time Machine are a consummate match for each other.

    Implementation consequences

    It's unfortunate that Time Machine's cleverness does not extend just a bit further. The smallest unit of data that Time Machine will backup is an individual file. That means that if you change one byte in a 10GB file, that entire 10GB file needs to exist copied to the backup volume. arduous link can't serve you here. There's no way to construct a arduous link to "9.99999GB of the venerable data, plus this one byte of novel data."

    But how often does that happen? Sure, it's a worst case scenario for a file-level backup system dote Time Machine, but isn't it rare to repeatedly modify a wee portion of a giant file? Well, it depends. I can assume of two instances that will bite many thousands of Mac users.

    First, if you utilize Microsoft Entourage, your e-mail is kept in a single, large database file. Mine is about 2GB. Most people collect novel e-mail every day. Ugh.

    Second, if you utilize any sort of virtualization software dote VMware or Parallels, each virtual machine arduous disk image is a multi-gigabyte file that changes pretty much every time you utilize the VM. Double ugh.

    So, how many Mac users own some virtualization software or utilize Entourage? That number has to exist in the thousands, and is probably growing.

    Apple has been encouraging developers to utilize many wee files rather than one ample one for years now, mostly to construct it easier for Spotlight to index application data. In Tiger, Apple Mail switched to saving individual messages rather than larger, monolithic mailbox files for this reason. Presumably Entourage could effect the same, although I acquire no notion if it does so in the upcoming Microsoft Office 2008 release. But for virtual machine files, the problem is intractable. And those watch to exist the biggest solitary files on most disks.

    This problem needs to exist addressed. The best solution is for Apple to chase to a novel file system that supports block-level snapshots. ZFS, for example, would apt the bill. Sadly, no such transition has happened in Leopard. Time Machine backs up to a plain venerable HFS+ volume (though read-only advocate for ZFS is included in Leopard, with experimental read/write advocate available to developers).

    Reimplementing Time Machine on top of ZFS or some other similarly capable file system would exist a ample win in terms of space efficiency. Unfortunately, that's a tall order. Don't hold your breath for anything dote that until 10.6 at least.

    In the meantime, it is feasible to exclude individual files from Time Machine backups by dragging them into the "Do not back up" list available in the Time Machine preference pane. That will exclude the file by path. The same underlying API (CSBackupSetItemExcluded()) can actually exist used to exclude a file directly, preventing the file from being backed up no matter where it's moved or how it's renamed. (Extended attributes in action yet again.)

    Time Machine's backup format also means that it's not feasible to boot from a Time Machine backup volume. Instead, you must boot from a Leopard install DVD and restore the Time Machine backup onto a novel volume. If, dote me, you feel better also having a bootable backup around, an application dote SuperDuper is noiseless necessary. (I reject to add the exclamation point. Sorry, David.)

    On the shiny side, the backup format isn't really a "format" at all. It's a bunch of plain files on disk in date-stamped folders. Don't dote the loony space-motif file restoration interface in the Finder? Don't utilize it. You can gad around the Backups.backupdb folder using the Finder, the command line, or any other file manager. But the biggest win with totality these public APIs and simple structures is that the domain is wide open for third-party developers to create applications that complement and build upon Time Machine.

    It's a cleanly machine

    Despite a few consequences of Apple's continued inability to domain a successor to the venerable HFS+ file system, Time Machine is a conceptual and technical home run. Okay, so it's an infield home run, but it noiseless scores. Time Machine makes a chore that was once so tangled and intimidating that almost no one even attempted it, and makes it invisible. dote totality powerful ideas, it seems obvious after you've seen it, but that in no way diminishes the achievement.

    Time will divulge (ha) if this machine is enough to collect to Apple's stated goal of having 100 percent of Mac users backup regularly, but I assume it'll certainly construct a dent. I often collect scolded by other mothers via e-mail when I utilize my mother as an example, but it's just too apropos to pass up here. Time Machine is literally the only way I can assume of that I could ever collect my mom to back up her Mac. Once she has upgraded to Leopard, I can divulge her over the phone to buy an external drive, plug it in, and click a button in a dialog box. No cross-country visit, no Apple Remote Desktop session (although Leopard makes that section easier, too), no software installation, no novel application to learn.

    Yep, it's a glimpse into the self-sufficient-mom future they totality imagine. The open backup format and APIs are exactly the birthright way to add a major feature without the tribulation of being totality things to totality people. Let third-party developers to add value; they'll admire you for it. Time Machine earns its plot as the marquee feature of Leopard. top-notch show, Apple.


    Each novel version of Mac OS X has been faster on the same hardware than its predecessor. I've said as much in my reviews, but the definition of "faster" is admittedly nebulous when applied to an entire operating system.

    There are at least two well-known ways that an OS gets "faster." The first is traditional code optimization, where some subsystem is improved to utilize less CPU time or less memory or effect less disk i/o, thus performing the same chore in less time. The second factor is perceived speed. Though a chore may actually rob longer, it may feel faster due to changes in the way the OS reacts during the process.

    Application launching is the canonical specimen that combines both. You can time how long it takes for an application to finish launching, giving you a measurement of actual performance. The perceived performance, on the other hand, has more to effect with the number of bounces the Dock icon makes, when the first application window begins to draw itself, and whether there's a beach ball cursor at any time during the process.

    Leopard, dote its predecessors, gets faster on the same hardware in both areas. Frameworks acquire been extensively revised and optimized, yielding actual performance benefits in the areas of screen drawing (2D or 3D), text display, and most of the features that were novel in Tiger.

    In particular, Spotlight's improvement has been revelatory. Maybe it will humble with time, but after a few months of usage it's noiseless lightning fast. I've actually been too faineant to install Quicksilver on each novel Leopard seed, relying instead on Spotlight as a quick launcher—something that would exist inconceivable to me in Tiger. And Leopard is not getting off simple by just indexing a cleanly install. No, it's indexing totality 2+ million of my files.

    This brings up an spellbinding point. Does a faster Spotlight contribute to the "OS" being faster? I train it does. From a user's perspective, an OS is a collection of features and bundled applications. Only nerds permeate about the "real" definition of an operating system, encompassing only the lowest-level services. Spotlight is appreciable and measurably faster in Leopard, and that makes a ample incompatibility to users.

    Speaking of Spotlight, the continued addition of similar "system services" to Mac OS X has caused some concern. Upon booting into Tiger for the first time, for example, users had to endure a long disk-thrashing experience as Spotlight indexed totality their files. Granted, it happened in the background, but it did slack things down. Perhaps more importantly, the sound of a arduous drive grinding away in the background can exist quite disconcerting.

    Now Leopard adds Time Machine, which is set to effect even worse: initially read and then write the entire contents of every file on your disk. It doesn't collect much heavier than that when it comes to disk i/o. In practice, the upside is that this doesn't acquire to occur immediately upon your first login. If you don't assign a drive to Time Machine, it will effect nothing. And you can always revolve Time Machine off temporarily with the ample honkin' switch, then revolve it back on when you'll exist away from the computer for a while. This increased control goes a long way towards making Leopard a more pleasant upgrade.

    Most bundled applications collect a boost of speed in Leopard, if only in the seemingly universally less disk-intensive launch process. One Dock bounce, a few arduous drive clicks, and most applications are ready to go. I feel dote I'm probably being cheated by yet more "bounce shaving," but the stopwatch bears it out, if only by fractional seconds in most cases.

    Window resizing takes its usual baby step towards absolute responsiveness, no doubt aided by the faster text drawing and Cocoa framework optimizations. iCal remains the best (or is it the worst) test candidate for this task. It's noiseless laggy, but improved.

    I acquire a passion the actual performance wins will forward as third party developers (and Apple too, I suppose) acquire time to optimize for Leopard, using Quartz GL, compiling for 64-bit Intel, using the novel Objective-C 2.0 runtime, and so on.

    In short, it's more of the same for Mac OS X performance in Leopard: even improvement, with a few shiny spots, and no actual downsides.


    For the longest time, very early in Leopard's evolution process, it wouldn't even boot my (PowerPC) Mac successfully. Each newly downloaded developer version would kernel panic before getting to the Finder. This was discouraging, to train the least. No previous Mac OS X version behaved this badly for this long during its development. Eventually, the kernel panic was fixed, and I could finally boot. But as the release month of October approached, there were noiseless an alarming number of basic things that did not labor reliably. I was getting wicked flashbacks of the bug-ridden 10.4.0 release.

    Then, around September, Apple released a build that miraculously seemed to construct everything work, and labor well. Now obviously I acquire no notion how closely Apple's developer seeds track with the actual condition of the OS code in-house. Maybe Apple was holding back, seeding older versions, while the head revision inside Apple was in a temporarily unstable condition awaiting the final ample push. But whatever the case, this stagy come-from-behind developer seed victory is unprecedented in the history of Mac OS X development. That September seed was so good, so stable, that I thought it could exist the GM.

    Well, the actual GM is just as good, probably even better—though I've yet to produce a solitary crash of anything even in the September seed. Of course, I only acquire a limited set of hardware and software to test on, so I can't train definitively that 10.5.0 is going to exist powerful for everyone. And yes, the Miracle of September does give me some pause. But I'm cautiously optimistic that 10.5.0 won't exist a reiterate of the 10.4.0 experience. That said, a 10.5.1 release is almost certainly not too far away. I just assume you won't exist in desperate need of it when it arrives.

    Grab bag

    It's time for the grab bag section with totality the shiny screenshots. This will exist short, I think, because it certainly can't exist exhaustive. Also, Apple itself has provided quite an extensive rundown of over 300 novel features in Leopard. Thanks, Apple. Still, I'll acquire my say.


    Leopard includes an extremely competent virtual desktop implementation in Leopard, appropriately called Spaces. To some, this is a major novel feature on the even of Time Machine. To me, it's a grab bag item, albeit the headliner. Your mileage may vary.

    In the continued flavor-of-the-version shuffle, the "Dashboard & Exposé" preference pane from Tiger has been renamed to "Exposé & Spaces" in Leopard. Here's the novel Spaces tab.

    Spaces preference paneSpaces preference pane

    You can add rows and columns of spaces, up to a maximum of 16 in total. Applications can exist assigned to specific spaces or can display in totality of them, which is a nice touch. For the next revision, a way to assign different desktop background to different spaces would exist nice.

    "Activating" spaces means displaying totality the spaces on the screen at once. Once in this view, you can drag windows from one space to another. Dragging a window to a screen edge and holding it there will accomplish the same thing. I only wish that activating spaces did not interrupt the current drag operation. Ideally, I'd dote to click and hold on a window title bar, then activate spaces and continue my drag of that window into a novel space. (I effect something similar on a daily basis when dragging files, using the command-tab application switcher as an circuitous way to collect the drag destination to forward to the front without releasing the detail that I'm dragging.)

    Spaces's keyboard and mouse bindings are extremely flexible, allowing most sane combinations of keys, screen corners, and mouse buttons to exist used as triggers. And above all, Spaces is fast. Space-switching happens instantly, accompanied by minimalist but pleasing sliding animations and a nice HUD (which I've been unable to collect a screenshot of, but you can notice it at Apple's web site).

    After many years of heroic hacks by third parties, it's nice to finally acquire a supported implementation of this feature, and a top-notch one at that.

    New icons

    From Spaces to icons? Yes indeed. A bunch of existing applications collect novel icons in Leopard.

    New iconsNew icons

    I'm not confident how I feel about System Preferences adopting the iPhone settings icon, but overall, the novel icons gape nice. Most icons acquire been updated, in fact, if only to comprehend larger sizes. Many acquire been entirely redrawn but gape almost exactly dote their predecessors. It totality combines to gives a nice additional sheen to the OS.

    Leopard also includes a nice set of icons representing most Macs made in the past few years, presumably meant to more accurately portray networked machines, though for some reason, the Finder thinks my PowerBook is a Cinema Display. Anyway, the icons are extremely nice looking. But at what point effect these things discontinue being "icons?" At 512x512 pixels, they're more dote "idealized photos." settle for yourself.

    This is an icon?This is an icon?

    Apple was even nice enough to comprehend an icon for (to quote the file name) a "generic PC."



    (I actually assume the worst section is the monitor itself, not what's on it.)


    The novel Network preference pane is awesome. Strike that, maybe it's just that the venerable one sucked so badly. Anyway, here it is.

    Network preference paneNetwork preference pane

    It includes a whole bunch of features that were either well hidden (often in other preference panes) or only available from the command line: duplicating services, importing and exporting configurations, managing virtual interfaces, the whole nine yards. totality of the esoteric stuff is behind that "Advanced" button, but at least it's finally totality in one place.

    Network: advanced settingsNetwork: advanced settings Sharing

    The Sharing preference pane is is similarly refined and expanded. The screen I've chosen to parade below reveals the long-overdue addition of a GUI for sharing specific folders.

    File sharingFile sharing

    Nearly every service has some wee novel feature, usually in the form of more flexibility about who gets to utilize the service.

    Guest account

    The novel guest account feature allows anyone to login without a password.

    Guest accountGuest account

    The usual set of constraints can exist applied to the guest account, including the so-called "parental controls" that severely restrict access. A temporary home directory is created when a guest user logs in. The user id is always the same (201), and only one guest can exist logged in at a time. There's no alarm of one guest seeing another guest's left-over files because the entire home directory is deleted upon logout. Thankfully, Apple provides a warning.

    Guest logout warningGuest logout warning

    Though I didn't fade looking for it, I suspect it wouldn't exist too arduous to find the template for the guest account, perhaps in the form of a disk image or property list, and customize it to create a more snug environment for guests. (Say, by putting a giant Unreal Tournament 2007 alias in the heart of the desktop. Hello, multiplayer gaming terminal.)

    Disk Utility

    The Disk Utility application can now delete and resize partitions without erasing totality data on the disk. This is probably a result of the labor Apple's done for Boot Camp, whose installer has long had similar capabilities (but really it was long overdue). The warning dialog Disk utility puts up during destructive operations is reassuringly clear.

    Make me feel safe, Disk UtilityMake me feel safe, Disk Utility Slightly less embarrassing text-to-speech

    The novel "Alex" text-to-speech voice is considerably better than the previous voices, which date back to the classic Mac OS days. More modern text-to-speech technology noiseless sounds a lot better to my ears. Apple really needs to significantly update the core engine, not just add novel voices. No screenshot.

    Back to my Mac

    Leopard includes advocate for what is essentially dynamic DNS via the novel Back to My Mac feature of the .Mac service.

    Back to My MacBack to My Mac

    Enabling this feature lets any Mac know the IP address of totality your other Macs by having each one report its IP address to the .Mac service. The result is that totality your Macs are available as servers in the Finder sidebar, without requiring you to enter a server address. It's handy, but not much serve if you travel across several draconian firewalls daily.

    Grammar checker

    The system-wide spelling checker now does grammar too. wicked grammar gets a green underline instead of red.

    System-wide grammar checkerSystem-wide grammar checker

    It's not the most robust grammar checker in the world—for example, it thinks "This are good" is perfectly fine—but dote the spelling checker, its omnipresence makes up for its limited abilities.

    iCal's Dock icon

    Apple has finally submitted to adding what must exist quite a hack to collect the iCal application icon to parade the reform date on its Dock icon, even when the application is not running.

    iCal Dock icon: now with  reform Date™ technologyiCal Dock icon: now with reform Date™ technology Terminal

    The Terminal application has grown up, proudly sprouting tabs, window groups, and saved window styles, including an usurp wacky default set.

    Terminal settingsTerminal settings

    And hey, anyone recall that Apple type Services bug that prevented my preferred Terminal font (Monaco 9pt forever!) from displaying correctly? You know, the one that lingered for five years after I first reported it?



    Fixed! Can you believe it? A novel look, tabs, and the ability to render bit-mapped fonts as well as a Mac 128k. My cup runneth over.

    Welcome to tomorrow

    I started this review talking about expectations. As I've learned more about Leopard, it's become increasingly transparent where, exactly, those two-and-a-half years of evolution time went. Leopard is absolutely packed with improvements. It seems that not a corner of the OS has gone untouched.

    Perhaps that's not as transparent to the casual user who just sees the surface changes and the major novel features in Leopard. But even in that case, there's more than enough to recommend it. If you're wondering whether you should upgrade to Leopard, the answer, as it's been for every major revision of Mac OS X, is yes.

    I train this despite my profound hatred for many of the user interface changes. But perhaps I'm not representative of the mediocre Mac user. In totality likelihood, my hatred will translate into an occasional-to-persistent mild annoyance for most users. And truthfully, people can collect used to just about anything (as the history of Mac OS X has shown).

    I'm most excited about Leopard's internals. They're the star of this release, even if they don't collect top billing. There's a top-notch reason we've already seen so many prominent Leopard-only software announcements. This is where developers want to be.

    Leopard's pull on developers will translate into better applications for users... eventually. In the meantime, I'm arduous pressed to assume of a solitary Mac user I know who wouldn't capitalize from Time Machine's hassle-free backup magic. If you're looking for one reason to upgrade, this is it. Yeah, backups are boring, which is why you're probably not doing them regularly birthright now. No more excuses.

    In many ways, Leopard feels dote a novel beginning. While Tiger consolidated the gains made in 10.0 through 10.3, pinning down APIs and dipping its toe into a few feasible future directions for the GUI, Leopard charges bravely forward, choosing one particular novel gape and mandating it everywhere, redesigning totality of the most prominent visual elements of the interface, and shedding venerable technologies dote cat fur.

    What's emerged is quite a freakish beast: comely on the inside and, well, a bit unlovely on the outside. I hope a few years of user feedback will file down some of the sharper edges, even as my dream of a radical novel gape is postponed until 10.6 or later. It'd also exist nice if Apple would finally construct a determination about the successor to the HFS+ file system some time this decade.

    What a long, freakish trip it's been. Leopard turned out very differently than I imagined it would only a year ago. Despite some ample disappointments near the discontinue of its evolution process—the novel Dock, the menu bar, more Finder floundering—the foundation is stronger than it's ever been.

    Though this is not likely to happen, most of Leopard's biggest problems could exist fixed in a 10.5.x point release. That's something that certainly could not acquire been said about any prior version Mac OS X. With Leopard, Apple has managed to snatch, certainly not defeat, but at least partial ignominy from the jaws of absolute victory.

    The stage is set for Mac OS X 10.6 to triumph beyond the bounds of its ancestors. In the meantime, it's the Mac evolution community's opportunity to shine. Whether it reigns for two and a half years, dote Tiger, or even longer, I'm looking forward to my time aboard starship Leopard.

    (Caution: Dock slippery when wet.)

    Build a Hackintosh Mac for Under $800 | actual questions and Pass4sure dumps

    Update: This post is no longer maintained. For the most up-to-date Hackintosh build, notice their always up-to-date steer to building a Hackintosh.

    Article preview thumbnail The Always Up-to-Date steer to building a Hackintosh (macOS Sierra)

    Building a hackintosh—that is, installing macOS on non-Apple hardware—used to require extremely…

    Read more Read

    If the high expense tag for Apple hardware has kept you from buying a Mac but you're willing to roll up your sleeves and collect adventurous, you can build your own "Hackintosh"-a PC that runs a patched version of OS X Leopard. What?!, you say. Apple's chase to Intel processors in 2006 meant that running OS X on non-Apple hardware is possible, and a community hacking project called OSx86 launched with that goal in mind. Since then, OSx86 has covered major ground, making it feasible for civilians-like you and me!-to reserve together their own Hackintosh running Mac OS 10.5. Today, I'll parade you how to build your own high discontinue computer running Leopard from start to finish for under $800.

    Right now the cheapest Mac on sale at the Apple store is a $600 Mac Mini sporting a 1.83GHz proc, 1GB of RAM and an 80GB arduous drive. For $200 more, your Hackintosh can vaunt a 2.2GHz proc with 4GB of RAM, a 500GB drive, and a completely upgradeable case for expanding your setup in the future.

    Building a DIY Mac requires some labor on your part, so exist ready to dedicate time to this project. To construct things as simple as possible, I'm going to lay out how I built my Hackintosh from start to finish, from the hardware I used to the final patches I applied to the Leopard install. If you can build a Lego set and transcribe text, you've got totality the basic skills required.

    The Hardware

    There's no definitive best ante for a Hackintosh hardware configuration, so you may exist able to experiment and forward up with a better selection of parts than I did. However, I can guarantee that Leopard will (or at least has) dash successfully on this hardware setup.

    To construct things easy, I've reserve together my entire hardware setup as a wish list on Newegg. (You may notice that the total expense is listed at around $850, but I knocked $110 off the expense tag due to a yoke of mail-in rebates-so "Under $800" it remains, however fudgingly.)

    The build consists of a 2.2GHz Intel Core 2 Duo processor, a total of 4GB of RAM (four sticks at 1GB each), an ASUS P5W DH Deluxe motherboard, a GeForce 7300GT (the same basic video card that comes installed in the default Mac Pro configuration), a 500GB arduous drive, a DVD burner, and an Antec Sonata case (which I've always liked for its looks and hushed fans). The motherboard is the most well-known element, since the patches we'll apply later are tailored specifically for this motherboard. You could probably tweak a lot of the other hardware without many complications, but if you stick with this motherboard and ensue the installation instructions, you shouldn't notice any major complications.

    The Build

    Now that you've got totality the parts, it's time to start putting your Mac together. We've circumstantial every step of the computer building process at one point or another in the past here on Lifehacker, so rather than cover that ground again, I'll outline the process with links to their previous instructions. As always, exist confident to read your hardware manuals before you begin-particularly from the motherboard-to collect to know your hardware before you start the installation. Also, always recall to exist heedful of static electricity and always preserve yourself grounded and your board unpowered until you're finished.

  • Install the motherboard and CPU: You can ensue these instructions almost without variation, but the heatsink and fan installation, in particular, is a touch different. Rather than hooking the heatsink to your motherboard, the included Intel heatsink pops into place. For a more circumstantial description of how this works, consult your motherboard's manual and the manual included with your processor.
  • Install your RAM: The only thing you need to preserve in wit when you're installing the RAM is that you should install the matched pairs-that is, the pairs that forward in the same package-in dote colored slots. This isn't strictly necessary, but it's a top-notch practice and generally means better performance.
  • Install the video card: These instructions actually detail how to install a PCI card, which is just a more universal way of looking at your video card. The card we're using is a PCI Express card and should exist installed in the top (orange) PCI slot.
  • Install the arduous drive and DVD drive: Your arduous drive is an SATA drive, which is not the type of drive installed in the instructions (though they effect address SATA drives). Just connect one of the power supply's SATA power cables to the drive and then connect the drive to the red SATA connector on your motherboard (it's labeled on the board as SATA1). ensue the same basic instructions to install your DVD drive but plug the drive into one of the other SATA ports (I used the SATA4 port).
  • When you've finished putting everything together, your open case should gape dote the nearly completed image below. In that picture, I've yet to install the arduous drive and DVD drive and I noiseless need to connect the case power and other connectors to the motherboard. (You may install other features of the motherboard if you prefer, dote the FireWire connector for the back of the case).

    To construct confident everything's working properly, nigh it up, plug it into a monitor and keyboard and power it up. If the computer boots into the BIOS (by pressing Delete when prompted), you're ready to chase on. If the computer won't boot, you may acquire to open the case back up and double-check your installation. Among other things, exist confident that your RAM is properly seated.

    Article preview thumbnail Laptop Troubleshooting Tip: Re-seat your RAM

    Only a few hours after I posted about Mac hardware failure the other day, my Powerbook promptly…

    Read more Read

    I should note that at this point of my installation, I ran into a bum power supply unit (PSU) in my case. Unfortunately that meant that I didn't know whether the PSU was bunk or my motherboard was fried, and since I don't own a voltage meter it took an extra trip to Fry's and some troubleshooting to collect to the bottom of it. The point is that when you're building a PC yourself, you can and should exist prepared to dash into snags, so if you're not ready to troubleshoot if a problem arises, you may want to assume twice before trying this. That said, I've built several PCs in the past and this was my only major snag in the course of a build, so it's also very likely that your build could fade off without a hitch.

    Either way, as soon as you're able to boot into the BIOS, you're ready to collect started with the pre-installation.


    There are two things you need to tackle to prepare your computer for installation. First, you'll need to tweak your BIOS settings to properly labor with the Leopard install. Second, you need to patch the Leopard DVD to install on your newly built Hackintosh computer.

    Tweak your BIOS: The first thing I did once my build was finished was update my BIOS, since the default BIOS wasn't properly recognizing my processor. Luckily doing so is pretty simple. Just head over to the ASUS download site, narrow down, and then download the latest BIOS for your motherboard. Once downloaded, just stick the file on a USB scintillate drive. Then boot up your build and enter the BIOS setup. dote I said above, power on your computer and hit Delete when prompted to boot into the BIOS.

    Once you're there, arrow to the Tools tab of the BIOS, select EZ Flash2, and then hit Enter. Now elect your scintillate drive by tabbing to the usurp drive, find the BIOS file you downloaded, and install it. When the BIOS has updated, your computer should automatically restart.

    Now that you've updated your BIOS, you're ready to collect into some nitty gritty preparation. If you plugged in your drives dote I suggested during your build, you should notice your arduous drive and DVD drive listed in the BIOS as Third IDE Master and Fourth IDE Slave. (Don't worry about the fact that your arduous drive isn't listed as the Primary IDE Master.) Arrow down to IDE Configuration and hit Enter.

    In the IDE config, you want to set "Configure SATA As" to AHCI. Next hit escape once to fade back to the Main screen. Now hit the birthright arrow key to chase to the Advanced tab. In the Advanced section fade to "Onboard Devices Configuration" and set "JMicron SATA / PATA Controller" to Disabled.

    Now you need to arrow over to the Boot tab to configure the boot priority (which tells your computer what order you want to boot off devices in your computer). fade to "Boot Device Priority" and set your DVD drive as priority one and your arduous drive as priority two.

    Done? Then you're ready to chase onto patching your Leopard DVD.

    Patch Leopard for your Hackintosh: There are a yoke of different ways one could fade about creating a patched Leopard DVD. The easiest is probably to download an already patched version using BitTorrent (I can attest to having seen the patched version floating around before Demonoid went under, but it's probably available elsewhere as well). The second routine requires patching a Leopard DVD yourself, which isn't really as arduous as it sounds.

    If you settle to fade the first route and you find a pre-patched version off BitTorrent, you can skip to the next section. Otherwise, let's collect down to work. To patch the Leopard install disc, you'll need a Mac and a pre-patched image of the Leopard installer on your desktop. You can collect this in two ways: Either by downloading the image-again with BitTorrent-or by buying and then ripping a Leopard DVD to your arduous drive. Either way you choose, when you're finished you should plot the ripped installer on your desktop and construct confident that it's named osx-leopard105.dmg.

    Now it's time to collect patching. To effect so, you need to grab the patch files (created by the resourceful OSx86 forum member BrazilMac, who bundled the patch files and whose instructions I followed for the installation), which you can download from one of many sources here under the "FILES FOR THIS GUIDE" section at the top of the page. After you've downloaded the zipped patch files, unzip the archive and drag totality of the contents of the archive to your desktop (it should hold two files and three folders in total).

    UPDATE: We've removed direct links to the forum post containing the patch files on the OSx86 Scene Forum.

    Now open the shell script in your favorite text editor. At the top of the file, supplant XXX with your username on your Mac (so that it reflects the path to your current desktop). For example, mine would gape like:


    While we're at it, let's edit the file as well. This time, edit the fourth and fifth lines at the top of the file to gape dote this:

    PATCH="/Volumes/LeopardPatch/leopatch/" # path to the patched extensionsLEO="/Volumes/Leopard" # path to Leopard installation

    Save and nigh both files.

    Finally, it's time to patch the DVD. Open up Terminal, type sudo -s, then enter your administrative password (your login password). Then type cd Desktop and hit Enter. Now you're ready to apply the patch. preserve in wit that you'll need plenty of space on your arduous drive to effect the patch. I had around 20GB of free space when I did it, though I'm confident you could collect away with less. To execute the patch, type:


    and hit Enter. The patch will now execute, which means you've got some time on your hands. You've been working your ass off up until this point, though, so kick back and relax for a bit. I didn't acquire a clock on it, but I'm pretty confident the patch took at least an hour on my MacBook Pro.

    If you acquire peril with the patch and you've got less free space, try freeing up some arduous drive space and trying again. When the patch has successfully completed, you should notice a novel file on your desktop: Leo_Patched_DVD.iso weighing in somewhere around 4,698,669,056 bytes. Now we've got to burn this image to a DVD.

    Luckily the patch removes lots of unnecessary files so we've shrunk the almost 7GB install DVD to 4.38GB, just enough to apt on a single-layer DVD. To burn the image, insert a blank DVD, open up Disk Utility, select the Leopard_Patched_DVD.iso file in the sidebar, and then click the burn button. Once it's finished, you're finally ready to proceed to the installation.

    But just one more thing before you do. Copy the patch files that they just unzipped from your desktop to a USB thumb drive and cognomen the drive LeopardPatch. We'll need these files for the post-installation patch that we'll apply later.


    If you've followed totality of the steps up to this point, you should now exist ready to fire up the patched Leopard install DVD. So power on your Hackintosh, insert the DVD, and let the boot process commence (you did recall to set the DVD drive as the first boot device, right?). You'll exist prompted to press any key to start the installation or hit F8 for options. Hit F8.

    You'll now notice the boot: prompt. Enter -v -x and press Enter. (Don't put a question to me why, but this is the only way the install DVD would boot for me. Not using these options caused the boot to hang indefinitely every time.) You should now notice lots of text scrolling over your monitor. You may even notice some daunting errors. Don't exist alarmed; just let it continue. After several minutes, the graphical Leopard installer should exist staring you in the face.

    Format the install drive: I know that you're raring to install now that you're finally here, but there's one thing they need to effect first: Format their arduous drive so that it's prepared to receive the Leopard installation. So fade to Utilities in the menu bar and select Disk Utility (if you don't acquire a working mouse yet, you can noiseless access the menu bar from the keyboard). Once Disk Utility fires up, it's time to format the drive. Here's how:

    Article preview thumbnail Access the Dock and Menu Bar from Your Keyboard

    Mac users: Access your menu bar and launch dock items from the solace of your keyboard with the…

    Read more Read
  • Select your arduous drive in the left sidebar.
  • Click on the tab labeled Partition.
  • Select a 1 partition Volume Scheme, cognomen the volume Leopard, and elect Mac OS Extended (Journaled) as the format.
  • Last, click the Options button and elect Master Boot Record as the partition scheme.
  • Now that your drive is ready, so are you.

    Install Leopard: This really is the easiest part-just ensue the on-screen instructions and elect your newly created Leopard partition as the install destination. Then, before you construct that final click on the Install button, click Customize and de-select Additional Fonts, Language Translations, and X11. These components were removed so they could apt everything on the patched DVD, so they won't exist installing them now.

    Now you're ready. Click install and grab a quick drink. In around 10 minutes, Leopard should acquire installed, leaving you with just one more step before you're running with the Leopard.


    After the installation completes, your computer will automatically restart. Unfortunately you're not ready to boot into Leopard just yet-you've got one thing left to do. So insert the thumb drive you copied the patches to and, just dote ultimate time, hit F8 when prompted by the DVD. Again, enter -v -x at the boot prompt and hit Enter. When the install disc finally loads, fade to Utilities in the menu bar and select Terminal. It's time to apply the post-install patch.

    When terminal loads, type cd /Volumes/LeopardPatch at the prompt and hit Enter to navigate to the patch directory. Now, just dote when you patched the install disc, type:


    ...and hit Enter. The script will chase and copy files about (answer yes when prompted), and when it's finished, you'll exist prompted to restart your computer. When your computer reboots this time, you're ready. It's time to boot into Leopard.

    OSx86 on Your Hackintosh

    Let your computer reboot, but exist confident to leave the install DVD in the drive. When the DVD prompts this time, just let the countdown time out. When it does, your installation of Leopard will automatically boot up. You've done it!

    From this point forward, you're running Leopard on your PC just as though you were running Leopard on a regular Mac. You'll exist jubilantly welcomed in a handful of languages as if Steve Jobs himself is shaking your hand for a job well done. totality of your hardware should labor exactly as you'd expect. Your sound, networking, and video will totality labor off the bat. (I haven't tested the motherboard's built-in wireless yet, but it reportedly works.) Your iPods will sync flawlessly, and CDs and DVDs read and burn just as you'd expect.

    On the software front, Mail, Address Book, iTunes, and everything else I've tried so far labor flawlessly. Firefox is browsing, Quicksilver is doing its thing, Spaces are rocking, Stacks are stacking, Cover tide is flowing, and Quick gape is previewing. I haven't tried Time Machine yet, but the patch they used reportedly works with Time Machine as well.

    UPDATE: After you complete your install the first fade round, here's how to upgrade to OS X 10.5.1 (the first update to Leopard) in just a few simple steps.

    Article preview thumbnail Upgrade Your Hackintosh to OS X 10.5.1

    Click to viewA yoke of weeks ago, I circumstantial how I built a Hackintosh Mac on the cheap from start …

    Read more Read But Really, How Does It Work?

    I'm noiseless stretching my legs in this novel build, and I'm planning on bringing some benchmarks to the table soon so you acquire a better notion how this machine matches up to its Mac counterparts, but so far it's running dote a champ. UPDATE: I benchmarked my Hackintosh against a Mac Pro and MacBook Pro and it stood up very well. Check out the benchmarks here. The only problem with the install at the minute is that it won't boot without the Leopard DVD in the DVD drive at boot-meaning that every time you reboot you'll need to construct confident that the Leopard DVD is sitting in the DVD drive. It's not a dealbreaker for me by any means, but it's an annoyance. I've create one post suggesting a workaround at the OSx86 forums (near the bottom of the first post in the thread), but I haven't tried it yet. If and when I do, I'll exist confident to post an update.

    Article preview thumbnail Hackintosh vs. Mac Pro vs. MacBook Pro Benchmarks

    Click to viewOn Tuesday I circumstantial how I built a Hackintosh Mac from start to finish on the cheap,…

    Read more Read

    And that's that. It's a chore to set up, to exist sure, but it's also the most powerful Mac per dollar I've ever used. If you've got any experience building a Hackintosh of your own or you've got any questions, let's hear them in the comments.

    Adam Pash is a senior editor for Lifehacker who loves a top-notch hack and cherishes his Macintosh, so building a Hackintosh was a consummate fit. His special feature Hack beset appears every Tuesday on Lifehacker. Subscribe to the Hack beset RSS feed to collect novel installments in your newsreader.

    Direct Download of over 5500 Certification Exams

    3COM [8 Certification Exam(s) ]
    AccessData [1 Certification Exam(s) ]
    ACFE [1 Certification Exam(s) ]
    ACI [3 Certification Exam(s) ]
    Acme-Packet [1 Certification Exam(s) ]
    ACSM [4 Certification Exam(s) ]
    ACT [1 Certification Exam(s) ]
    Admission-Tests [13 Certification Exam(s) ]
    ADOBE [93 Certification Exam(s) ]
    AFP [1 Certification Exam(s) ]
    AICPA [2 Certification Exam(s) ]
    AIIM [1 Certification Exam(s) ]
    Alcatel-Lucent [13 Certification Exam(s) ]
    Alfresco [1 Certification Exam(s) ]
    Altiris [3 Certification Exam(s) ]
    Amazon [2 Certification Exam(s) ]
    American-College [2 Certification Exam(s) ]
    Android [4 Certification Exam(s) ]
    APA [1 Certification Exam(s) ]
    APC [2 Certification Exam(s) ]
    APICS [2 Certification Exam(s) ]
    Apple [69 Certification Exam(s) ]
    AppSense [1 Certification Exam(s) ]
    APTUSC [1 Certification Exam(s) ]
    Arizona-Education [1 Certification Exam(s) ]
    ARM [1 Certification Exam(s) ]
    Aruba [6 Certification Exam(s) ]
    ASIS [2 Certification Exam(s) ]
    ASQ [3 Certification Exam(s) ]
    ASTQB [8 Certification Exam(s) ]
    Autodesk [2 Certification Exam(s) ]
    Avaya [96 Certification Exam(s) ]
    AXELOS [1 Certification Exam(s) ]
    Axis [1 Certification Exam(s) ]
    Banking [1 Certification Exam(s) ]
    BEA [5 Certification Exam(s) ]
    BICSI [2 Certification Exam(s) ]
    BlackBerry [17 Certification Exam(s) ]
    BlueCoat [2 Certification Exam(s) ]
    Brocade [4 Certification Exam(s) ]
    Business-Objects [11 Certification Exam(s) ]
    Business-Tests [4 Certification Exam(s) ]
    CA-Technologies [21 Certification Exam(s) ]
    Certification-Board [10 Certification Exam(s) ]
    Certiport [3 Certification Exam(s) ]
    CheckPoint [41 Certification Exam(s) ]
    CIDQ [1 Certification Exam(s) ]
    CIPS [4 Certification Exam(s) ]
    Cisco [318 Certification Exam(s) ]
    Citrix [47 Certification Exam(s) ]
    CIW [18 Certification Exam(s) ]
    Cloudera [10 Certification Exam(s) ]
    Cognos [19 Certification Exam(s) ]
    College-Board [2 Certification Exam(s) ]
    CompTIA [76 Certification Exam(s) ]
    ComputerAssociates [6 Certification Exam(s) ]
    Consultant [2 Certification Exam(s) ]
    Counselor [4 Certification Exam(s) ]
    CPP-Institue [2 Certification Exam(s) ]
    CPP-Institute [1 Certification Exam(s) ]
    CSP [1 Certification Exam(s) ]
    CWNA [1 Certification Exam(s) ]
    CWNP [13 Certification Exam(s) ]
    Dassault [2 Certification Exam(s) ]
    DELL [9 Certification Exam(s) ]
    DMI [1 Certification Exam(s) ]
    DRI [1 Certification Exam(s) ]
    ECCouncil [21 Certification Exam(s) ]
    ECDL [1 Certification Exam(s) ]
    EMC [129 Certification Exam(s) ]
    Enterasys [13 Certification Exam(s) ]
    Ericsson [5 Certification Exam(s) ]
    ESPA [1 Certification Exam(s) ]
    Esri [2 Certification Exam(s) ]
    ExamExpress [15 Certification Exam(s) ]
    Exin [40 Certification Exam(s) ]
    ExtremeNetworks [3 Certification Exam(s) ]
    F5-Networks [20 Certification Exam(s) ]
    FCTC [2 Certification Exam(s) ]
    Filemaker [9 Certification Exam(s) ]
    Financial [36 Certification Exam(s) ]
    Food [4 Certification Exam(s) ]
    Fortinet [12 Certification Exam(s) ]
    Foundry [6 Certification Exam(s) ]
    FSMTB [1 Certification Exam(s) ]
    Fujitsu [2 Certification Exam(s) ]
    GAQM [9 Certification Exam(s) ]
    Genesys [4 Certification Exam(s) ]
    GIAC [15 Certification Exam(s) ]
    Google [4 Certification Exam(s) ]
    GuidanceSoftware [2 Certification Exam(s) ]
    H3C [1 Certification Exam(s) ]
    HDI [9 Certification Exam(s) ]
    Healthcare [3 Certification Exam(s) ]
    HIPAA [2 Certification Exam(s) ]
    Hitachi [30 Certification Exam(s) ]
    Hortonworks [4 Certification Exam(s) ]
    Hospitality [2 Certification Exam(s) ]
    HP [746 Certification Exam(s) ]
    HR [4 Certification Exam(s) ]
    HRCI [1 Certification Exam(s) ]
    Huawei [21 Certification Exam(s) ]
    Hyperion [10 Certification Exam(s) ]
    IAAP [1 Certification Exam(s) ]
    IAHCSMM [1 Certification Exam(s) ]
    IBM [1530 Certification Exam(s) ]
    IBQH [1 Certification Exam(s) ]
    ICAI [1 Certification Exam(s) ]
    ICDL [6 Certification Exam(s) ]
    IEEE [1 Certification Exam(s) ]
    IELTS [1 Certification Exam(s) ]
    IFPUG [1 Certification Exam(s) ]
    IIA [3 Certification Exam(s) ]
    IIBA [2 Certification Exam(s) ]
    IISFA [1 Certification Exam(s) ]
    Intel [2 Certification Exam(s) ]
    IQN [1 Certification Exam(s) ]
    IRS [1 Certification Exam(s) ]
    ISA [1 Certification Exam(s) ]
    ISACA [4 Certification Exam(s) ]
    ISC2 [6 Certification Exam(s) ]
    ISEB [24 Certification Exam(s) ]
    Isilon [4 Certification Exam(s) ]
    ISM [6 Certification Exam(s) ]
    iSQI [7 Certification Exam(s) ]
    ITEC [1 Certification Exam(s) ]
    Juniper [63 Certification Exam(s) ]
    LEED [1 Certification Exam(s) ]
    Legato [5 Certification Exam(s) ]
    Liferay [1 Certification Exam(s) ]
    Logical-Operations [1 Certification Exam(s) ]
    Lotus [66 Certification Exam(s) ]
    LPI [24 Certification Exam(s) ]
    LSI [3 Certification Exam(s) ]
    Magento [3 Certification Exam(s) ]
    Maintenance [2 Certification Exam(s) ]
    McAfee [8 Certification Exam(s) ]
    McData [3 Certification Exam(s) ]
    Medical [69 Certification Exam(s) ]
    Microsoft [368 Certification Exam(s) ]
    Mile2 [2 Certification Exam(s) ]
    Military [1 Certification Exam(s) ]
    Misc [1 Certification Exam(s) ]
    Motorola [7 Certification Exam(s) ]
    mySQL [4 Certification Exam(s) ]
    NBSTSA [1 Certification Exam(s) ]
    NCEES [2 Certification Exam(s) ]
    NCIDQ [1 Certification Exam(s) ]
    NCLEX [2 Certification Exam(s) ]
    Network-General [12 Certification Exam(s) ]
    NetworkAppliance [36 Certification Exam(s) ]
    NI [1 Certification Exam(s) ]
    NIELIT [1 Certification Exam(s) ]
    Nokia [6 Certification Exam(s) ]
    Nortel [130 Certification Exam(s) ]
    Novell [37 Certification Exam(s) ]
    OMG [10 Certification Exam(s) ]
    Oracle [269 Certification Exam(s) ]
    P&C [2 Certification Exam(s) ]
    Palo-Alto [4 Certification Exam(s) ]
    PARCC [1 Certification Exam(s) ]
    PayPal [1 Certification Exam(s) ]
    Pegasystems [11 Certification Exam(s) ]
    PEOPLECERT [4 Certification Exam(s) ]
    PMI [15 Certification Exam(s) ]
    Polycom [2 Certification Exam(s) ]
    PostgreSQL-CE [1 Certification Exam(s) ]
    Prince2 [6 Certification Exam(s) ]
    PRMIA [1 Certification Exam(s) ]
    PsychCorp [1 Certification Exam(s) ]
    PTCB [2 Certification Exam(s) ]
    QAI [1 Certification Exam(s) ]
    QlikView [1 Certification Exam(s) ]
    Quality-Assurance [7 Certification Exam(s) ]
    RACC [1 Certification Exam(s) ]
    Real-Estate [1 Certification Exam(s) ]
    RedHat [8 Certification Exam(s) ]
    RES [5 Certification Exam(s) ]
    Riverbed [8 Certification Exam(s) ]
    RSA [15 Certification Exam(s) ]
    Sair [8 Certification Exam(s) ]
    Salesforce [5 Certification Exam(s) ]
    SANS [1 Certification Exam(s) ]
    SAP [98 Certification Exam(s) ]
    SASInstitute [15 Certification Exam(s) ]
    SAT [1 Certification Exam(s) ]
    SCO [10 Certification Exam(s) ]
    SCP [6 Certification Exam(s) ]
    SDI [3 Certification Exam(s) ]
    See-Beyond [1 Certification Exam(s) ]
    Siemens [1 Certification Exam(s) ]
    Snia [7 Certification Exam(s) ]
    SOA [15 Certification Exam(s) ]
    Social-Work-Board [4 Certification Exam(s) ]
    SpringSource [1 Certification Exam(s) ]
    SUN [63 Certification Exam(s) ]
    SUSE [1 Certification Exam(s) ]
    Sybase [17 Certification Exam(s) ]
    Symantec [134 Certification Exam(s) ]
    Teacher-Certification [4 Certification Exam(s) ]
    The-Open-Group [8 Certification Exam(s) ]
    TIA [3 Certification Exam(s) ]
    Tibco [18 Certification Exam(s) ]
    Trainers [3 Certification Exam(s) ]
    Trend [1 Certification Exam(s) ]
    TruSecure [1 Certification Exam(s) ]
    USMLE [1 Certification Exam(s) ]
    VCE [6 Certification Exam(s) ]
    Veeam [2 Certification Exam(s) ]
    Veritas [33 Certification Exam(s) ]
    Vmware [58 Certification Exam(s) ]
    Wonderlic [2 Certification Exam(s) ]
    Worldatwork [2 Certification Exam(s) ]
    XML-Master [3 Certification Exam(s) ]
    Zend [6 Certification Exam(s) ]

    References :

    Dropmark :
    Wordpress :
    Issu :
    Dropmark-Text :
    Blogspot :
    RSS Feed : : :

    Back to Main Page | | |