Clean Install of OS X El Capitan


I switched to using OS X in 2007. I continued using OS X for personal use even while I worked for years at Microsoft.I had probably last started with a clean install back in 2011. Over the last 4-5 years I had installed and uninstalled many things. I had messed around with the shell. I had created symbolic links, implemented complicated workarounds to support the various edge cases that I needed to work with at different points in my life.

OS X has come a long way in the last 5yrs. The App Store was announced and I had started installing/updating my apps using it. Many tweaks and workarounds I had gotten used to became core features of the OS. Setting up development enviroments became a breeze with things like Docker and sophisticated package managers like Node/NPM.

I decided it was time to have a clean break and start over again. See, it’s easy to migrate/re-install and get back to where you were before. But I wanted to start clean for real. Make new decisions for my new workflows to reflect how both me and the tools I use had evolved.

I started on a Friday evening. Made a USB installer. Made a full backup of all my data files. I didn’t backup any configurations and settings on purpose. The thing that took the longest time was getting my pictures back up. I have a 1TB SSD drive (astronomical cost component on my laptop) which is mainly filled with pictures and videos.

So now I have a clean, wiped, brand new, fresh off the press copy of El Capitan with no baggage from the past. I install software as I need it and here’s where I am after a week.

How to install PhantomJs on a CentOS server


I was playing around with using a server to run end to end scenario testing using PhantomJs (new to it, check out some useful books here). I like that PhantomJs has minimal requirements. However, I did have to install a couple of libraries that I didn’t find clear documentation for. So to benefit anyone who might be trying to do this, here are my steps:

Download Phantom

[samh@do ~]$ curl -O
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
100 13.0M 100 13.0M 0 0 2908k 0 0:00:04 0:00:04 --:--:-- 3402k

Extract directory

[samh@do ~]$ tar xvf phantomjs-1.9.1-linux-i686.tar.bz2

Copy binary to bin folder (note you may need to use sudo if you are not logged in with root priveleges)

[samh@do ~]$ cp phantomjs-1.9.1-linux-i686/bin/phantomjs /usr/local/bin

You will notice that this is not enough to run Phantom and you will encounter this error:

[samh@do ~]$ phantomjs hello.js
phantomjs: error while loading shared libraries: cannot open shared object file: No such file or directory

Here is the step to eliminate it:

[samh@do ~]$ sudo yum install freetype

Then you will see another error:

[samh@do ~]$ phantomjs hello.js
phantomjs: error while loading shared libraries: cannot open shared object file: No such file or directory

And here’s how to eliminate it:

[samh@do ~]$ sudo yum install fontconfig

This is it. Everything should work now:

[samh@do ~]$ phantomjs hello.js
Hello, world!