I decided to do a full install of OS X when Yosemite came out and that included installing Ruby and Ruby on Rails on my machine again. Over the last couple of years, I’ve switched from rvm to rbenv because it is a lighter weight solution. Here are the steps that I take to install Ruby on Rails on OS X today
I recently started to play around with Pentaho again for a side project at work and found that it was crashing whenever I tried to edit the database connection details. After doing a number of searches, I came across this Jira ticket in Pentaho. The gist of it is that El Capitan is not officially supported and causes Data Integration to crash. Fortunately there’s a fix out there that seems to work.
We were running into some issues at work so I decided to pitch in. I had trouble listing my rake tasks as my rake tasks was spitting out this error through RMagick – Reason: image not found – /rmagick-2.13.2/RMagic2.bundle.
I got myself a Macbook Air today to primarily be a development machine. For those of you who are looking for a shortcut, check out RailsInstaller that does a quick job as well. Personally, I just wanted to give a shot of installing Rails from scratch because it’s a good way of really understanding your system and the appropriate pre-requisites to run Rails. Also, it allows you to specify what version of Rails and ruby you want installed on your system.
I assume that you already have Homebrew installed on your system.
- Install RVM
run curl -L https://get.rvm.io | bash
- Re-load your environment
- Setup additional pre-requisites
brew install libyaml
brew install openssl
- Install ruby 2.0.0 and set it as the default version
rvm install 2.0.0 –with-openssl-dir=$HOME/.rvm/usr
rvm –default use ruby-2.0.0-p247
- Install Rails and Bundler
gem install rails –version=3.2.14
gem install bundler
- Install SQLite which is good quick database for development purposes
brew install sqlite3
The Mac App store was launched almost 3 months ago. Outside of it being hacked within the day and allowing for free apps, will users really care? In principle, I like the idea of having a centralized location where I can install my apps. Unfortunately, the immediate failure of the App Store is that it does not recognize the apps already installed on my Mac and its missing a whole bunch of apps that I have on my machine indicating that the list currently is not exhaustive.
Fortunately for Mac users there other viable alternatives such as MacUpdate Desktop, AppFresh and Bodega. I used all 3 applications side-by-side for a few weeks just to try things out. I really liked the UI for Bodega – it was very intuitive and user friendly. AppFresh was the one that I had the most hopes of being successful because I am a huge fan of crowd-sourced information and AppFresh leverages information from IUseThis. Unfortunately for me, I found that there were quite a lot of duplicate entries and it didn’t end up being as useful as I had hoped it would be. MacUpdate is a paid service for long term use but I find myself liking this the most.
On a side note, long before the iPhone app store was the existence of apt-get and the Canonical repositories for Ubuntu. There are a couple of things that I felt that apt-get did right but the biggest one is the ability to point to different repositories. The reason why this is a big win for me is that it allows multiple ways of keeping the repository updated. Commercial App Stores are great for commercial uses – pretty obvious statement, I’m sure. However, there are more and more great open source and free software that are just waiting to be discovered.
As much as I really like OSX, it’s not without its flaws. One of the things that bug me the most about my Macbook Pro is that there is no easy way to manage my hibernate settings. By default, it sleeps when you close the Macbook Pro lid until there’s about 5 minutes left of battery before it goes into hibernate mode. It’s quite frustrating to turn on your laptop with the expectation that you still have some juice left for productivity only to find out that you don’t.
After doing some research on the topic, I came across this post which led me to SmartSleep. SmartSleep installs as a pref.pane which translates into a widget in the Systems Preferences within OSX. It allows you to do the 3 default states of Sleep and Hibernate that OSX comes with plus a mode called SmartSleep. What SmartSleep mode does is allows you to control when hibernate kicks in. I have mine set as having Hibernate kick in once it goes below 75% of the battery life. It would have been much nicer if it allowed you to do a combination of time and battery life though.
Outside of Evernote, one of my other favourite apps today is Dropbox. The Dropbox concept is rather simple; it allows you to store information in the cloud but it’s implementation is extremely effective. Ever since I started working, I’ve always had portable storage. Traditionally it’s come in the means of a Compact Flash memory card seated in a PCMCIA adapter that is always plugged in to my notebooks. If I ever decided to leave my laptop at work, all I would have to do is to eject my PCMCIA card and take it home with me and I’d still be able to hace access to my core information wherever I went. PCMCIA cards are no longer the norm; ExpressCards are. More importantly though this same requirement can be solved by web services like Dropbox.
I do my work on multiple devices. I have a Macbook as my primary work laptop, a Vista machine for when I’m home and a Ubuntu Linux box that I rely on to do system admin type tasks. I love the fact that Dropbox works on all 3 operating systems. For all 3, you install a client which then creates a local directory on that machine. Any time you make a change to a document in the dropbox directory, it will synchronize it to all the other machines. In that scenario, it works really well. For my mobile devices, Dropbox has a mobile friendly web site that makes these folders easily accessible. I often put cab files that I need to install on my Windows Mobile there as often times sites don’t make it easy to download apps from their site.
One of the really nice things that I like about Dropbox is the ability to share folders. This is most useful when you are collaborating with others and need to have information flow to multiple people. Instead of sending multiple files to multiple people, you can always have the latest copy accessible through a shared folder in Dropbox. One word of caution though, it doesn’t support the concept of file locking. If two people are editing the same document, the file that is retained is most likely going to be the last one. The good news though is that it does support some rudimentary file versioning which is accessible on the web.
The free account comes with 2GB of storage. It may not sound like a lot especially when USB keys are so cheap these days and when Yahoo and Gmail both offer storage sizes that is much larger than that. It all boils down to how you use your cloud storage. For me, it’s a very simple and cheap way to synchronize and cache the most critical files that I need quick and instant access to such as my work documents. For the laptops that I access to perform work related tasks, I default my local Dropbox directory as my Documents directory. That way any work I do gets saved that quickly. The nice benefit from this process is that I get file versions out of this by default. Just in case I do something stupid, I can always log on to the web to restore an older version. Since it’s cached locally, it means that I can still have access to a copy of the file. One risk though is that if it wasn’t synchronized before you took your computer offline, you might not have the latest copy.
Should you find that 2GB is not enough for your needs, you can upgrade your plan to a 50 GB or 100 GB plan for a fee. You could also get small upgrades to your account by referring friends. Each referral will get you an extra 250 MB added to your account. If you did find this review useful and would like to try Dropbox, please use my referral link.