Archive for the ‘code’ Category

One of the biggest benefits to using ejabberd is the ease with which it is possible to extend the server’s functionality. After only a week of production operation, I’ve already written and deployed four new modules at Chesspark. Let’s get our hands dirty, fire up an editor, and learn how to write a new ejabberd […]


Yesterday I blogged about choosing an XMPP server.  Once you’ve made this decision, it is time to get it set up and running great.  If this is your first XMPP server, this is often just some software installation and a little bit of configuration.  However, for those who already have an existing set up, or […]


Choosing an XMPP server is a big decision.  Should you go with the popular one or the one written in the most popular language?  Perhaps you don’t plan to become a systems administrator and you need one which is easy to set up and maintain.  Unfortunately for people making this important choice, there is not […]


It’s taking a bit longer than planned to whip Strophe into releasable shape, but work is progressing well.  Since the last update, I have made a new and better Trac instance for the project, made a public SVN repository for the code, added SASL ANONYMOUS support to both libstrophe and Strophe.js, fixed DIGEST-MD5 authentication with […]


I submitted two XMPP themed proposals for SXSW 2009.  The interactive panel picker is now open, so please go vote for my entries if you have any interest in XMPP at SXSW.  As far as I can tell, I’m the only one speaking on the topic. The first submission is a panel called “The XMPP […]


It used to be that chat bots were toy projects written by young programmers to impress their friends in their favorite IRC channel.  These days, some bots are much more ambitious projects.  For example, both identi.ca and Twitter are using XMPP bots to distribute messages to users in real-time.  At Chesspark, we have chess playing […]


My father-in-law grows corn and soybeans in rural Minnesota.  I’m currently spending a week on this farm visiting with my in-laws and trying not to work too hard (ha!).  Yesterday I helped empty a grain bin into a semi trailer for sale at the local grain elevator.  For me, this whole task was very like […]


In order to build XMPP applications inside web browsers, the XSF created the Bidirectional-streams Over Synchronous HTTP (BOSH) specification.  This document specifies the interface for a server side connection manager which holds your XMPP connections open and uses Comet to mimic a two way pipe to the browser.  Having used BOSH-based clients as my primary […]


I’ve been working furiously over the last week to prepare a 1.0 release of Strophe. For the C library Doxygen was an easy choice.  The markup is based on Javadoc, and the tool just works.  For JavaScript, there are few choices, and most of the choices are just terrible. Documentation Styles There are two ways […]


Three years ago, we released libstrophe to the world. libstrophe is a cross-platform C library for writing XMPP clients. libstrophe exists because none of the C libraries at the time worked well on Windows platforms. A year or so later, I discovered the potential of XMPP on the Web and created a JavaScript version as […]