Macbook Pro 15″ i5 Unibody Upgrades

I’ve finally purchased a MacBook Pro, and things are going pretty well. Most of my work these days involves using servers for heavy lifting, but I still use Windows 7 from time to time, and Lightroom 3 almost all the time.

Unfortunately, Lightroom 3’s catalog is essentially a database of photos, and the more you put in it, the more slowly it will run. In this case, the MacBook Pro’s stock 320GB 5400 RPM hard drive just isn’t cutting the mustard. Simple actions like scrolling through images from the last import can be painful. Using Firefox or Chrome while importing makes everything crawl, and I’m forced to look for entertainment in Meat Space. The horror!

I know, “it can’t be that bad” is what you’re thinking. It is. Imports can take up to an hour. While on vacation, the last thing I want to be doing is waiting for imports of photos I’ve already taken while I could be out taking more photos.

I mentioned the fact that I use Windows 7 on the MBP. This is via either Boot Camp or VMware Fusion (running the Boot Camp partition). Things work swimmingly in Boot Camp, but I really have to be careful in Fusion because many of the newer Mac applications are RAM-hungry, and you start paging to disk quickly. Since the disk is so slow, you’re at a standstill within minutes.

So the problem essentially boils down to two things, both of which could have been resolved at time of purchase had I looked into the specs a bit further.

  1. Not enough memory
  2. Hard drive too slow

Costs add up

The memory upgrade, direct from Apple, via their online store, is a whopping $420. The hard drive upgrade from 320GB 5400 RPM to 500GB 7200 RPM is $158. Together I would have shelled out $578 in order to get the system where I think it needs to be.

Enter the Apple Technician

In the not-so-distant past, I repaired Apple laptops for a certified depot. It used to be pretty difficult as some of the Mac laptops had an inordinate amount of screws of varying sizes and dizzying teardown diagrams. I would say I was competent, but it really wasn’t something enjoyable. That said, I have been out of the game for a bit, and things have seemingly gotten much easier for the majority of Apple laptops. Often, you can simply remove the bottom case to gain access to wireless cards, Bluetooth, SuperDrive, hard drive and memory. And such is the case with the Macbook Pro 15″ i5.

Using the diagrams found at iFixIt, I was able to confirm that only a little bit of work would be needed to perform the upgrades. That means I save money on labour, which isn’t cheap.

Price Comparison

I was able to source hard drives at the 500GB capacity ranger running at 7200RPM for very cheap. I’d be looking at around $80, worst case. But being spoiled on other computers running solid state drives, I thought I should look into the option of adding an SSD instead. Though they have come down in price, getting larger capacity SSD drives can run upwards of $400 easily. Ouch. I decided to settle on one of Seagate’s newly-released “hybrid” drives that combine 4GB of superfast SSD with 500GB of traditional rotating platter storage. This should hopefully give me the best of both worlds. The cost? About $140. That’s definitely a few dollars less than the “off the shelf” Apple price, though it’s also double the cost of a typical 500GB 2.5″ hard disk. But speed is the issue to address, and I’m confident the HDD will address that. My only concern will be the speed of the platters may produce noise.

The memory for a MacBook Pro i5 is slightly harder to find. It took some poking around to find the exact speed and latency of the chips, as I want to make sure the logic board won’t complain, and no unforeseen issues would be introduced. After looking at Kingston’s website, I was able to deduce that the full specifications of the RAM are as follows:

  • Format – 204 pin SODIMM
  • Speed – PC3-8500 / DDR3 1066MHz
  • Latency – 7-7-7-20

This is not cheap memory. We’re talking high speed, high density, low latency RAM. After searching high and low, I came across some Mushkin RAM that was Mac certified. I wasn’t even aware that Mushkin made Mac certified RAM, but boy was I happy. The cost for an 8GB pair of 4GB SODIMM modules was only $260! In case you’re interested, the part number is “996644”, and I still don’t see a better deal from ANY vendor for memory this fast with timings this tight. Even for PC.

