Archive for September, 2007

Campfire activity notifier for KDE

Thursday, September 13th, 2007

Campfire is a web-based chat product from 37Signals. One thing bothered me with using it as a development chat channel: I want to be notified of messages visually instead of checking for them.

Kathy Sierra once wrote an excellent post on the addiction to email-checking. The same goes for Campfire, constantly checking it for new messages can drive you insane.

Solution? Tinder.

Install Tinder and run the following ruby script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
require 'rubygems'
require 'tinder'
campfire = Tinder::Campfire.new 'your_domain'
campfire.login 'your_login', 'your_password'
room = campfire.find_room_by_name 'Development'
def self.knotify title, msg
  # shows message on screen
  system "dcop knotify default notify eventname \'#{title}\' \'#{msg}\' '' '' 16 2"
  # plays alarm sound
  system "dcop knotify default notify eventname \'#{title}\' \'#{msg}\' '/usr/share/sounds/KDE_Error_2.ogg' '' 1 2"
end
room.listen do |m|
  if !m.nil? and m[:message].size > 1
    knotify(m[:person], m[:message].gsub("'",""))# knotify doesn't like this character
  end
end

Note that the script currently works for KDE only, but the knotify method could be replaced with a call to Growl for Apple users. Also, it’s best to use a login name that is already on the channel so the bot doesn’t get kicked out of the chat room after being inactive.

We’ve also used Tinder to hook Campfire up with Subversion, Trac and Capistrano.

Sweet.

Walletproof server problem solved

Sunday, September 9th, 2007

We’ve recently fixed a bug that was crashing the Walletproof server every 2-4 hours. This resulted in Walletproof.com being very unreliable.

Because the server kept going off-line, the Walletproof blog was down as well, which meant that our users couldn’t see the information we posted there about the downtime.

If the server goes down again we’ll post about it here as well so people can stay informed.

One positive result of the downtime on our end was that we realised that our users are really nice people who care about the service. Thanks for all the nice email and your patience!