May 27 2010

Fixing Ruby no such file to load readline error in centOS

Does this error message look familar when you script/console?


$> script/console
Loading production environment (Rails 2.1.0)
/usr/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError)
from /usr/lib/ruby/1.8/irb/completion.rb:10
from /usr/lib/ruby/1.8/irb/init.rb:252:in `require'
from /usr/lib/ruby/1.8/irb/init.rb:252:in `load_modules'
from /usr/lib/ruby/1.8/irb/init.rb:250:in `each'
from /usr/lib/ruby/1.8/irb/init.rb:250:in `load_modules'
from /usr/lib/ruby/1.8/irb/init.rb:21:in `setup'
from /usr/lib/ruby/1.8/irb.rb:54:in `start'
from /usr/bin/irb:13

This happens when readline is somehow different than your current version of ruby or corrupted. The quick fix is to recompile readline. To do it in CentOS with yum:


$> yum install readline-devel -y
$> cd /root/src/ruby-1.8.6-p114/ext/readline/
$> ruby extconf.rb
$> make
$> sudo make install

Now you should have script/console working.

Source: http://web.elctech.com/2009/01/09/fixing-ruby-no-such-file-to-load-readline-error-in-centos/

April 19 2010

how to enable flash audio in ubuntu

source : http://ubuntuforums.org/showthread.php?t=789578

1. Backup (and then delete) your previous configuration files:
Code:

$ mkdir ~/pulse-backup && cp -r ~/.pulse ~/.asound* /etc/asound.conf /etc/pulse -t ~/pulse-backup/
$ rm -r ~/.pulse ~/.asound*
$ sudo rm /etc/asound.conf

2. Ensure you have the necessary PulseAudio libraries and configuration utilities installed:
Code:

 $ sudo apt-get install libasound2-plugins padevchooser libsdl1.2debian-pulseaudio

3. Ensure the evil “libflashsupport” library is not installed:
Code:

$ sudo apt-get remove --purge libflashsupport flashplugin-nonfree-extrasound

And restart Firefox or Chromium  ^_^

I have tried this with my Ubuntu Karmic

April 02 2010

Installing mysql gem with MAMP already installed on Mac Os

export ARCHFLAGS=”-arch i386 -arch x86_64″ ;sudo gem install –no-rdoc –no-ri -v=2.7 mysql — –with-mysql-dir=/Applications/MAMP/Library/bin/mysql –with-mysql-config=/Applications/MAMP/Library/bin/mysql_config

March 16 2010

Install NetBeans on Ubuntu 8.10

  1. Setup the Source Repository
  2. To install NetBeans via the Ubuntu Package Manager, ensure that the correct repository is listed in the source listing file. NetBeans is found inf the universe repository and Java is found in the multiverse repository.

    Code:

    sudo gedit /etc/apt/sources.list

    Ensure that the following sources are added to the configuration file:

    After the configuration file is updated, the package repository needs to updated with the following command:

    Code:

    sudo apt-get update
  3. Install Required Software
  4. To install Java version 6, the following command needs to be executed:

    Code:

    sudo apt-get install sun-java6-jdk sun-java6-plugin
  5. Install Netbeans IDE
  6. To install NetBeans, the following command needs to be executed. The package manager does not necessarily install the latest version of NetBeans. The package manager will install the latest NetBeans that is supported by Ubuntu.

    Code:

    sudo apt-get install netbeans

    Source : http://www.javadesign.info/SystemsHardware/OS/Ubuntu/install-netbeans-on-ubuntu

    sudo apt-get install netbeans

March 15 2010

Installing readline for ruby - for ubuntu

apt-get install libreadline5 libreadline5-dev
apt-get install libncurses5 libncurses5-dev

cd /usr/src/ruby-1.8.6-p368/ext/readline/
ruby extconf.rb
sudo make
sudo make install

done..

March 15 2010

Configuring Syslog for Rails

I was working on a Rails application recently that required the logs to be sent to remote log server. This blog is just a summary of the steps to get it working. I used Rails 2.0 and the development was done on Ubuntu.

The first thing was to get syslog-ng. Its more advanced than syslogd.

sudo apt-get install syslog-ng

The next step was to get the SysLogLogger tool to send the logs to syslog instead of a file. Go to the vendor directory of your application and get SysLogLogger using the following command.

curl http://rubyforge.org/frs/download.php/20520/SyslogLogger-1.4.0.tgz
-L | tar -zxvv

Assuming that you are working in the development environment , add this to the start of the development.rb file in the configuration directory

$:.unshift File.join(RAILS_ROOT, "vendor", "SyslogLogger-1.4.0", "lib")
require 'syslog_logger'
RAILS_DEFAULT_LOGGER = SyslogLogger.new(program_name = 'my-application')
config.logger = RAILS_DEFAULT_LOGGER

Locate the syslog.conf file in the etc directory and add these lines.

!my-rails-application
user.* /var/log/development.log


What this does is gets the logs that are sent to syslog from the rails application and writes it to the development.log file in /var/log/ dir

To get the changes working, restart the syslog service on Ubuntu by running the following command
sudo /etc/init.d/sysklogd restart

To send the logs to a remote log server instead of the log file use this in the syslog.conf file instead
user.* @address of remote log server

The log server should be configured to accept logs from remote systems. The syslogd file in the remote log server needs to be changed to show the following for this purpose

SYSLOGD="-r"

The syslogd file is located in the etc/default dir in Ubuntu. Since I had the log server configured already, I did not need to change the configuration. Please add comments on this post in case something is missing.

The log files can be rotated on a periodic basis (or depending on size) by configuring the logrotate.conf file in the etc dir.
See man logrotate for details.

