Category Archives: Mac OS X

How to Breathe New Life into a Dying Mac Pro, On a Budget

As a technical mercenary, I find myself continually needing more computing power and more space, which is one reason I purchased the Mac Pro, to get ahead of the technology curve.

It has worked out beautifully, but more and more I find myself muttering, “if only I can get one more year out of it…”

Sadly, that is what I say about my 1999 F150 pickup truck.  It is now fifteen (15) years old, and keeps running year after year. 

But the idea is the same — pour just enough money into the system to keep it useful, until it absolutely needs to die.  And that is where I’m at with the Mac Pro.  Once I’m done with it, it will become a server relegated to the basement for another five years. 

Here is how I added some relatively simple upgrades to keep the rig running.


The best upgrade I can suggest is to upgrade to Solid State Disk drives (SSDs), bar none.   You won’t realize the full potential due to the limitations of the SATA controllers, but the speed increase will be dramatic nonetheless.  Also, make sure you are running Mavericks so that TRIM is supported.

If you are strapped for cash, get one SSD that is big enough to hold the operating system.  Also, get one that is at least 50% bigger than you think you will need.  I purchased one for the OS and one to put my user directories.  I’m constantly migrating data to my NAS in order to keep the system running.

Adding USB 3.0

My 2008 Mac Pro came with USB 2.0.  While looking at DAS solutions that might be used by the newer Mac Pro, I settled on USB 3.0. 

Pick up an Inateck PCIe USB 3.0 card.  The chipset is natively supported in OS X Mavericks, so no special drivers.


This was the first upgrade I did, the first year I purchased the system.  The stock 2008 systems shipped with a meager 2GB of RAM.

Those are the big three upgrades to refresh your Mac Pro.

2008 Mac Pro (3,1) Upgrades on Deck

Since I’m going to have to repair the Mac Pro, I’ve decided to throw in a few upgrades.  In addition to the ATI Radeon 5770 upgrade, I’ve decided to add 16GB of RAM and two Solid State Disk drives (SSDs).

While most of the hardware arrived today, I’m still waiting for the replacement video card, which should arrive Wednesday.  Once the video card arrives, I’ll crack open the dormant Mac Pro and start stuffing in the upgrades.

I had originally planned on spending all my money on a brand new Mac Pro, and turning the 2008 Mac Pro into a virtualization server, but I’ve decided to refurbish my existing 8-core mac instead.

I’ve been holding off from putting any money into my aging Mac Pro primarily because of two issues.   If you compare the 2008 Mac Pro to the newer versions, two things are immediately problematic when upgrading – the crippled SATA I/O speeds and expensive memory.

The 2008 Mac Pro is hampered with relatively expensive memory, when compared to newer versions.  You must get the 800Mhz ECC FB-DIMMS in matched pairs.  On a side note, contrary to what many people will say, you can run non-ECC memory, but you must run all of the memory non-ECC.

Since Apple no longer stocks or sells the memory, so you have to find out where you can purchase it.  OWC sells 16GB in 2GB modules for a draw dropping $429.99.   Conversely, if you have a 2011 Mac Pro, 16GB will run a $154.99.   After a lot of searching, I was able to order 16GB from Nemix, for $264.88.

The next decision was what SSD to purchase.  As I’ve noted, the 2008 SATA controller is stated to theoretically handle 3Gb/second.  However, given some design decisions by Apple, the actual throughput is less than that.  Therefore, it doesn’t make sense to put in the fastest, most expensive SSD.

Apple is selling a 512GB drive for a jaw dropping $749, plus local taxes.  I decided to go cheap — opting for two cheaper Samsung 840 SSDs –  a small dedicated SSD for the operating system and a dedicated SSD for data, for approximately $97 each.

Building a Kick-Ass Mac Mini Build/Integration Server for iOS, Android, Blackberry and Mac Development, Part I


This is the first of a series of blog posts where I walk you through the process of turning an old mac mini into a kick ass swiss army knife build integration/scm server.


Several years ago, I purchased a mac mini to run as a dedicated web server.  The server worked well, but issues with my ISP caused me abandon self hosting and move my virtual domains to the cloud.  Since then, the mac mini has been quietly sitting on the shelf, until now.

A few weeks ago, I purchased a Synology RS812 NAS appliance and quickly moved all of my subversion and git repositories to it.  However, I started to wonder if having my life’s work stored on the NAS was really a good idea.  If the drives got corrupted, I would loose everything.

I started to spec out a new server to throw in my 12U rack.   I spend hours poring over specs for server cases and power supplies looking for the quietest ones I could find.  I quickly came to the conclusion that a passively cooled system would be slower than my existing mac mini.

