undefined method ‘remap’ for class ‘Magick::Image’

Problem
You have just deployed your rails application to dreamhost but you are getting this error from passenger.

Solution
There was a change in the ImageMagic between versions 6.4.3 and 6.4.4 from the affinity function to remap.
If you don’t want, or don’t have time to recompile the ImageMagick and install the rmagick gem, you can comment out the two declarations for the alias functions, located around lines 782 and 1525 in the file rmagick-2.12.2/lib/RMagick.rb:

alias_method :affinity, :remap

Freezing rails to an older version using gems

Problem
You want to deploy to a shared host (dreamhost) that has a later version of rails from the one you have developed your application.
You also have a later version installed in your development pc,and using rake rails:freeze:gems uses the latest one and not the one you want.

Solution
Use the following to freeze the specific version you want, and by using your gems you have installed:
rake rails:freeze:gems VERSION=2.3.2

Getting your Github git project to dreamhost

Problem
You already have a project in github, but you want to move it to a different host (ie dreamhost)

Solution
Following the post here that describes how to setup a new git repository in dreamhost, the only difference after the initial setup :

ssh username@dreamhost_domain.com

mkdir -p ~/git/yourproject.git

cd ~/git/yourproject.git

git --bare init

is to edit your project’s .git/config file:
vi local_host/your_project/.git/config

and change the :
url = git@github.com:user_name/project_name.git

to the following:
ssh://dreamhost_username@dreamhost_domain/~/git/yourproject.git

Lastly you have to push for the first time to the server:
git push origin master

Optionally if you would like to check and/or checkout to a different pc you can use:
git clone ssh://dreamhost_username@dreamhost_domain/~/git/yourproject.git

Mandriva 2010, Dell Vostro 430, Broadcom Netlink BCM57780 problem

Problem
Just recently installed Mandriva 2010 in a new Dell Vostro 430 and the network card (Broadcom Netlink BCM57780) was not recognized.

Solution
Add the following to the /etc/modprobe.conf file:
sudo vi /etc/modprobe.conf
install tg3 /sbin/modprobe broadcom; /sbin/modprobe/ –ignore-install tg3

replacing comma with and in a list with ruby

Problem
You have a list, usually after using join(“,”) in an array that consists of different values ie “one, two, three, four”, but you want to replace the last comma with and so it would be “one, two, three and four”.

Solution
Use reverse initially to reverse the string, then use sub to replace the last comma with the word and reversed (dna), and then finally reverse the string again.

string_with_and=string_with_commas.reverse.sub(/,/, ‘ dna ‘).reversestring_with_no_commas=array.to_sentence(options = {:last_word_connector => ” and “})

NoMethodError: undefined method `timeout=’ for Geokit::Geocoders:Module

Problem
Using the latest version of Geokit gives the error for undefined method ‘timeout’. This could happen if the gem/plugin didn’t modify the config/environment.rb file, and you had to copy the configuration values from an older version.

Solution
The configuration variable has changed in the latest version (1.5.0) from timeout to request_timeout, so change it in your config/environment.rb file as :
GeoKit::Geocoders::request_timeout = 3

Using Flexigrid with MySQL field carriage returns

Problem
You want to use flexigrid with a MySQL fields that contains carriage returns. As the flexigrid uses json it doesn’t work with carriage returns, and displays an empty page, instead of an error page.

Solution
In the page_name.json.erb file in the fields that has carriage returns make sure that you use to_json method as in the example below:

‘<%=fg_escape event.comments.to_json -%>‘,

You’re in the middle of a conflicted merge (git)

Problem
Trying to update (pull) in git causes the error ‘you’re in the middle of a conflicted merge’.

Solution
To be able to get out of this error try the followng:

  1. git reset –hard HEAD
  2. git fetch origin
  3. git reset –hard origin

to reset the state, and then you should be able to use git pull as normal.