Archive for Apple category
I wanted an SSD for some time and finally caved in. Armed with credit card, screwdriver and trusty MacBook Pro I fitted a sweet SSD and decided to document the experience.
Choosing a drive
There are a bewildering number of options out there. Budget, as always, dictates the combination of speed and size available.
You may not need as much space as you think so even if you intend on a fresh install first clean-up your current drive to get an idea of actual requirements. Remembering to backup before you:
- Identify biggest culprits
Try DaisyDisk ($20), Disk Inventory X (free) or OmniDiskSweeper (free) and drill down to catch unexpected bloat in your folders
- Clean up unused system junk
Use CleanMyMac ($30) or MonoLingual (free) to clean up logs, caches, redundant processor and unwanted languages.
- Archive unused content
Move those podcasts, TV shows, applications and games you aren’t going to use anytime soon to cheaper external storage.
- Deal with orphaned & duplicate files
Find media in your iTunes folders missing from iTunes lists and either trash or add it back then use iTunes Display Duplicates.
If you’re prepared to give up your internal Superdrive then move your existing hard drive to the optical bay and purchase a smaller SSD for the OS and key performance-critical files. This saves cash and gives you more space at the expense of battery life and a little extra weight.
All SSDs are not created equal and the combination of flash and controller (on drive and in your machine) play their parts in defining performance. Firmware, hardware revisions, drive size and operating system can also affect the speed so do your homework.
Drives come and go quickly so keep an eye on review dates and exact model numbers as manufacturers have models with similar names with difference specifications.
I settled on the Crucial SSD 256GB C300 because it is blazingly fast and the 256GB variant fit my 150GB storage requirements.
- Samsung 830 Series
I upgraded my work Lenovo ThinkPad X220 with this drive and it’s crazy fast and also fitted it to my new desktop. Available from Amazon in 64GB ($80), 128GB ($100), 256GB ($230) and 512GB ($449) capacities
- Crucial M4
I upgraded two MacBook Pro 15″ (work+wife’s) with Crucial’s M4 last year. Available from Amazon in 64GB ($75), 128GB ($98), 256GB ($183) and 512GB ($539) capacities
Apple’s factory options for SSD are a mixed bag. They originally used slower drives by Toshiba and from July 2010 whether you get a fast Samsung or a slow Toshiba SSD was pure luck.
Given Apple charge a slight premium for the SSD option, you don’t get to choose your drive model and they are easily replaceable (except the iMac 27″ and MacBook Pro Retina) go with an after-market drive :)
Installing a new hard drive
Newer Unibody MacBook Pro hard-drives are user-replaceable and covered in the manual.
My older non-Unibody is not so simple but those nice people over at iFixit put together a hard drive replacement guide for 15” that is close enough for my 17″.
Installing Mac OS X without a DVD drive
My Superdrive died a while back so installing Mac OS X is a little trickier than usual. There are a few options you might come across.
If you are just doing a one-off Lion install then try the Lion Recovery Disk Assistant which requires a 1GB USB key and an internet connection for the install.
If you want to install Lion to multiple machines or won’t have internet where you’re installing then you can either put down $69 for the Lion USB thumb drive.
My favorite option however is to create my own install USB key. These steps will work for both Snow Leopard and Lion.
Create your own Lion or Snow Leopard install USB stick
The following steps work for both operating systems – the only difference is what you your drag across as a source in step 8.
- Snow Leopard – source is your retail install DVD
- Lion – source is InstallESD.dmg file which can be found in your Applications folder inside the Lion installer. If the installer is missing use App Store to re-download it. You will find the file inside the Lion installer by using Show Package Contents and heading to the Contents > Shared Support folder.
- Insert your USB stick
- Launch Disk Utility from the Utilities folder
- Select the USB stick from the list of devices and then choose the Partition tab
- Choose 1 Partition from the Volume Scheme drop-down
- Press Options… choose GUID Partition Table then OK
- Press Apply to confirm you are happy to wipe away all the data on the device and wait until complete
- Select the USB stick from the list of devices and then choose the Restore tab
- Drag the source (DVD or InstallESD.dmg) from the list of devices into the Source text box
- Drag the USB stick from the list of devices into the Destination text box
- Press the Restore and wait a while
When finished eject the USB stick and insert it into your DVD-less Mac. Turn it on and hold down alt until a boot selection screen shows then use the arrow keys to select your USB device and press return to launch the installer.
It may take a while for the installer screen to appear but be patient.
Remote Install let’s you put the a DVD into a machine with a drive, run Utilities > Remote Install and follow a few steps which include holding down the alt key on the machine that doesn’t have a drive.
Unfortunately only machines Apple shipped without a Superdrive – i.e. a Mac mini or MacBook Air from 2009 or later are happy to boot from a Remote Disc.
The following two shell commands enable Remote Disc on older machines within Finder but don’t allow a remote install:
defaults write com.apple.NetworkBrowser EnableODiskBrowsing -bool true defaults write com.apple.NetworkBrowser ODSSupported -bool true
You will also need to enable sharing on the Mac with the DVD drive. Head into System Preferences then select Sharing then check DVD or CD sharing. You may also want to uncheck Ask me before allowing others to use my DVD drive to avoid having to go to the other machine to continually grant access.
Performance over time & TRIM
A simplified primer
File systems write in blocks and before SSD when the file system wrote to ‘block 1′ it got ‘block 1′ on the drive (unless it was damaged when it would map in a replacement from a reserved section). If it rewrote ‘block 1′ it overwrote what it wrote last time. This is how tools that securely erase files by writing them over and over work.
Now SSDs are fast but the flash technology suffers some limitations the most important is they can’t overwrite data without erasing it first so when the operating system writes ‘block 1′ a second time, it actually stores it somewhere else in the flash (but tells the file system it was ‘block 1′) and makes a note where ‘block 1′ actually is. This avoids the write penalty and also means that you don’t wear out block 1 by writing it over and over again (this is called wear-leveling).
This works just fine until you run out of erased blocks. This happens sooner than you’d think because when the file-system deletes a file it does not actually erase anything but just marks it as not used in it’s own file-system tables knowing it will just get used again sooner or later. (This is how file-recovery tools are able to undelete files).
So this combination of the drive never getting told to erase blocks and only finding out it can re-use them later when its time to write data and it suddenly finds these writes all require it erase blocks too and performance can drop to traditional hard-drive speeds (or worse).
Manufacturers initially solved this problem by writing tools that examined the file-system structures to find out which blocks are unused so they can send ‘erase block’ commands down to the SSD drive so they are ready to be written again without the erase penalty – at least until you run out of blocks again. Because these tools need to know the file-systems internals you can’t throw a Windows tool designed for the NTFS file system at a disk formatted with HFS+ for the Mac and expect it to be able to understand anything.
Another solution involves the drive recording when blocks are being overwritten at the file-system it can mark the older copy of the actual block on the flash as erasable. Now, this may not happen until the disk is quite full and so to avoid stalling again on writes the manufacturers put some extra flash storage on the drive. When it gets in this state the writes gets a fresh block from the reserve and the reserve takes the previously used block to erase and put back into reserve. The problem here is that the manufacturers have to put extra flash and logic on the drive which costs $’ and it’s only able to put off stalling as long as the reserve can keep supplying fresh blocks.
A third solution tackles the problem at the source. Manufacturers agreed on a standard that extends the ATA protocol called ‘TRIM’ that lets file-systems tell the drive when blocks are no longer required and can be erased when it’s not busy. Support was built into Windows 7 and Linux 2.6.28 making a lot of SSD owners very happy.
Mac OS X & TRIM
You could also try to minimize unnecessary writes:
- Don’t use Finder’s Secure Empty Trash or the srm command line tool – these attempt to overwrite the blocks but because of wear-leveling on SSD they’ll just steal blocks up to 35x the size of the file you want to ‘erase’
- Keep large churning files on external drives (e.g. video processing)
- Don’t let your laptop run out of power as it copies the RAM to disk each time (2-8GB)
- Prevent unnecessary disk operations such as the ‘last accessed’ attribute on files (see below)
- Don’t keep running disk benchmarks that cause lots of writes!
Turn off last-access-time
These access times are pretty useless and indeed the iPhone also has them switched off. Create a file named noatime.plist in your /Library/LaunchDaemons path with the following contents:
<plist version="1.0"> <dict> <key>Label</key> <string>noatime</string> <key>ProgramArguments</key> <array> <string>mount</string> <string>-vuwo</string> <string>noatime</string> <string>/</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>
Thanks go to Ricardo Gameiro for that tip although his other Mac SSD tweaks of creating a RAM disk is questionable given the way Mac OS X manages memory and disabling the RAM copy-to-disk entirely and therefore losing data is more risky to me than running out of blocks early.
- Turn off the sudden motion sensor – SSDs ignore the park head command anyway
- Turn off HFS+ journaling – some users report odd issues and corruption
If you do get into the situation where your write performance is suffering badly and you are prepared to spend a little time to get it back you can do the following:
- Ensure you have a full Time Machine backup
- Boot from a Linux Live CD (or USB image) containing a recent build of hdparm
- Use hdparm to perform an ATA Secure Erase
- Boot from your Mac OS X DVD/USB stick
- Choose the Utilities > Restore System From Backup menu option
- Point it at your Time Machine backup
You should also be able to do this with other full-system backup tools like SuperDuper but you’ll have to figure out the steps for yourself ;-)
I wish I had some better benchmarking tools but Xbench is all I have, sorry!
Xbench with Crucial C300 256GB on 2007 MacBook Pro
Here are the figures for my Crucial C300 256GB drive with 0009 firmware on my older non-unibody MacBook Pro 17″ (MacBookPro3,1) with a dual-core 2.6GHz CPU and 4GB RAM.
This MacBook Pro is limited to 1.5GB/sec on the SATA bus as it uses an Intel ICH-8M SATA controller and this is limiting the drive.
|Uncached write 4K||200.40||762.30||185.92||789.45||194.20||774.95||208.42||885.91||191.31||931.43|
|Uncached write 256K||196.34||357.61||196.05||359.23||129.89||360.79||157.84||318.87||172.08||320.78|
|Uncached read 4K||67.56||1926.31||69.27||1942.94||63.01||1911.07||60.37||1812.40||72.50||2030.81|
|Uncached read 256K||239.73||628.06||238.22||624.15||236.40||617.67||234.84||615.42||243.42||631.16|
My original performance figures with the original as-shipped 0001 firmware and subsequent 0006 firmware figures are after almost a year of continual use and the drive has not been secure erased in that time. The final set of 0007 figures are on Mac OS X Lion with the TRIM enabler support switched on for a week.
Xbench with Crucial M4 256GB on 2011 MacBook Pro
I had the opportunity to put an SSD in my new work MacBook and immediately jumped to the a href=”http://www.kqzyfj.com/click-3893583-10674245″>Crucial M4 256GB. Here are the crazy figures for that drive with 0009 firmware on a MacBook Pro 15″ (MacBookPro8,2) with a quad-core 2.2GHz CPU and 8GB RAM.
|Uncached write 4K||428.98||1890.35|
|Uncached write 256K||424.35||770.44|
|Uncached read 4K||120.56||2162.18|
|Uncached read 256K||691.20||1244.41|
SSD is fast but given the hype I was expecting everything to be instant and it wasn’t quite there. Applications usually launch within a single dock bounce and everything feels a lot snappier but there wasn’t the massive WOW! I was expecting.
There are also a few other advantages often overlooked, especially on a laptop:
- lower power consumption
- less weight, noise & heat
- greater shock, dust and magnetic resistance
Here’s a table that pulls the specs compared to the 7200RPM Travestar that was previously my main drive.
|Crucial RealSSD C300 256GB||Hitachi Travelstar 7K320|
|Power consumption (W)||0.094 – 2.1 – 4.3||0.2 – 2.2 – 5.5|
|Shock resistance (G/1.0ms)||1500||200|
|Seek time (ms)||< .1||12|
Time will tell how well the machine now deals with large Aperture libraries of RAW images and Visual Studio compilations from inside Parallels and I’ll be sure to report them here.
Check-in (26 June 2011)
I installed the SSD and wrote this article back in April 2010. I’ve revised and tweaked it over the 14 months it’s been published to account for new firmware, updated benchmarks, the new Crucial M4 replacement of the C300 and the fact that Apple now ship SSD’s with very good performance as standard.
My C300 is still going strong through two firmware upgrades, several OS X installs (trying out betas, upgrading to Lion), regular application installs and work with heavyweight software such as VMware Fusion and Aperture.
The Crucial hasn’t yet missed a beat. No calls to support, no stuttering and benchmarks today are very similar to those published for the 0006 firmware update (within 10%).
It’s been an interesting couple of years with nothing but a maxed-out MacBook Pro 17″ as my only home machine.
The hard drive died but time machine held my hand. At ALT.NET Seattle 2009 my backpack took a dive that left a dent in one corner. The battery was replaced and I roped GrinGod into obtaining a replacement UK-style \ key from the UK after some frantic typing.
A friend cracked the display when his keyfob sprang from his Batbelt culminating in a visit of the Apple Store in Bellevue. Ten days and $700 later got that fixed and included a bonus disconnected thermal sensor, a couple of new scratches, an extra screw to rattle around inside and a line of grease around the Apple logo.
Sticking with it
When I find myself eying the unibody I wince at the glossy ‘matt finish’ screen, the multi-touch trackpad clicks that sound like Robocop is nearby and a US keyboard that requires my pinky to hit a single-height enter key. That little pink dog won’t learn any new tricks. I’ve tried.
Still the OpenCL benchmark show the 8600M outperforming the newer 9400M and it does everything I need and at least one thing I don’t (gets hot enough to bake bread on). Short of switching the hard disk out for an SSD – I’ve ordered twice and then recalled after a Twitter volley of “no, you don’t want THAT one” – it’s here to stay for at least another year.
One thing that is always changing is the bunch of installed applications as I search for a combination that deliver a nirvana between productivity and enjoyment. Apps that perform a set of focused useful tasks with a shiny, eminently lick-able user interface, score highly.
I’ve rounded up my favourite apps before but here’s the latest specials on the menu.
This great-looking app helps reclaim wasted space making it a pre-requisite for SSD switchers.
Combining the PowerPC and foreign language code-purging of XSlimmer & TrimTheFat is also adds cache & log purging in with application uninstalls ala AppZapper etc.
Despite using XSlimmer already on my machine it was able to reclaim another 1.8GB and V2 is out soon which I hope will remove & alias duplicates given we’re not getting ZFS which had this feature (how many copies of Sparkle.framework do I have on my machine….)
This year I rewrote my blog’s WordPress theme from scratch and given the PHP requirement I found myself looking for an alternate IDE to Visual Studio. I already own TextMate but the feel of a raw text editor with bundles of extra bits feel didn’t have the gloss and usability I wanted such as fast preview, remote FTP sync etc. with a minimal of setup fuss.
I briefly toyed with Espresso during the early development cycle but Coda won me over in the end with it’s sheer simplicity and elegance plus the addition of built-in documentation for PHP was very helpful when working offline.
Yes, when the Magic Mouse hit the street I picked one up. The idea of a mouse with trackpad multi-touch technology was appealing but a few minutes of use and no amount of twiddling would make it track or let me configure it to take full advantage of what it should be able to do.
Until Apple sort this out BetterTouchTool is your friend letting you speed up the tracking of the Magic Mouse, or indeed your trackpad, and assign all sorts of interesting shortcuts and abilities to combinations of finger gestures.
Mac apps tend to expose only the common options in their user interfaces but sometimes developers add some additional tweaks and settings behind the scenes that live in the Mac’s equivalent of the registry (known as “defaults“). While you can set these manually using the defaults command-line tool you still need to know the setting exists, it’s name and what options are available and so secrets exposes this.
Secrets is similar to Deeper and TinkerTool but the difference is that the secrets web site lets people add new options which then are automatically available within the installed preferences pane making them easily discoverable, searchable, applied… and occasionally undone.
The scenery is brilliantly imagined, stylistic and shows that very real lived-in cities can be beautiful especially when populated by cute robots capable of assembling themselves from their own body-parts (just like a triple 8 but infinitely cuter).
I came home from work today to find my family pack upgrade version of Snow Leopard. It’s been a few hours, so here are impressions so far.
Packaging & installation
The packaging was very small and lightweight and eco-friendly compared to the big-plastic-box-monsters that come out of Redmond.
Installation went mostly smoothly apart from an abort-and-restart that seems to have been caused by my DVD drive flaking out on me. It’s been trouble since it came back from the Apple Store.
I had to run the separate Xcode installer to update that – it wasn’t automatically detected – which left me wondering if I need to manually install anything from the optional installs or not. Running Xcode before updating it not only failed to launch but left a background process I had to force quit with Actitity Monitor to let the installer upgrade it.
The less-is-more-approach followed through to disk space which freed up another 10.5 GB – impressive given that I had purged all the non-English language resources already using Monolingual and I elected to re-install the Rossetta PowerPC binary support.
Despite being an optimization release Apple squeezed a few features in to sweeten the deal the majority of which are documented at their site and in proper reviews. The ones I’ve encountered so far are:
Location services, detect time-zone
Great for travelling users like myself, it found my nearest city instantly.
AirPort status in menu bar
Pop-up menu now shows signal strength of all other networks. (Hold down alt when popping up this menu to see detailed connection stats)
Gone are the Automatic, light, medium and strong options replaced with a single “Use LCD font smoothing when available” option that isn’t too good at detecting third-party displays but you can activate the old hidden options.
The rendering just looks plain wrong when booting. It has that awful colour-fringe that you see from time to time, the cause of which seems to be related to the default gamma (the curve on which digital colours become analogue levels) on Mac OS X changing from 1.8 to the PC compatible 2.2.
It seems however that the sub-pixel rendering algorithms haven’t been updated to correct this. There is absolutely no point in posting a screenshot as either your browser, screen or OS would make it appear different to how it did here.
Help is at hand though, you can head into the ColorSync Utility in your Applications folder and calibrate your display – just follow the instructions and set the gamma back to 1.8. It’s worth turning on “Expert” mode and spending a few minutes setting it up properly though.
Unable to open NIBs
I used to love opening up other people’s NIB files. You could in theory create your own customised versions of an applications interface. Localise it for yourself. Maybe even create a UK English version where Colour is spelt correctly.
Whether this was to save space or to prevent such hacking is anyone’s guess.
So far I’ve had a couple of things break:
- Cyberduck quits on launch – beta replacement is out
- Xbox 360 controller extension (I don’t use it anymore anyway)
- iStat Menus fails to launch – I need this to replace menu time with timezones and a drop-down calendar
Features I was expecting
Given the lean-and-mean plus sensible small refinements I was expecting…
- Login Window keyboard shortcut – come on, seriously, with the secrecy at Apple surely you need this too?
- Uninstaller – AWOL since the transition from OpenStep to NextStep and sorely needed
- Language purging – I still don’t want French etc. on my laptop, odd omission given the reduction goals
- System update framework – Other apps could use this too you know guys – and put clever delta’ing support in
- Grab – STILL only saves in TIFF format. So I save it there, load into preview then into PNG. WTF??
- Safari – should have an option to force new windows to open in a new tab
I’d also love to see being able to pin documents to their dock icon and being able to push a window to an edge to tile like as these were two features I found useful in Windows 7. Talking of which when you hold the mouse button down on a dock icon it greys everything else out for a truly UAC-like moment every time you want to quit an app from the dock…
The Menlo font
Apple needed to replace the ageing Monaco as it has poor international unicode support, has just a single style and poor hinting (it uses embedded bitmaps to look good without anti-aliasing in Terminal).
In 2003 Bitstream released the family Bitstream Vera under a free licence which included a great Sans Mono with bolt, italic and bold-italic variants. It even has some capable hinting so looks pretty good without anti-aliasing although could do with a few delta’s to clean that up. While it was short on the unicode support several forks filled in the gaps such as Deja Vu and Apple took Vera Sans Mono, grabbed some of these additions (adding 2900 glyphs) and tweaked some of the existing ones. Specifically they moved the vertical bar up on EBH, widened MN, shifted il, changed 0 from dotted to crossed and move/resized punctation then packed it up in a True Type Collection file that stores multiple TTF’s in a single file.
While these changes themselves look quite good – it seems they were optimizing for 14 point – in the process they destroyed the hinting for these glyphs despite the tiny amount of change made.
Spot which ones Apple modified on these screenshots (curiously Windows refuses to use the TTC file as it believes it is corrupt).
Apple is obviously aware it’s not a good job as the option to turn off anti-aliasing in Terminal when using Menlo is curiously disabled – this seems to be something hard-coded into Terminal.app as it doesn’t affect TextMate.
Installation here was a little tricky as initially the installer told me that Boot Camp 64-bit was not supported on my computer model.
Whether they don’t support 64-bit Windows on a late 2007 MacBook Pro 17″ (MacBookPro3,1) or whether it was complaining about Windows 7 isn’t clear as there are no Windows 7 specific drivers on the disk.
All is not lost however as if you navigate into Boot Camp\Drivers\Apple folder you can run the BootCamp.msi or BootCamp64.msi from there and it does not seem to perform the check. All the drivers installed without complaint and the trackpad, mouse, audio etc. is working just fine.
Like many other MacBook Pro owners I’ve been waiting for the October 14th event with some excitement. The highlights include:
- Stronger aluminium block casing
- NVidia dual graphics for low-power or high-performance
- Glass multi-touch/multi-press trackpad
But the downsides are also worth noting, all of which make me think when I replace my 2.6GHz 17″ MBP in a year Apple aren’t going to have something I want to replace it with.
- No 17″ model
- 4GB RAM limit
- Glossy screen only
- 1440×900 resolution
- Firewire gone