Source: http://2muchtea.wordpress.com/category/ubuntu/

March 14 2010

Installing Openssl on Ubuntu

If you have tried to install Mechanize or any gem that requires openssl on Ubuntu or Debian, you may have encountered the following error…

LoadError: no such file to load—openssl

despite the fact that you have installed openssl with “gem install libopenssl-ruby”.

Thanks to this thread, I found out that in order to install openssl, you have to tell ruby how to compile the openssl extension, like this…

cd /ruby-1.8.4/ext/openssl
ruby extconf.rb
make

Source: http://www.jessirae.com/blog/articles/2007/03/11/installing-openssl-on-ubuntu
make install

February 18 2010

Remote Resolution of Git Conflicts

You are attempting to push when you experience a conflict:

[ksedgwic@lap2 bonsai-wiki]$ git push
To ssh://ikiwiki@git.bonsai.com/~/public_git/bonsai-wiki.git
 ! [rejected]        master -> master (non-fast forward)
error: failed to push some refs to 'ssh://ikiwiki@git.bonsai.com/~/public_git/bonsai-wiki.git'

First, see if the conflict can be automatically resolved:

[ksedgwic@lap2 bonsai-wiki]$ git pull
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
From ssh://ikiwiki@git.bonsai.com/~/public_git/bonsai-wiki
   fe30702..b52b62c  master     -> origin/master
Auto-merged howtos/vcs/git_conflict.mdwn
CONFLICT (content): Merge conflict in howtos/vcs/git_conflict.mdwn
Automatic merge failed; fix conflicts and then commit the result.

Git status shows that your state is conflicted:

[ksedgwic@lap2 bonsai-wiki]$ git status
howtos/vcs/git_conflict.mdwn: needs merge
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 1 and 1 different commit(s) each, respectively.
#
# Changed but not updated:
#   (use "git add ..." to update what will be committed)
#
#       unmerged:   howtos/vcs/git_conflict.mdwn
#
no changes added to commit (use "git add" and/or "git commit -a")

IMPORTANT - If you can resolve the conflict do so (normal procedure), this procedure presumes you wish to write the conflicting updates to a branch.

Reset your tree to just your unmerged updates:

[ksedgwic@lap2 vcs]$ git reset --hard HEAD
HEAD is now at e1497e3 Changed title.

Create a branch, use a name which suggests a conflict:

[ksedgwic@lap2 vcs]$ git branch master-conflict-20090125
[ksedgwic@lap2 vcs]$ git branch
* master
  master-conflict-20090125

Reset your tree to the prior revision:

[ksedgwic@lap2 vcs]$ git reset --hard HEAD^
HEAD is now at fe30702 started test for creating dual headed branches upon push

Pull the other persons changes:

[ksedgwic@lap2 vcs]$ git pull

Switch back to your branch:

[ksedgwic@lap2 vcs]$ git checkout master-conflict-20090125
Switched to branch "master-conflict-20090125"

Push your conflict branch back to the repoistory:

[ksedgwic@lap2 vcs]$ git push origin master-conflict-20090125
Counting objects: 9, done.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 406 bytes, done.
Total 5 (delta 3), reused 0 (delta 0)
To ssh://ikiwiki@git.bonsai.com/~/public_git/bonsai-wiki.git
 * [new branch]      master-conflict-20090125 -> master-conflict-20090125
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 3), reused 0 (delta 0)
From /home/ikiwiki/public_git/bonsai-wiki
 * [new branch]      master-conflict-20090125 -> origin/master-conflict-20090125

complete reference : http://www.bonsai.com/wiki/howtos/vcs/git_remote_resolve/

February 09 2010

Ruby on Rails simple tutorials

http://www.tutorialspoint.com/ruby-on-rails/index.htm

February 09 2010

Simple CSS Menu

This is just for future reference ;=)
<html>
	<head>
		<title>CSS based drop-down menu</title>
	<style type="text/css">

		ul {
			font-family: Arial, Verdana;
			font-size: 14px;
			margin: 0;
			padding: 0;
			list-style: none;
		}
		ul li {
			display: block;
			position: relative;
			float: left;
		}
		li ul { display: none; }
		ul li a {
			display: block;
			text-decoration: none;
			color: #ffffff;
			border-top: 1px solid #ffffff;
			padding: 5px 15px 5px 15px;
			background: #2C5463;
			margin-left: 1px;
			white-space: nowrap;
		}

		ul li a:hover { background: #617F8A; }
		li:hover ul {
			display: block;
			position: absolute;
		}
		li:hover li {
			float: none;
			font-size: 11px;
		}
		li:hover a { background: #617F8A; }
		li:hover li a:hover { background: #95A9B1; }

	</style>
	</head>
	<body>

		<ul id="menu">
			<li><a href="">Home</a></li>
		    <li><a href="">About</a>
		      <ul>
		      	<li><a href="">The Team</a></li>
		        <li><a href="">History</a></li>
		        <li><a href="">Vision</a></li>
		      </ul>
		    </li>
		    <li><a href="">Products</a>
		      <ul>
		        <li><a href="">Cozy Couch</a></li>
		        <li><a href="">Great Table</a></li>
		        <li><a href="">Small Chair</a></li>
		        <li><a href="">Shiny Shelf</a></li>
		        <li><a href="">Invisible Nothing</a></li>
		      </ul>
		    </li>
		    <li><a href="">Contact</a>
		      <ul>
		        <li><a href="">Online</a></li>
		        <li><a href="">Right Here</a></li>
		        <li><a href="">Somewhere Else</a></li>
		      </ul>
		    </li>
		</ul>	

	</body>
</html>

https://www.servage.net/blog/2009/03/20/create-a-cool-css-based-drop-down-menu/

enjoy :-p