Our current total is sitting at $400. That’s less than even the RAM would cost from Apple.

Going Forward

Not to miss any opportunities, I decided to go one step further. Removing the memory and hard drive would leave me with spare parts. These could be sold on Craigslist locally for cheap, or I could re-use them. Use for the hard drive is pretty easy: Time Machine backup. A $20 external AcomData 2.5″ Ruggedized Samurai enclosure would fit the bill well, but the last thing you want to do on vacation is lug around cables and accessories. In my experience, they either get lost or forgotten (or both). This may not be the case for everyone, but I actually rarely use optical media. My data is transferred using USB sticks if I need to sneakernet, over wifi or LAN if I need to backup (and again to another location off-site to be safe) and when I do make audio “mixtapes”, it’s not often as I use an iPod for music.

So here I have a useless device taking up space in the laptop. Some digging, and looking at the tear-down told me a 2.5″ hard drive could fit in there easily. Excellent, a use for the old drive that takes up no extra space! Of course, like many good ideas I think I have come up with first, someone had “been there, done that” before, and you can buy full kits online for cheap. I found two companies that sell these: MCE and OWC. I opted for OWC because I really don’t have a need for the external optical drive that MCE throws in for “free”, creating a $20 difference in price as I have a Lacie DVD-RW already. Cost of this part: $80. (MCE’s is around $100 if you still might need that SuperDrive)

The total now sits at $480. More than the cost of the RAM, but still considerably less than the over $700 cost to have Apple do this at time of purchase. If you had messed up and bought the lower-end 15″ i5 Macbook Pro, there would also be at least an hour of labour on top. Typically that would run about $150.

I’m left with 2x 2GB DDR3 SODIMM modules, which might be hard to get rid of at any price, though they make a good upgrade for Mac Mini users. I’ve looked high and low for DDR3 SODIMM “RAMDisks” to no avail. I realize these aren’t the best devices, and never really had a following, but it would certainly be handy to have on one of the servers. One can only dream, I suppose.

So there you have it, cheap upgrade, easy install, no regrets. Preliminary testing tells me that the boot time has been halved, and Lightroom is much faster, though it’s not as fast as running it on my Mac Pro with SSD.

At some point I will probably look at replacing the second internal drive with a solid state boot drive when I replace the Intel X25-M G2 80GB in the Mac Pro with a SandForce SSD, and I will make sure to post some speeds when that frabjous day finally arrives.

Windows Home Server in VMware Fusion 3

I set off on a quest to get the home backup / media server / remote access solution Windows Home Server with Power Pack 3 running inside of VMware Fusion 3 running on top of Apple OSX Snow Leopard (10.6).

Why, you ask? Simply because I thought I could… A little while after downloading the Windows Home Server trial, it became apparent that there was no selection for this operating system. No matter, I thought, it’s based on Windows Server 2003, so I should simply be able to select that, right? Unfortunately not that easy. First, the hard disk type selected by default by VMware Fusion is SCSI. Without a driver disk (virtual floppy), you’ll have no luck. Also, the amount of memory available doesn’t meet the Windows Home Server requirements.

My method?

Try these settings:

– Windows Server 2003 Web Server

– No “easy install” settings

– 512MB RAM

– Remove the default HDD

– Add an 80GB IDE HDD

– Make sure the ISO is mounted

Things seem to be working at this point.

Hope this helps someone, I trawled Google and the Fusion forums with no luck.

Install Mac OS X Leopard on a G4 800mhz Quicksilver

If you have an old G4 sitting around that’s at the 800mhz mark, you probably should try installing Leopard, because most people agree it actually runs FASTER than Mac OS X 10.4 Tiger. Weird, huh? I guess they’ve optimized the code pretty well.
However, when you try to install the operating system, you are warned that Leopard cannot be installed on your G4. There are a few reasons for this:
1) Leopard requires 512MB of RAM – you have RAM, right?
2) Leopard requires over 867mhz processor