I pondered.  Maybe I could use the mac mini as a subversion server, mirrored to the subversion repositories on the NAS.  Then idea struck me – why not turn the mac mini into a dedicated build server? 

I purchased OS X Server ($20) and then I started to realize how incredibly useful this mac mini could be. By spending $20 for OS X server and $139 for a new disk drive I get all of the following:

•    Software Update Caching.  Right now each of my macs will poll the apple server to check to see if there is a software update.  If there is one, it will download it directly from apple, for each mac.  OS X Server has a service that will download the updates exactly once, and each of your macs will install the update from the server, saving bandwidth on your Internet connection.

•    LDAP.  With the LDAP server, you can have a single network login for all of your mac, mac books, etc.

•    Provisioning.  The server can control iOS devices and macs, pushing down developer certificates.  This is a big win for an iOS developer.

•    Source code repositories.  The mini will host subversion and git source code repositories.  The subversion repositories will be mirrored to the NAS, so at any point I have two copies of my subversion repositories in sync.

•    Build server.  With the mac mini, I will be able to build mac, iphone, ipad, blackberry and android applications.  More importantly, with Jenkins, I can also have a build slave running on Windows.

•    And lastly, you get a crap wiki server.

Upgrading the Hardware (the Path to Hell is Paved with Good Intentions)

After upgrading the mac mini to Mountain Lion, the performance was terrible.  Granted, the mac mini’s performance was never great to begin with, by any measure, but I needed more speed.

So, I drove to the store and picked up a 1TB Seagate Solid State Hybrid Hard drive (SSHD). I cracked open the mini, admired the delicate craftsmanship, and then installed the drive.  That is when my plan nearly derailed.

I went searching through my boxes for the original DVDs that came with the mac mini and installed the OS.  However, I forgot that the app store didn’t come out until after Snow Leopard was released.  Therefore, if I wanted to upgrade to Mountain Lion, I’d have to upgrade to Snow Leopard first. The only problem was that after several hours of searching for the Snow Leopard installation DVDs, I simply couldn’t find them.
I downloaded the Lion installation package and copied it to the mini and tried to install.  The installer refused, stating that the OS was too old, I would have to upgrade to Snow Lion first.

After another futile attempt to find the missing installation DVDs, I tried to use the migration assistant (which doesn’t copy the operating system files).  Time machine was no good either.

It a fit of desperation, I was able to burn the installer to a USB key.  With that, I was able to boot and finally install Mountain Lion on the mac mini. 

Each step above wasted several hours, and when you can only devote several hours a night to this side project, this adventure took nearly a full week to run its course. 

Now, I can honestly say that purchasing the Seagate SSHD was well worth it.  It may not be the fastest drive on the market, but it is bounds and leaps faster than the 5400rpm Toshiba drive.  The system boots fast and is actually usable now.

The only problem is, I broke the heat sensor connector when reinstalling the drive.  The connector sheared off the board.  I was able to solder the sensor cable directly to the pads, but the fan is running wide open now.   There are two options to fix this, which I will cover later when I finish building the server and come back to it.

Installing OS X Server, XCode

Next, I installed the $20 OS X server app.   This app overlays on top of your operating system. 

Turn on the caching server and then update your system from within the Server app.  Launch the appstore and update software.  You will start to see that the caching service starts downloading the files and starts using disk space.

Next, I downloaded XCode.  Once XCode is downloaded, run the app and then go to the XCode->Preferences and click on the downloads icon.  Download the command line tools.

Once this has finished, take a moment to admire what you now have done.   The following software packages have been installed without needing to compile anything: subversion, git, perl, php, ruby, python, and of course, apple’s XCode compilers.

That is enough for now, next time we can start setting up the Subversion server to mirror to another repository.


How to Turn off the Annoying Beep/Chime in OSX Terminal.

If there is one thing about the Mac that I hate, it is the annoying chime (audible bell) that kicks in the terminal.  This has bothered me for ages.  Backspace on an empty command line, beep.  Tab completion doesn’t know which file or directory to use, beep. beep beep beep.  Editing with vi and beep. beep.  It is annoying.

This wouldn’t be so bad, except the volume of the bell is simply too loud, with no easy way to adjust the volume.  I just had to turn the damn thing off.  But the option is buried so far down into the bowels of OSX’s configuration it took me a while to figure it out.

Here is not one, but two ways to turn it off:

Option 1: Turn off the beep in ReadLine configuration (this also works in Linux as well).  Create an .inputrc file in your home directory and insert the following line:

set bell-style off

This works on ALL terminal configurations.

Option 2: A more surgical approach is to bring up an Terminal session, click on Preferences in the application menu.   For each terminal (under the settings tab), click on “Advanced” tab.  Deselect “Audible bell.”  You will have to do this for each and every terminal setting.

I elected for option 1.