Friday, October 23, 2015

Incompatible bundler versions

Am currently doing a spike on upgrading a sample Rails 2.3 hello world application to Rails 3.0
The first step was to change the rails gem version in Gemfile and the error was :


tl;dr
  • Older version of bundler is needed
    •  $ gem install bundler -v '~> 1.0.0'
    •  


  •  
  • Force rubygems to use this version of bundler
    • bundle _1.0.22_ install 
Note: The revision number of the gem is different from what we wanted to install. This is ok as revision numbers are generally bug fixes. Just remember to force use the version that is available.

Behind the scenes:
Gemfile in Rails helps in recording the exact version of the gems that we want to use for our application. Bundler ensures this while avoiding dependency hell. "bundle exec" executes commands in the context of the current bundle and conflicting pre-installed gems will not be used from your system.
But bundler is installed as a gem too and can have version incompatibility issue like we saw in the error above. One can then install the required version and force rubygems to use a particular version without affecting the bundler being used across other Rails projects (if you have any) on the same system. Fortify your applications against each other on your system!

Friday, June 12, 2015

Boshonto Eshe Geche(Female) Lyrics in English - Unverified - from the movie Chotushkone

pathashe bohiche prem
noyone lagilo nesha
karaje dakilo peeche
boshonto eshe gache

madhuro amrito bani
galagalo shahojeyi
marome uthilo bhaji
boshonto eshe gache

thaktho babuboner dulimakha choroner
mathanotho kore robo
boshonto eshe gache(2)

kokoler nabonili punerogo pone
baje hoi(3)
pola shero nesha makhi cholechithu jale
bashonaru rangemeeshi shaemole-shopone
kuhu kuhu shona chayi kokiler kuhutha
boshonto eshe gache(2)

poornima rathe hoi
chota choti kore kara
dokinapobone dole
boshonto eshe gache

kemone gathibomala kemone bajibevenu
aabgega peeche aakhi
boshonto eshe gache

thaktho babuboner dulimakha choroner
mathanotho kore robo
boshonto eshe gache(4)

ye boshonte onek jaunmo aage
tomar prothom dekhe chilem aami
hithe chilem niru thrisher pane
shiba-shonto aekon bhishon dami
amar gache tomar gache amar gache
boshonto eshe gache

thaktho babuboner dulimakha choroner
mathanotho kore robo
boshonto eshe gache(6)

P.S: For a non-bengali, these lyrics would help to sing along with the beautiful song. I have compiled this by listening to the song. And am not a Bengali, so this stands unverified.

Sunday, February 15, 2015

Git clone via https fails with "Error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)" on MacOSX

TLDR;
1. Install homebrew, if not already
2. Update brew if it already exists
    $brew update
3. Install latest version of OpenSSL via brew
    $brew upgrade openssl
4. Install latest version of cURL via brew
    $brew upgrade curl
5. Uninstall git if already present and re-install with options as below
    $brew install git --with-brewed-curl --with-brewed-openssl

Issue Resolved!

In Detail:
Am on Mountain Lion(Yosemite is out, but am holding the old fort here). On trying to clone with git via https, this issue occurs when the OpenSSL version of the server and client is not compatible.
Updating OpenSSL should sort this out. OSX comes shipped with cURL and OpenSSL. They have moved to SecureTransport so their OpenSSL is out of date. When git is installed initially it picks up the shipped(abet older) versions of cURL and OpenSSL. So, uninstall git and reinstall it with options, that explicitly choose brewed(latest installed via homebrew) versions of those two.