ejabberd memory leak

If your ejabberd seems to leak memory it might result out of this bug in erlang’s mnesia database. You can easily find out by starting a remote shell to your running ejabberd and whatch results for the following command:

lists:foldl(fun(Tab, Acc) -> ets:info(Tab, memory) * 8 + Acc end, 0, ets:all()).

The bug is fixed at erlang OTP R12B5.

EDIT:
A good description of the problem can also be found at Yaws, Mnesia stress test notes.

ejabberd mysql drivers for debian and ubuntu

Debian (and ubuntu) packages for ejabberd don’t contain drivers for mysql. If you want to connect your ejabberd to mysql you need to get those drivers separately from the external ejabberd modules repository and compile them on your own.
For convenience I’ve built a debian package containing the precompiled modules:
ejabberd-mysql-20090114_1-2_all.deb

Note: this package is not of the usual quality you’d expect from an official debian package. It’s just an alien’ed tarball containing the drivers at the right place (i.e. ‘/usr/lib/ejabberd/ebin’).

JWChat 1.0

After releasing JSJaC and MUCkl today I’m proud to announce another long awaited release: JWChat v1.0. JWChat is a web based yet full fledged jabber client. It supports most modern browsers like MSIE 6 and 7, Firefox 2.x, Firefox 3.x, Opera, Safari and many more.
Just like meebo you can do instant messaging with a variety of different networks by use of jabber transports. JWChat also has full support for MUC built in which lets you take part at groupchats.
There is a demo site at http://jwchat.org where you can give it a first try. Downloads can be found at http://blog.jwchat.org/jwchat/download/.

I appologize that there is no war file for this release yet. I’ll try to upload one ASAP but I have to fix my tomcat setup here first.

MUCkl 0.4.4 is out

A new release of MUCkl is available. MUCkl is a lightweight spin off project of JWChat. It offers web based access to Jabber/XMPP groupchats/conferences based on the MUC protocol without having to register for a jabber account (just enter your nickname and off you go!).
This release mainly fixes support for Firefox 3 plus some minor bugs.
Try out MUCkl at http://muckl.org or download it from http://blog.jwchat.org/muckl/.

JSJaC v1.3.2 released

A new release of JSJaC is available. JSJaC is a jabber/xmpp library for web based clients written in JavaScript. It supports BOSH and HTTP Polling for connecting to a jabber server. This release mainly fixes issues with Firefox 3.

jabber services back online

Glad to announce that all core services of jwchat.org are back online now. If you’re still experiencing problems let me know!

jwchat.org is running on ejabberd-2.0.1 now. Amongst otherst this means you can dive deep into the world of refreshing PEP experience.
Also there is a new SSL certificate now. The old one had expired so I grabbed a new one over there at xmpp.net. Please note that the CA has changed. The certificates are issued by StartCom now.
Additionally to x-berg.de and muckl.org I’ve added a new vhost for open-im.com. Feel free to register there. Currently there’s no dedicated SSL certificate configured for it yet but I hope to change this soon.

work in progress…

Some status update: Moving jwchat.org’s services from one host to another appears to be a lot more time intense as I first thought. Currently I’m about to import roster data to the new mysql db which seems to take hours. Finally I managed to get the websites back in partial but there’s still a lot to do. SVN and TRAC still don’t work. SSL is b0rked and of course ejabberd still isn’t available. I hope to get the core jabber service back up within some hours.

new server for jwchat.org

I’ve just ordered a new server for jwchat.org as the old machine is running out of resources. As of this I’ll be moving services from one host to the new one within the next days so you might notice short periods of service downtimes. I’ll keep you up2date on this as soon as possible.

today: radio talk on openmicroblogging (in german)

Today I’ll be giving an interview to radio fsk, hamburg. The topic is about twitter and openmicroblogging. They’ll have Cem Basman from WhisperN News and Media (brokerz) at face and I’ll join later on to talk about the role of XMPP in the field of openmicroblogging. The live broadcast calls itself Nerdalert and will start at 17:00h CEST. And of course there is also a livestream available.

twitterspy – a jabber/xmpp gateway to twitter

Today I decided to give twitterspy a try in order to get rid of a dedicated twitter client that wastes space and resources on my desktop.

Twitterspy is a jabber bot that sits in your roster and forwards messages to twitter back and forth.

As it’s still missing some helpful documentation on howto setup such a service on your own I decided to write a short tutorial documenting the steps it took me to get it up and runninng.

Note: If you only want to use the service you don’t have to do this. You can use the public address ‘twitterspy@jabber.org‘ which is operated by the author of the software. In order to get started send ‘help’ to this address. Of course you should be aware of the fact that you’d have to provide your twitter login credentials to the bot in order to do anything useful with it. That said, I’ll continue with my guide.

I’m using Debian ‘etch’ 4.0r4 as host operating system. This guide should be applicable to almost any other Un*x/Linux system though.

First I downloaded a copy of twitterspy by

$ git clone git://github.com/dustin/twitterspy.git

(You need to have git installed for this work of course).

Note: The code there didn’t work for me. I had to apply a small fix, that’s why I’ve created a fork available at http://github.com/sstrigler/twitterspy/tree/master

Update: The fix has been backported to the original tree, so no need to use my fork.

Addtional software packages I had to install:

* ruby
* ruby1.8-dev (includes mkmf which was needed for building the json gem)
* rubygems
* libxmpp4r-ruby

Gems (quite a lot):

* summize (see below)
* json
* htmlentities
* dm-core (this took some time due to heavy dependencies)
* dm-aggregates
* do_sqlite3 (see below)
* twitter
* rake
* hoe
* launchy

In order to get do_sqlite3 working I had to install sqlite3 from source first.

Except for ‘summize’ I was able to install them using gem like

$ gem install json

summize is available at http://github.com/dustin/ruby-summize/tree/master.

Download using git:

$ git clone git://github.com/dustin/ruby-summize.git

I had to build my own gem with

$ cd ruby-summzie
$ gem build ruby-summize.gemspec
$ sudo gem install ruby-summize-0.3.gem

As a last step I coppied twitterspy.yml.sample to twitterspy.yml and edited it to suit my needs. Then I started with

$ ./twitterspy.start

You can watch messages and errors fly by at twitterspy.log. So if things don’t seem to work as they should have a look at there.

If you see strange errors starting with

No connection to server/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.1/lib/active_support/vendor/memcache-client-1.5.0/memcache.rb:663:in `request_setup'

consider installing a memcache daemon.

And as a last note: Of course twitterspy is available at jwchat.org too now. It’s address is twitter@jwchat.org. Feel free to use it!