articles tagged with installing

RBot

no comments yet, post one now

I think IRC is a vastly under-rated tool. It is somthing I used a lot in the mid/late 90’s and in my first few years at University on the old DEC Workstations. Back before Skype and before the web was getting ready for its next version number, IRC was the best way to chat online.

For a long time I forgot about IRC, until it became obvious that (with a channel bot) it can be useful for all sorts of things, beyond just regular chat. With a bot parsing and watching RSS feeds, your channel can include notifications for just about anything you want, SVN commits, Trac tickets, even exceptions thrown from your code (you’ll have to build a feed for that yourself).

So I looked into setting up a channel bot myself (something I haven’t done before). Looking around I played with infobot (Perl) and eggdrop (C/TCL) – before (rather predicatably) going with RBot (Ruby) I had a little hassle getting the bot to work on Debian. It requires the Berkley Database (and Ruby’s binding to it).

Of course the BDB that comes with GNU/Debian Linux (apt-get) is out of date, and you will need to compile the most recent version instead. If you already installed Berkeley DB on your Debian Box, uninstall it to prevent conflicts. Then get it from here (./configure, make, make install). Choose BDB 4.4 or lower since the Ruby BDB bindings are not compatible with the new 4.5) – I couldn’t find all of those caveats documented together in the one place, so that may be of use to someone.

Next grab Ruby’s BDB bindings – and finally make sure you can call the bdb library in irb. If you can do,

:~$ irb
>> require 'bdb'
=> true

- without throwing an error, then download and install RBot. Its fairly simple to setup and there are a large number of plugins to play around with. Rbot will install a some of these by default (including rss.rb) and you can extend them, or write your own in the bot’s local plugin directory.

To persist the bot, use a simple ‘keep alive’ script;

#!/bin/bash

proc=`ps -fu $LOGNAME | grep name_of_your_bot | grep -v grep | wc -l`
if test $proc -eq 0
then
 nohup rbot /home/username/.name_of_your_bot > /dev/null &
fi

And put it in a cron job to check its running (e.g. every 55 minutes);

# make sure rbot is running all the time
*/55 * * * * /home/username/rbotchk.sh

My work in progress Rbot (kafka) is sitting in #komura on irc.perl.org – expect it to be broken most of time as I add a few plugins and try stuff out.

While there are hundreds of IRC clients available, I have stuck to using IRSSI (a terminal client) its old-fashioned (I know), but simple and I can access it from anywhere (keeping it running on a screen). I’d also recommend Colloquy a decent graphical client for OSX.

January 31, 2007 15:45 by

Installing your own Ruby Gems on Dreamhost

no comments yet, post one now

I came across this problem when trying to setup Capistrano on my dreamhost box.

Capistrano (orginally SwitchTower); is a standalone deployment utility that can integrate nicely with Rails. It allows you to deploy your apps across multiple servers from a subversion; Its handy for any shared environment (such as dreamhost), since you can use it to migrate databases and reset running fcgi processes.

Checking the Dreamhost Gemlist (or; gem list —local) I found that Capistrano wasnt installed – so I had to go about setting up my shared box so I could install any Gem I liked, in my home directory.

Its easier than I thought, but I had some trouble searching Google to find an answer so Im posting it up here; share the knowlegde and all that …

First up, create a new .gems folder in your home directory;

mkdir ~/.gems

Next open up your ~/.bashrc and ~/.bash_profile files and make sure to add the following lines as new environment variables;

export GEM_HOME=$HOME/.gems
export GEM_PATH=/usr/lib/ruby/gems/1.8:$GEM_HOME

Also adjust your PATH variable to include your new ~/.gems folder;

export PATH=~/bin:~/.gems/bin:$PATH

Thats basically it ! – For any gems you want to install you’ll need to grab them from somewhere online; I picked up Capistrano from here with

wget http://rubyforge.org/frs/?group_id=1420&release_id=4528

Then ran this command to install the gem (from my home dir)

gem install ~/capistrano-1.1.0.gem

Since we added the ~/.gems folder to the PATH variable in your bash files, you can simply type cap -V to check capistrano is installed.

Although this is not nessecary for Capistrano – in order to get your rails app to use other gems installed in your home directory, you first have to unpack them in RAILS_ROOT/vendor. Therefore, to be able to require them in your code, enter the RAILS_ROOT/vendor directory and do the following:

gem unpack gem_name
← (k) prev | next (j) →