We can fix number 1 by simply getting more RAM. I find Craigslist to be of great use here. Number two is a bit more difficult as G4 processor upgrades are ridiculously expensive once you consider the cost of a Mac Mini, and also requires a bit of tech savvy under the hood as you’d be swapping CPUs.
Not to worry, though. Here’s a way to convince OpenFirmware that your CPU is 867mhz, and allow the installer to boot, install, and get you off and running:
Boot into Open Firmware, I have covered this extensively here:
Once in OpenFirmware, issue the following commands (for single CPU):
dev /cpus/PowerPC,G4@0
d# 867000000 encode-int " clock-frequency" property
boot cd:,\\:tbxi

For dual CPU:
dev /cpus/PowerPC,G4@0
d# 867000000 encode-int " clock-frequency" property
dev /cpus/PowerPC,G4@1
d# 867000000 encode-int " clock-frequency" property
boot cd:,\\:tbxi

Note that all we are doing is over-writing the CPU clock-frequency (speed) property for each CPU installed, at boot time.
Also, if you need to boot another device, try:
printenv boot-device
This will return a list of boot devices to use when booting the installer. I used this in order to boot a Firewire device that had had a disc image (DMG) restored to it, making things a bit easy and faster.

Good luck!

How do I install .kext files?

I hear this a lot, and I myself have also gone looking for it…

So without  further ado, here is the script that will install kext files for you – be warned – you’ll need to know how to get the kext file in the first place, as well as the filename.

Easy right?

Let’s get started.

Open the Terminal application by going to Applications / Utilities / Terminal.app – you will see it in the Utilities folder – it looks like a command prompt.

Once terminal has launched, type in the following command:

sudo -s

Enter the root or first user password that you inputted during the setup process.

This tells it to run any other commands after this one as the root or superuser account, allowing you to edit files you normally would not have permission to edit.

Here’s an example using IOATAFamily.kext, a popular ATA driver. You’ll want to replace this by your own driver name. Also, you’ll want to make sure the file is unzipped, and sitting on your desktop. Oh one more thing, you’ll want to edit YOURUSERNAME with… your username 🙂

mv /Users/(YOUR USERNAME)/Desktop/IOATAFamily.kext /System/Library/Extensions
chmod -R 755 /System/Library/Extensions/IOATAFamily.kext
sudo chown -R root:wheel /System/Library/Extensions/IOATAFamily.kext
cd /System/Library/Extensions
rm -rf Extensions.mkext
rm -rf Extensions.kextcache

Hope that helps!

Disable the Dock in Apple OS X Tiger

Many people find that they simply don’t have enough screen real estate on their MacBooks, and prefer to use application launchers such as Apple’s own Spotlight, or the third party applications QuickSilver and launchbar.

There are two ways to remove the Dock from OS X tiger – one easy, the other a more manual approach.

We’ll start with the hard one, since it’s better to understand what’s going on behind the scenes. If this simply doesn’t interest you and you’d rather move on – rest assured that scripting the hard part is just as safe, and works in a similar manner.

On to the hard part:

  • The first step is to move the dock from /System/Library/CoreServices so that it won’t be launched on startup as it is normally. This is a bit hackish, but I’ve yet to get anything else working properly.
  • Since the dock will no longer be called at startup as it is missing from the usual cave it hides out in, we’ll need to make the Dock start up from it’s new location when we log in. This can easily be accomplished by dragging Dock.app from its new hiding place to your startup items (found in the “accounts” system preference pane).
  • Since the idea here is to get rid of the Dock, we’ll need to close it after it is run on login. The easiest way to do this is to make an Applescript that terminates the dock for you, and have it run just after the Dock is launched on startup. This allows the Dock to start, get it’s act in gear, then disappear.
  • Now you can proceed with your normal modus operandi and utilize QuickSilver or whatever other application launcher that you prefer to use instead of the Dock.

