Bernd's Memory Leaks

Careless Whisper, part 3: Released!

posted: 2010-04-02 23:14
filed under: Vysper | MUC | XMPP | PubSub

Apache Vysper was started on my ICE commuter rides between Zürich, Freiburg and Frankfurt in late 2005. That was my way of learning the XMPP RFCs 3920 + 3921. Meanwhile, Vysper undertook it's own journey from a private SVN through Apache Labs to Apache MINA's sandbox. It very much looks like the final move to MINA proper is just about to happen.

Many days came and went without me working on the code, but everytime I came back, it was fun and felt like coming home.

Niklas (from MINA/FTPServer fame, now an ASF member) added Multi User Chat, worked on infrastructure and pushed to a release. Last GSoC-summer, Michael added Publish-Subscribe.

Recently, over 4 years after the first line of code was written, Vysper 0.5 was released. Far from perfect, but working. Not production ready, although some more adventurous type of people seem to use it for more serious stuff.

It's pretty classical to use: run mvn install, cd dist/target, unpackage vysper-0.5-bin.zip, cd bin/, execute the run.* script of your choice. Server starts. There are three initial users: user1@vysper.org (...user3@vysper.org) all with passwords "password1", but this can be changed easily. You can use the Jabber client of your choice to connect, but make sure you configure the account to connect to "localhost" or the concrete host where Vysper is running.

Careless Whisper, part 2: Habemus muc!

posted: 2009-09-04 12:23
filed under: Vysper | MUC | XMPP | IRC

Jabber chat rooms have some advantages over IRC, like a more fine-grained participant control and other details. One advantage is that participants are identified from their jabber id, so there are virtually no 'ghost' participants and it's easy to have a private conference.

In the Jabber world, chat rooms are called 'multi-user chat' or 'MUC' for short. Vysper's MUC implementation has reached a critical milestone: users can create a room and chat with each other. Not everything is yet fully working.

Trying yourself is pretty easy if you have your Java5, Maven2 and svn ready:

  1. svn co http://svn.apache.org/repos/asf/mina/sandbox/vysper/trunk vysper
  2. cd vysper
  3. mvn install -Dmaven.test.skip
  4. cd server; cd extensions; cd xep0045-muc
  5. mvn assembly:assembly -DdescriptorId=jar-with-dependencies -Dmaven.test.skip
  6. cd ..; cd ..
  7. java -classpath src/main/config/:src/main/resources:../extensions/xep0045-muc/target/xep0045-m1.0.0-SNAPSHOT-jar-with-dependencies.jar -Dvysper.add.module=org.apache.vysper.xmpp.modules.extension.xep0045_muc.MUCModule org.apache.vysper.xmpp.server.ServerMain

Windows users, please change '/' into '\' for 7.

Log into the server as "user1@vysper.org" or "user2@...", both have the identical password 'password1' and make sure you set the server/host configuration to 'localhost'.

The chat can be found under 'Service Discovery' or 'Services', depending on your client.

As a client, I recommend Psi, but others work, too. However, I didn't get Apple's iChat to log into Vysper yet.

Know IDEA, part 2: CSS editing

posted: 2009-08-21 10:17
filed under: Intellij | IDEA | IDE | CSS

Ask the web programmer of your choice about a good IDE for developing CSS, HTML and JS. Most of them will recommend a simple text editor or a tool which is Windows only and not developed for at least 5 years...

Thankfully, I'm not a web programmer, but from time to time, I have my own little share in editing web frontend code. But I don't know CSS by heart. IDEA supports me with auto-complete in CSS files. It marks styles which are used nowhere in HTML.

It even displays a little colored box besides codes like "#628c78". Isn't that a beautiful color? Maybe not. Klick on the box and choose another one. Nice.

Now go to an HTML file, enter... <a class=" ...and invoke auto-complete. Now IDEA shows you a list with all defined CSS styles. Hitting Command-B on a class name brings you directly from HTML to the CSS declaration. That's the 'Integrated' in 'IDE'.

Careless Whisper, part 1: Wham!, what a summer.

posted: 2009-08-21 10:12
filed under: Vysper | MINA | XMPP | PubSub | GSoC09

What a summer for Apache Vysper, your friendly XMPP Server project. At first, we moved within Apache from Labs to MINA. Then we got our Google-Summer-of-Code hacker Michael Jackl, who worked successfully on the publish-subscribe extension. Currently Niklas Gustavsson from FtpServer fame is heavily working on Multi-user chat. Overall interest in the project increases.

Yet, we still have a long way to go from MINA's sandbox to a production ready server. Yet today, Vysper is easily embeddable and extendable while pubsub allows for many interesting applications outside the "Jabber world" of plain instant messaging.

© 2002-2010 bernd fondermann brainlounge, contact/legal notice