Thursday, October 8, 2015

Don't give up RVM

Well... I'm a Linux user.

This is not a big deal, of course. A large number of developers prefer Linux as OS. Windows is such a pain in the ass!

But the question is that I moved from Debian 8 to Fedora 22 recently. Most of my Linux life I used Debian for desktops and Slackware for servers. I keep my Slackware servers running, but gave up Debian recently. Two main reasons:

  1. It was taking some time for me to perform some (suposedly) easy tasks, like configuring my wireless connection. I use Dell laptops at home (a D620 and a Vostro) and my wireless cards lacked firmware under Debian 7 and 8. I had to download the firmware somewhere else just to see the wireless light goes on in my laptop panel, then install a software to "cut" the correct firmware and then configure wireless almost manually. I know most people do not consider this a problem, because they like to do this kind of things and because you do it once, when you install your OS and never more. But to me this means losing time and I don't like to waste my time, 'cause I always have lots of things to do.
  2. I tested Fedora 22 and it was just perfect. Everything worked fine from the begining. All hardware recognized, up and running, no need to separately install anything. Almost as if I were using Windows (may God protect me from this!) but without all the bullshit and all that pain in the ass mentioned above.
As a Ruby on Rails developer, I found it great that Fedora packages included Ruby, Rails and all other tools needed to start working. Then I didn't even installed RVM.

To my regret!

This very day I'm writing, I received a task from a company. This task involved creating a small piece of software. But... in order to comply with all other software this company does, I had to use a gem named pah in order to create the project.

I installed the gem pah. Everything all right up to now, exactly as the guy falling from the 50th floor said when passing by the 20th floor...

This gem pah, used only Ruby 2.2.2, but my environment was configured for Ruby 2.2.3, because Fedora keeps updated with the newest versions of everything. A big community may surely do this.

But now I had a difficult task in front of me. Downgrading a package is not difficult, of course. But adjusting all my current developments back to Ruby 2.2.2 would mean a lot of work. Then I moved back to RVM!

This was a great lesson to me. And for all developers, I believe. Don't give up RVM. It is a great way to keep many Ruby versions running in the same machine without this install/uninstall/downgrade/upgrade bullshit.