The easier way to do all of this is to leverage a piece of software written by No Name Scriptware called Dock Death. Dock Death is an AppleScript that performs the same task we outlined above, and also gives you a back out strategy in case you really need to get the Dock back.

Both of these solutions will effectively disable Expose since it a Dock process. If you can’t live without Expose, you may want to try using the freeware Onyx, which allows you to move the Dock to the top of the screen and hide it, effectively eliminating it from view. Though this is a bit low-tech in that it doesn’t really disable the Dock, for some people it gets the job done.

Connect to a Mac Remote Desktop using VNC

This will be a quick howto as it’s mostly a settings issue, but here goes:

Macs have come with a Remote Desktop server for quite some time now, and it’s great for using macs to manage macs remotely, though maybe not as nice as an NX or XMing solution.

When trying to manage an Apple computer using a Windows or Linux computer it’s a different story. When you attempt to open the connection the authorization works, but the window will close very quickly, with no apparent error.

The problem lies in the actual implementation of VNC in Apple’s Remote Desktop server (not to be confused with RDP – it’s MUCH slower). Apple has decided to only support one type of tiling, whereas most VNC clients will attempt to find the best solution in order to connect. Specifically, Apple uses HexTile, and if you specify this in the options or properties of your connection, it will work with no problems whatsoever.

If you’d like to make a .VNC configuration file in order to connect to your Mac server using a Windows VNC client (RealVNC used here), just take the following code and save it as a *.VNC configuration file, being careful to change the host from (null) to the remote Apple Remote Desktop server’s IP address (for example: 10.10.10.10).

[Connection]
Host=(null)
[Options]
UseLocalCursor=1
UseDesktopResize=1
FullScreen=0
FullColour=1
LowColourLevel=1
PreferredEncoding=hextile
AutoSelect=0
Shared=0
SendPtrEvents=1
SendKeyEvents=1
SendCutText=1
AcceptCutText=1
DisableWinKeys=1
Emulate3=0
PointerEventInterval=0
Monitor=
MenuKey=F8
AutoReconnect=1

I have tested this method on many Windows and Linux machines, using RealVNC, TightVNC, UltraVNC and even Chicken of the VNC for Mac OS X. It works fine, though I’d like to pound home again that I would really like to have the option to either tunnel application over SSH, or have some type of locally-accelerated RDP-compliant protocol (heck why not use LTSP 5.0?)
One can only dream…

Where’s my Mac BIOS? (How to get into OpenFirmware Easily)

A lot of people these days appear to be under the impression that Macs have a BIOS, which is unfortunate because they actually have something much better – Macs have OpenFirmware. This is true for G4 Mac Minis, PowerBooks, iBooks, iMacs, eMacs, and Dual G5s… I could go on and on.
I got most of this info from experience and the Apple Developper Connection – if you’re not a member yet, sign up, it’s free.

You can get into OpenFirmware using this key sequence:

CMD-OPT-O-F

In detail, this means using two hands, holding “command”, “option” and “f” on the left and “o” with your right hand. Do this while booting your computer and you well hear two chimes. At the end of the chimes you will be greeted with an

On my G4 Mac Mini, for example, I can hold down the power button for roughly 10 seconds and I will hear the chimes – this should work for iMacs as well.

The OpenFirmware prompt that looks like this:

ok

0>

Congratulations, you’ve accessed your “BIOS” you switcher!

Now that we’ve passed this glorious milestone, we have some work to do. After all you came here for a reason right? (and not just to click on the ads, wink-wink nudge-nudge)

Some useful commands that save me time and time again, and enable reparation of the G4 Mac Mini:

Boot your Apple computer using the default boot device:

0 > mac-boot

Boot your Mac using the inserted CDROM at the yaboot directory for linux CDs:

0 > boot cd:,\install\yaboot

To eject a CDROM from your Mac:

0 > eject cd

If you have any other OpenFirmware tips to share, feel free to comment!